var mergeFn = function (language) { gulp.src('app/**/lang.json') .pipe(wrap('{"<%= contents.prefix %>": <%= JSON.stringify(contents.' + language + ') %>}'), {}, { parse: false }) .pipe(extend(language + '.json')) .pipe(jsonFormat(2)) .pipe(gulp.dest('www/lang')); }
gulp.task('build-json',function(){ return gulp.src([ './src/handlebars/data/*.json', './bower_components/wvu-patterns-footer-**/src/handlebars/data/*.json' ]) .pipe(extend('_wvu-footer.json',true,2)) .pipe(gulp.dest("./build/data")); })
gulp.task('rev', function() { var extend = require('gulp-extend'), config = require('../config'), paths = config.paths; return gulp.src([paths.source.rev + '*.json', '!' + paths.source.rev + 'all.json']) .pipe(extend('all.json')) .pipe(gulp.dest(paths.source.rev)); });
gulp.task('set-production-config', function() { console.log('Creating production config'); gulp.src(['./config.json', './config-production-base.json']) .pipe(extend('config-production.json', true)) .pipe(gulp.dest('./')); console.log('Setting production config for Wintersmith\'s use'); wintersmith.settings.configFile = 'config-production.json'; });
gulp.task('_data-build', function () { return gulp.src('src/data/**/*.json') .pipe(jsonlint()) .pipe(jsonlint.reporter()) .pipe(jsonlint.failOnError()) .on('error', notify.onError('JSON data build error.')) .pipe(extend('data.json')) .pipe(gulp.dest(BUILD_DIR + '/data/')) .pipe(gulpif(LIVE_RELOAD, browserSync.stream())) .pipe(gulpif(TASK_NOTIFICATION, notify({ message: 'Data build completed.', onLast: true }))); });
var config = function(env) { gulp.src(['./src/app/config/config.default.json', 'src/app/config/config.' + env + '.json']) .pipe(extend('config.json', true)) .pipe(ngConstant({ name: 'starter.configs', deps: [], })) .pipe(rename(function(path) { path.basename = 'config'; path.extname = '.js'; })) .pipe(gulp.dest('src/app/config')); };
response.on('data', function (chunk) { var liaBranch = parseVersionPage(chunk); var custName = require(path.join(process.cwd(), 'package.json')).name; gutil.log(gutil.colors.cyan('Lia version ' + gutil.colors.magenta(liaBranch.branch))); if (liaBranch.branch.indexOf('release') > -1) { liaBranch = 'release/' + liaBranch.version; } else { // active branch liaBranch = 'develop'; } var ops = { name: custName, branch: liaBranch }; // now that we have template variables, run gulp.src merge( // merge sdk.conf.json gulp.src(['./sdk.conf.json', path.join(__dirname, '../templates/project-ng/sdk.conf.json')]) .pipe(extend('sdk.conf.json')) .pipe(gulp.dest('./')) .pipe(logFile()), // copy over everything else gulp.src([path.join(__dirname, '../templates/project-ng/**/*'), '!' + path.join(__dirname, '../templates/project-ng/sdk.conf.json')]) .pipe(template(ops)) .pipe(rename(function (path) { path.basename = path.basename.replace('_', ''); })) .pipe(gulp.dest('./')) .pipe(logFile()) ).on('end', function () { bowerInstall('./', function (code) { if (code === 0) { gutil.log(gutil.colors.green('Finished! You may now use angular in your sdk environment.')); cb(); } else { gutil.log(gutil.colors.red('Bower install failed')); cb(new Error('Bower install failed')); } }); }); });
gulp.task('i18n-compile', function() { var config = require('../config'); var gettext = require('gulp-angular-gettext'); var extend = require('gulp-extend'); var wrap = require('gulp-wrap'); var rename = require('gulp-rename'); return gulp.src(config.gettext.tmp + '/' + config.gettext.poSrc) // Stream PO translation files. .pipe(gettext.compile({format: 'json'})) // Compile to json .pipe(extend('.tmp.json')) // use .json extension for gulp-wrap to load json content .pipe(wrap( // Build the translation module using gulp-wrap and lodash.template '\'use strict\';\n\n' + 'angular.module(\'app.translations\', []).run(function (gettextCatalog) {\n' + '/* jshint -W100,-W109 */\n' + '<% var langs = Object.keys(contents); var i = langs.length; while (i--) {' + 'var lang = langs[i]; var translations = contents[lang]; %>'+ ' gettextCatalog.setStrings(\'<%= lang %>\', <%= JSON.stringify(translations, undefined, 2) %>);\n'+ '<% }; %>' + '/* jshint +W100,+W109 */\n' + '});')) .pipe(rename('translations.js')) // Rename to final javascript filename .pipe(gulp.dest(config.gettext.dest)); });
gulp.task('combine-rev-manifest', function() { return gulp.src([join(dest,'*-rev-manifest.json')]) .pipe(extend('combine-rev-manifest.json')) // gulp-extend .pipe(gulp.dest(join(dest, '..'))); });
gulp.task("language-is", (cb) => { gulp.src("src/**/*_IS.json") .pipe(extend("lang_is.json", true, "\t")) .pipe(gulp.dest(config.paths.target + "/")) .on("end", cb); });
function merge() { return gulp.src(['./rev-manifest.json', './dist/js/**/*.json']) .pipe(vinylPaths(del)) .pipe(extend('rev-manifest.json', true, 2)) .pipe(gulp.dest('.')); }
gulp.task('rev', ['rev-css'], function() { return gulp.src([ './public/assets/rev-manifest*.json']) .pipe(clean()) .pipe(extend('rev-manifest.json')) .pipe(gulp.dest('public/assets')); });
gulp.task('manifest', function (callback) { gulp.src(paths.manifest) .pipe(clean({ force: true })) .pipe(extend('manifest.json')) .pipe(gulp.dest('public/build')); });