In short TyphonJS / https://typhonjs.io is a platform for modern mobile & web app development focusing not only on framework concerns, but also providing fully featured pipelines for integrated container deployment for server / database resources and web apps built on top of JSPM / SystemJS including maintenance and monitoring solutions via rkt / Kubernetes / Helm facilitated by a standalone configuration / management app currently in development with local testing via Kube-Cluster macOS or MiniKube along with remote deployment. In addition for Javascript web apps integrated deployment options to convert them to desktop apps via Electron is available now and Cordova for direct mobile deployment is forthcoming.
TyphonJS provides a modernized version of Backbone / backbone-es6 and related extensions for Parse (backbone-parse-es6), Firebase (forthcoming), Meteor (halfway there) and SocketStream (forthcoming). In addition a forthcoming complete data / event driven component library built on top of Material Design Lite for backbone-es6 web apps is provided. However, the larger toolchain is applicable to any web app framework that can leverage JSPM / SystemJS.
For native mobile apps TyphonJS provides a pipeline for container based deployment of server / database backends for cloud hosted solutions primarily Parse, Meteor and SocketStream.
TyphonJS is a multi-organization / repo effort being open sourced under the MPLv2.0 license. A multi org / repo toolchain is currently in development to support TyphonJS and beyond. This approach allows various modules / components of TyphonJS to be mixed and matched more easily with the web app framework of your choice amongst other scenarios. In many ways TyphonJS provides the glue between various important open source development / deployment tooling along with providing additional first party components. All first party Javascript source code is fully documented and is modern ES6 written in a standard idiomatic style.
Please bear with us while the tooling and various framework integrations are completed. Full documentation and testing resources are already provided in most repos and a universal automated documentation repo / web site will be available soon.
Below is an overview of all of the TyphonJS organizations / repos as of May 4th 2017.
typhonjs - Provides common repos for TyphonJS
- typhonjs-overview - Provides an overview of TyphonJS.
- backbone-es6 - A fork of Backbone converting it to ES6.
- typhonjs-core-backbone-common - Provides the common TyphonJS extensions to Backbone-ES6
- typhonjs-core-backbone-events - Separates 'events' support from Backbone in addition to adding TyphonJS extensions.
- typhonjs-core-backbone-events-logged - Provides a
typhonjs-core-logging
enabled version oftyphonjs-core-backbone-events
. - typhonjs-core-backbone-localstorage - Provides a sync adapter using browser localStorage for backbone-es6.
- typhonjs-core-backbone-multistorage - Provides an adapter for backbone-es6 using typhonjs-core-multistorage.
- typhonjs-core-backbone-query - A lightweight query API for Backbone Collections
typhonjs-backbone-core - Provides the core implementation of backbone-es6
typhonjs-backbone-esnext - Provides a version of Backbone meant to be used with ES6+
- backbone-esnext-eventbus - Provides a default main eventbus instance for backbone-esnext-events.
- backbone-esnext-events - Provides enhanced Backbone events functionality.
typhonjs-backbone-firebase - Forthcoming typhonjs-backbone support for Firebase
typhonjs-backbone-parse - Provides support for Parse for typhonjs-backbone
- backbone-parse-es6 - A fork of Backbone converting it to ES6 along with Parse 1.6+ integration and ES5 bundles.
- typhonjs-core-parse
- typhonjs-core-parse-init
- typhonjs-core-parse-user
typhonjs-browser - Provides browser specific utilities and modules.
- zepto - Zepto.js is a minimalist JavaScript library for modern browsers, with a jQuery-compatible API and mods for consumption in JSPM
typhonjs-common - Provides common isometric modules / components that run on the server & client.
- typhonjs-core-collections - Provides several collection oriented data structures.
- typhonjs-core-logging - Provides a pluggable logging module for universal logging across TyphonJS repos.
- typhonjs-core-logging-socket - Provides a logging plugin for typhonjs-core-logging that sends data over a WebSocket or SockJS.
- typhonjs-core-multistorage - Provides basic platform independent storage.
- typhonjs-core-socket - Provides a default socket implementation supporting WebSockets and sock.js
- typhonjs-core-utils - Provides common utility functionality.
typhonjs-demos - Provides demos for all TyphonJS repos.
- backbone-es6-localstorage-todos - Provides the canonical TODOs demo for backbone-es6 and typhonjs-core-backbone-localstorage w/ JSPM & SystemJS.
- backbone-es6-localstorage-todos-global-es5 - Provides the canonical TODOs demo for backbone-es6 using the ES5 global bundle (backbone.js)
- backbone-es6-localstorage-todos-requirejs-es5 - Provides the canonical TODOS web app using RequireJS and the AMD ES5 bundle generated by backbone-es6 and typhonjs-core-backbone-localstorage.
- backbone-parse-es6-todos - Provides the canonical TODOs demo for backbone-parse-es6 and JSPM / SystemJS.
- backbone-parse-es6-todos-global-es5 - Provides the canonical TODOs demo for backbone-parse-es6 using the ES5 global bundle (backbone-parse.js)
- backbone-parse-es6-todos-improved - Provides the canonical TODOs app for backbone-parse-es6 showing improved with TyphonJS functionality.
- backbone-parse-es6-todos-requirejs-es5 - Provides the canonical TODOS web app using RequireJS and the AMD ES5 bundle generated by backbone-parse-es6.
typhonjs-demos-deploy-electron - Creates desktop apps using Electron from typhonjs-demos
- electron-backbone-es6-localstorage-todos - Creates a desktop app from backbone-es6-localstorage-todos using Electron.
- electron-backbone-parse-es6-todos-improved - Creates a desktop app from backbone-parse-es6-todos-improved using Electron.
typhonjs-demos-test - Provides testing repos specific to issues related to TyphonJS.
- istanbul-jspm-coverage-example - Provides an example of instrumenting JSPM / SystemJS for code coverage with Istanbul / Mocha.
- typhonjs-issues-demos - Provides various demos for issues raised with all TyphonJS repos.
typhonjs-governance - Provides all versioned docs, specs, and governance repos.
- typhonjs-core-docs - Provides overview documentation for all TyphonJS orgs / repos.
- typhonjs-core-governance - Provides the authoritative documentation regarding TyphonJS governance.
- typhonjs-core-specifications - Provides overview documentation for all TyphonJS orgs / repos.
typhonjs-meteor-ddp-client - Provides a generic client for DDP (Distributed Data Protocol) and plugin mechanism to link to MVC libraries.
- backbone-meteor-es6
- typhonjs-core-asteroid - An ES6 fork of Asteroid providing a generic client for Meteor.
- typhonjs-core-asteroid-belt - Wouldn't you like to know.... coming soon... :D
- typhonjs-core-asteroid-init
- typhonjs-core-socket-ddp - Provides a Javascript DDP client
typhonjs-node-ast - Provides utility NPM modules for working with Javascript / AST.
- typhonjs-ast-walker - Provides a simple Javascript AST traversal utility that traverses all nodes / children regardless of type.
typhonjs-node-config - Provides utility NPM modules for configuration data.
- typhonjs-config-eslint - Provides shared ESLint configs for TyphonJS repos.
typhonjs-node-escomplex - Next generation complexity reporting for Javascript based on babylon, but supporting all major AST generators.
- escomplex-plugin-analyze-threshold - Provides project and module oriented threshold analysis for typhonjs-escomplex complexity reports.
- escomplex-plugin-formats-xml - Provides a plugin for typhonjs-escomplex project result / module report transformation to XML.
- escomplex-plugin-metrics-module - Provides the core module metric / report generation plugin for typhonjs-escomplex module processing.
- escomplex-plugin-metrics-project - Provides the core project metric / report generation plugin for typhonjs-escomplex project processing.
- escomplex-plugin-syntax-babylon - Provides a plugin for typhonjs-escomplex module processing which loads syntax definitions for trait resolution for Babylon AST.
- escomplex-plugin-syntax-estree - Provides a plugin for typhonjs-escomplex module processing which loads syntax definitions for trait resolution for ESTree AST.
- plato - JavaScript source code visualization, static analysis, and complexity tool
- typhonjs-escomplex - Next generation complexity reporting for Javascript based on babylon.
- typhonjs-escomplex-analyze - Provides project and module oriented analysis for typhonjs-escomplex complexity reports.
- typhonjs-escomplex-commons - Provides core common utilities for typhonjs-escomplex plugins including trait resolution.
- typhonjs-escomplex-module - Provides module / individual file oriented AST processing for typhonjs-escomplex complexity reports.
- typhonjs-escomplex-project - Provides project oriented AST processing for typhonjs-escomplex complexity reports.
- typhonjs-escomplex-test-data - Provides shared test data resources for all typhonjs-escomplex repos.
typhonjs-node-esdoc - Provides NPM modules for ESDoc plugins.
- esdoc - A maintained fork of ESDoc - good documentation for JavaScript(ES2015)
- esdoc-plugin-dependency-graphs - A plugin for ESDoc that adds interactive D3 powered dependency graphs for source code including linking JSPM / NPM managed code and packages.
- esdoc-plugin-enhanced-navigation - Replaces the standard ESDoc left hand source navigation with an enhanced version.
- esdoc-plugin-escomplex - A plugin for ESDoc that produces complexity analysis reports via escomplex.
- esdoc-plugin-extends-replace - An ESDoc plugin to replace unconnected "extends" tags w/ actual class references.
- esdoc-plugin-jspm - A plugin for ESDoc that enables end to end documentation linking JSPM / SystemJS managed packages in addition to a source root.
- esdoc-plugin-npm - A plugin for ESDoc that enables end to end documentation linking NPM managed packages in addition to a source root.
- typhonjs-node-esdoc - Provides a NPM module combining ESDoc with all plugins available.
typhonjs-node-gulp - Provides NPM modules for various Gulp tasks.
- typhonjs-core-gulptasks - Provides common gulp tasks shared by TyphonJS and beyond for JSPM / SystemJS projects.
- typhonjs-github-orgs-gulptasks - Provides GitHub many organization / repos gulp tasks shared by TyphonJS and beyond.
typhonjs-node-jspm - Provides utility NPM modules for interfacing with JSPM / SystemJS.
- typhonjs-config-jspm-parse - Provides a NPM module to parse dependencies from JSPM entries in
package.json
andconfig.js
via an instance of SystemJS / SystemJS Loader. - typhonjs-istanbul-instrument-jspm - Provides a NPM module to add Istanbul instrumentation to JSPM / SystemJS by replacing the System.translate hook.
typhonjs-node-npm-scripts - Provides various NPM modules / scripts including build / testing modules.
- typhonjs-npm-build-test - Provides a unified set of NPM scripts and dependencies for building and testing ES6+ NPM modules for TyphonJS and beyond.
- typhonjs-npm-scripts-build-babel - Provides NPM scripts for building ES6+ projects using Babel for all TyphonJS NPM modules and beyond.
- typhonjs-npm-scripts-publish - Provides NPM scripts for pre-publish & publish actions for TyphonJS NPM modules and beyond.
- typhonjs-npm-scripts-runner - Provides an NPM module and script which will load a JSON file searching for an Array entry then executes the scripts.
- typhonjs-npm-scripts-test-mocha - Provides NPM scripts for testing projects using Istanbul & Mocha for all TyphonJS NPM modules and beyond.
typhonjs-node-plugin - Provides a generic plugin infrastructure
- typhonjs-plugin-loader - Provides generic plugin loading from installed node modules or directly from the file system.
- typhonjs-plugin-manager - Provides a plugin manager that dispatches events to loaded plugins.
typhonjs-node-scm - Provides utility NPM modules for interfacing with source code management systems.
- typhonjs-github-inspect-orgs - A NPM module providing compound GitHub queries spanning multiple organizations / users for many-repo projects such as TyphonJS.
- typhonjs-github-inspect-orgs-transform - Provides a NPM module that transforms data from typhonjs-github-inspect-orgs to normalized HTML, markdown, JSON or text.
typhonjs-node-tjsdoc - Provides a modern JS documentation system for ES6+ & Typescript.
- tjsdoc - Provides common orchestration for TJSDoc.
- tjsdoc-babylon - Provides Babylon / ES6+ documentation generation for Javascript.
- tjsdoc-docs-babylon - Provides Babylon doc tag generation for TJSDoc.
- tjsdoc-docs-common - Provides common doc tag generation for TJSDoc.
- tjsdoc-docs-typescript - Provides Typescript doc tag generation for TJSDoc.
- tjsdoc-publisher-static-html - Provides a publishing module for TJSDoc generating static HTML documentation.
- tjsdoc-runtime-common - Provides the common shared runtime for TJSdoc.
- tjsdoc-test-utils - Provides common testing utilities for tjsdoc (non-published)
- tjsdoc-tests-ecmascript - Provides shared Javascript testing resources for TJSDoc utilized across various repos.
- tjsdoc-typescript - Forthcoming documentation generation for Typescript.
typhonjs-node-tjsdoc-plugins - Provides officially supported TJSDoc plugins.
- tjsdoc-plugin-dependency-graphs - A plugin for TJSDoc that adds interactive D3 powered dependency graphs for source code including linking JSPM / NPM managed code and packages.
- tjsdoc-plugin-escomplex - A forthcoming plugin for TJSDoc that produces complexity analysis reports via typhonjs-escomplex.
- tjsdoc-plugin-external-ecmascript - Provides built-in external references for ECMAScript.
- tjsdoc-plugin-external-nodeapi - Provides forthcoming built-in external references for the Node API.
- tjsdoc-plugin-external-webapi - Provides built-in external references for the web API.
- tjsdoc-plugin-jspm - A plugin for TJSDoc that enables end to end documentation linking JSPM / SystemJS managed packages in addition to a source root.
- tjsdoc-plugin-live-server - Provides a plugin that starts
live-server
providing refresh of the output doc target during TJSDoc execution. - tjsdoc-plugin-npm - A plugin for TJSDoc that enables end to end documentation linking NPM managed packages in addition to a source root.
- tjsdoc-plugin-watcher - Provides file watching control and event bindings which other plugins may consume.
- tjsdoc-plugin-watcher-doc-regenerate - Provides incremental doc regeneration utilizing typhonjs-plugin-watcher.
- tjsdoc-plugin-webpack - A forthcoming plugin for TJSDoc that enables end to end documentation linking Webpack managed packages in addition to local source roots.
typhonjs-node-utils - Provides various utility NPM modules
- typhonjs-color-logger - Provides ANSI color logging.
- typhonjs-config-resolver - Provides support to load config files and local or module extensions along with validation.
- typhonjs-config-resolver-tests - Provides test data for typhonjs-config-resolver as an NPM module.
- typhonjs-file-util - Provides several utility methods for archiving, copying, reading, and writing files.
- typhonjs-ice-cap - Programmable DOM-based HTML template library.
- typhonjs-live-server - Provides a plugin wrapping
live-server
adding event bindings and workarounds for graceful shutdown. - typhonjs-object-util - Provides common object manipulation utilities.
- typhonjs-package-util - Provides several utility methods for working with
package.json
. - typhonjs-path-resolver - Provides utility methods to resolve file paths relative to a given location and package name.
typhonjs-socketstream-client - Provides a generic client for SocketStream and plugin mechanism to link to MVC libraries.
typhonjs-utils - Provides miscellaneous utility repos.
- intellij-plugin-jspm - Provides JSPM reference and path completion plugin for WebStorm, PHPStorm and other Idea family IDE supporting Javascript.
typhonjs-websites - Provides several web site resources for TyphonJS
- docs.typhonjs.io - Provides documentation for all TyphonJS repos.
- typhonjs.io - The main TyphonJS website...
typhonjs-zenhub - Provides a common location for all ZenHub projects tracking all repos from each major TyphonJS org category.
- zenhub-typhonjs - Provides a ZenHub overview of all TyphonJS orgs / repos.