gulpfile.js 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. var gulp = require('gulp'),
  2. buildConfig = require('./build/config.js'),
  3. browserify = require("browserify"),
  4. babelify = require("babelify"),
  5. fs = require("fs"),
  6. eslint = require('gulp-eslint'),
  7. replace = require('gulp-replace'),
  8. uglify = require('gulp-uglify'),
  9. rename = require('gulp-rename'),
  10. del = require('del');
  11. gulp.task('version', ['minify'], function() {
  12. return gulp.src('dist/*.js')
  13. .pipe(replace('VERSION_STRING', buildConfig.versionData.version))
  14. .pipe(gulp.dest('dist'));
  15. });
  16. gulp.task('minify', ['build-bundle'], function() {
  17. return gulp.src('dist/*.js')
  18. .pipe(uglify())
  19. .pipe(rename(function(path) {
  20. path.basename += ".min";
  21. }))
  22. .pipe(gulp.dest('dist'));
  23. });
  24. gulp.task('build', ['version']);
  25. gulp.task('build-core-module', ['clean'], function() {
  26. var stream = null;
  27. browserify({
  28. 'entries': buildConfig.sourceFiles.core,
  29. 'debug': false,
  30. 'transform': [babelify]
  31. }).bundle()
  32. .on("error", function(err) { console.log("Error : " + err.message); })
  33. .pipe(stream = fs.createWriteStream(buildConfig.dist + "/core.js"));
  34. return stream;
  35. });
  36. gulp.task('build-push-module', ['build-core-module'], function() {
  37. return browserify({
  38. 'entries': buildConfig.sourceFiles.push,
  39. 'debug': false,
  40. 'transform': [babelify]
  41. }).bundle()
  42. .on("error", function(err) { console.log("Error : " + err.message); })
  43. .pipe(fs.createWriteStream(buildConfig.dist + "/push.js"));
  44. });
  45. gulp.task('build-deploy-module', ['build-push-module'], function() {
  46. return browserify({
  47. 'entries': buildConfig.sourceFiles.deploy,
  48. 'debug': false,
  49. 'transform': [babelify]
  50. }).bundle()
  51. .on("error", function(err) { console.log("Error : " + err.message); })
  52. .pipe(fs.createWriteStream(buildConfig.dist + "/deploy.js"));
  53. });
  54. gulp.task('build-analytics-module', ['build-deploy-module'], function() {
  55. return browserify({
  56. 'entries': buildConfig.sourceFiles.analytics,
  57. 'debug': false,
  58. 'transform': [babelify]
  59. }).bundle()
  60. .on("error", function(err) { console.log("Error : " + err.message); })
  61. .pipe(fs.createWriteStream(buildConfig.dist + "/analytics.js"));
  62. });
  63. gulp.task('test', function() {
  64. });
  65. gulp.task('build-bundle', ['clean'], function() {
  66. return browserify({
  67. 'entries': buildConfig.sourceFiles.bundle,
  68. 'debug': false,
  69. 'transform': [babelify]
  70. }).bundle()
  71. .on("error", function(err) { console.log("Error : " + err.message); })
  72. .pipe(fs.createWriteStream(buildConfig.dist + "/ionic.io.bundle.js"));
  73. });
  74. gulp.task('clean', ['lint'], function() {
  75. return del(['dist/**/*']);
  76. });
  77. gulp.task('lint', function() {
  78. return gulp.src(['gulpfile.js', 'src/**/*.js'])
  79. .pipe(eslint())
  80. .pipe(eslint.failOnError())
  81. .pipe(eslint.formatEach());
  82. });
  83. gulp.task('watch', ['build'], function() {
  84. gulp.watch(['src/**/*.js'], ['build']);
  85. });
  86. gulp.task('default', ['build']);