Mercurial > nebulaweb3
comparison 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 |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:1d038bc9b3d2 |
---|---|
1 var gulp = require('gulp'), | |
2 sass = require('gulp-sass'), | |
3 livereload = require('gulp-livereload'), | |
4 php2html = require('gulp-php2html'), | |
5 ncp = require('ncp').ncp, | |
6 install = require('gulp-install'), | |
7 prettify = require('gulp-jsbeautifier'), | |
8 prettify2 = require('gulp-html-prettify'), | |
9 minify = require('gulp-html-minifier2'), | |
10 autoprefixer = require('gulp-autoprefixer'), | |
11 sourcemaps = require('gulp-sourcemaps'), | |
12 fs = require('fs'); | |
13 | |
14 | |
15 /****************** Dist Min Code ***************************/ | |
16 gulp.task('html',() => { | |
17 gulp.src('index.php') | |
18 .pipe(livereload()); | |
19 }); | |
20 | |
21 gulp.task('sass', () => { | |
22 gulp.src('./assets/scss/*.scss') | |
23 .pipe( sourcemaps.init() ) | |
24 .pipe(sass().on('error', sass.logError)) | |
25 .pipe(autoprefixer({ | |
26 browsers: ['last 2 versions'], | |
27 })) | |
28 .pipe( sourcemaps.write('') ) | |
29 .pipe( gulp.dest('assets/css') ) | |
30 .pipe(livereload()); | |
31 }); | |
32 /*********/ | |
33 | |
34 | |
35 /****************** Dist Min Code ***************************/ | |
36 gulp.task('dist',() => { | |
37 fs.mkdir( __dirname + '/dist', function(e) { | |
38 if(!e || (e && e.code === 'EEXIST')){ | |
39 gulp.start('dist-html'); | |
40 gulp.start('dist-node'); | |
41 gulp.start('dist-assets'); | |
42 } | |
43 }); | |
44 }); | |
45 | |
46 gulp.task('dist-html', () => { | |
47 gulp.src('./*.php') | |
48 .pipe( php2html() ) | |
49 .pipe( minify({ | |
50 collapseWhitespace: true, | |
51 }) ) | |
52 .pipe( prettify2() ) | |
53 .pipe(gulp.dest('./dist')); | |
54 }); | |
55 | |
56 gulp.task('dist-assets', () => { | |
57 fs.mkdir( __dirname + '/dist/assets/', function(e) { | |
58 if(!e || (e && e.code === 'EEXIST')){ | |
59 ncp('./assets/', './dist/assets', function(err) { | |
60 if (err) { | |
61 return console.error(err); | |
62 } | |
63 console.log('Copying assets done'); | |
64 }); | |
65 } | |
66 else { | |
67 console.log(e); | |
68 } | |
69 }); | |
70 fs.mkdir( __dirname + '/dist/email-templates/', function(e) { | |
71 if(!e || (e && e.code === 'EEXIST')){ | |
72 ncp('./email-templates/', './dist/email-templates/', function(err) { | |
73 if (err) { | |
74 return console.error(err); | |
75 } | |
76 console.log('Copying email templates done'); | |
77 }); | |
78 } | |
79 else { | |
80 console.log(e); | |
81 } | |
82 }); | |
83 ncp('./gulpfile.js', './dist/gulpfile.js', function(err) { | |
84 if (err) { | |
85 return console.error(err); | |
86 } | |
87 console.log('Copying gulpfile done'); | |
88 }); | |
89 }); | |
90 | |
91 gulp.task('dist-node', () => { | |
92 gulp.src( __dirname + '/package.json') | |
93 .pipe( gulp.dest('./dist') ) | |
94 .pipe( install({production: true}) ); | |
95 }); | |
96 /*********/ | |
97 | |
98 | |
99 /****************** Dist Min Code ***************************/ | |
100 gulp.task('dist-min',() => { | |
101 fs.mkdir( __dirname + '/dist-min', function(e) { | |
102 if(!e || (e && e.code === 'EEXIST')){ | |
103 gulp.start('dist-html-min'); | |
104 gulp.start('dist-node-min'); | |
105 gulp.start('dist-assets-min'); | |
106 } | |
107 }); | |
108 }); | |
109 | |
110 gulp.task('dist-html-min', () => { | |
111 gulp.src('./*.php') | |
112 .pipe( php2html() ) | |
113 .pipe( minify({ | |
114 collapseWhitespace: true, | |
115 }) ) | |
116 .pipe(gulp.dest('./dist-min')); | |
117 }); | |
118 | |
119 gulp.task('dist-assets-min', () => { | |
120 fs.mkdir( __dirname + '/dist-min/assets/', function(e) { | |
121 if(!e || (e && e.code === 'EEXIST')){ | |
122 ncp('./assets/', './dist-min/assets', function(err) { | |
123 if (err) { | |
124 return console.error(err); | |
125 } | |
126 console.log('Copying assets done'); | |
127 }); | |
128 } | |
129 else { | |
130 console.log(e); | |
131 } | |
132 }); | |
133 fs.mkdir( __dirname + '/dist-min/email-templates/', function(e) { | |
134 if(!e || (e && e.code === 'EEXIST')){ | |
135 ncp('./email-templates/', './dist-min/email-templates', function(err) { | |
136 if (err) { | |
137 return console.error(err); | |
138 } | |
139 console.log('Copying email templates done'); | |
140 }); | |
141 } | |
142 else { | |
143 console.log(e); | |
144 } | |
145 }); | |
146 ncp('./gulpfile.js', './dist-min/gulpfile.js', function(err) { | |
147 if (err) { | |
148 return console.error(err); | |
149 } | |
150 console.log('Copying gulpfile done'); | |
151 }); | |
152 }); | |
153 | |
154 gulp.task('dist-node-min', () => { | |
155 gulp.src( __dirname + '/package.json') | |
156 .pipe( gulp.dest('./dist-min') ) | |
157 .pipe( install({production: true}) ); | |
158 }); | |
159 /*********/ | |
160 | |
161 gulp.task('default', () => { | |
162 gulp.watch(['./**/*.scss', '!./node_modules/**'],{ interval: 500 } ,['sass']); | |
163 gulp.watch(['./**/*.{html,php,js}', '!./node_modules/**'], { interval: 500 } ,['html']); | |
164 livereload.listen(); | |
165 }); |