Closed AlCalzone closed 6 years ago
Testing went red ...
[TypeError: Cannot read property 'join' of undefined]
2018-01-13 10:50:59.453 - error: zwave.0 uncaught exception: Cannot read property 'join' of undefined
2018-01-13 10:50:59.455 - error: zwave.0 TypeError: Cannot read property 'join' of undefined
at extendInstanceObjects (/home/travis/build/ioBroker/ioBroker.zwave/tmp/node_modules/iobroker.zwave/main.js:1247:34)
at Socket.
Und noch eine Frage: Du liesst im Package-testing und im main die io-package als utf-8 format ... es wäre dann die einzige Stelle wo der File COntent in UTF-8- kodierung erwartet wird. Gibt das probleme mit ISO "Umlauten" uä.?!
Du liesst im Package-testing und im main die io-package als utf-8 format ... es wäre dann die einzige Stelle wo der File COntent in UTF-8- kodierung erwartet wird.
Ich verhindere damit lediglich undefiniertes Verhalten. JSON.parse
erwartet einen String, readFileSync
gibt aber einen Buffer zurück, wenn keine Kodierung angegeben ist. Intern wird deshalb von JSON.parse Buffer.toString
aufgerufen, welcher standardmäßig UTF8-Kodierung verwendet. Sollte sich an diesem Verhalten in einer neuen NodeJS-Version irgendwas ändern, knallts.
Daher gebe ich einfach beim Lesen der Datei explizit an, dass wir utf8 erwarten, dann gibts nen String und nichts wird implizit umgewandelt.
Das andere Problem schau ich mir gleich an.
UTF8: ok dann kann ich das übernehmen wenn ich demnächst Updates mache
Fehler fixed in 6ae98c6
Note: Same as https://github.com/ioBroker/ioBroker.cloud/pull/46
This PR basically does two things:
let
/const
.tsconfig.json
so VSCode does automatic type-checking using TypeScript. The typings for Node@4 are used by defaultThe next step would be using the block-scoped declarations and enabling a couple of the more strict rules, like
noImplicitAny
and especiallystrictNullChecks
. The latter helps eliminate the null reference errors we've been seeing lately.