Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

gulp-dogen

Package Overview
Dependencies
Maintainers
1
Versions
11
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

gulp-dogen

a fast & easy scaffold cli for any development (based on gulp)

  • 0.1.10
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
23
decreased by-32.35%
Maintainers
1
Weekly downloads
 
Created
Source

Dependency Status

Why Dogen - "Oneness of Scaffolding"

dogen is meant to be the scaffold-on-the-fly tool. Creating templates of files & directories of files for scaffolding should be easy. Sometimes, there's a need to copy & paste & change group of files (aka Modules). Currently, tools like yeoman provide impressive scaffold utilities, but sometimes there's a need to update the generators according to your project's guidelines - and that's not possible with yeoman. You're relied on the generator's author or creating your own. That's why I created dogen.

Be The Master of you own generators. zen enso

Install

$ npm install --save-dev gulp-dogen

Usage

var gulp = require('gulp');
var dogen = require('gulp-dogen');

dogen.config({
	templatesPath: 'gulp/templates',
	gulp: gulp
});

// This will create this gulp task as:
// gulp dogen --endpoint the-name-to-be-scaffolded
dogen.task('endpoint', 'src/server/api/');
dogen.task('ngmodule', 'src/client/app/');
dogen.task('ngservice', 'src/client/common/services/');

Then in terminal, you can start using this gulp task:

gulp dogen --endpoint guitars

This task will do the following:

  1. copy the "endpoint" directory from the "examples" directory to destination 'src/server/api'
  2. replace every instance of the word "endpoint" with "guitars" - in both file names & file contents

One More Destination Path

Sometimes, a sub destination path is required under the destination that was configured in the task function. The dogen shell task can have a 2nd argument, "path" which will be concatenated as a suffix to the destination value of the task. The following task: gulp dogen --endpoint guitars --path music places the new generated files/directories at: src/client/api/music. Please note: the path value can be any nested path including several directories.

The examples directory includes a template of endpoint.

API

  1. config -
    1. templatesPath - the source directory to lookup templates
  2. task - (returns pipeable gulp task)
    1. name-of-flag - the name of the flag to be used in the command line and also the string that will be replaced in the template's files.
    2. destination - the destination path that will be used to place the newly created files

Template Engine Variables

dogen relies on 2 simple variables:

  1. "variable" - surrounded with underscore, "_", this variable will be replaced with the value of "the-name-to-be-scaffolded".
  2. "=variable=" - surrounded with equals operator, "=", this variable will be "camel-cased" (any hypens will be dropped) and then replaced with the value of "the-name-to-be-scaffolded".

dogen(options)

The concept of simplicity in dogen is that you should put the name-of-flag anywhere in the file's & directories names and contents - so it will be replaced with the value of the-name-to-be-scaffolded.

options

dogen task method return a gulp task that can be used like a standard gulp task. gulp dogen --list displays all the localy available generators in the console.

License

MIT © orizens Bitdeli Badge

Keywords

FAQs

Package last updated on 25 Sep 2016

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc