Commit Graph
2901 Commits
Author SHA1 Message Date
Alexander T 4e6fb72737 no-new-func 2019-06-14 11:02:15 +03:00
Alexander T 1cc0ff22c1 no-eval 2019-06-14 10:25:02 +03:00
Alexander T f96fb53e4c no-restricted-globals 2019-06-14 10:12:06 +03:00
Andrew Casey 1bf28f21de Add regression test 2019-06-11 17:50:36 -07:00
Sheetal Nandi 5c21fad12f Merge pull request #31432 from microsoft/builderAPI
Api for tsc --build and --incremental
2019-06-05 12:31:00 -07:00
Andrew Branch f97f57c155 Fix containsPrecedingToken for tokens whose preceding token is a missing node 2019-05-23 12:15:50 -07:00
Sheetal Nandi 00cea41b65 Add sortText depending scope of symbols
Fixes #15024
2019-05-20 15:53:51 -07:00
Ron Buckton f4b83ef8d3 Fix newlines in smartSelection baselines to not be platform dependent (#31437) 2019-05-16 20:39:47 -07:00
Andrew Branch 15daf42b2c Merge pull request #31028 from andrewbranch/feature/smart-select
Smart Select language service API
2019-05-16 09:45:05 -07:00
Sheetal Nandi 629bc0c04d Always emit tsbuild info if path says so (irrespecitive of if there exists bundle and project) 2019-05-15 11:54:17 -07:00
Sheetal Nandi 9f9ae000cb Enable getSemanticDiagnosticsOfNextAffectedFile for EmitAndSemanticDiagnosticsBuilder 2019-05-07 16:32:52 -07:00
Andrew Branch eff3960020 Fix baseline file name changes 2019-04-24 08:52:07 -07:00
Andrew Branch e28b9b2ba2 Copy smartSelect tests to fourslash 2019-04-23 16:41:59 -07:00
Andrew Branch 6fc2e4a32e Add custom baseline format for smart selection 2019-04-23 15:34:01 -07:00
Ryan Cavanaugh 885d4d63c8 Remove "generate types" code (#31075) 2019-04-23 13:51:47 -07:00
Andrew Branch d8936fd290 Rename to be smarter 2019-04-18 16:23:06 -07:00
Andrew Branch 0f7bc02892 Move to language service 2019-04-18 16:05:06 -07:00
Sheetal Nandi acbedade42 No need to fix hash of lib files since the content is now fixed 2019-04-17 15:37:56 -07:00
Daniel Rosenwasser 71af02f745 Updated annoying 'globalTypes' list. 2019-04-04 10:16:43 -07:00
Benjamin Lichtman 78b0956474 VS IntelliCode-related changes (#30731)
* ensure configurePlugin gives a response

* Update tests

* Update baseline

* Enable global plugin loading for external projects

* Fix lint errors
2019-04-03 10:36:04 -07:00
Nathan Shively-Sanders 32054f1c31 Forbid accessing block-scoped variables on globalThis (#30510)
* Forbid accessing const & let on globalThis

It's just an error; you still get the type of the property.

* Disallow access of blockscoped vars on globalThis

Also change Array, Function, String, et al from `const` to `var` so that
they remain accessible via `globalThis.String`.

* Update baselines after lib.d.ts change

Note especially the change in redefineArray, which is now allowed as
long as you provide a type that is assignable to ArrayConstructor.

* Remove blockscoped vars from typeof globalThis

Unlike forbidding them, this removes the properties entirely.

Unfortunately, this means that accessing these properties is only an
error with noImplicitAny, and that error is quite confusing.

Let's discuss our options. I see 3:

1. Forbid access of block-scoped vars as properties (in all flag
settings), but leave them on the type. Simple to implement.
2. Remove block-scoped vars from the globalThis type. Has the bad
error/flag behaviour described above, but simple to implement.
3. Remove block-scoped vars from the globalThis type. Also, forbid
accessing them by executing another resolveName lookup for failed
property accesses on globalThisSymbol. If the second lookup returns a
blockscoped var, issue an error instead of falling back to the index
signature. This seems too complex to me.

* Update baselines

* Better error for block-scoped usage on globalThis

So that value-space references have as clear an error as type-space
references.

* Update fourslash tests

* Fix semi-colon lint

* Don't copy so much when filtering blockscoped vars
2019-03-25 14:07:48 -07:00
Sheetal Nandi 34a7b7bbd8 implements not a keyword in js 2019-03-15 15:21:38 -07:00
Sheetal Nandi ad740f226e Duh!! Static is allowed in JS. 2019-03-15 09:07:23 -07:00
Sheetal Nandi f829f958a2 Filter ts only keywords from js file completion
Fixes #29212
2019-03-14 15:52:50 -07:00
Sheetal Nandi b67f6ec710 Display actual and expected diagnostic messages when they dont match 2019-03-14 13:18:06 -07:00
Sheetal Nandi b6d520a7a5 Handle recursive symlinks when matching file names
Fixes #28842
2019-03-13 12:30:47 -07:00
Sheetal Nandi 68e28da141 Build project if existing project was built with different compiler version 2019-03-08 15:14:34 -08:00
Sheetal Nandi 409d6c911e Add compiler version to buildInfo 2019-03-08 13:32:43 -08:00
Sheetal Nandi d4cfa41931 To test platform independent buildInfo baselines, move the logic to writeFile of SolutionBuilderHost 2019-03-08 13:00:29 -08:00
Sheetal Nandi 990b199ebd Merge branch 'master' into incrementalBuildInfo 2019-03-08 11:42:19 -08:00
Wesley Wigham a887c6ba40 Remove unused (and sometimes broken) targets and scripts (#30054)
* Remove unused (and sometimes broken) targets and scripts

* Remove browser-specific harness code
2019-03-08 10:34:35 -08:00
Sheetal Nandi ed35741b5f Merge branch 'master' into incrementalBuildInfo 2019-02-27 15:45:59 -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
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 b958f1c8b5 Merge branch 'master' into incrementalBuildInfo 2019-02-14 12:19:10 -08:00
Ryan Cavanaugh 02a5ef6a17 Add setInterval/setTimeout 2019-02-11 11:26:19 -08:00
Ryan Cavanaugh 1f10e74abc Enable no-eval rule 2019-02-11 11:18:29 -08:00
Sheetal Nandi e3f8c34bc9 Add mechanism to dump and read program to build info 2019-02-07 12:10:15 -08:00
Sheetal Nandi 315a4dd226 Merge branch 'master' into prependWithBundleInfo 2019-01-30 13:38:28 -08:00
Sheetal Nandi 604af5c621 Handle get from readFileCache correctly.
Fixes #29623
2019-01-28 12:30:05 -08:00
Sheetal Nandi 607891b78e Generate readable source map baselines for -b --out scenario 2019-01-25 14:31:39 -08:00
Sheetal Nandi f0227ecb2c Handle find all references for symbol merged with UMD module and global var
Fixes #29093
2019-01-22 14:52:39 -08:00
Sheetal Nandi 9bd23652ef Merge pull request #29161 from Microsoft/incrementalBuild
Supports incremental build in tsc --b --w mode
2019-01-17 13:44:48 -08:00
Benjamin Lichtman 5fc8f1dd80 Add opt-in user preference for prefix and suffix text on renames (#29314)
* Add user preference to control renaming through exports

* Only impact renaming

* Update baselines

* Use flag to control all prefix and suffix text and imports

* [WIP] add tests

* Only skip export import specifier with flag

* [WIP] Update tests

* Update test

* Pick up preference from host and update test

* Shorten flag name

* Add missing utility function

* Update comment

* [WIP] rename flag and respond to cr

* [WIP] Add flag for forRelatedSymbol

* Use larger search symbol set for old-style rename

* Respond to CR

* Fix small error

* Fix type mismatch

* Update comment and remove unnecessary exprot

* Respond to CR
2019-01-16 10:58:07 -08:00
Benjamin Lichtman c5948bf068 Merge pull request #29385 from uniqueiniquity/renameImportPref
Add user preference to opt-in to renaming import paths
2019-01-15 10:29:57 -08:00
Benjamin Lichtman 2c50ed3089 Respond to CR 2019-01-14 17:05:25 -08:00
Benjamin Lichtman c88016d397 Fix comment 2019-01-11 14:52:47 -08:00
Benjamin Lichtman d029fae35c Add user preference to opt-in to renaming import paths 2019-01-11 14:45:08 -08:00
Sheetal Nandi c1edbb8522 Merge branch 'master' into incrementalBuild 2019-01-11 14:34:45 -08:00
Wesley Wigham fadd95f72b Fix unneeded cast lints (#29383) 2019-01-11 14:24:49 -08:00