Commit Graph

6732 Commits

Author SHA1 Message Date
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
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
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
uniqueiniquity
612616a105 Loosen restrictions on jsdoc completion locations 2017-11-03 09:53:56 -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
Anders Hejlsberg
a7e6c36012 Merge branch 'master' into fixIntersectionTypeInference 2017-11-02 20:07:53 -07:00
Anders Hejlsberg
a8d3cd6dfe Merge pull request #19697 from Microsoft/fixFreshLiteralsInIntersections
Fix fresh literals in intersections
2017-11-02 17:37:55 -07:00
Anders Hejlsberg
63f7029b9a Add regression tests 2017-11-02 17:31:17 -07:00
Anders Hejlsberg
18b5ade05d Add regression test 2017-11-02 14:48:34 -07:00
Andy
01ad4f7dfb Support quick info at function and => locations (#19669)
* Support quick info at `function` and `=>` locations

* Fixes
2017-11-02 14:47:23 -07:00
uniqueiniquity
b17b7b9374 Revert "Update tests to expect empty doc comment template"
This reverts commit b566480aaa.
2017-11-02 11:00:30 -07:00
uniqueiniquity
509b9ad087 Complete to single line jsdoc comment if no params 2017-11-02 09:55:56 -07:00
Wesley Wigham
ba98cbbf92 User code runner draft (#19539)
* Realworld runner draft

* Baseline tsc output instead of just checking exit code

* use latest instead of major minor pin

* Add 7 more test cases + update gitignore

* Update baselines for realworld/user tests

* Rename to user

* Do not commit lockfiles

* Add code to run user tests on CRON

* Add rest of most-dependend packages to user tests

Turns out levelup doesn't have types! So I removed that one.
2017-11-01 16:22:37 -07:00
Benjamin Lichtman
dcc1f1497f Merge pull request #19619 from uniqueiniquity/indentJsxText
Properly indent JSXText on format document
2017-11-01 09:03:52 -07:00
uniqueiniquity
9f68ff5b0f Remove markers 2017-10-31 16:10:17 -07:00
uniqueiniquity
20e1f5258b Update test 2017-10-31 16:09:30 -07:00
Armando Aguirre
cf2bdf8250 Merge pull request #19175 from armanio123/AddDefinitionAndBoundSpan
Added DefinitionAndBoundSpan command
2017-10-31 14:58:36 -07:00
uniqueiniquity
b6ea2f955a Refactor test and annotate object literal 2017-10-31 14:52:15 -07:00
wenlu.wang
deb94886fd fix completion module path (#19351)(#19367) (#19366)
* completion module path with re-export(#19351)

* completion module path with dynamic import(#19367)
2017-10-31 14:10:38 -07:00
uniqueiniquity
9b9032f8c5 Add JSXText indentation test 2017-10-31 14:09:36 -07:00
Nathan Shively-Sanders
98e9a561af Merge pull request #19219 from Microsoft/abstract-property-access-error-in-own-constructor-only
Abstract property access error in own constructor only
2017-10-31 13:27:24 -07:00
uniqueiniquity
3ebb2e8a34 Merge branch 'master' into jsxFragment 2017-10-31 10:53:57 -07:00
Wesley Wigham
c2aa13dac5 Parenthesize export assignments if needed (#19590)
* parenthesize export assignments if needed

* Add default-specific parenthesization to handle lookahead

* New parenthesization logic for export default

* Handle commalist and comma cases
2017-10-30 18:23:32 -07:00
Ron Buckton
967a426fe1 Unify deduplication, fix deferred global diagnostics 2017-10-30 17:19:27 -07:00
Armando Aguirre
d5c18a6fb7 Merge branch 'master' into AddDefinitionAndBoundSpan 2017-10-30 17:02:23 -07:00
Andrew Casey
a89c055a48 Merge pull request #19578 from amcasey/GH19395
Don't pass synthesized node to typeToTypeNode
2017-10-30 16:35:20 -07:00