@ctek/wcm
TypeScript icon, indicating that this package has built-in type declarations

0.2.5 • Public • Published

Web Components Manager

Clear cut dependency management for Web Components

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 tp 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, under the Ctek namespace and directly by name.

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

# Install via Bower, either of these will work
bower i wcm
bower i Ctek/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>

Versions

Current Tags

  • Version
    Downloads (Last 7 Days)
    • Tag
  • 0.2.5
    1
    • latest

Version History

Package Sidebar

Install

npm i @ctek/wcm

Weekly Downloads

1

Version

0.2.5

License

LICENSE

Last publish

Collaborators

  • iainreid948
  • ctekmasteradmin