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!