Commit graph

12455 commits

Author SHA1 Message Date
Ron Buckton
561104f9c8 Remove custom source map emit for modules. 2016-07-21 09:53:36 -07:00
Ron Buckton
5769398abf Changed specialized emit for IdentifierName 2016-07-20 18:43:41 -07:00
Ron Buckton
0a0cacf472 Remove specialized source map emit for rest parameters 2016-07-20 18:23:01 -07:00
Ron Buckton
b087526b8c Fix several test failures. 2016-07-20 17:55:55 -07:00
Ron Buckton
d119167653 Add more commonly used nodes, reduce less frequently used nodes. 2016-07-20 17:36:18 -07:00
Ron Buckton
ec9c4d26f9 Merge branch 'transforms' into transforms-visitPerf 2016-07-20 12:19:56 -07:00
Ron Buckton
d4ad7f31f9 Merge pull request #9175 from Microsoft/transforms-generators
[Transforms] Down-level transformations for Async Functions
2016-07-20 12:12:47 -07:00
Ron Buckton
248953ec59 Explicit handling for more nodes in reduceEachChild/visitEachChild 2016-07-20 12:12:07 -07:00
Ron Buckton
c2857672dc Updated comment 2016-07-18 15:57:06 -07:00
Ron Buckton
c832444f1e Accept baselines plus new linter warnings. 2016-07-18 15:54:32 -07:00
Ron Buckton
252cc25223 Merge branch 'transforms' into transforms-generators 2016-07-18 15:43:28 -07:00
Yui
1c9df8446a [Transforms] Merge master 07/11 into transform (#9697)
* Use merge2, gulp-if, gulp-newer, and more projects

* Add watch task

* Working non-inline sourcemaps for runtests

* browser tests now also loads sourcemaps from disk

* Lazypipes and better services stream management

* export interface used by other exported functions

* Make goto-definition work for `this` parameter

* Add new error for rest parameters

* Add error message for rest parameter properties

* Fix case when a document contains multiple script blocks with different base indentations.
Use the base indent size if it is greater that the indentation of the inherited predecessor

* Fix rwc-runner from breaking change in compiler (#9284)

* Signatures use JSDoc to determine optionality

* Changed implementation to use closure

* Updated tests

* Fixed linting error

* Adding Code of Conduct notice

* Don't crash when JS class property is self-referential.

Fixes #9293

* Remove stale baselines

* For optionality, check question token before JSDoc

* Accept rest parameter properties error baselines

* Change binding pattern parameter property error

* Accept binding pattern properties error baselines

* Lint

* Port the sync version diagnostics API from tsserverVS-WIP branch to 2.0

* Do copyright without gulp-if and lazypipe

* Change test comment and accept baseline

* Remove tsd scripts task from gulpfile

* Make use of module compiler option explicit, add strip internal to tsconfigs

* Remove Signature#thisType and use Signature#thisParameter everywhere

* Add Gulpfile lint to jake, fix lints

* Change reference tests to verify actual ranges referenced and not just their count

* Respond to PR comments

* Add new lint rule

* Fix object whitespace lints

* Fix case of gulpfile dependencies

* 1. pass subshell args 2. fix build order in services

1. /bin/sh requires its arguments joined into a single string unlike
cmd.
2. services/ depends on a couple of files from server/ but the order was
implicit, and changed from jakefile. Now the order is explicit in the
tsconfig.

* Fix single-quote lint

* Check for exactly one space

* Fix excess whitespace issues

* Add matchFiles test to Gulpfile

This was merged while the gulpfile was still in-progress

* Fix LKG useDebug task and newLine flag

* Update LKG

* Clean before LKG in Gulpfile

* Fix lint

* Correct the api string name

* Allow space in exec cmds

* Fix typo

* Add new APIs to protocol

* Fix bug where `exports.` was prepended to namespace export accesses

* Remove unnecessary parameter

* extract expression into function

* Add fourslash tests & address CR comments

* Fix 8549: Using variable as Jsx tagname (#9337)

* Parse JSXElement's name as property access instead of just entity name. So when one accesses property of the class through this, checker will check correctly

* wip - just resolve to any type for now

* Resolve string type to anytype and look up property in intrinsicElementsType of Jsx

* Add tests and update baselines

* Remove unneccessary comment

* wip-address PR

* Address PR

* Add tets and update baselines

* Fix linting error

* Unused identifiers compiler code (#9200)

* Code changes to update references of the Identifiers

* Added code for handling function, method and coonstructor level local variables and parameters

* Rebased with origin master

* Code changes to handle unused private variables, private methods and typed parameters

* Code changes to handle namespace level elements

* Code changes to handle unimplemented interfaces

* Code to optimize the d.ts check

* Correct Code change to handle the parameters for methods inside interfaces

* Fix for lint error

* Remove Trailing whitespace

* Code changes to handle interface implementations

* Changes to display the error position correctly

* Compiler Test Cases

* Adding condition to ignore constructor parameters

* Removing unnecessary tests

* Additional changes for compiler code

* Additional changes to handle constructor scenario

* Fixing the consolidated case

* Changed logic to search for private instead of public

* Response to PR Comments

* Changed the error code in test cases as result  of merge with master

* Adding the missing file

* Adding the missing file II

* Response to PR comments

* Code changes for checking unused imports

* Test Cases for Unused Imports

* Response to PR comments

* Code change specific to position of Import Declaration

* Code change for handling the position for unused import

* New scenarios for handling parameters in lambda function, type parameters in methods, etc.

* Additional scenarios based on PR comments

* Removing a redundant check

* Added ambient check to imports and typeparatmeter reporting

* Added one more scenario to handle type parameters

* Added new scenario for TypeParameter on Interface

* Refactoring the code

* Added scenario to handle private class elements declared in constructor.

* Minor change to erro reporting

* Fix 8355: Fix emit metadata different between transpile and tsc --isolatedModule (#9232)

* Instead of returning undefined for unknownSymbol return itself

* Add Transpile unittest

* Wip - Add project tests

* Add project tests and baselines

* Update existed tests

* Add tests for emitting metadata with module targetting system

* Fix 8467: Fix incorrect emit for accessing static property in static propertyDeclaration (#8551)

* Fix incorrect emit for accessing static property in static propertyDeclaration

* Update tests and baselines

* Update function name

* Fix when accessing static property inside arrow function

* Add tests and baselines

* do not format comma/closeparen in jsxelement

* format jsx expression

* Remove extra baselines

* Fixed bugs and linting

* Added project tests for node_modules JavaScript searches

* Removed old TODO comment

* make rules optional

* Fixed the regexp for removing full paths

* Fix type of the disableSizeLimit option

* Update version to 2.0.0

* Remove upper boilerplate from issue template

Our issue stats did not improve appreciably when we added the issue template. Reduce upper boilerplate text and try to make it more action-oriented

* Remove unused compiler option (#9381)

* Update LKG

* Added emitHost method to return source from node modules

* Marked new method internal

* Update issue_template.md

* new options should be optional for compatibility

* Add getCurrentDirectory to ServerHost

* Add nullchecks for typeRoots, remove getCurrentDirectory from ServerHost as it is always the installation location

* VarDate interface and relevant Date.prototype members

* Port 9396 to release 2.0

* Fix 9363: Object destructuring broken-variables are bound to the wrong object (#9383)

* Fix emit incorrect destructuring mapping in var declaration

* Add tests and baselines

* Add additional tests and baselines

* Fix crash in async functions when targetting ES5.

When targetting ES5 and with --noImplicitReturns,
an async function whose return type could not be determined would cause
a compiler crash.

* Add This type to lib

* Merge master into release-2.0 (#9400)

* do not format comma/closeparen in jsxelement

* format jsx expression

* make rules optional

* Remove upper boilerplate from issue template

Our issue stats did not improve appreciably when we added the issue template. Reduce upper boilerplate text and try to make it more action-oriented

* Update issue_template.md

* new options should be optional for compatibility

* Add getCurrentDirectory to ServerHost

* Add nullchecks for typeRoots, remove getCurrentDirectory from ServerHost as it is always the installation location

* VarDate interface and relevant Date.prototype members

* Fix 9363: Object destructuring broken-variables are bound to the wrong object (#9383)

* Fix emit incorrect destructuring mapping in var declaration

* Add tests and baselines

* Add additional tests and baselines

* Fix #9402: Do not report unused identifier errors for catch variables

* getVarDate should be on the Date interface

* Defere checking unsed identifier checks

* Do not scan nodes preceding formatted region, just skip over them

* Don't emit source files found under node_modules

* Destructuring assignment removes undefined from type when default value is given

* Add nullcheck when calculating indentations for implort clause

* Use a deferred list to check for unused identifiers

* push checks to checkUnusedIdentifiersDeferred

* use isParameterPropertyDeclaration to test for paramter propoerties

* runtests-parallel skips empty buckets

Previously, it would enter them as buckets with no tests, which would
make our test runners run *every* test.

This was very obvious on machines with lots of cores.

* Report unused identifiers in for statements

* Do not check ambients, and overloads

* Add tests

* Consolidate type reference marking in getTypeFromTypeReference

* Handel type aliases

* Add tests

* Add test

* Dont load JavaScript if types packages are present

* Renamed API

* Use checkExpression, not checkExpressionCached

* Do not report unused errors for module augmentations

* Consolidate refernce marking in resolveName to allow marking aliases correctelly

* add tests

* Code review comments

* Only mark symbols found in a local symbol table

* Show "<unknown>" if the name of a declaration is unavailable

* Parse `export default async function` as a declaration

* Respond to PR comments

* Better name for test

* handel private properties correctelly

* Port 9426 to release 2.0

* Handel Swtich statements
check for locals on for statments
only mark private properties

* Removed one error to avoid full path issues

* Don't emit source files found under node_modules

(cherry picked from commit 5f8cf1af3e)

* Dont load JavaScript if types packages are present

(cherry picked from commit 5a45c44eb7)

* Renamed API

(cherry picked from commit d8047b607f)

* Removed one error to avoid full path issues

(cherry picked from commit 5e4f13f342)

* Fix incorrectly-saved quote symbols in ThirdPartyNoticeText.txt

* Fix #9458: exclude parameters starting with underscore from unusedParamter checks

* change variable name for strict mode

* Increase timeout from running RWC. As UWDWeb takes slightly longer now (#9454)

* Handle relative paths in tsconfig exclude and include globs

* Merge master into release branch 06/30 (#9447)

* do not format comma/closeparen in jsxelement

* format jsx expression

* make rules optional

* Remove upper boilerplate from issue template

Our issue stats did not improve appreciably when we added the issue template. Reduce upper boilerplate text and try to make it more action-oriented

* Update issue_template.md

* new options should be optional for compatibility

* Add getCurrentDirectory to ServerHost

* Add nullchecks for typeRoots, remove getCurrentDirectory from ServerHost as it is always the installation location

* VarDate interface and relevant Date.prototype members

* Fix 9363: Object destructuring broken-variables are bound to the wrong object (#9383)

* Fix emit incorrect destructuring mapping in var declaration

* Add tests and baselines

* Add additional tests and baselines

* Fix crash in async functions when targetting ES5.

When targetting ES5 and with --noImplicitReturns,
an async function whose return type could not be determined would cause
a compiler crash.

* Add This type to lib

* getVarDate should be on the Date interface

* Don't emit source files found under node_modules

* Destructuring assignment removes undefined from type when default value is given

* Add nullcheck when calculating indentations for implort clause

* Add test

* Dont load JavaScript if types packages are present

* Renamed API

* Use checkExpression, not checkExpressionCached

* Show "<unknown>" if the name of a declaration is unavailable

* Parse `export default async function` as a declaration

* Removed one error to avoid full path issues

* Fix incorrectly-saved quote symbols in ThirdPartyNoticeText.txt

* Improve names of whitespace functions

* Handle relative paths in tsconfig exclude and include globs

Port 9475 to release 2.0

* add new method getEmitOutputObject to return result of the emit as object with properties instead of json string

* fix linter

* Fix PromiseLike to be compatible with es6-promise (#9484)

* Fix reading files from IOLog because previous our API captures (#9483)

* Fix reading files from IOLog because previous our API captures

* Refactoring the ioLog

* Exclude FlowSwitchClause from flow graph for case expressions

* Add regression test

* Update LKG

* Update language in comment

* Add .mailmap file

* Add authors script to generate authors from repo

* Update AUTHORS.md for release-2.0

* Update script to pass more than one argument

* Remove the unused text buffer from ScriptInfo

* Fix #9531: account for async as an contextual keyword when parsing export assignments

* Update LKG

* Swap q from a reference to an import

* Fix #9550: exclude 'this' type parameters from unusedParameters checks.

* Update comment to reflect new dependency

* Avoid putting children tags in jsdoccomment

* Parse the result of getDirectories call

* Update harness getDirectories implementation for shims

* Fix multiple Salsa assignment-declarations

Previously, all assignment-declarations needed to be of the same kind:
either all `this.p = ...` assignments or `C.prototype.p = ...`
assignments.

* Test for multiple salsa assignment-declarations

* Add test for parsed @typedef tag node shape

* Provide a symbol for salsa-inferred class types

* Update .mailmap

* Fix module tracking

* Updated test with relative import

* Fixed the node tracking and a harness bug

* fixed lint error

* Fixed implicit any

* Added missing test files

* Removed duplicate logic

* Update conflicting baseline.

PR #9574 added a baseline that #9578 caused to be changed. The two PRs
went in so close to each other that the CI build didn't catch the change
to the new test's baseline.

* Fix type of JSXTagName

* Update baselines to use double-quote

* Update baselines when emitting metadata decorator

* Update baselines for async-await function

* Update baselines for comment in capturing down-level for...of and for...in

* Add missing Transpile tests

* Remove old JS transpile baselines

* Passing program as argument in emitWorker

* Port PR#9607 transforms

* Port new JSDOC tests to use baseline

* substitute alias for class expression in statics

* Address new lint warnings

* Change name for substitution function.
2016-07-18 15:38:30 -07:00
Yui
cfc20a956a [Transforms] Merging Master to Transforms on 06/21 (#9294)
* Initial support for globs in tsconfig.json

* Added caching, more tests

* Added stubs to ChakraHost interface for readDirectoryNames/readFileNames

* Fixed typos in comments

* Changed name of 'reduce' method added to FileSet

* Heavily revised implementation that relies on an updated 'readDirectory' API.

* more tests

* Minor update to shims.ts for forthcoming VS support for globs.

* Detailed comments for regular expressions and renamed some files.

* Comment cleanup

* Fixed new linter warnings

* Add upper limit for the program size, fix readDirectory for the symlink files

* Add comments

* CR feedback / Change upper limit / Add disableSizeLimit compiler option

* online and offline CR feedback

* Don't count current opened client file if it's TS file

* Speed up file searching

* Make language service optional for a project

* Fix failed tests

* Fix project updateing issue after editing config file

* Fixing linter and test errors

* Bringing back excludes error and fixing faulty test

* Fixing lint errors

* Passing regular expressions to native hosts

* Fix merging issues and multiple project scenario

* Refactoring

* add test and spit commandLineParser changes to another PR

* Fix #8523

* check the declaration and use order if both are not in module file

* Type guards using discriminant properties of string literal types

* Fix #9098: report missing function impelementation errors for merged classes and namespaces

* Narrow type in case/default sections in switch on discriminant property

* No implicit returns following exhaustive switch statements

* Narrow non-union types to ensure consistent results

* Add tests

* No Need to store dot token when parsing property access expression

* Added tests.

* Accepted baselines.

* Check tuple types when getting the type node's type.

* Accepted baselines.

* Fix #9173: clear out lib and types before creating a program in transpileModule

* Added tests.

* Accepted baselines.

* Always check type assertion types.

* Clear out unused compiler options when transpiling

* Accepted baselines.

* improve error message for extending interface

* accept baselines

* Use helper functions to simplify range tests

* Remove String, Number, and Boolean from TypeFlags.Falsy

* Add regression test

* Accept new baselines

* Allow property declarations in .js files

* Remove old test

* Do not use Object.assing in test

* Fix comment

* Refactor code to make if statements cheaper

* ignore casing when converting a source file path to relative path

* add tests & add branches for module interface

* Using baselines for transpile unittests (#9195)

* Conver to Transpile unittest to use baselines instead

* Add baselines

* Fix linting error

* use resolveEntityName to find interface

* add new tests for extends interface

* address code style

* Refactor navigation bar

* routine dom update

* Updating readDirectory for tsserverProjectSystem unit tests

* Array#map -> ts.map.

* Responding to PR feedback

* Add conditional index signature for Canvas2DContextAttributes (https://github.com/Microsoft/TypeScript/issues/9244)

* Add libcheck tests

* Add missing worker types

* Accept webworker baselines

* Classify `this` in parameter position as a keyword

* Adding more matchFiles test cases

* Use implicit boolean casts; it doesn't hurt performance

* Use getCanonicalFileName

* export interface used by other exported functions

* Fix from merging with master

* Update tests and baselines from merging with master

* Remove using dotToken as it is no longer needed

* Update baselines from removing dotToken

* Address PR: Add NodeEmitFlags to no indent when emit

* Address PR; and refactor setting NodeEmitFlags for createMemberAccessForPropertyName

* Update baselines
2016-07-11 12:41:12 -07:00
Ron Buckton
9e3d6f8585 Additional comments per PR feedback. 2016-06-27 17:39:24 -07:00
Ron Buckton
644e4dacaf Added es5 conformance tests for async arrow functions, add error for referencing 'arguments' in a generator. 2016-06-27 17:34:19 -07:00
Ron Buckton
203dab4412 Added additional es5 conformance tests, better emit for functions returning global promise, pass this to __generator 2016-06-27 17:12:24 -07:00
Ron Buckton
0c647c3d14 Added es5 conformance tests for awaiting a call 2016-06-27 15:34:15 -07:00
Ron Buckton
48a9562e41 Added es5 conformance tests for async function declarations. Add ability to treat some statements as if they were prologue directives. 2016-06-27 15:26:33 -07:00
Ron Buckton
5b2e11c5d0 Added es5 conformance tests for await in binary. 2016-06-27 14:08:36 -07:00
Ron Buckton
393ee28fb0 Move 'use strict' directive out of generator for async function. 2016-06-27 13:48:47 -07:00
Ron Buckton
4a16f65c00 Removed extranous original parameter. 2016-06-27 13:19:24 -07:00
Ron Buckton
a858db6ac8 Remove extraneous comments. 2016-06-27 13:14:57 -07:00
Ron Buckton
c11b5600b2 es6 test conformance cleanup 2016-06-27 13:12:11 -07:00
Yui
5f91b3cf40 [Transforms] merging "master" on 06/15/2016 (#9218)
* Add upper limit for the program size, fix readDirectory for the symlink files

* Add comments

* CR feedback / Change upper limit / Add disableSizeLimit compiler option

* online and offline CR feedback

* Don't count current opened client file if it's TS file

* Speed up file searching

* Make language service optional for a project

* Fix failed tests

* Fix project updateing issue after editing config file

* Fix merging issues and multiple project scenario

* Refactoring

* add test and spit commandLineParser changes to another PR

* Fix #8523

* check the declaration and use order if both are not in module file

* Fix #9098: report missing function impelementation errors for merged classes and namespaces

* Added tests.

* Accepted baselines.

* Check tuple types when getting the type node's type.

* Accepted baselines.

* Fix #9173: clear out lib and types before creating a program in transpileModule

* Added tests.

* Accepted baselines.

* Always check type assertion types.

* Accepted baselines.

* Use helper functions to simplify range tests

* Remove String, Number, and Boolean from TypeFlags.Falsy

* Add regression test

* Accept new baselines

* Allow property declarations in .js files

* Remove old test

* Refactor code to make if statements cheaper

* Fix test failure from mergining with master
2016-06-17 16:40:26 -07:00
Ron Buckton
278a350add Add support for external helpers module, cleanup, and accept new baselines. 2016-06-15 13:49:32 -07:00
Ron Buckton
4eb2a82dca Merge branch 'transforms' into transforms-generators 2016-06-15 11:41:21 -07:00
Ron Buckton
a766005d65 Merge pull request #9097 from Microsoft/transforms-importHelpers
[Transforms] Import external helpers module
2016-06-15 11:39:22 -07:00
Ron Buckton
f3d0b86e81 Short-circut when reporting errors for helpers. 2016-06-15 11:26:58 -07:00
Ron Buckton
5e31b25af4 Merge branch 'transforms' into transforms-generators 2016-06-15 11:04:21 -07:00
Ron Buckton
b65c648072 Merge branch 'transforms' into transforms-importHelpers 2016-06-15 11:02:52 -07:00
Yui
03d273ea5c Update baselines and fix failure when merged with master (#9172) 2016-06-15 11:02:29 -07:00
Ron Buckton
d5f5d927af Merge branch 'transforms' into transforms-importHelpers 2016-06-14 18:23:51 -07:00
Ron Buckton
a096b87c34 Updated baselines. 2016-06-14 18:23:31 -07:00
Ron Buckton
9073572843 Merge branch 'transforms' into transforms-generators 2016-06-14 18:04:48 -07:00
Ron Buckton
ea61f2b32b Added tests and fixed related emit issues. 2016-06-14 17:59:44 -07:00
Ron Buckton
edf999fcbd Change symbol meaning for __extends resolution to be consistent with other helpers 2016-06-14 16:25:33 -07:00
Ron Buckton
76b34939d0 Resolve external helpers module and report errors for missing module/exports 2016-06-14 16:24:01 -07:00
Kanchalai Tanglertsampan
beb72f4057 Merge branch 'master' into transforms
# Conflicts:
#	Jakefile.js
#	src/compiler/emitter.ts
#	src/compiler/program.ts
#	src/compiler/types.ts
#	src/harness/harness.ts
#	src/services/services.ts
#	tests/baselines/reference/disallowAsyncModifierInES5.js
#	tests/baselines/reference/es5andes6module.js
#	tests/baselines/reference/es6ExportClauseWithAssignmentInEs5.js
#	tests/baselines/reference/es6modulekindWithES5Target.js
#	tests/baselines/reference/es6modulekindWithES5Target11.js
#	tests/baselines/reference/es6modulekindWithES5Target2.js
#	tests/baselines/reference/es6modulekindWithES5Target3.js
#	tests/baselines/reference/es6modulekindWithES5Target6.js
#	tests/cases/unittests/transpile.ts
#	tests/cases/unittests/tsserverProjectSystem.ts
2016-06-14 15:21:51 -07:00
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
Ron Buckton
6ad04375c4 PR feedback 2016-06-14 13:35:52 -07:00
Ron Buckton
147addb4e9 Merge branch 'transforms' into transforms-importHelpers 2016-06-14 13:21:24 -07:00
Nathan Shively-Sanders
7890fd58b9 Merge pull request #9088 from Microsoft/add-members-to-variable-declarations-initialised-with-function-expressions
Add members to variable declarations initialised with function expressions
2016-06-14 11:37:36 -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
Nathan Shively-Sanders
57f66b8efa Merge pull request #9148 from Microsoft/add-isDefinition-to-references
Add isDefinition to references
2016-06-14 11:12:53 -07:00
Daniel Rosenwasser
8917ddf8a1 Merge pull request #9151 from Microsoft/commonjsShorthands
Fix emit for shorthand properties when they refer to CommonJS exports.
2016-06-14 10:32:20 -07:00
Nathan Shively-Sanders
102a890214 Use isLiteralComputedPropertyDeclarationName 2016-06-14 10:27:36 -07:00
Andy
13a0f5905d Merge pull request #9159 from Microsoft/code_completion_escaping
Code completion escaping
2016-06-14 10:21:40 -07:00
Andy Hanson
6b05ecab5b Fix bug: do unescaping in the right place, so that it only affects escaped javascript identifiers 2016-06-14 09:39:48 -07:00
Nathan Shively-Sanders
7bf40c4935 Add more isDefinition tests and fix computed property bug 2016-06-14 09:39:30 -07:00
Nathan Shively-Sanders
792b23edc2 Make isDefinition required.
For the deprecated getOccurrencesAtPosition, isDefinition is always false.
2016-06-14 08:48:26 -07:00