WARNING: This npm package is for the CanJS client-side MV* libraries. It was formerly the node-can project which has been moved to socketcan. A HUGE thanks to Sebastian Haas for letting us use the
canjsNPM package name is deprecated. Use
The best, most hardened and generally useful libraries in CanJS.
- Custom elements — can-component
- Data connection and service modeling — can-connect and can-set
- Routing — can-route and can-route-pushstate
- Live binding templates — can-stache, can-stache/helpers/route and can-stache-bindings
Utility libraries that power the core and ecosystem collections.
- Unique identifiers — can-cid
- Inheritable constructor functions — can-construct
- Declarative event bindings — can-control
- Event handling utilities — can-event, can-event/async/async, can-event/batch/batch, can-event/lifecycle/lifecycle
- An environment agnostic container for global variables - can-globals
- Namespace where can packages are registered — can-namespace
- Observable hooks needed by every other observable — can-observation
- Reflection for gets/sets, events, and type inference across object types - can-reflect
- Reflection to treat Promises as objects with value and state - can-reflect-promise
- Simple observable — can-simple-map
- A Symbol polyfill - can-symbol
- A stateful container for CanJS type information — can-types
- Common DOM and JS utilities — can-util
- View helpers
- Register custom elements or attributes in templates — can-view-callbacks
- Keeps part of the DOM up to date with a compute — can-view-live
- Read a view model from a custom element — can-view-model
- Maintains — can-view-nodelist
- Parses HTML and magic tags — can-view-parser
- Lookup scope within a stache template — can-view-scope
- A fast-path compile target — can-view-target
Useful libraries that extend or add important features to the core collection.
- Integrate can-connect with a FeathersJS Client (can-connect-feathers) or a SignalR Hub (can-connect-signalr)
- Call base functions from inside inheriting functions — can-construct-super
- Define property values using streams — can-define-stream
- Add validation methods and observables to a can-define/map/map using validate.js — can-define-validate-validatejs
- Simulate ajax requests (can-fixture) and socket.io services (can-fixture-socket)
- Cross-bind can events and jquery events — can-jquery
- Provides a set of converters useful for two-way binding with form elements — can-stache-converters
- Convert observable values into streams — can-stream and can-stream-kefir
- Shared utilities and type definitions to process validation errors — can-validate and can-validate-validatejs
- A virtual DOM that is able to run CanJS's templates — can-vdom
- Automatically render templates found in the document — can-view-autorender
- Import dependencies in CanJS views — can-view-import
- A StealJS extension that allows stache templates as dependencies — steal-stache
Former libraries that we still accept patches for, but are not under active development.
Support / Contributing
Before you make an issue, please read our Contributing guide.
You can find the core team in Gitter chat.