recipe

Web Component Recipe Helpers

compo

This library provides a set of Javascript helpers for interpreting textual recipes which define the requirements of a web component. Compo is not designed to function as a build-tool in it's own right, this is left to tools such as bake-js and others.

Any standalone that can be accessed via HTTP can be described in a compo recipe. For example, the following is a recipe that describes keymaster using a getit custom url scheme:

# dsc: A simple micro-library for defining and dispatching keyboard shortcuts.
# url: https://github.com/madrobby/keymaster
 
[core]
js <= github://madrobby/keymaster/keymaster.js

A web component is a small functional unit, that is can be combined with other web components to create a web application.

Good web components should be:

  • FOCUSED, which usually means SMALL. Have a well defined purpose and scope, and generally small defined surface area makes a component both easy to understand and also easy to test. This should be encouraged.

  • COMPOSABLE. The ability to take the component and use it in ways not envisaged (but still "correct") by the component author demonstrates good component design.