Commit Graph

26808 Commits

Author SHA1 Message Date
Sheetal Nandi
d53efdf380 Changes to generation of .tsbuildinfo:
- If composite or incremental then only the .tsbuildinfo will be generated
- if --out or --outFile the file is outputFile.tsbuildinfo
- if rootDir and outDir then outdir/relativePathOfConfigFromRootDir/configname.tsbuildinfo
- if just outDir then outDir/configname.tsbuild
- otherwise config.tsbuildinfo next to configFile
2019-02-28 13:46:26 -08:00
Sheetal Nandi
ed35741b5f Merge branch 'master' into incrementalBuildInfo 2019-02-27 15:45:59 -08:00
Ryan Cavanaugh
5ec5e0466d Merge pull request #30136 from RyanCavanaugh/no-mkdir-race
Don't crash if someone created a folder while we were checking to see if it exists
2019-02-27 15:43:14 -08:00
Ryan Cavanaugh
93fa734162 Don't crash if someone created a folder while we were checking to see if it exists 2019-02-27 14:33:25 -08:00
Nathan Shively-Sanders
be2db9db12 Add globalThis (#29332)
* Restore original code from bind-toplevel-this

With one or two additional comments

* Working in JS, but the symbol is not right.

Still need to

1. Make it work in Typescript.
2. Add test (and make them work) for the other uses of GlobalThis:
window, globalThis, etc.

* Check in TS also; update some tests

Lots of tests still fail, but all but 1 change so far has been correct.

* Update baselines

A couple of tests still fail and need to be fixed.

* Handle type references to globalThis

The type reference must be `typeof globalThis`. Just `globalThis` will
be treated as a value reference in type position -- an error.

* Restore former behaviour of implicitThis errors

I left the noImplicitThis rule for captured use of global this in an
arrow function, even though technically it isn't `any` any more --
it's typeof globalThis.  However, you should still use some other method
to access globals inside an arrow, because captured-global-this is super
confusing there.

* Test values with type globalThis

I ran into a problem with intersecting `Window & typeof globalThis`:

1. This adds a new index signature to Window, which is probably not
desired. In fact, with noImplicitAny, it's not desired on globalThis
either I think.
2. Adding this type requires editing TSJS-lib-generator, not this repo.

So I added the test cases and will probably update them later, when
those two problems are fixed.

* Add esnext declaration for globalThis

* Switch to symbol-based approach

I decided I didn't like the import-type-based approach.

Update baselines to reflect the difference.

* Do not suggest globals for completions at toplevel

* Add tests of element and property access

* Look up globalThis using normal resolution

globalThis is no longer constructed lazily. Its synthetic Identifier
node is also now more realistic.

* Update fourslash tests

* Add missed fourslash test update

* Remove esnext.globalthis.d.ts too

* Add chained globalThis self-lookup test

* Attempt at making globalThis readonly

In progress, had to interrupt for other work.

* Add/update tests

* Addres PR comments:

1. Add parameter to tryGetThisTypeAt to exclude globalThis.
2. Use combined Module flag instead combining them in-place.
3. SymbolDisplay doesn't print 'module globalThis' for this expressions
anymore.
2019-02-27 14:14:34 -08:00
Wesley Wigham
13c08ab32b Use identity with the permissive instantation to detect nongenric instances and disable variance probing on nongeneric instances (#29981)
* Use identity with the restrictive instantation to detect nongenric instances and disable variance probing on nongeneric instances

* Generalize to also include interfaces, add test case, still perform argument comparisons for postive comparisons if possible

* Actually accept baselines, lol

* Reduce deep nesting limit just a bit so yargs still builds

* Handle circular identities in isNonGeneric

* Use a simple traversal of the types rather than the restrictive instantiation

* Cache the bits using an existing field to further reduce any time nongeneric check takes

* Revert to using an existing mapper, use permissive > restrictive

* Revert constant change

* And revert the comment, too
2019-02-27 14:12:30 -08:00
Nathan Shively-Sanders
0d93eb9218 Merge pull request #30133 from Microsoft/revert-conditional-type-invariance
Revert "Merge pull request #27697 from mattmccutchen/issue-27118"
2019-02-27 13:25:04 -08:00
Nathan Shively-Sanders
f77b43ca09 Update baselines 2019-02-27 12:42:30 -08:00
Nathan Shively-Sanders
aedffe049d Revert "Merge pull request #27697 from mattmccutchen/issue-27118"
This reverts commit 2dfb6202ed, reversing
changes made to bbf559b9c7.
2019-02-27 11:50:04 -08:00
Sheetal Nandi
4718ff8f21 Merge pull request #30110 from Microsoft/revertExecFileSync
Revert execFileSync
2019-02-27 10:52:49 -08:00
Daniel Rosenwasser
e8e7e88b2a Merge pull request #30094 from Kingwl/improve_completions_for_optional_props
check completions with assignable rather than identity
2019-02-26 16:19:50 -08:00
Sheetal Nandi
fd10c12116 Revert "Use execFileSync in typing installer"
This reverts commit bc386c11fd.
2019-02-26 14:01:42 -08:00
Sheetal Nandi
3e4b9c07d2 Revert "Do not wrap npm path with quotes"
This reverts commit 1ed5e1c63b.
2019-02-26 14:01:03 -08:00
Wesley Wigham
288851066b Dont create a union type to infer conditional type branches (#30010) 2019-02-26 13:43:41 -08:00
Wesley Wigham
2533d8294e Make a fresh empty object literal not a subtype of a type with an index signaure (#29975)
* Forbid inferable index checkign during subtype relationship checking

* Merge object.values and object.entries overloads to work around subtype change

* Invert subtype relationship between fresh empty objects and non-empty object types

* Remvoe comment

* Revert lib change

* Remove trailing whitespace ffs
2019-02-26 13:43:22 -08:00
Sheetal Nandi
4db4c58924 Merge pull request #30095 from Microsoft/nodeExecFileSync
Do not wrap npm path with quotes
2019-02-26 09:10:22 -08:00
Sheetal Nandi
1ed5e1c63b Do not wrap npm path with quotes
Fixes #30086
2019-02-25 19:50:53 -08:00
王文璐
4d7ec380a9 check completions with assignable rather than identity 2019-02-26 10:54:01 +08:00
Wesley Wigham
c5061486a9 Retain substitution types through instantiation if possible (#30059) 2019-02-25 17:10:03 -08:00
Wesley Wigham
0e858a6e16 Include misc script outputs in local build (#30092)
* Include other misc script outputs in local build

* Remove comment
2019-02-25 16:33:20 -08:00
Wesley Wigham
c2f1998387 Fix baseline accept when there are multiple .delete files (#30091) 2019-02-25 16:18:03 -08:00
Daniel Rosenwasser
9787021540 Merge pull request #30078 from Microsoft/updateNpmIgnore
Fix `.npmignore` by adding the `.git` file and the `.failed-tests` file.
2019-02-25 13:21:53 -08:00
Daniel Rosenwasser
c37254e509 Merge pull request #30062 from jwunderl/quick-fix-any-annotation
Remove any annotation from declare method quickfix
2019-02-24 23:18:06 -08:00
Daniel Rosenwasser
7a391fe613 Fix .npmignore by adding the .git file (as opposed to just a directory, which is not the case for git worktrees) and the .failed-tests file. 2019-02-24 23:05:48 -08:00
Sheetal Nandi
8b0611565b For now disable the new build 2019-02-22 18:19:24 -08:00
Sheetal Nandi
9fa28158bb Enable building typescript.d.ts with current source 2019-02-22 18:11:27 -08:00
Joseph Wunderlich
d87e67df58 clarify intent in returnType creation 2019-02-22 18:00:21 -08:00
Joseph Wunderlich
21ab39649c remove any annotation from declare method quickfix 2019-02-22 17:24:21 -08:00
Sheetal Nandi
9730cfa845 Dont emit sourceMapUrl from prepend text into the --out file 2019-02-22 14:39:47 -08:00
Sheetal Nandi
e1b18ab5fb Merge branch 'master' into incrementalBuildInfo 2019-02-22 14:19:53 -08:00
Sheetal Nandi
415a5db166 Add test when declarationMap and sourcemap are disabled in the referenced project 2019-02-22 14:07:13 -08:00
Sheetal Nandi
ab66b1e293 Fix the blank lines for internal enum members with --stripInternal 2019-02-22 13:51:13 -08:00
Sheetal Nandi
2b10b68d1c Test that shows stripInternal of enum member prints multiple blank lines for the enum members 2019-02-22 13:28:24 -08:00
Wesley Wigham
a41a27694a Fix baseline-accept-rwc (#30052) 2019-02-22 13:12:11 -08:00
Sheetal Nandi
a63d69de7a Fix incorrect emit when internal method is inside internal interface 2019-02-22 13:03:46 -08:00
Sheetal Nandi
23cd45bdef Test when internal and text region dont mix well together 2019-02-22 12:49:45 -08:00
Sheetal Nandi
22804c10ca Allow away to only test baselines excluding all other file read checks that are not going to change per scenario 2019-02-22 12:24:59 -08:00
Sheetal Nandi
4dc8ac7500 Fix the crash found while compiling src/compiler 2019-02-22 10:53:31 -08:00
TypeScript Bot
999eb0b9ed Update user baselines (#30046) 2019-02-22 08:56:15 -08:00
Sheetal Nandi
494bd92f1b Report error if overwriting buildInfo of another project reference 2019-02-21 19:34:20 -08:00
Wesley Wigham
fb0dcd4987 Have runtests always throw on failure, make rm stream signal end of read queue (#30035) 2019-02-21 18:17:53 -08:00
Sheetal Nandi
89c4c4f684 Update the message to not just mean javascript since we might need to regenerate .d.ts as well 2019-02-21 17:52:15 -08:00
Sheetal Nandi
1e24cd19a8 Allow empty own source files 2019-02-21 17:36:20 -08:00
Sheetal Nandi
29862cecdf Refactoring for outFile tests 2019-02-21 15:18:01 -08:00
Wenlu Wang
592396d40a expose token flags and numeric flags (#29897)
* expose token flags and numeric flags

* hide hide useless token flags
2019-02-21 15:09:37 -08:00
Daniel Rosenwasser
ae836eb854 Merge pull request #30028 from Microsoft/betterOverloadErrors
Better overload incompatibility errors
2019-02-21 13:53:31 -08:00
Sheetal Nandi
bc4186cee5 Update the programBuildInfo to be platform and change independent so we can baseline it safely 2019-02-21 13:52:21 -08:00
Sheetal Nandi
7d464b81d4 Redirect getProgramBuildInfo onto builder so that we can test it for baselines more easily 2019-02-21 13:21:52 -08:00
Sheetal Nandi
ad72aef4b1 Correctly set sourceFileInfo for bundle when generating output without creating program 2019-02-21 12:54:00 -08:00
Sheetal Nandi
e9fb843e56 Add test to verify incremental build is same as if its built clean 2019-02-21 12:46:04 -08:00