Skip to content

Structure

gowpen edited this page Jan 14, 2018 · 62 revisions

Established foundations, tools, and conventions.

Convention

Name Version Notes
Semantic Versioning 2.0.0 Package version number format.
Seven Rules Git commit message format.
JavaScript Standard Style >=10.0.3 JavaScript code style.
markdownlint >=0.6.1 Markdown code style.

Technology

Name Version Notes
Unicode >=10.0.0 Character set. Used by GFM, I-JSON, JavaScript.
Unicode 6.2.0 Character set. Used by JSON.

Format

Name Version Notes
GitHub Flavored Markdown (GFM) >=0.28-gfm Natural language material.
JSON ECMA-404, 1e Liberal text object representation. Applied to received data for maximum compatibility.
I-JSON RFC7493 Conservative text object representation. Generated as sent data for maximum safety.

Modeling Language

Name Version Notes
UML 2.5 Object model specification.

Programming Language

Name Version Notes
JavaScript ECMA-262 8e Leading edge JavaScript.

Programming Language Extension

Name Version Notes
JSDoc >=3.5.5 JavaScript documentation comments.

Platform

Name Version Notes
Node.js 9 Server and desktop JavaScript execution.

Build Software

Name Version Notes
Babel ^6.26.0 Transpile modern JavaScript for compatibility.
webpack >=3.8.1 JavaScript module bundling.
UglifyJS >=3.1.4 JavaScript minification.

Development Technology

Name Version Notes
EditorConfig A Program agnostic code editor configuration.

Development Software

Name Version Notes
Git >=2.14.2 Version control.
husky beta Shared git hooks.
npm-run-all 4 npm script composition.
sevenrules 1 Commit message linter.
standard 10 JavaScript code style linter.
snazzy 7 Polished output for standard.
jsdoc 3 JavaScript API documentation generator.
Sinon.JS 4 Test double framework.
mock-require 2 Test double module injector.
AVA 0 JavaScript test runner.

Development Service

Name Notes
GitHub Material hosting. Issue tracking. Contribution channel.

Packaging

Name Version Notes
npm Node.js package standard.

Publishing

Name Notes
npm Node.js package publishing.
GitHub Website publishing.

Library

JavaScript

Name Version Notes
tcomb ^3.2.24 Domain modeling.
Flow >=0.57.3 Static typing.
symbol-enum 4 Enumerations.
URI.js 1 URI type.