generator-finesse
v0.1.2
Published
Finesse stack project generator.
Downloads
12
Readme
generator-finesse
Finesse Stack yeoman generators.
The finesse stack is the MEAN Stack, but replacing angular with Mithril Js. The goal is to achieve a powerful, yet simple stack for rapid and effective development.
Installation
If you dont have Yeoman installed, install it now:
npm install -g yo
Install the generator with:
npm install -g generator-finesse
Usage
Generators:
New Project
To generate a new project:
yo finesse <project-name>
This will create a folder called <project-name>
with the directory structure:
.
├── .babelrc
├── .yo-rc.json
├── README.md
├── client
│ └── index.js
├── package.json
├── public
│ └── index.html
├── server
│ └── server.js
└── webpack.config.js
Provided commands are:
npm start
to run the servernpm run build
to build the client one timenpm run dev:client
to build the client with a watchernpm run dev:server
to run the server with a watcher
nodemon must be installed globally or manually via
npm install --save-dev nodemon
to use the server watcher
Views
To generate a new view:
yo finesse:view <view-name>
This will create a new view: client/views/<view-name>.js
Stores and Reducers (Redux)
To create a reducer:
yo finesse:reducer <reducer-name>
This will create a reducer in: client/state/<reducer-name>Reducer.js
. If there was no store implemented by the generator previously, it will create a composite reducer containing the one you just created (via combineReducers
). Any additional reducers generated will be automatically added to the store, if it uses combineReducers()
and has the appropriate /* REDUCERS START */
and /* REDUCERS END */
. If neither of these conditions are met, the reducer will still be generated and you will need to manually add the reducer to your store.
If you wish to create a simple store + single reducer, run:
yo finesse:store
to create a store with an in-line reducer.
REST Endpoints
To create a new rest endpoint:
yo finesse:rest <name> -v <version>
This generator creates/modifies the following files as necessary:
server.js
server/api/index.js
server/api/<version>/index.js
server/api/<version>/<name>
When the file exists, it will modify files by inserting middleware code between
/* MIDDLEWARE START */
and /* MIDDLEWARE END */
comments. If the files exist without the comments, you will need to add the middleware manually.
License
MIT © Frank V