info
PurgeTSS is a toolkit for building mobile apps with the Titanium framework. It adds practical utilities for styling and setup work.
It includes utility classes, icon font support, an Animation module, a simple grid system, and the shades command for generating custom colors.
If you build UI-heavy screens, PurgeTSS keeps you from hand-writing long TSS files.
What it does:
- 23,300+ utility classes for colors, spacing, typography, layout, and more.
- Parses XML files and writes an
app.tsswith only the classes you use. - Customizable through
config.cjs, with arbitrary values for one-off sizes and colors. - Icon fonts for Buttons and Labels: Font Awesome, Material Icons, Material Symbols, and Framework7-Icons in Alloy and Classic projects.
build-fontsinstalls custom fonts in Alloy or Classic; TSS class definitions are generated only for Alloy.shadescommand generates color palettes from a hex value.- Animation module with 2D transforms, draggable views with collision detection, sequential animations, and position utilities.
- Grid system for aligning and distributing elements in rows and columns.
Table of Contents
- Installation
- Commands
- App Assets
- Customization
- The UI Module
- Best Practices
- Grid System
Changelog
v7.15.0
- Standalone resource commands now work cleanly in Classic Titanium projects.
images,semantic,shades,color-module,module,icon-library, andbuild-fontsdetect Alloy or Classic and write to nativeResources/paths where appropriate. Classic does not receive the PurgeTSS utility-class lifecycle. - Official icon modules expose font-family aliases. For example, use
fontAwesome.icons.homewithfontAwesome.solid;familiesexposes the complete stable mapping for every bundled library. imagesfollowstiapp.xmldeployment targets by default. Explicit--androidand--iosflags remain available when you need an override.
v7.14.0
- Square iOS/store artwork is now full-bleed by default.
icon,dark,tintedandmarketplaceuse0%instead of the former4%inset.--ios-paddingstill moves the family together when the source is a logo that needs breathing room. DefaultIcon.pngandDefaultIcon-ios.pngnow both obeybrand.icon.padding. The root fallback had incorrectly inherited Android adaptive padding, creating a much larger border than configured. Both outputs are opaque and use the same inset.- Standalone Classic projects get a complete first-run setup. If
purgetss/config.cjsis missing,brandcreates the canonical config. A positional source such assample-icon.pngis adopted aspurgetss/brand/logo.pngwhen no canonical logo exists, and the move is reported. - Generation follows
tiapp.xmldeployment targets in Alloy and Classic. Normal runs omit disabled platforms; explicit--onlyremains an override. Classic Android retains the 11Resources/android/images/res-*splash variants Titanium consumes even thoughti createdoes not seed those folders. - Visible icon frames are diagnosed before they surprise you. Opaque edge-to-edge artwork combined with padding and a contrasting inherited background produces a warning naming the affected pieces. White remains a configurable fallback, not a platform requirement.
v7.13.2
purgetss brand --helpadvertised padding defaults the command does not use:19for the adaptive icon and20for both splash sets, where the pipeline applies18,26and26. The seven padding descriptions are now interpolated from the piece table instead of being hand-typed in a second place, with a new test that compares the real--helpoutput against that table. The values documented on this site were already the correct ones.
v7.13.1
- Four vulnerable transitive dependencies patched, all of which shipped inside v7.13.0:
postcss,nanoid,brace-expansionanduuid. Patch bumps within the same major, sopackage.jsonis untouched and only the lockfile moves.npm auditreports zero vulnerabilities afterwards.
→ See the full changelog for older releases (v7.13.0 and earlier).