hi_score 1.0 released

A full life-cycle starter project for SPAs

hi_score

Overview

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.

Updates

This post is out of date. Please see the hi_score project for the latest documentation.

Quick Start

Installation requires a modern Linux distribution (VMs are great!) and three commands:

$ git clone git@github.com: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

Features

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

Install 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.

Learn more

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.

Cheers, Mike

  • 2017-07-05: updated outdated keywords to avoid confusion

END

Written on March 1, 2017