consumer-frontend
is a Gluestick project built using gluestick-cli
�—a thin wrapper application for helping you build and manage Gluestick projects. gluestick
is a package that is part of the gluestick-cli
monorepo. The gluestick-cli
is available on npm
and is comprised of several modules or "packages."
Gluestick
is a monorepo. It is published to npm withLearna
and contains depdent modules or "packages" for building Gluestick apps. The Gluestick repo uses Lerna 1,2 to help break what would otherwise be a potentially large code base in to smaller, versioned packages.gluestick-cli
- A package in the Gluestick monorepo that acts as a thin wrapper for managing Gluestick apps from the command-line. With it you can create an app, destroy it, auto upgrade all of its dependent packages, etc... It has a few commands of its own, but several are proxied to your local Gluestick package.gluestick
- A package in the Gluestick monorepo that provides additional command line functionality for building for universal-React apps as well as the internals (guts) for driving the Gluestickm Universal React apps themselves.Lerna
- "A tool for managing JavaScript projects with multiple packages", or put another way: "Lerna is a tool that optimizes the workflow around managing multi-package repositories with git and npm." Packages are independent codebases that can be versioned and published tonpm
.consumer-frontend
- a repository for maintaining various Gluestick apps. Current apps include:/used-cars-for-sale
,/dfe
(dealer-frontend) andshopping-tools
.
Q: The main project is called "Gluestick", but the binary is called "gluestick-cli", but there's a package in the main project called "gluestick". What's up with that?
A: Gluestick is a monorepo. gluestick-cli
is a sub-package in that repo that is deployed to npm
and is used to manage Gluestick apps. gluestick
(little 'g') is also a sub-package and contains the guts of Gluestick applications.