A Yeoman generator for your DoneJS application. Available generators are:
appto create a new DoneJS application
pluginto create a new DoneJS plugin
generatorto create a new DoneJS generator project
componentto create a CanJS component
supermodelto create a can-connect connection
moduleto generate a general purpose modlet
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:
donejs add app [projectname]create a new DoneJS application
donejs add plugin [projectname]create a new DoneJS plugin
donejs add generator [projectname]create a new generator project
Within a DoneJS application or plugin:
donejs add componentto create a CanJS component
donejs add supermodelto create a can-connect connection
donejs add moduleto generate a general purpose modlet
donejs add app
Creates a new DoneJS application. Running this command will install dependencies and initial configuration.
donejs add app <folder>
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
donejs add app will generate a folder that contains several files used for development. The following files are noteworthy:
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.
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 buildwill result in errors. Running that command should clear up the errors.
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.
This is the root template for your application. Here you can:
<title>elements in the head.
<can-import/>to import styles, define the Application ViewModel, import components, etc.
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:
;// Other stuff here...;
donejs add component
Generators a new can-component that can be used as a custom element in your application.
There are two forms to using this command:
donejs add component <name>.componentwill generate
src/name.component. This is a single-file component using done-component.
donejs add component <name>will generator a folder
src/name/with the files:
- name.less: A less file for the component's styles.
- name.stache: A stache template.
- name.html: A demo page, used for developing this component in isolation.
- test.html: A page which runs the tests in name-test.js.
- name.md: A markdown file, used to document the component.
donejs add supermodel
Generates a can-connect model. This model is an observable type, used to connect to a service layer.
donejs add module
Creates a generic modlet. This modlet can be used for any purpose and contains:
- test.html: A test page for running the tests in foo-test.js.
- foo.md: A markdown file, for documenting the modlet.
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.
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.