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