gulp-target

    1.0.0 • Public • Published

    gulp-target

    Merge multiple directories by dependencies to build WL or variants of the project.

    Install

    $ npm install --save-dev gulp-target

    Usage

    Base project structure

    /targets
    /targets/targetA - dir of the target `targetA`
    /targets/targetB - dir of the target `targetB`

    Target must have target.json file. These config is using for merge process.

    Example:

    {
      "dependencies": [
        "common"
      ]
    }

    Adding this into your Gulpfile.js:

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

    Sample usage

     
    gulp.task('target', function () {
     
      var currentTarget = new target('targetName');
     
      return gulp.src([]) // some special files not from targets folders
        
        .pipe(currentTarget.pipe()) // <- files will be added here
     
        .pipe(gulp.dest('.target'))
        .on('error', function () {
          process.exit(1)
        });
     
    });

    Merging files

     
    gulp.task('target', function () {
     
      var currentTarget = new target('targetName');
     
      return gulp.src([]) // some special files not from targets folders
        
        .pipe(currentTarget.pipe())
     
        .pipe($.if('config.json', $.extend('config.json', { strict: true }))
        .pipe(gulp.dest('.target'))
        .on('error', function () {
          process.exit(1)
        });
     
    });
     

    target.json

    dependencies - are the names of the folders inside targetFolder. They will be included by order in the target.json.

    Options

    baseDir - name of the folder, there targets are located. targets by default

    configName - name of the target config file. target.json by default

    var currentTarget = new target('targetName', {
      baseDir: 'target',
      configName: 'target.json'
    });

    Keywords

    none

    Install

    npm i gulp-target

    DownloadsWeekly Downloads

    1

    Version

    1.0.0

    License

    ISC

    Last publish

    Collaborators

    • bondalex