Skip to content
A suite of HTML Elements used by WCM
TypeScript HTML
Branch: master
Clone or download

Latest commit

Fetching latest commit…
Cannot retrieve the latest commit at this time.

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
demo
dist
src
.gitignore
.npmignore
LICENSE
README.md
ROADMAP.md
bower.json
index.html
package.json
tsconfig.json
tslint.json

README.md

Web Components Manager Browser

A suite of HTML Elements used by WCM

npm Bower

Project description

This library aims to improve the way we deploy and push updates to applications by enabling developers to defer user impacting changes without impeding development, and minimise cache invalidation wherever possible. It aims to address two key issues in the way we manage Web based projects today...

  • With the advent of Web Components, applications and their dependencies are quickly becoming hard to maintain as they grow. For example, a small change in a child component with uncontrolled dependencies can lead to breaking changes in the consuming application that are hard to debug.

  • For projects that are bundled into a single file, making even the smallest of changes means that the user must load the entire source from scratch. This can be an expensive process, and is not future compatible with the arrival of HTTP/2.0 and similar protocols in most modern browsers.

With WCM, applications have explicitly defined dependencies that are resolved at runtime using the <wcm-shell> tag. These dependencies may be loaded fully before the application is bootstrapped, or deferred until actually required.

This allows for continuous releases of a given dependency component, without affecting the end user.

Installation

We push versions to both NPM, under the Ctek organisation, and Bower directly by it's name.

# Install via NPM from our organisation
npm i @ctek/wcm-browser

# Install via Bower
bower i wcm

Notes about usage

This library currently relies on WebComponents.js when used in browsers that have not yet implemented basic support for Web Components. It's important that this is loaded before loading WCM, meaning that the head of your index file should include something similar to this:

<!-- Shim Web Components -->
<script src="path/to/packages/.../webcomponentsjs/webcomponents-lite.js"></script>

<!-- Load WCM -->
<script src="path/to/packages/.../wcm.js"></script>
You can’t perform that action at this time.