874
edits
(Origination) |
(filled out intro, philosophy sections) |
||
| Line 2: | Line 2: | ||
= Introduction = | = Introduction = | ||
This document describes a simple build and packaging system that allows [[Labs/Jetpack/JEP/28|Cuddlefish]]-based SecurableModules to be developed, tested, and reused in a variety of contexts. | |||
For the time being, this system and its related command-line tool will be referred to as '''cfx'''. | |||
= Philosophy = | = Philosophy = | ||
cfx is largely influenced by paradigms present in the [http://www.python.org Python] and [http://narwhaljs.org Narwhal] open-source communities. Among these are: | |||
* '''Test-Driven Development.''' cfx attempts to make writing tests as easy as possible, taking its inspiration from testing tools like [http://codespeak.net/py/dist/test/ py.test] and [http://code.google.com/p/python-nose/ nose]. It also aims to make test execution as fast as possible, so developers aren't wasting precious time waiting for their suites to complete. | |||
* '''Code Reuse.''' The packaging systems of Python and Narwhal make it easy to share and reuse other people's code. The Mozilla platform lacks such a system, which has historically made this difficult: as a result, the most that we see shared in the community are code snippets or single self-contained JS modules. | |||
* '''Developer Ergonomics.''' cfx uses Cuddlefish's introspection capabilities to provide full stack tracebacks when errors occur; it also provides facilities for making it easy to spot memory leaks, and generally tries to make writing production-quality code as hassle-free as possible. | |||
= Usage = | = Usage = | ||
edits