question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

"Cannot convert undefined or null to object" when ng serve with fesm15 files

See original GitHub issue

I’m submitting a … (check one with “x”)

[x] bug report => search github for a similar issue or PR before submitting
[ ] feature request
[ ] support request => Please do not submit support request here, instead see https://github.com/angular/angular/blob/master/CONTRIBUTING.md#question

Current behavior Exception thrown in the browser (during metadata collection?) in JIT mode:

Unhandled Promise rejection: Cannot convert undefined or null to object ; Zone: <root> ; Task: Promise.then ; Value: TypeError: Cannot convert undefined or null to object
    at Function.getPrototypeOf (<anonymous>)
    at getParentCtor (reflection_capabilities.ts:324)
    at ReflectionCapabilities.parameters (reflection_capabilities.ts:115)
    at Reflector.parameters (reflector.ts:42)
    at CompileMetadataResolver._getDependenciesMetadata (metadata_resolver.js:794)
    at CompileMetadataResolver._getFactoryMetadata (metadata_resolver.js:729)
    at CompileMetadataResolver.getProviderMetadata (metadata_resolver.js:1001)
    at JitCompiler._compileModule (compiler.js:172)
    at createResult (compiler.js:116)
    at ZoneDelegate.invoke (zone.js:334)
    at Zone.run (zone.js:126)
    at zone.js:713
    at ZoneDelegate.invokeTask (zone.js:367)
    at Zone.runTask (zone.js:166)
    at drainMicroTaskQueue (zone.js:546) TypeError: Cannot convert undefined or null to object
    at Function.getPrototypeOf (<anonymous>)
    at getParentCtor (http://localhost:4200/vendor.bundle.js:2414:49)
    at ReflectionCapabilities.parameters (http://localhost:4200/vendor.bundle.js:2234:45)
    at Reflector.parameters (http://localhost:4200/vendor.bundle.js:2496:44)
    at CompileMetadataResolver._getDependenciesMetadata (http://localhost:4200/vendor.bundle.js:40117:73)
    at CompileMetadataResolver._getFactoryMetadata (http://localhost:4200/vendor.bundle.js:40056:51)
    at CompileMetadataResolver.getProviderMetadata (http://localhost:4200/vendor.bundle.js:40324:43)
    at JitCompiler._compileModule (http://localhost:4200/vendor.bundle.js:50248:77)
    at createResult (http://localhost:4200/vendor.bundle.js:50192:25)
    at ZoneDelegate.invoke (http://localhost:4200/polyfills.bundle.js:2970:26)
    at Zone.run (http://localhost:4200/polyfills.bundle.js:2762:43)
    at http://localhost:4200/polyfills.bundle.js:3349:57
    at ZoneDelegate.invokeTask (http://localhost:4200/polyfills.bundle.js:3003:31)
    at Zone.runTask (http://localhost:4200/polyfills.bundle.js:2802:47)
    at drainMicroTaskQueue (http://localhost:4200/polyfills.bundle.js:3182:35)

Expected behavior No error

Minimal reproduction of the problem with instructions

  1. ng new --ng4 test-app
  2. edit vi node_modules/\@angular/cli//models/webpack-configs/common.js and mainFields: ["es2015", "module", "main"] to resolve: { ... } block
  3. ng serve
  4. open http://localhost:4200 and check error in console
  • Angular version: 4.0.0-rc.5

Issue Analytics

  • State:closed
  • Created 7 years ago
  • Comments:5 (2 by maintainers)

github_iconTop GitHub Comments

6reactions
jusefbcommented, Mar 27, 2017

I have just done a simple upgrade from Angular 2 to Angular 4 and can not use the app anymore due to this error. Can anyone suggest a workaround? Please ignore, I have found the offending module. It was down to ngrx/store-devtools. Once I have upgraded to the latest version of this problem the issue went away

1reaction
tboschcommented, Mar 21, 2017

This is because in native ES6, arrow functions don’t have a prototype field, which fails our metadata collection. E.g. the following test is different between ES6 and transpiled ES5 code:

const x = () => null;
expect(x.prototype).toBeDefined()

But if this error would not throw, we would see the error described in #14816.

Closing in favor of the tracking bug #15127

Read more comments on GitHub >

github_iconTop Results From Across the Web

How to Resolve: TypeError: Cannot convert undefined or null ...
After selecting a file to upload I got the error as TypeError: Cannot convert undefined or null to object. Html code is: <div...
Read more >
Cannot Convert Undefined Or Null To Object - ADocLib
Wanted to know wether module build will be allow to deploy the module alone. example: in my application i have one module which...
Read more >
Translation is not working (Cannot convert undefined or null to ...
When I set the locale to nl I get the following error: ERROR TypeError: Cannot convert undefined or null to object; at Function.keys...
Read more >
npm err! cannot convert undefined or null to object - You.com
I removed the file and my modules now install fine. I could check the registry by typing npm config list registry which now...
Read more >
angular/angular - Gitter
then I use ng serve --environment=local --proxy-config proxy.conf.json ... should I copy html/css files there ? and to where ? Fabian Wiles.
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found