tomfun/js-templating-bundle

This bundle provides integration of gulp into Symfony2. Twigjs tag for twig.

Installs: 17

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 2

Forks: 0

Open Issues: 0

Type:symfony-bundle

dev-master 2015-06-16 21:16 UTC

This package is not auto-updated.

Last update: 2024-04-27 15:25:58 UTC


README

gulp task example:

var gulp       = require('gulp'),
    _          = require('underscore'),
    execSync   = require('exec-sync'),
    //watch = require('gulp-watch'),

    exportPath = './web';

gulp.task('default', ['dump-bundles'], function () {
    var bower           = require('main-bower-files'),
        bowerNormalizer = require('gulp-bower-normalize'),
        bowerData       = bower();
    return gulp.src(bowerData, {base: './bower_components'})
        .pipe(bowerNormalizer({bowerJson: './bower.json', flatten: true}))
        .pipe(gulp.dest(exportPath));
});

gulp.task('dump-bundles', function () {
    var myData = execSync('app/console tommy:js:dump --screen');
    var colors = require('colors/safe');
    myData = JSON.parse(myData);
    _.each(myData, function (data, type) {
        var was = {};
        _.each(data, function (path, dest) {
            if (!was.hasOwnProperty(path)) {
                was[path] = [];
            }
            was[path].push(dest);
        });
        _.each(was, function (dests, path) {
            if (dests.length > 1) {
                _.each(dests, function (dest) {
                    console.log(colors.yellow(dest) + " (" + exportPath + "/" + type + dest.substr(1) + ")\n");
                });
                console.log(
                    colors.green("  file:\n")
                    + path
                    + colors.green("\n  was already placed by:\n")
                );
            }
        });
    });
    var src = myData.js;
    _.each(src, function (path, dest) {
        dest = dest.substr(1);
        dest = dest.replace(/\/[^\/]+$/, '');
        //process one by one
        gulp.src(path/*, {base: './bower_components'}*/)
            //.pipe(normalize, compress, ...)
            .pipe(gulp.dest(exportPath + '/js' + dest));
    });
});