Linked Addons causing build errors in consuming app relates to babel-core

I have been having issues using updated dependencies inside an addon that is linked to another app. For example this seems to throw because the addon has ember-cookies: 0.4 and a dependency. Steps:

  1. The addon and app have version ember-cookies: 0.4 set as a dependency.
  2. Inside the addon I yarn link
  3. Inside the app I yarn link addon
  4. I ember s in the app and get this error:
Build Error (broccoli-persistent-filter:Babel > [Babel: ember-cookies]) in ember-cookies/clear-all-cookies.js

Requires Babel "^7.0.0-0", but was loaded with "6.26.3". If you are sure you have a compatible version of @babel/core, it is likely that something in your build process is loading the wrong version. Inspect the stack trace of this error to look for the first entry that doesn't mention "@babel/core" or "babel-core" to see what is calling Babel.

This doesn’t only happen with ember-cookies. I ended up downgrading ember-cookies and it seemed to fix the issue for a while until another addon started causing this issue. Sometimes deleting node_modules fixes this until yarn install installs something new.

What I think is happening is that another addon/dependency has Babel 6 declared as a dependency. This is causing the build to sometimes load Babel 6 and not Babel 7.

Any ideas what can be done?

Hi Alonski, I too facing similar issue. Did you find any solution?

I think this is an NPM bug (and yarn has copied the bug for compatibility). When they do package hoisting optimization, they sometimes break the stated peerDependency requirements of some packages.

If you go crawling through node_modules you’ll probably find some package is able to resolve a version of a peer dependency that doesn’t meet its stated requirement.