hi_score 1.0 released
A full life-cycle starter project for SPAs
Version 1.0.x of
hi_score has has been released! This is a full life-cycle
starter project for web application client development. It embodies best
(or at least pretty-darn-good!) practices accumulated from over 20 years of
continuous web development experience.
Installation requires a modern Linux distribution (VMs are great!) and three commands:
$ git clone firstname.lastname@example.org:mmikowski/hi_score.git $ cd hi_score $ npm install && npm run prep-libs
Installation has been verified on Ubuntu 16.04, 16.10, and CentOS 6.5. Ubuntu users may find this spreadsheet useful.
Test, Coverage, and Distribution
One can run tests, inspect coverage, and build a compressed distribution of two example applications in less than a minute. The distribution is less than that are less than 10% the size of the source code:
$ npm test $ npm run cover $ google-chrome coverage/lcov-report/index.html $ npm run buildify $ tree build/dist $ du -sh . build/dist $ google-chrome build/dist/ex01.html build/dist/ex02.html
hi_score can really jump-start web client development. With lots of
hard stuff resolved out-of-the-box, we can focus on improving things that really
hi_score provides many highly desirable capabilities
that can be otherwise very difficult to orchestrate:
- A proven standard directory structure
- Vendor library management (npm install && npm run prep-libs)
- Vendor font management (npm install && npm run prep-libs)
- Code written to exacting standards to ensure readability
- Automatic namespacing and run-time control of CSS using PowerCSS
- Linting (JSLint, whitespace check, strict check)
- Automatic in-line browsable HTML documentation (markdown + pandoc)
- TDD and regression tests (nodeunit + JSDOM)
- Commit-hook which ensures test and linting pass before check-in
- Type-cast libraries
- Code coverage (Istanbul)
- Code coverage reporting (Coveralls)
- Build system manifest (Buildify)
- Build system compression (patched UglifyJS + SuperPack)
- Distribution-ready code
hi_score today and start writing TDD driven client code
immediately. The project comes with recommended libraries, but feel free to
swap our your own (but read the docs on how to do this). That’s the point.
This project intends to provide a more flexible and portable approach to writing Single Page Web Applications than most SPA frameworks.
Please see the GitHub documentation for full details.