diff default/gulpfile.js @ 0:1d038bc9b3d2 default tip

Up:default
author Liny <dev@neowd.com>
date Sat, 31 May 2025 09:21:51 +0800
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/default/gulpfile.js	Sat May 31 09:21:51 2025 +0800
@@ -0,0 +1,165 @@
+var gulp = require('gulp'),
+    sass = require('gulp-sass'),
+    livereload = require('gulp-livereload'),
+    php2html = require('gulp-php2html'),
+    ncp = require('ncp').ncp,
+    install = require('gulp-install'),
+    prettify = require('gulp-jsbeautifier'),
+    prettify2 = require('gulp-html-prettify'),
+    minify = require('gulp-html-minifier2'),
+    autoprefixer = require('gulp-autoprefixer'),
+    sourcemaps = require('gulp-sourcemaps'),
+    fs = require('fs');
+
+
+/****************** Dist Min Code ***************************/
+gulp.task('html',() => {
+  gulp.src('index.php')
+  .pipe(livereload());
+});
+
+gulp.task('sass', () => {
+	gulp.src('./assets/scss/*.scss')
+  .pipe( sourcemaps.init() )
+	.pipe(sass().on('error', sass.logError))
+  .pipe(autoprefixer({
+    browsers: ['last 2 versions'],
+  }))
+  .pipe( sourcemaps.write('') )
+	.pipe( gulp.dest('assets/css') )
+	.pipe(livereload());
+});
+/*********/
+
+
+/****************** Dist Min Code ***************************/
+gulp.task('dist',() => {
+  fs.mkdir( __dirname + '/dist', function(e) {
+    if(!e || (e && e.code === 'EEXIST')){
+      gulp.start('dist-html');
+      gulp.start('dist-node');
+      gulp.start('dist-assets');
+    }
+  });
+});
+
+gulp.task('dist-html', () => {
+  gulp.src('./*.php')
+      .pipe( php2html() )
+      .pipe( minify({
+        collapseWhitespace: true,
+      }) )
+      .pipe( prettify2() )
+      .pipe(gulp.dest('./dist'));
+});
+
+gulp.task('dist-assets', () => {
+  fs.mkdir( __dirname + '/dist/assets/', function(e) {
+    if(!e || (e && e.code === 'EEXIST')){
+      ncp('./assets/', './dist/assets', function(err) {
+        if (err) {
+          return console.error(err);
+        }
+        console.log('Copying assets done');
+      });
+    }
+    else {
+      console.log(e);
+    }
+  });
+  fs.mkdir( __dirname + '/dist/email-templates/', function(e) {
+    if(!e || (e && e.code === 'EEXIST')){
+      ncp('./email-templates/', './dist/email-templates/', function(err) {
+        if (err) {
+          return console.error(err);
+        }
+        console.log('Copying email templates done');
+      });
+    }
+    else {
+      console.log(e);
+    }
+  });
+  ncp('./gulpfile.js', './dist/gulpfile.js', function(err) {
+    if (err) {
+      return console.error(err);
+    }
+    console.log('Copying gulpfile done');
+  });
+});
+
+gulp.task('dist-node', () => {
+  gulp.src( __dirname + '/package.json')
+      .pipe( gulp.dest('./dist') )
+      .pipe( install({production: true}) );
+});
+/*********/
+
+
+/****************** Dist Min Code ***************************/
+gulp.task('dist-min',() => {
+  fs.mkdir( __dirname + '/dist-min', function(e) {
+    if(!e || (e && e.code === 'EEXIST')){
+      gulp.start('dist-html-min');
+      gulp.start('dist-node-min');
+      gulp.start('dist-assets-min');
+    }
+  });
+});
+
+gulp.task('dist-html-min', () => {
+  gulp.src('./*.php')
+      .pipe( php2html() )
+      .pipe( minify({
+        collapseWhitespace: true,
+      }) )
+      .pipe(gulp.dest('./dist-min'));
+});
+
+gulp.task('dist-assets-min', () => {
+  fs.mkdir( __dirname + '/dist-min/assets/', function(e) {
+    if(!e || (e && e.code === 'EEXIST')){
+      ncp('./assets/', './dist-min/assets', function(err) {
+        if (err) {
+          return console.error(err);
+        }
+        console.log('Copying assets done');
+      });
+    }
+    else {
+      console.log(e);
+    }
+  });
+  fs.mkdir( __dirname + '/dist-min/email-templates/', function(e) {
+    if(!e || (e && e.code === 'EEXIST')){
+      ncp('./email-templates/', './dist-min/email-templates', function(err) {
+        if (err) {
+          return console.error(err);
+        }
+        console.log('Copying email templates done');
+      });
+    }
+    else {
+      console.log(e);
+    }
+  });
+  ncp('./gulpfile.js', './dist-min/gulpfile.js', function(err) {
+    if (err) {
+      return console.error(err);
+    }
+    console.log('Copying gulpfile done');
+  });
+});
+
+gulp.task('dist-node-min', () => {
+  gulp.src( __dirname + '/package.json')
+      .pipe( gulp.dest('./dist-min') )
+      .pipe( install({production: true}) );
+});
+/*********/
+
+gulp.task('default', () => {
+	gulp.watch(['./**/*.scss', '!./node_modules/**'],{ interval: 500 } ,['sass']);
+  gulp.watch(['./**/*.{html,php,js}', '!./node_modules/**'], { interval: 500 } ,['html']);
+	livereload.listen();
+});