L20n got a lot of positive ccomments after the talk at Front Trends
last week and I would like to take this opportunity to fix gaps in our
dev process that may be stopping developers from 1) using L20n and 2)
improving it.
With no documentation and few working tests, we create barriers to
entry for third-party developers instead of lowering them.
Operation "Sundance" is the codename of an effort to make L20n a mature
piece of software before we announce the 1.0 release.
The goal is to help third-party developers start getting to know L20n,
both when they want to play with it in their projects, and when they
want to hack on L20n itself.
I propose that only blocking-sundance+ bugs can land on master from now
on. These are bugs from the list below, as well as bugs that
completely stop L20n from working.
Process
- create the blocking-sundance[?-+] flag
- make master the stable branch after all of this is done
- create the unstable 'develop' branch?
Code
- Use AMD to modularize the code
https://bugzilla.mozilla.org/show_bug.cgi?id=805163
- Add License headers to all files
https://bugzilla.mozilla.org/show_bug.cgi?id=866618
- Add docstrings with parameters specifications to all functions
- Create and publish the annotated version of the code that uses docco
to extract comments and docstrings
Tests
- write/choose a test node.js runner (mocha?) and add targets in
Makefile and package.json
- unit testings: create meaningful tests for each of the modules; make
them runnable with the node.js runner
- integration testing in node.js: create a few full-blown tests for
different use cases
- integration testing in the browser: create a few full-blown tests
for different use cases that work in the browser
- CI: connect travis/jenkins to the github repo
- enable the CI bit on irc
- remove lol-fixtures
Build
- put builds targets in the Makefile
- write scripts to maintain the l20n.min.js repo
- publish l20n at
npmjs.org
Documentation
- document a quick-start for developers: let the see a result quickly
(sandbox style?)
- finish L20n by Example
https://bugzilla.mozilla.org/show_bug.cgi?id=800573
- docs/tutorial for developers
https://bugzilla.mozilla.org/show_bug.cgi?id=802864
- document how to run and write tests
https://bugzilla.mozilla.org/show_bug.cgi?id=802870
Tools
- add the parsed AST view to the tinker
- create a code highlight plugin for vim
Go to
https://l20n.etherpad.mozilla.org/operation-sundance to help me
make the above list complete.
-stas
--
Staś Małolepszy