Kintsugi
A very opinionated and batteries-included application development toolkit comprising existing Javascript frameworks. Kintsugi combines the best of many tools to create a cohesive system to manage large and complex applications that are broken down into many packages. In other words, Kintsugi is to Gulp / Grunt as Google's Repo is to git.
Phases of a Project
Kintsugi manages the development process into build lifecycle phases. These are:
Initialization
* Scaffold project with sample packages
* Setup environment
* Install dependencies
k init
k init -g angular2
k init -g react-redux
k init -g react-mobservable
Development
* Create project symlinks for subset of project and dependencies
* Watch file changes and transpile source code for subset of project and dependencies
* Fire up Webpack Dev Server to create in-memory bundle(s)
k dev
k dev foo
k dev foo -d 2
Install New Dependent Package
To install dependent package for a specific pacakge, do this inside the package's directory. Every time a NEWER package is installed, all the project's packages dependency versions will be updated.
cd package-a
k install foo bar baz@0.5.0
Scaffold
* Scaffold new package in the project
k new foo
Package
* Build subset of packages or entire project
* Bundle with Webpack
k build
Test
* Watch test file changes and transpile test code
* Run tests against the transpilation
k test
Publish
* Publish artifacts to npm repository (changed)
* Publish artifacts to file share as tarball
k publish