Skip to content
soycode edited this page Mar 27, 2015 · 5 revisions

generator-freedom

Yeoman generator for freedom.js apps

Introduction and Overview

This repository contains generator-freedom, a Yeoman-powered generator to facilitate development of freedom.js web applications. If you are already familiar with Yeoman and other common JavaScript tools (such as npm and Grunt) then getting started is pretty simple:

npm install -g yo  # if you don't have yo already
npm install -g generator-freedom
mkdir my-freedom-app
cd my-freedom-app
yo freedom

From there just select options and the generator will do the rest. Specifically, it will:

  1. Fetch the freedom.js library (the default is the vanilla version and from npm)
  2. Set up working boilerplate for a simple demo freedom.js application (Counter)
  3. Optionally do some other things:
    1. Initiate a git repository with appropriate .gitignore
    2. Create a Gruntfile with some useful tasks (installing needed npm packages)
    3. Generate a license

If the above sounds comfortable enough to you then just give it a go - if you have questions then read on for more details.

Detailed Setup

For those newer to the JavaScript ecosystem, here's some pointers on how to set up a proper development environment. Note that this is not freedom.js-specific, nor are these recommendations necessarily the only way to do things. Still they should provide a useful starting point and allow you to then go on to develop with freedom.js or other JavaScript frameworks.

TODO (mostly prefer linking to other quality tutorials for basic tooling)

Details on generator options

TODO (screenshots of the options, and lists summarizing what they do, in particular explaining the different flavors of freedom.js)

Features, bugs, and the future

Currently this generator is in a basic but mostly functional state. It is recommended that you get freedom.js from npm, as the bower setup is still incomplete. Also note that the demo application only works "out-of-box" with regular freedom.js - the Firefox/Chrome/Node flavors can definitely run the demo but right now the setup doesn't facilitate that. As far as planned further development goes, we'd like to add:

  • Options to load in more advanced freedom.js functionality (see freedom.js interfaces)
  • Secondary generator to customize freedom app API (in manifest.json file)
  • Boilerplate for tests and test running
  • Maybe more optional features/3rd party integration (make git repo on GitHub, test running on 3rd party services, packaging/deploying app, etc.)

And in general, filing issues (be they bug reports or feature requests) is very welcome. Thanks for reading, and enjoy using freedom.js!