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.
This post is out of date. Please see the hi_score project for the latest documentation.
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 setup
Installation has been verified on Ubuntu 16.04+ 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 around 5% the size of the source:
$ npm test $ npm run coverage $ google-chrome coverage/lcov-report/index.html $ npm run make $ tree build/dist $ du -sh . build/dist $ google-chrome build/dist/ex01.html build/dist/ex02.html
hi_score provides many highly desirable capabilities that can be otherwise difficult to orchestrate out of the box. With these details out of the way we can we can focus on application architecture, UX, and core implementation. Here are the features:
- A proven standard directory structure
- Vendor library management (npm install && npm run setup)
- Vendor font management (npm install && npm run setup)
- 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 including property keys (auto-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.
- 2017-07-05: updated outdated keywords to avoid confusion