If you encounter a problem with an external NPM package in an Ember project, make sure everyone is running the correct package version.
Today, one of our web application developers was helping a new colleague set up our Ember project and found an issue with one of the NPM packages. We use ember-simple-auth for authenticating users in the app and we didn’t pin it to the exact version in the
package.json file - it was
^1.1.0 in our case. When the new team member ran
npm install, he got a newer version (
1.2.0) - different from what everyone else had. The authors of that new version added ember-cli-import-polyfill, which broke imports in our add-ons.
We have a specific use case as we share common code between the app and our chrome extension using
ember addons. These addons contain some other 3rd party add-ons and
ember-cli-import-polyfill broke imports for us. We immediately reported that on the
ember-simple-auth issue page. It turned out that the import polyfill is for Ember apps, not Ember add-ons. Hopefully it will be removed from
ember-simple-auth on the next release - for now we pinned it to
1.1.0 in the repo.
The moral of today’s battle: always pin external NPM package’s version in your
package.json file :).
We hope you enjoyed today’s Developers’ Notes, delivered for your reading pleasure by Łukasz, iRonin’s Web Application Development Team Leader. There’s more coming soon, so stay tuned!
Experts in software development
We are a 100% remote team of software development experts, providing web & mobile application development and DevOps services for international clients.