Compile CoffeeScript objects into Property Lists
CoffeeScript
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
lib
.gitignore
README.md
package.json

README.md

Aroma

Command line utility to compile CoffeeScript objects into property list files.


Rationale

A plist file is very verbose and cumbersome to edit. Aroma lets you define your property lists in CoffeeScript with a much more terse syntax with the added benefit of using logic and variables.

Just create an .aroma.coffee file that exports the object you wish to use:

foo = "Dynamic!"

module.exports =
  foo: foo
  baz: "bar"

The generated plist will be:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
  <dict>
    <key>foo</key>
    <string>Dynamic!</string>
    <key>baz</key>
    <string>bar</string>
  </dict>
</plist>

Notice how much more terse the coffee file is? Did you also notice how we used a variable!


Usage

Compile a single file:

  • $ aroma -c myfile.aroma.coffee

Compile all the aroma coffee files in ./src to plist files in ./lib:

  • $ aroma -o lib -c src

Watch the current directory for any changes and automatically compile .aroma.coffee files:

  • $ aroma -w

Specify what extension to save the property list as:

  • $ aroma -e tmTheme

Installation

Aroma is a Node.js module so first you must install Node.js then run npm install -g aroma


License

MIT