brett_mc (3) [Avatar] Offline
#1
Hello,
I've gotten up to chapter 8, it's looking great!
When I was developing my very first ionic app (last week!) I was working under source control with a colleague. We had some issues which we eventually tracked down to one developer missing a plugin that another developer had added.

So what I think is the best way to deal with this scenario is this:
if you use "ionic add plugin" instead of "cordova add plugin", ionic will install the plugin but *also* update the package.json file. If you commit changes to the package.json file, then you can later issue an "ionic state restore" command which will download and install all of the plugins (and platforms) listed in package.json.

In my humble opinion, s8.1.2 (installing cordova plugins) should mention this, and s8.3.1 (setting up the camera project) could optionally replace manually adding the plugins with an 'ionic state restore'.

(I still haven't worked out how to do the same thing with bower dependencies)
cheers!
brett_mc (3) [Avatar] Offline
#2
p.s. there's also a nifty "ionic state save" which will write your current platforms and plugins into package.json, which would be useful if you'd installed them via cordova.
jeremy.wilken (208) [Avatar] Offline
#3
The state is a newer feature of the Ionic CLI than when I wrote the chapter. However, Ionic only passes the add plugin commands to Cordova, so it shouldn't be any different. It might depend on what version of Cordova you have installed on different machines, because they recently changed the plugins a lot.

The chapter examples actually don't have Cordova plugins setup in the git projects, so I'd prefer that readers install them like I have it in the chapter. It does make sense, but I wanted to make sure that readers try the command themselves.

As far as the ionic state commands, I'll review this with my editor. The book is already typeset so we're not able to make changes unless there are errors. It is covered (though not necessarily obvious) in the Ionic CLI docs online, so even if I can't make any additions it is available.

Thanks for the great comments and suggestions!

Jeremy