donejs / generator-donejs

A Yeoman generator for your DoneJS application
MIT License
9 stars 7 forks source link

generator-donejs

Build Status npm version Coverage Status

A Yeoman generator for your DoneJS application. Available generators are:

Using generators

Important: While this repository is a Yeoman generator it should only be used directly with the DoneJS cli instead of the yo command line.

With the CLI installed via

npm install donejs -g

The following commands are available. To initialize a new DoneJS related project:

Within a DoneJS application or plugin:

donejs add app

Creates a new DoneJS application. Running this command will install dependencies and initial configuration.

donejs add app <folder>

donejs add app

Configuration

Most questions are to fill in values into the package.json and the defaults can be accepted. The following questions have special meaning:

Project main folder

This specifies the folder where your application's source code is contained. By default the value is src creating a file structure like:

- my-awesome-app/
  |
  ├ src/
    ├ index.stache

Generated folder

Using donejs add app will generate a folder that contains several files used for development. The following files are noteworthy:

development.html

An HTML file used to view the application in development mode without requiring server-side rendering. You can use this file instead of done-serve if your application doesn't require server-side rendering.

development.html uses hash based routing so that it can be used with any HTTP server.

app using development.hml

production.html

An HTML file that will load the application in production mode. This is useful to test the application's build without server-side rendering, or in cases where you do not need server-side rendering, to serve the application to the end users.

Note: Opening this page before running donejs build will result in errors. Running that command should clear up the errors.

build.js

This is the build script for generating bundles for deploying the application to production. It uses steal-tools to create optimized bundles with progressive loading included by default.

Note: This file is modified by some generators such as donejs-cordova but can be edited by you as well.

src/index.stache

This is the root template for your application. Here you can:

src/app.js

This module defines and exports the Application ViewModel. The Application ViewModel is the root ViewModel for the application, containing any state that is global. Since apps created using donejs add app are automatically bound to can-route, all properties on the Application ViewModel are bound to the URL by default.

This module is also where you will define your routes like so:

import route from "can-route";

// Other stuff here...

route("{page}", { page: "home" });

donejs add component

Generators a new can-component that can be used as a custom element in your application.

donejs add component

There are two forms to using this command:

donejs add supermodel

Generates a can-connect model. This model is an observable type, used to connect to a service layer.

donejs add supermodel

donejs add module

Creates a generic modlet. This modlet can be used for any purpose and contains:

donejs add plugin

Generates a new plugin project. This is useful for creating DoneJS plugins or any open-source project that uses StealJS and the modlet pattern.

Like donejs add app, the plugin generator scaffolds a project and puts the source code in a src/ folder (you can specify a different folder when running the generator).

donejs add plugin awesome-plugin

donejs add generator

Generators a new generator project. Learn more about writing a generator in the generator guide.