|
1 | 1 | 'use strict';
|
| 2 | +var fs = require('fs'); |
| 3 | +var path = require('path'); |
| 4 | +var Promise = require('bluebird'); |
2 | 5 | var gulp = require('gulp');
|
3 | 6 | var babel = require('gulp-babel');
|
4 | 7 | var del = require('del');
|
@@ -31,3 +34,47 @@ gulp.task('build', cb => {
|
31 | 34 | cb
|
32 | 35 | );
|
33 | 36 | });
|
| 37 | + |
| 38 | +var processJson = function(src, dest, opt) { |
| 39 | + return new Promise((resolve, reject) => { |
| 40 | + // read file, strip all ejs conditionals, and parse as json |
| 41 | + fs.readFile(path.resolve(src), 'utf8', (err, data) => { |
| 42 | + if(err) return reject(err); |
| 43 | + |
| 44 | + var json = JSON.parse(data.replace(/<%(.*)%>/g, '')); |
| 45 | + |
| 46 | + // set properties |
| 47 | + json.name = opt.appName; |
| 48 | + json.version = opt.genVer; |
| 49 | + json.private = opt.private; |
| 50 | + |
| 51 | + // stringify json and write it to the destination |
| 52 | + fs.writeFile(path.resolve(dest), JSON.stringify(json, null, 2), err => { |
| 53 | + if(err) reject(err); |
| 54 | + else resolve(); |
| 55 | + }); |
| 56 | + }); |
| 57 | + }); |
| 58 | +}; |
| 59 | + |
| 60 | +function updateFixtures(target) { |
| 61 | + const deps = target === 'deps'; |
| 62 | + const genVer = require('./package.json').version; |
| 63 | + const dest = __dirname + (deps ? '/angular-fullstack-deps/' : '/test/fixtures/'); |
| 64 | + const appName = deps ? 'angular-fullstack-deps' : 'tempApp'; |
| 65 | + |
| 66 | + return Promise.all([ |
| 67 | + processJson('templates/app/_package.json', dest + 'package.json', {appName, genVer, private: !!deps}), |
| 68 | + processJson('templates/app/_bower.json', dest + 'bower.json', {appName, genVer, private: !!deps}) |
| 69 | + ]); |
| 70 | +} |
| 71 | + |
| 72 | +gulp.task('updateFixtures', cb => { |
| 73 | + return runSequence(['updateFixtures:test', 'updateFixtures:deps'], cb); |
| 74 | +}); |
| 75 | +gulp.task('updateFixtures:test', () => { |
| 76 | + return updateFixtures('test'); |
| 77 | +}); |
| 78 | +gulp.task('updateFixtures:deps', () => { |
| 79 | + return updateFixtures('deps'); |
| 80 | +}); |
0 commit comments