Commit Graph
2305 Commits
Author SHA1 Message Date
Andy 9b90474a33 Hack to allow concat to work even when an Array isn't assignable to ReadonlyArray (#20455) (#20544) 2017-12-07 13:34:57 -08:00
Benjamin Lichtman adfd5d3488 Porting #19249 and #19968 to release-2.6 (#20002)
* Add support for JSX fragment syntax

* Update tests

* Add baselines

* Update API baselines

* Respond to CR

* Respond to CR

* Respond to CR

* Remove unnecessary type annotation

* Error when using fragment with jsxFactory

* Added test for preventing fragment with jsxFactory

* Extract JSXChildren checking

* Add test

* Update baseline
2017-11-14 10:09:52 -08:00
Mohamed Hegazy 8475e307f2 Port master into release-2.6 10/19 (#19348)
* Adding test case where opened file included in project is not added to ref count of configured project

* Fix the way configured project's reference is managed so that the open file

* Do not watch root folders for failed lookup locations and effective type roots
Fixes #19170

* LEGO: check in for master to temporary branch.

* LEGO: check in for master to temporary branch.

* Mark fresh spread objects w/ContainsObjectLiteral

* Test excess property checks of spreads of unions.

* Add exported members of all project files in the global completion list (#19069)

* checker.ts: Remove null check on symbols

* tsserverProjectSystem.ts: add two tests

* client.ts, completions.ts, types.ts: Add codeActions member to CompletionEntryDetails

* protocol.ts, session.ts: Add codeActions member to CompletionEntryDetails protocol

* protocol.ts, session.ts, types.ts: add hasAction to CompletionEntry

* session.ts, services.ts, types.ts: Add formattingOptions parameter to getCompletionEntryDetails

* completions.ts: define SymbolOriginInfo type

* completions.ts, services.ts: Add allSourceFiles parameter to getCompletionsAtPosition

* completions.ts, services.ts: Plumb allSourceFiles into new function getSymbolsFromOtherSourceFileExports inside getCompletionData

* completions.ts: add symbolToOriginInfoMap parameter to getCompletionEntriesFromSymbols and to return value of getCompletionData

* utilities.ts: Add getOtherModuleSymbols, getUniqueSymbolIdAsString, getUniqueSymbolId

* completions.ts: Set CompletionEntry.hasAction when symbol is found in symbolToOriginInfoMap (meaning there's an import action)

* completions.ts: Populate list with possible exports (implement getSymbolsFromOtherSourceFileExports)

* completions.ts, services.ts: Plumb host and rulesProvider into getCompletionEntryDetails

* completions.ts: Add TODO comment

* importFixes.ts: Add types ImportDeclarationMap and ImportCodeFixContext

* Move getImportDeclarations into getCodeActionForImport, immediately after the implementation

* importFixes.ts: Move createChangeTracker into getCodeActionForImport, immediately after getImportDeclarations

* importFixes.ts: Add convertToImportCodeFixContext function and reference it from the getCodeActions lambda

* importFixes.ts: Add context: ImportCodeFixContext parameter to getCodeActionForImport, update call sites, destructure it, use compilerOptions in getModuleSpecifierForNewImport

* importFixes.ts: Remove moduleSymbol parameter from getImportDeclarations and use the ambient one

* importFixes.ts: Use cachedImportDeclarations from context in getCodeActionForImport

* importFixes.ts: Move createCodeAction out, immediately above convertToImportCodeFixContext

* Move the declaration for lastImportDeclaration out of the getCodeActions lambda into getCodeActionForImport

* importFixes.ts: Use symbolToken in getCodeActionForImport

* importFixes.ts: Remove useCaseSensitiveFileNames altogether from getCodeActions lambda

* importFixes.ts: Remove local getUniqueSymbolId function and add checker parameter to calls to it

* importFixes.ts: Move getCodeActionForImport out into an export, immediately below convertToImportCodeFixContext

* completions.ts: In getCompletionEntryDetails, if there's symbolOriginInfo, call getCodeActionForImport

* importFixes.ts: Create and use importFixContext within getCodeActions lambda

* importFixes.ts: Use local newLineCharacter instead of context.newLineCharacter in getCodeActionForImport

* importFixes.ts: Use local host instead of context.host in getCodeActionForImport

* importFixes.ts: Remove dummy getCanonicalFileName line

* Filter symbols after gathering exports instead of before

* Lint

* Test, fix bugs, refactor

* Suggestions from code review

* Update api baseline

* Fix bug if previousToken is not an Identifier

* Replace `startsWith` with `stringContainsCharactersInOrder`

* Dont try to run unit tests with rwc tests again (#19240)

* In tsserver, indent logged JSON (#19080)

* noUnusedLocals: Warn for recursive call to private method (#18920)

* Added test for windows style paths watched directories

* Handle when directory watcher is invoked on file change
Fixes #19206

* Add quickfix and refactoring to install @types packages (#19130)

* Add quickfix and refactoring to install @types packages

* Move `validatePackageName` to `jsTyping.ts`

* Remove combinePaths overloads

* Respond to code review

* Update api baselines

* Use native PromiseConstructor

* Return false instead of undefined

* Remove getProjectRootPath

* Update api

* This wasnt required before... (#19262)

* Collapse jsdoc annotation refactors to one

Previously there were two, and two always fired.

* Update baselines

* Fix #19257: Ensure a generated signature has a return type (#19264)

* Fix #19257: Ensure a generated signature has a return type

* Ensure generated properties have types

* Use the same context for multiple inferences to the same property access

* Respect newLine compiler option in language service output (#19279)

* LEGO: check in for master to temporary branch.

* LEGO: check in for master to temporary branch.

* LEGO: check in for master to temporary branch.

* Disambiguate same-named refactors using description (#19267)

Disambiguate same-named refactors using actionName

* Set the scriptKind from the host configuration if present

* Update API baselines

* Remove erroneous error for JSDoc object literals

appears with checkJS.

* Update annotateWithTypeFromJSDoc tests

1. Object literals are single-line now.
2. Index signatures transform to TS index signatures.
3. The refactoring is only available when it could add types.

* Add a better test for jsdoc index signatures.

The test case shows that the errorenous error no longer appears.

* Fix bugs in jsdoc annotation refactor

1. Transform index signatures to TS index signatures.
2. Print object literals on a single line.
3. Only offer the refactor when it could add types. (There must not be a
type annotation already, and there must be a JSDoc that applies.)

* Move isJSDocIndexSignature to utilities

* Add failing testcase where when d.ts file is in program, the files get emitted multiple times with --out setting

* Modify api to emit affected files using callback instead of generating in memory output
Also marking few apis introduced during watch improvements changes that are suppose to be internal for now

* Use get files affected by internally and hence use file paths as input

* Simplify emit changed files further
Also use source file version as the signature of declaration file instead of computing it from text

* Do not cache the semantic diagnostics when compiler options has --out since we would anyways get all fresh diagnostics

* make getCurrentDirectory required (#19303)

* LEGO: check in for master to temporary branch.

* Actually use cached semantic diagnostics

* Fix tsc-instrumented

1. Make recursiveCreateDirectory correctly handle relative paths.
2. Remove dependency on Harness
3. Correctly increment iocapture0, iocapture1, ... iocaptureN.
4. Stop double-nesting baseline files.

* Fix lint

* Fix https://github.com/Microsoft/TypeScript/issues/19270: ensure output name is a valid locale name (#19308)

* Fix https://github.com/Microsoft/TypeScript/issues/19270: ensure output name is a valid locale name

* Use const instead of var

* Add comment

* Fix typo

* Split the concat logic for generatedLCGFile

* findAllRefs: Support anonymous default export (#19302)

* Fix undefined error using `getEffectiveTypeRoots` (#19300)

* Remove extra blank line in logs (#19307)

* Use Promise instead of PromiseLike (#19305)

* Workaround for nonnull operator on indexed accesses (#19275)

* Quick and dirty workaround

* Add third case to show current behavior

* Rename variable, replace elaboration from comment with links

* Remove some unnecessary `undefined` checks in extractSymbol (#19256)

* Fix "noStringLiteral" lint errors (#19310)

* LEGO: check in for master to temporary branch.

* Rename locale outputs

* Update LKG
2017-10-19 13:13:57 -07:00
Mohamed Hegazy 6f13c64a0b Merge branch 'master' into port-master-10-16 2017-10-16 16:15:16 -07:00
Ron Buckton 06fd5e0bfe Merge pull request #19230 from Microsoft/fix18186
Do not reduce subtypes of awaited union type
2017-10-16 15:17:30 -07:00
Ron Buckton eebb0447ab Fix generated name scope when emitting async functions 2017-10-16 14:47:43 -07:00
Ron Buckton 9563246993 Do not reduce subtypes of awaited union type 2017-10-16 14:26:16 -07:00
Wesley Wigham aea7e9a7a8 Fix instantiated generic mixin declaration emit (#19144)
* Fix #18545, dont use declared type of class expression

* Accept API Baselines

* Add thus far unused flag from node builder

* Accept baseline update
2017-10-16 14:17:55 -07:00
Andy 2cb0403e2d Support 'package.json' not in package root (#19133)
* Support 'package.json' not in package root

* Test "foo/@bar"

* More tests, and don't use "types" from the root package.json if not loading the root module
2017-10-16 13:02:15 -07:00
Wesley Wigham 40222d1a77 Fix for-in emit under systemjs (#19223) 2017-10-16 12:57:23 -07:00
Daniel Rosenwasser 144026cd3b Merge pull request #19174 from Microsoft/correctlyScopedtaggedTemplates-master
Fix uniqueness for tagged template variables
2017-10-13 16:54:47 -07:00
Daniel Rosenwasser 16f7f6f2e9 Added test case. 2017-10-13 15:40:31 -07:00
Mohamed Hegazy 6b533a8f94 Revert "Error when accessing abstract property in constructor #9230"
This reverts commit 9e00df590d.
2017-10-12 17:27:06 -07:00
Mohamed Hegazy 73ec738ed5 Revert "Use ancestor walk to determine if property access is within constructor #9230"
This reverts commit 79f5d968a1.
2017-10-12 17:25:13 -07:00
Wesley Wigham de0e475c64 Recreate old decorator metadata behavior (#19089)
* Emulate pre 2.4 metadata behavior of eliding null and undefined from unions without strictNullChecks

* Accept baseline

* Update comment

* Update for second old baseline

* Respect strict
2017-10-12 15:05:04 -07:00
Wesley Wigham 9af21eb00e Transform nested dynamic imports (#18998)
* Fix nested dynamic imports when targeting es6

* Fixup nested dynamic imports when targeting downlevel

* Remove duplicated expressions in UMD emit

* Code review feedback, clone arg if need be

* More CR feedback, apply user quotemark styles

* Remove blank lines

* Use behavior of visitEachChild instead of enw codepath, add new test, use createLiteral to retain quotemarks

* Set lib flag for test
2017-10-12 12:53:12 -07:00
Nathan Shively-Sanders 54ad9a6c82 Merge pull request #19112 from Microsoft/fill-missing-type-arguments-during-error-reporting
Fill missing type arguments during error reporting
2017-10-12 11:02:25 -07:00
Anders Hejlsberg 728d2a92ce Merge pull request #19091 from Microsoft/fixAnonymousTypeInstantiation
Fix anonymous type instantiation
2017-10-12 00:54:14 +01:00
Anders Hejlsberg 6cf41ae882 Merge pull request #19107 from Microsoft/fixRecursiveCallbacks
Fix checking of recursive callback types
2017-10-12 00:28:16 +01:00
Anders Hejlsberg 19f70f6d3d Add additional test 2017-10-11 16:03:15 -07:00
Wesley Wigham b949245336 Add ValueModule as a valid object literal type, as they are immutable (#19090)
* Add ValueModule as a valid object literal type, as they are immutable

* Rename method based on usage
2017-10-11 15:13:33 -07:00
Nathan Shively-Sanders 156e7e2069 Test:Incorrect number of type args during err reporting 2017-10-11 14:02:20 -07:00
Ron Buckton 73d06f796d Merge pull request #19056 from Microsoft/fix16221
Fix recursive reference in type parameter default
2017-10-11 12:49:35 -07:00
Anders Hejlsberg 07e4819b8b Add regression test 2017-10-11 12:01:38 -07:00
Anders Hejlsberg 83020dbbd6 Add regression test 2017-10-10 17:34:32 -07:00
Wesley Wigham 856961b84c Add regression test for #18668 (#19085) 2017-10-10 17:20:10 -07:00
Ron Buckton dc607c29b4 Fix 'this' capturing for dynamic import 2017-10-09 17:15:13 -07:00
Ron Buckton aaa06122b9 Fix recursive reference in type parameter default 2017-10-09 15:44:06 -07:00
Joe Calzaretta bb3467b8e1 Handle type guard predicates on Array<T>.find (#18160)
* Handle type guard predicates on `Array<T>.find`

If the `predicate` function passed to `Array<T>.find` or `ReadonlyArray<T>.find`
is a type guard narrowing `value` to type `S`, then any returned element should also
be narrowed to `S`.

Adding test case and associated baselines

* trailing whitespace after merge conflict
2017-10-09 14:58:41 -07:00
Nathan Shively-Sanders 9b51c33582 Merge pull request #19005 from charlespierce/abstract_property_in_constructor
Error when accessing abstract property in constructor #9230
2017-10-09 13:21:33 -07:00
Andy 2796ebfe35 In resolveNameHelper, use a lastNonBlockLocation (#18918) 2017-10-09 11:04:28 -07:00
Charles Pierce 79f5d968a1 Use ancestor walk to determine if property access is within constructor #9230 2017-10-09 10:57:08 -07:00
Andy 8a55baf9a3 In @typedef tag, handle property with no type (#19013) 2017-10-09 09:58:02 -07:00
Charles Pierce 9e00df590d Error when accessing abstract property in constructor #9230 2017-10-06 19:46:29 -07:00
Anders Hejlsberg b7e744a0e5 Merge pull request #18976 from Microsoft/strictCallbackParameters
Strictly check callback parameters
2017-10-06 21:36:52 +01:00
Anders Hejlsberg 7fcf51960d Add tests 2017-10-06 09:22:10 -07:00
Nathan Shively-Sanders e1bc916b91 Merge branch 'master' into excess-property-checks-for-discriminated-unions 2017-10-06 09:18:57 -07:00
Wesley Wigham 7a4c3314e8 Visit default export expressions (#18977) 2017-10-05 16:47:24 -07:00
Anders Hejlsberg aae7572c48 Add test 2017-10-05 13:25:23 -07:00
Daniel Rosenwasser 924460406e Merge pull request #18811 from Microsoft/uncalledDecorator
Give a more helpful error message for certain decorators with too many arguments
2017-10-05 11:27:46 -07:00
Nathan Shively-Sanders da6acba71e Merge branch 'master' into excess-property-checks-for-discriminated-unions 2017-10-05 09:07:23 -07:00
Wesley Wigham 648bd6e9e0 Skip more lib checks, improve test execution time a bit more (#18952)
* Skip more lib checks, improve test execution time a bit more

* Change complexRecursiveCollections to still check

* Remove way more
2017-10-04 14:43:35 -07:00
Wesley Wigham 25c3b99f29 Add skip lib check to many tests (#18935)
* Add skip lib check to many tests, do not include unit test duration in profiler duration

* Add a few more skipLibCheck flags

* A few more

* Add more skip lib check flags
2017-10-04 13:14:05 -07:00
Andy 46e135b098 Fix parsing of qualified name in @augments (#18914) 2017-10-03 13:47:01 -07:00
Daniel Rosenwasser 301c90ccff Merge pull request #18300 from Microsoft/correctlyCacheTaggedTemplates
Correctly cache tagged template objects in modules
2017-10-03 12:06:57 -07:00
Daniel Rosenwasser 392cd6117b Added a test for an 'any'-type decorator. 2017-10-02 18:44:49 -07:00
Andy 3a2c723a69 Allow parsing a qualified type name containing a reserved word (#18888) 2017-10-02 17:04:28 -07:00
Anders Hejlsberg 884c72efb4 Merge pull request #18654 from Microsoft/strictFunctionTypes
Strict function types
2017-10-02 23:09:17 +01:00
Anders Hejlsberg c2344e07a4 Add error elaboration test 2017-10-02 13:40:26 -07:00
Anders Hejlsberg bf75a3f4ac Emit .d.ts file in test 2017-10-02 12:54:04 -07:00