API Development

Featured Module – TiNy

Originally written by Fokke Zandbergen, TiNy, or “tn” for short, is more of a package than a module, but it’s worthy of mention as part of this blog series.

TiNy is a wrapper for the Titanium and Appcelerator CLI (Command Line Interface) that allows you to do the same but with less keystrokes. It comes with some predefined “recipes” and you can create your own either globally or by project.

For example, if you wanted to build an app for a particular simulator on your Mac, you’d need to target the UUID of that device or use ti build —platform ios —device-id to see a list to choose from.

TiNy makes it easier by generating recipes for the simulators you have installed.

Once installed, you can use tn generate to create a list of shortcuts to simulators and then to build for the iphone-xs. You type tn iphone-xs and TiNy will translate that to the full command, which in my case is ti build --platform ios --target simulator --device-id 2D8AC42C-FF67-429E-A754-B147T32FW2Q0

There are other built-in recipes such as tn adhoc and tn appstore and tn playstore which make it easier to ship builds for testing or publication to stores.

Even better is you can create your own global and project shortcuts, which could include provisioning profile and certificate settings or keystore aliases and passwords.

One nice feature is how you can still use standard CLI options like —sdk 7.5.0.GA and they’ll be tagged onto the end of a full CLI command.

I use TiNy all the time (and full disclosure — it’s now under my own GitHub account after Fokke stopped maintaining it). I use it so much I easily forget how to use the CLI without it.

I tend to use the global recipes, but also create some specific project ones to aid with builds for ad-hoc testing and appstores.

You can find out more and install from npm, or check out the repo.

Let us know in the comments below if you’re using TiNy, or what other tools you use to help with CLI development. Also, let us know what packages, modules and widgets YOU would like to see featured as part of this series.

In case you missed them, check out all our featured modules:

Or click the “featured module” tag below!

Happy Coding!