rsmbl / Resemble.js

Image analysis and comparison

Home Page:http://rsmbl.github.io/Resemble.js/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Error in isNode check

selsemore opened this issue · comments

I am running into problems because the isNode check is being called when the process object has no release member, resulting in an error on this line:

"return (typeof process !== 'undefined') && (process.release.name === 'node')"

Firefox error:

Error occured. Uncaught (in promise): TypeError: process.release is undefined
anonymous@http://localhost:4200/cn-ui-platform-code-ui.js line 98402 > Function:3:9
../../node_modules/resemblejs/resemble.js/<@http://localhost:4200/cn-ui-platform-code-ui.js:98421:9
../../node_modules/resemblejs/resemble.js/<@http://localhost:4200/cn-ui-platform-code-ui.js:98411:37
../../node_modules/resemblejs/resemble.js@http://localhost:4200/cn-ui-platform-code-ui.js:98414:3
__webpack_require__@http://localhost:4200/runtime.js:84:30
../../libs/code-ui/src/shared/diff/diff-delta-image.component.ts@http://localhost:4200/cn-ui-platform-code-ui.js:35772:68
__webpack_require__@http://localhost:4200/runtime.js:84:30
../../libs/code-ui/src/shared/diff/index.ts@http://localhost:4200/cn-ui-platform-code-ui.js:36636:85
__webpack_require__@http://localhost:4200/runtime.js:84:30
../../libs/code-ui/src/shared/changes-diff.module.ts@http://localhost:4200/cn-ui-platform-code-ui.js:34095:64
__webpack_require__@http://localhost:4200/runtime.js:84:30
../../libs/code-ui/src/shared/branch/branch-shared.module.ts@http://localhost:4200/cn-ui-platform-code-ui.js:33182:78
__webpack_require__@http://localhost:4200/runtime.js:84:30
../../libs/code-ui/src/branch/branch.module.ts@http://localhost:4200/cn-ui-platform-code-ui.js:7747:93
__webpack_require__@http://localhost:4200/runtime.js:84:30
../../libs/code-ui/index.ts@http://localhost:4200/cn-ui-platform-code-ui.js:6098:83
__webpack_require__@http://localhost:4200/runtime.js:84:30
../../node_modules/zone.js/dist/zone.js/</ZoneDelegate.prototype.invoke@http://localhost:4200/polyfills.js:3239:26
onInvoke@http://localhost:4200/vendor.js:88485:33
../../node_modules/zone.js/dist/zone.js/</ZoneDelegate.prototype.invoke@http://localhost:4200/polyfills.js:3238:52
../../node_modules/zone.js/dist/zone.js/</Zone.prototype.run@http://localhost:4200/polyfills.js:2998:43
scheduleResolveOrReject/<@http://localhost:4200/polyfills.js:3758:34
../../node_modules/zone.js/dist/zone.js/</ZoneDelegate.prototype.invokeTask@http://localhost:4200/polyfills.js:3271:31
onInvokeTask@http://localhost:4200/vendor.js:88476:33
../../node_modules/zone.js/dist/zone.js/</ZoneDelegate.prototype.invokeTask@http://localhost:4200/polyfills.js:3270:60
../../node_modules/zone.js/dist/zone.js/</Zone.prototype.runTask@http://localhost:4200/polyfills.js:3043:47
drainMicroTaskQueue@http://localhost:4200/polyfills.js:3449:35
 Error: "Uncaught (in promise): TypeError: process.release is undefined
anonymous@http://localhost:4200/cn-ui-platform-code-ui.js line 98402 > Function:3:9
../../node_modules/resemblejs/resemble.js/<@http://localhost:4200/cn-ui-platform-code-ui.js:98421:9
../../node_modules/resemblejs/resemble.js/<@http://localhost:4200/cn-ui-platform-code-ui.js:98411:37
../../node_modules/resemblejs/resemble.js@http://localhost:4200/cn-ui-platform-code-ui.js:98414:3
__webpack_require__@http://localhost:4200/runtime.js:84:30
../../libs/code-ui/src/shared/diff/diff-delta-image.component.ts@http://localhost:4200/cn-ui-platform-code-ui.js:35772:68
__webpack_require__@http://localhost:4200/runtime.js:84:30
../../libs/code-ui/src/shared/diff/index.ts@http://localhost:4200/cn-ui-platform-code-ui.js:36636:85
__webpack_require__@http://localhost:4200/runtime.js:84:30
../../libs/code-ui/src/shared/changes-diff.module.ts@http://localhost:4200/cn-ui-platform-code-ui.js:34095:64
__webpack_require__@http://localhost:4200/runtime.js:84:30
../../libs/code-ui/src/shared/branch/branch-shared.module.ts@http://localhost:4200/cn-ui-platform-code-ui.js:33182:78
__webpack_require__@http://localhost:4200/runtime.js:84:30
../../libs/code-ui/src/branch/branch.module.ts@http://localhost:4200/cn-ui-platform-code-ui.js:7747:93
__webpack_require__@http://localhost:4200/runtime.js:84:30
../../libs/code-ui/index.ts@http://localhost:4200/cn-ui-platform-code-ui.js:6098:83
__webpack_require__@http://localhost:4200/runtime.js:84:30
../../node_modules/zone.js/dist/zone.js/</ZoneDelegate.prototype.invoke@http://localhost:4200/polyfills.js:3239:26
onInvoke@http://localhost:4200/vendor.js:88485:33
../../node_modules/zone.js/dist/zone.js/</ZoneDelegate.prototype.invoke@http://localhost:4200/polyfills.js:3238:52
../../node_modules/zone.js/dist/zone.js/</Zone.prototype.run@http://localhost:4200/polyfills.js:2998:43
scheduleResolveOrReject/<@http://localhost:4200/polyfills.js:3758:34
../../node_modules/zone.js/dist/zone.js/</ZoneDelegate.prototype.invokeTask@http://localhost:4200/polyfills.js:3271:31
onInvokeTask@http://localhost:4200/vendor.js:88476:33
../../node_modules/zone.js/dist/zone.js/</ZoneDelegate.prototype.invokeTask@http://localhost:4200/polyfills.js:3270:60
../../node_modules/zone.js/dist/zone.js/</Zone.prototype.runTask@http://localhost:4200/polyfills.js:3043:47

Chrome error:

Error occured. Uncaught (in promise): TypeError: Cannot read property 'name' of undefined
TypeError: Cannot read property 'name' of undefined
    at eval (eval at ../../node_modules/resemblejs/resemble.js (http://localhost:4200/cn-ui-platform-code-ui.js:98402:14), <anonymous>:3:61)
    at Object.<anonymous> (http://localhost:4200/cn-ui-platform-code-ui.js:98421:9)
    at http://localhost:4200/cn-ui-platform-code-ui.js:98411:37
    at Object.../../node_modules/resemblejs/resemble.js (http://localhost:4200/cn-ui-platform-code-ui.js:98414:3)
    at __webpack_require__ (http://localhost:4200/runtime.js:84:30)
    at Module.../../libs/code-ui/src/shared/diff/diff-delta-image.component.ts (http://localhost:4200/cn-ui-platform-code-ui.js:35772:68)
    at __webpack_require__ (http://localhost:4200/runtime.js:84:30)
    at Module.../../libs/code-ui/src/shared/diff/index.ts (http://localhost:4200/cn-ui-platform-code-ui.js:36636:85)
    at __webpack_require__ (http://localhost:4200/runtime.js:84:30)
    at Module.../../libs/code-ui/src/shared/changes-diff.module.ts (http://localhost:4200/cn-ui-platform-code-ui.js:34095:64) Error: Uncaught (in promise): TypeError: Cannot read property 'name' of undefined
TypeError: Cannot read property 'name' of undefined
    at eval (eval at ../../node_modules/resemblejs/resemble.js (resemble.js:6), <anonymous>:3:61)
    at Object.<anonymous> (resemble.js:26)
    at resemble.js:13
    at Object.../../node_modules/resemblejs/resemble.js (resemble.js:19)
    at __webpack_require__ (bootstrap:83)
    at Module.../../libs/code-ui/src/shared/diff/diff-delta-image.component.ts (cn-ui-platform-code-ui.js:35772)
    at __webpack_require__ (bootstrap:83)
    at Module.../../libs/code-ui/src/shared/diff/index.ts (index.ts:1)
    at __webpack_require__ (bootstrap:83)
    at Module.../../libs/code-ui/src/shared/changes-diff.module.ts (changed-paths.component.ts:11)
    at resolvePromise (zone.js:852)
    at resolvePromise (zone.js:809)
    at zone.js:913
    at ZoneDelegate.push.../../node_modules/zone.js/dist/zone.js.ZoneDelegate.invokeTask (zone.js:423)
    at Object.onInvokeTask (core.js:24328)
    at ZoneDelegate.push.../../node_modules/zone.js/dist/zone.js.ZoneDelegate.invokeTask (zone.js:422)
    at Zone.push.../../node_modules/zone.js/dist/zone.js.Zone.runTask (zone.js:195)
    at drainMicroTaskQueue (zone.js:601)

Could this function be made a bit more bullet proof, checking at least that there is a process.release member before trying to check process.release.name? Or maybe something like they've done here?

Thanks

Thanks! PR accepted.