Commit Graph

6758 Commits

Author SHA1 Message Date
Nathan Shively-Sanders
d4c001d47c Add test w/submodules for our starter kits 2017-11-10 14:20:55 -08:00
Nathan Shively-Sanders
d66e94d09e ExternalCompileRunner works with submodules
If there is a test.json in the directory, it expects to find a
submodule in the directory. The submodule should have the same name as
the directory itself. test.json contains a list of global types that
need to be available, or the empty list if none.
2017-11-10 13:50:18 -08:00
Wesley Wigham
16efae2433 Consider the commonjs module indicator as a module indicator (#18490)
* Consider the commonjs module indicator as an indicator that something is effectively an external module

* Only use commonjs module indicator when targeting commonjs
2017-11-09 16:49:04 -08:00
Andy
65a191fa2b For import completion of default import, convert module name to identifier (#19875)
* For import completion of default import, convert module name to identifier

* Suggestions from code review
2017-11-09 13:13:23 -08:00
Andy
90ae9ffe6e If there is an export default x; alias declaration, disallow other default exports (#19872) 2017-11-09 12:21:37 -08:00
Wesley Wigham
a1014b2b13 Mark all parameters as needed for metadata when one is decorated (#19849)
* Mark all properties as needed for metadata when one is decorated

* Add restarg test
2017-11-09 00:26:33 -08:00
Wesley Wigham
ceaeffa3ab Fix declaration emit for imported export alias specifiers (#19852)
* Badness

* Revert #3641, whose original bug has been fixed by other means

* Add another repro
2017-11-08 18:44:46 -08:00
wenlu.wang
e9841f3899 fix completions protected members in recursive generic types (#19192) (#19242) 2017-11-08 17:44:12 -08:00
Nathan Shively-Sanders
90f87ef180 Merge pull request #17765 from tycho01/6229-known-length-tuples
add `strictTuples` flag giving tuples known length
2017-11-08 15:38:39 -08:00
Nathan Shively-Sanders
c1c7926735 Revert "Add TupleBase with unusable mutating Array methods"
This reverts commits
4385444c44,
2399d58,
es55de3,
888da3c
2017-11-08 15:18:35 -08:00
Nathan Shively-Sanders
76a3be7c4c Merge pull request #19838 from Microsoft/narrow-index-signature-property-access
Narrow property access of undeclared properties from string index signatures
2017-11-08 12:10:52 -08:00
Nathan Shively-Sanders
2548aced3f Add a couple of test cases 2017-11-08 10:56:30 -08:00
Adrian Leonhard
a1da5bd5af Changed error for setter when emitting declaration with private param type (#18593)
so that error message refers to prop name instead of param name.

Changed getter errors for similar case so they also refer to prop name.

Fixed bug where static getters wouldn't output their specific error.

Fixes #1976
2017-11-08 10:02:39 -08:00
Andy
1a0ec81488 quickInfo: Display info for signature on a separate line from variable info (#18698) 2017-11-08 09:56:50 -08:00
Nathan Shively-Sanders
6c74b81d7e Test:narrow properties from string index signatures 2017-11-08 09:50:39 -08:00
Andy
ef6f9351b5 Fix undefined error for diagnostic for instantiating an abstract class (#19809)
* Fix undefined error for diagnostic for instantiating an abstract class

* Only use the name-less diagnostic
2017-11-08 09:40:53 -08:00
Aluan Haddad
b2b54cbf5c Import fix add import require support (#19802)
* import fix: suggest import..require where supported if synthetic defaults are unavailable

* Add tests for import..require fix when targeting CommonJS, AMD, and UMD modules

* fix failing tests
2017-11-07 09:45:30 -08:00
Andy
2fcf8b7068 Fix assertion -- an import may come from a require() call (#19667)
* Fix assertion -- an import may come from a require() call

* Add test for `import("./a")`
2017-11-07 07:41:21 -08:00
Aluan Haddad
70cabdda41 fix inconsistencies in import UMD code fixes adapting to module format (#19572)
* improve import code fixes for UMD modules
 - use default import under --allowSyntheticDefaultImports
 - import..require support
 - make make quick fix info match resulting import
 - make diagnostics

* Address PR feedback:
 - extract test for synethetic default imports into getAllowSyntheticDefaultImports in core.ts
 - use getAllowSyntheticDefaultImports in checker.ts and importFixes.ts
 - move compilerOptions to top level destructuring

* add tests

* remove `import =` quick fix and supporting code.

* update feature tests

* remove errant whitespace
2017-11-06 22:55:37 -08:00
Andy
6d273cfb33 Consistently use "JSX Attribute" completion kind (#19781)
* Consistently use "JSX Attribute" completion kind

* Update tests and fix bug

* Fix bug: In a JsxOpeningElement, if at an Identifier we are not at an attribute but at the tag itself.
If at a GreaterThanToken, we are about to fill in an attribute.
2017-11-06 19:14:24 -08:00
Ron Buckton
3f248ecfe1 Merge pull request #19452 from Microsoft/compareStrings
Clean up outdated string comparison logic
2017-11-06 18:48:15 -08:00
Wesley Wigham
d79c37cd19 Discriminate contextual types (#19733)
* Discriminate contextual types

* Invert conditional

* Update findMatchingDiscriminantType and baselines
2017-11-06 16:09:35 -08:00
Nathan Shively-Sanders
888da3c3da Update baselines 2017-11-06 15:55:16 -08:00
Sean Barag
a46d2705ef Use documentation comments from inherited properties when @inheritDoc is present (#18804)
* Use documentation comments from inherited properties when @inheritDoc is present

The JSDoc `@ineheritDoc` [tag](http://usejsdoc.org/tags-inheritdoc.html)
"indicates that a symbol should inherit its documentation from its
parent class".  In the case of a TypeScript file, this also includes
implemented interfaces and parent interfaces.

With this change, a class method or property (or an interface property)
with the `@inheritDoc` tag in its JSDoc comment will automatically use
the comments from its nearest ancestor that has no `@inheritDoc` tag.
To prevent breaking backwards compatibility,
`Symbol.getDocumentationComment` now accepts an optional `TypeChecker`
instance to support this feature.

fixes #8912

* Use ts.getJSDocTags as per @andy-ms 's recommendation

* Convert @inheritDoc tests to verify.quickInfoAt

* Concatenate inherited and local docs when @inheritDoc is present

* Make typeChecker param explicitly `TypeChecker | undefined`

* Re-accept baseline after switch to explicit `| undefined`

* Update APISample_jsodc.ts to match new getDocumentationComment signature

* Re-accept baselines after rebasing
2017-11-06 13:18:21 -08:00
Mohamed Hegazy
5c173f4436 Remove test 2017-11-06 13:00:05 -08:00
Eugene Timokhov
5b9905d5a4 Added empty constructors to TypedArrays from es2017 (#19680) 2017-11-06 13:00:05 -08:00
Wesley Wigham
0593ba27d8 Make getContextualTypeOfApparentType mapType over unions (#17668)
* Instantiate contextual types while in an inferrential context

* Limit scope of instantiation to only when likely needed

* Still get aparent type

* Expand test

* Fix nit

* Handle JSX and array

* Tests for the JSX and Array cases

* After much deliberation and inspection, much simpler fix

After much deliberation and inspection, much simpler fix

Undo

Redo
2017-11-06 12:52:33 -08:00
Wesley Wigham
4f48bf80fe Revised emit for computed property names, including with decorators (#19430)
* Revised emit for computed property names

* Fix downlevel name generation scopes

* Accept slightly more conservative baseline

* First feedback pass

* Reduce number of nonrequired variable declarations and assignments

* Remove side-effect-free identifier references

* skip partially emitted expressions

* Comments, move starsOnNewLine to emitNode

* Put expressions on newlines when inlined in class expressions for consistency

* Update new ref

* Fix typo in comment
2017-11-06 12:51:34 -08:00
Nathan Shively-Sanders
c2374c4ec3 Merge branch 'master' into 6229-known-length-tuples 2017-11-06 10:51:34 -08:00
Anders Hejlsberg
b5f4a83365 Merge pull request #19745 from Microsoft/emptyArrayInference
No inference from empty array literals
2017-11-06 10:45:45 -08:00
Anders Hejlsberg
7a4808a89e Merge pull request #19774 from Microsoft/fixInvariantGenericErrors
Fix invariant generic error elaboration logic
2017-11-06 10:42:32 -08:00
Nathan Shively-Sanders
868d36d51d Merge pull request #19770 from Microsoft/remove-readonly-from-spread-index-sigs
Remove readonly from index signatures of a spread
2017-11-06 10:20:57 -08:00
Benjamin Lichtman
4977bf4328 Merge pull request #19544 from uniqueiniquity/interfaceJsDoc
Insert JsDoc comment templates for additional nodes
2017-11-06 09:49:59 -08:00
Anders Hejlsberg
8d991f70b3 Merge pull request #19741 from Microsoft/fixMappedTypeModifiers
Check combined mapped type modifiers
2017-11-06 09:35:28 -08:00
Anders Hejlsberg
baafe5157e Add regression test 2017-11-06 09:25:51 -08:00
Nathan Shively-Sanders
7788d293c4 Test:spread removes readonly from index signatures 2017-11-06 08:16:15 -08:00
Anders Hejlsberg
0a4f60e87b Add tests 2017-11-04 17:26:12 -07:00
Anders Hejlsberg
9619dc14f9 Add tests 2017-11-04 08:08:28 -07:00
Ron Buckton
31c3d444f1 Merge branch 'master' into compareStrings 2017-11-03 23:01:51 -07:00
Andy
845c066923 Check for unused locals in commonjs modules (#19612) 2017-11-03 17:46:19 -07:00
uniqueiniquity
d2114e1b9e Rename offsets in tests 2017-11-03 16:14:47 -07:00
Andy
bb7fb7dda9 For getCompletionsAtPosition, require a flag to provide completions with code actions (#19687)
* For getCompletionsAtPosition, require a flag to provide completions with code actions

* Change name

* Increase API version

* Update API baselines

* Add comment

* Update API baseline
2017-11-03 15:55:31 -07:00
Anders Hejlsberg
f75a1dce88 Merge pull request #19726 from Microsoft/fixNeverTypeCall
Disallow calls on never type
2017-11-03 15:39:19 -07:00
Andy
749e151c23 Support path completions inside node_modules (#19692)
* Support path completions inside node_modules

* Fix: Start searching from current file's directory, not host.getCurrentDirectory()

* Add test for nested node_modules

* Also test in /src/folder/b.ts
2017-11-03 15:05:44 -07:00
Anders Hejlsberg
f701b1300f Add tests 2017-11-03 14:40:06 -07:00
Nathan Shively-Sanders
a980d61f86 Add a few tuple tests and update baselines 2017-11-03 09:56:39 -07:00
uniqueiniquity
612616a105 Loosen restrictions on jsdoc completion locations 2017-11-03 09:53:56 -07:00
Nathan Shively-Sanders
75882db684 Merge branch 'master' into 6229-known-length-tuples 2017-11-03 09:07:38 -07:00
Mohamed Hegazy
1e89e78dd2 Fix incorrect relative module name detection (#19702) 2017-11-03 08:59:19 -07:00
Andy
d54ad4b01a Add refactoring to use default import (#19659)
* Add refactoring to use default import

* Add localizable description
2017-11-03 08:31:13 -07:00