sails-blueprint-generate

1.4.7 • Public • Published

Interactive Wizard to generate Sails Blueprint

This generator was made to help users to setup Sails project with interactive wizard and ready to use templates. So users doesn't need to manually setup the template to get working (E.g: Swig + Bootstrap), configuring packages.json, bower.json and etc.

Generator will automatically install the NPM Packages and Bower Packages at the final step. So users doesn't need to manually run npm install and bower install, and the generator also giving prompt to install additional bower and npm packages.

Each template is ready to use. So users doesn't need to manually add grunt-task to compile and sync the assets, adding scripts and styles to HTML Layout, and so on.

Each template also ready for environment use. For example, in Development environment, template will using non minified javascript and css, but will use minfied version on Production environment.

Generator also will promt users to choose which port to be used in Development and Production environment, including which databse driver that will be used.


Installation

Sails Blueprint Generator requires NodeJS, NPM, and Bower installed on your machine. To install Sails Blueprint Generator, run:

$ npm install -g sails-blueprint-generate

Install External Templates

To install external templates, templates must be registered on bower registry. After installing, external templates will vailable on Select Template list

$ sailsgen install template-name

Example

$ sailsgen install sails-swig-angular sails-jade-bootstrap

Usage

To generate new blueprint, run:

$ sailsgen project-name

and follow the instructions.


Default Prompts

When running the sails-blueprint-generate project-name, users will be asked for few questions to setup the project. The prompts will be used by templates to setup the template requirements, e.g Project Name will be used in package.json and bower.json for field name. Where will be the informations used is depend on the templates requirements.

  • Project Name - required
  • Full Name - optional
  • Description - optional
  • Version - optional
  • Repository - optional
  • Select Template - required
  • Author - optional
  • License - optional
  • Additional NPM Packages - optional
  • Additional Bower Packages - optional

Each template will also have their own prompts to fits with the template requirements.


Example

Setup

macbook:projects euser$ sails-blueprint-generate sails-app
Welcome to interactive Sails Blueprint generator
 
? Project Name: sails-app
? Full Name: Sails Application
? Description: The web framework of your dreams.
? Version: 1.0.0
? Repository: https://github.com/user/reponame
? Select Template: sails-swig-foundation
? Author: Your Name <name@mail.com>
? License: MIT
? Install Additional NPM Packages? Separated by space: 
? Install Additional Bower Packages? separated by space: gsap angular
? Development Port: 1337
? Production Port: 80
? Development Database Driver: sails-disk
? Production Database Driver: sails-disk
{ name: 'sails-app',
  realname: 'Sails Application',
  description: 'The web framework of your dreams.',
  version: '1.0.0',
  repository: 'https://github.com/user/reponame',
  template: 'sails-swig-foundation',
  author: 'Your Name <name@mail.com>',
  license: 'MIT',
  npmdep: '',
  bowdep: 'gsap angular',
  devport: '1337',
  prodport: '80',
  devdriver: 'sails-disk',
  proddriver: 'sails-disk' }
? Check the settings. Continue? yes/no: yes
Generating Sails Blueprint for sails-app with template sails-swig-foundation ...
 
Sails Blueprint successfully generated.
Project path: /Users/euser/projects/sails-app
Run the application by executing sails lift or forever -w app.js
 
Installing NPM Packages...
Installing Bower Packages...
Bower Packages installed.
NPM Packages installed.
macbook:projects euser$ 

bower.json result:

{
  "name": "sails-app",
  "version": "1.0.0",
  "description": "The web framework of your dreams.",
  "ignore": [
    "**/.*",
    "node_modules",
    "bower_components",
    "library",
    "test",
    "tests"
  ],
  "keywords": [
    "sails",
    "swig",
    "foundation",
    "template"
  ],
  "author": "Your Name <name@mail.com>",
  "license": "MIT",
  "homepage": "https://github.com/user/reponame",
  "main": "app.js",
  "dependencies": {
    "foundation": "~5.5.2",
    "short-sass": "~2.1.1",
    "jquery": "~2.1.4",
    "jqpatch": "~1.1.1",
    "gsap": "~1.16.1",
    "angular": "~1.4.0"
  }
}

Available Templates

  • sails-swig - Sails Blueprint with Swig Template Engine
  • sails-swig-bootstrap - Sails Blueprint with Swig Template Engine and Bootstrap
  • sails-swig-foundation - Sails Blueprint with Swig Template Engine and Foundation
  • stater-swig - Front-End Template with NodeJS server Stater

Creating Template

You can create new template and publish it to bower, since this generator only can install template from bower. To add custom prompts to your template, add file prompts.js to your template directory. Then you can add your custom prompts pattern to your files, wherever you need it. Pattern format is __NAME__.

Example

prompts.json

[
    {
        "name"    : "pets",
        "type"    : "input",
        "message" : "Favourite Pet",
        "default" : "Cat"
    }
]

readme.md

Project owner love %%PETS%%

Generator will iterate all prompts and apply to all files inside template folder.


Notes

Generator will embedding NativeJS to the generated template. You can remove it in the template main file (e.g app.js) at the first line if you don't want it.

Please open new issue for suggestions, template request or input prompts request.

Package Sidebar

Install

npm i sails-blueprint-generate

Weekly Downloads

1

Version

1.4.7

License

MIT

Last publish

Collaborators

  • mahdaen