TypeScript Version: 2.1.4
Code
Please see my code and config; the config is clear below and all I did to generate the errors was run
$ tsc # at the command line

Expected behavior:
Expect the tsc command to work given the tsconfig.json file
Actual behavior:
I get these weird errors:
oleg@xps:~/WebstormProjects/oresoftware/observable-persistent-queue$ tsc
node_modules/rxjs/Observable.d.ts(68,60): error TS2304: Cannot find name 'Promise'.
node_modules/rxjs/Observable.d.ts(68,70): error TS2304: Cannot find name 'Promise'.
node_modules/rxjs/observable/PromiseObservable.d.ts(40,31): error TS2304: Cannot find name 'Promise'.
node_modules/rxjs/observable/PromiseObservable.d.ts(41,26): error TS2304: Cannot find name 'Promise'.
node_modules/rxjs/operator/toPromise.d.ts(2,60): error TS2304: Cannot find name 'Promise'.
node_modules/rxjs/operator/toPromise.d.ts(3,79): error TS2304: Cannot find name 'Promise'.
node_modules/rxjs/operator/toPromise.d.ts(3,89): error TS2304: Cannot find name 'Promise'.
Any idea why that's happening or what it's about? Seems like a bug or multiple bugs? As you can see node_modules is excluded by the config, so not sure why tsc is looking in that dir; even then, not sure why the Promise error is coming about.


Looking at those I don't think any of them have to do with this issue? But maybe I am wrong.
the last one in the first image might be a lead
Sorry I did not mean to be rude but at least half of them could be relevant. Please see this as well https://www.typescriptlang.org/docs/handbook/tsconfig-json.html
no problem, I went through some and they didn't seem to be the same
Looking at what you posted more closely, you are missing "lib": ["es2015"] which you need in order to use Promises when targeting es5, unless you use third party typings promise typings.
@ORESoftware Did setting lib help?
ah let me try it, thanks!
that did do something, but now I get this (all I changed was adding "lib":["es2015"] to my tsconfig.json file.)
oleg@xps:~/WebstormProjects/oresoftware/observable-persistent-queue$ ./build.sh
node_modules/rxjs/observable/FromEventObservable.d.ts(11,39): error TS2304: Cannot find name 'EventTarget'.
node_modules/rxjs/observable/FromEventObservable.d.ts(11,104): error TS2304: Cannot find name 'NodeList'.
node_modules/rxjs/observable/FromEventObservable.d.ts(11,115): error TS2304: Cannot find name 'HTMLCollection'.
node_modules/rxjs/observable/dom/AjaxObservable.d.ts(16,23): error TS2304: Cannot find name 'XMLHttpRequest'.
node_modules/rxjs/observable/dom/AjaxObservable.d.ts(75,59): error TS2304: Cannot find name 'Event'.
node_modules/rxjs/observable/dom/AjaxObservable.d.ts(80,13): error TS2304: Cannot find name 'Event'.
node_modules/rxjs/observable/dom/AjaxObservable.d.ts(95,20): error TS2304: Cannot find name 'Event'.
node_modules/rxjs/observable/dom/AjaxObservable.d.ts(96,10): error TS2304: Cannot find name 'XMLHttpRequest'.
node_modules/rxjs/observable/dom/AjaxObservable.d.ts(106,32): error TS2304: Cannot find name 'Event'.
node_modules/rxjs/observable/dom/AjaxObservable.d.ts(106,44): error TS2304: Cannot find name 'XMLHttpRequest'.
node_modules/rxjs/observable/dom/AjaxObservable.d.ts(117,10): error TS2304: Cannot find name 'XMLHttpRequest'.
node_modules/rxjs/observable/dom/AjaxObservable.d.ts(122,39): error TS2304: Cannot find name 'XMLHttpRequest'.
node_modules/rxjs/observable/dom/AjaxObservable.d.ts(130,22): error TS2304: Cannot find name 'XMLHttpRequest'.
node_modules/rxjs/observable/dom/WebSocketSubject.d.ts(10,29): error TS2304: Cannot find name 'MessageEvent'.
node_modules/rxjs/observable/dom/WebSocketSubject.d.ts(11,33): error TS2304: Cannot find name 'Event'.
node_modules/rxjs/observable/dom/WebSocketSubject.d.ts(12,34): error TS2304: Cannot find name 'CloseEvent'.
node_modules/rxjs/observable/dom/WebSocketSubject.d.ts(15,63): error TS2304: Cannot find name 'WebSocket'.
node_modules/rxjs/observable/dom/WebSocketSubject.d.ts(26,13): error TS2304: Cannot find name 'WebSocket'.
node_modules/rxjs/observable/dom/WebSocketSubject.d.ts(27,32): error TS2304: Cannot find name 'Event'.
node_modules/rxjs/observable/dom/WebSocketSubject.d.ts(28,33): error TS2304: Cannot find name 'CloseEvent'.
node_modules/rxjs/observable/dom/WebSocketSubject.d.ts(31,63): error TS2304: Cannot find name 'WebSocket'.
node_modules/rxjs/observable/dom/WebSocketSubject.d.ts(34,23): error TS2304: Cannot find name 'MessageEvent'.
"lib":["es2015", "dom"] :)
It is a mix and match smorgasbord
huh, ok :) but I wonder why tsc is looking to resolve this, I would think that it would ignore this stuff because it's in node_modules...?
Because, you need to reference types from within node_modules (so you can get access to their stronly typed APIs and take advantage of TypeScript's tooling), and these in turn reference other types, which reference other types...
yeah, it sort of makes sense. my code is calling RxJS which is in node_modules and it needs some type info from there I guess, even though no source files inside node_modules will be transpiled...
thanks for your help, it seems to have solved my problem will close!
Most helpful comment
"lib":["es2015", "dom"] :)
It is a mix and match smorgasbord