I run tsc
on my project, and I get these errors relating to the RxJS5 lib:
$ tsc
node_modules/rxjs/observable/FromEventObservable.d.ts(11,39): error TS2304: Cannot find name 'EventTarget'.
node_modules/rxjs/observable/FromEventObservable.d.ts(11,103): error TS2304: Cannot find name 'NodeList'.
node_modules/rxjs/observable/FromEventObservable.d.ts(11,114): 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(77,59): error TS2304: Cannot find name 'Event'.
node_modules/rxjs/observable/dom/AjaxObservable.d.ts(82,13): error TS2304: Cannot find name 'Event'.
node_modules/rxjs/observable/dom/AjaxObservable.d.ts(97,20): error TS2304: Cannot find name 'Event'.
node_modules/rxjs/observable/dom/AjaxObservable.d.ts(98,10): error TS2304: Cannot find name 'XMLHttpRequest'.
node_modules/rxjs/observable/dom/AjaxObservable.d.ts(108,32): error TS2304: Cannot find name 'Event'.
node_modules/rxjs/observable/dom/AjaxObservable.d.ts(108,44): error TS2304: Cannot find name 'XMLHttpRequest'.
node_modules/rxjs/observable/dom/AjaxObservable.d.ts(119,10): error TS2304: Cannot find name 'XMLHttpRequest'.
node_modules/rxjs/observable/dom/AjaxObservable.d.ts(128,39): error TS2304: Cannot find name 'XMLHttpRequest'.
node_modules/rxjs/observable/dom/AjaxObservable.d.ts(136,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(27,13): error TS2304: Cannot find name 'WebSocket'.
node_modules/rxjs/observable/dom/WebSocketSubject.d.ts(28,32): error TS2304: Cannot find name 'Event'.
node_modules/rxjs/observable/dom/WebSocketSubject.d.ts(29,33): error TS2304: Cannot find name 'CloseEvent'.
node_modules/rxjs/observable/dom/WebSocketSubject.d.ts(32,63): error TS2304: Cannot find name 'WebSocket'.
node_modules/rxjs/observable/dom/WebSocketSubject.d.ts(36,23): error TS2304: Cannot find name 'MessageEvent'.
does anyone know why this is happening? this is my package.json file:
{
"name": "oplog.rx",
"version": "0.0.101",
"description": "",
"main": "index.js",
"scripts": {
"test": "suman test"
},
"repository": {
"type": "git",
"url": "git+https://github.com/ORESoftware/oplog.rx.git"
},
"keywords": [
"oplog",
"mongodb",
"rx",
"rxjs"
],
"author": "Olegzandr V.D.",
"license": "MIT",
"bugs": {
"url": "https://github.com/ORESoftware/oplog.rx/issues"
},
"homepage": "https://github.com/ORESoftware/oplog.rx#readme",
"dependencies": {
"bson": "^2.0.4",
"json-stdio": "0.0.1016",
"mongodb": "^3.0.4",
"rxjs": "^5.5.7"
},
"devDependencies": {
"@types/mongodb": "^3.0.8"
}
}
You need to add "dom"
to the lib
setting in your tsconfig.json
file's compilerOptions
:
"lib": ["dom", "es2015"]
Alternatively, you can use the skipLibCheck
compilerOption
to avoid checking .d.ts
files within node_modules
:
"skipLibCheck": true
See this issue for an explanation.
Basically, the fromEvent
observable factory supports both Node and DOM event sources and TypeScript needs to know about the DOM types.
This PR should resolve the problem.