node package manager
We need your input. Help make JavaScript better: Take the 2017 JavaScript Ecosystem survey »



Build Status npm version

Generates a more verbose can-connect supermodel, which allows you to more easily customize behaviors.

Using the generator

To add this generator to your DoneJS application, run

donejs add connect-model

Example output

If you run the above command and answer with these options:

? The singular name for your model (e.g. order) order
? What is the URL endpoint? /orders
? What is the property name of the id? id
   create src/models/fixtures/order.js
   create src/models/order.js
   create src/models/order_test.js

You'll get this output for order.js.

import can from 'can';
import $ from 'jquery';
import connect from 'can-connect';
import tag from 'can-connect/can/tag/';
import 'can-connect/constructor/';
import 'can-connect/can/map/';
import 'can-connect/can/';
import 'can-connect/constructor/store/';
import 'can-connect/constructor/callbacks-once/';
import 'can-connect/data/callbacks/';
import 'can-connect/data/callbacks-cache/';
import 'can-connect/data/combine-requests/';
import 'can-connect/data/inline-cache/';
import 'can-connect/data/localstorage-cache/';
import 'can-connect/data/parse/';
import 'can-connect/data/url/';
import 'can-connect/fall-through-cache/';
import 'can-connect/real-time/';
import 'can/map/define/define';
var behaviors = [
export const Order = can.Map.extend(Order, {
  define: {}
Order.List = can.List.extend({
  Map: Order
}, {});
let options = {
  ajax: $.ajax,
  url: '/orders',
  idProp: 'id',
  Map: Order,
  List: Order.List,
  name: 'order'
options.cacheConnection= connect(['data-localstorage-cache'],{
  name: 'orderCache',
  idProp: options.idProp,
  algebra: options.algebra
export const orderConnection = connect(behaviors, options);
tag('order-model', orderConnection);
export default Order;


To make changes to this generator, clone the repository and install the dependencies

git clone
cd donejs-connect-model
npm install

Then you can run the tests with

npm test