npmify
npmifier
Command Line Tool — It enables npm support in your Titanium Classic application.
NOT READY FOR PRODUCTION USE! Use
titaniumifier
instead!
Cool things
- You can use any npm package you want! (almost…)
- Supports debug! (with a Studio plugin…)
- Once correctly setup you’ll be able to use transpilers (like coffee-script) without any hussle AND debug your app! (there’s no documentation yet…)
Installation
[sudo] npm install --global npmifier
Then in your Titanium Classic application do:
Disclaimer! Backup your app and test it on a clone! It is an intrusive action!
npmifier convert
A package.json
will be created for you, and your Resource
folder will be moved to Sources
.
From this moment on you can run it as you’re used to, with Titanium Studio or the CLI.
You can install npm modules as you‘re used to with Node.js projects.
Debugging
Debug will not work on npmified apps. To enable it you need to install our custom Titanium Studio plugin. Just go to Help › Install New Software… › Add…
and use http://smclab.github.io/it.smc.titanium.npmify.updatesite
as url.
Once installed edit your .project
file to present as the first Project Nature the following:
<nature>it.smc.titanium.npmify.core.nature</nature>
Now you’ll debug npmified apps like a boss directly from Titanium Studio!
TODO
- Support assets (images, fonts…)
- Support for
titaniumifier
modules - Support for
titanium-resolve
-style module resolution - Document transformation support (coffee-script, ES6…)
- Support debug breakpoints on non-js files (you need the
debugger
keyword by now) - Use
bluebird
instead ofwhen
- Use
titaniumifier
itself - Use @tonylukasavage’s
tiapp.xml
instead of our own homebrewed solution
Credits
Humbly made the spry ladies and gents at SMC.
License
This library, npmifier, is free software ("Licensed Software"); you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; including but not limited to, the implied warranty of MERCHANTABILITY, NONINFRINGEMENT, or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA