Skip to content

Commit 34efb60

Browse files
committed
add js minify pipeline
1 parent 9a711da commit 34efb60

File tree

4 files changed

+112
-17
lines changed

4 files changed

+112
-17
lines changed

gulpfile.js

+24-14
Original file line numberDiff line numberDiff line change
@@ -4,36 +4,46 @@ const browserSync = require("browser-sync");
44
const postcss = require("gulp-postcss");
55
const php = require('gulp-connect-php');
66

7+
const minify = require('gulp-minify');
8+
79
const paths = [
810
"site/**/*.php",
911
"site/**/*.css",
12+
"site/**/*.js",
1013
"tailwind.config.json",
1114
"content/**/*.txt",
1215
]
1316

17+
1418
// -------------------------------------
1519
// Task for compiling our CSS files using PostCSS
1620
// -------------------------------------
17-
gulp.task('reload', function (cb) {
18-
browserSync.reload();
19-
return cb();
20-
});
21-
2221
gulp.task('postcss', function (cb) {
23-
return gulp.src("./site/tailwind/*.css") // read .css files from ./site/tailwind folder
22+
return gulp.src("./site/tailwind/*.css") // read .css files from ./src/ folder
2423
.pipe(postcss()) // compile using postcss
2524
.pipe(gulp.dest("./public/assets/css")) // paste them in ./assets/css folder
2625
.pipe(browserSync.stream());
2726
return cb();
2827
});
2928

29+
3030
// -------------------------------------
31-
// Task for minifying images
31+
// Bundle JavaScript
3232
// -------------------------------------
33-
gulp.task('reload', function (cb) {
34-
browserSync.reload();
35-
return cb();
36-
});
33+
gulp.task('js-compress', function() {
34+
return gulp.src('site/js/*.js')
35+
.pipe(minify({
36+
ext: {
37+
// src:'-debug.js',
38+
min:'.min.js'
39+
},
40+
noSource: true,
41+
exclude: ['d3'],
42+
ignoreFiles: ['d3.js', '-min.js']
43+
}))
44+
.pipe(gulp.dest('./public/assets/js/dist'))
45+
});
46+
3747

3848
// -------------------------------------
3949
// Reloading in Browser
@@ -60,7 +70,7 @@ gulp.task('connect', function (done) {
6070
notify: false,
6171
});
6272
});
63-
gulp.watch(paths, { usePolling: true }, gulp.series(gulp.parallel('postcss'), 'reload'))
73+
gulp.watch(paths, { usePolling: true }, gulp.series(gulp.parallel('postcss', 'js-compress'), 'reload'))
6474
return done();
6575
});
6676

@@ -80,10 +90,10 @@ gulp.task('clean', function () {
8090
// -------------------------------------
8191
// Task: default
8292
// -------------------------------------
83-
gulp.task('default', gulp.series(gulp.parallel('postcss' /*, 'images'*/), 'connect'));
93+
gulp.task('default', gulp.series(gulp.parallel('postcss', 'js-compress'), 'connect'));
8494

8595

8696
// -------------------------------------
8797
// Task: build
8898
// -------------------------------------
89-
gulp.task('build', gulp.series('clean', gulp.parallel('postcss' /*, 'images'*/)));
99+
gulp.task('build', gulp.series('clean', gulp.parallel('postcss', 'js-compress')));

package.json

+1
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
"gulp": "^4.0.2",
1919
"gulp-connect-php": "^1.0.3",
2020
"gulp-postcss": "^9.0.0",
21+
"gulp-minify": "^3.1.0",
2122
"postcss": "^8.4.6",
2223
"postcss-cli": "^8.3.1",
2324
"postcss-import": "^15.1.0",

site/js/index.html

Whitespace-only changes.

yarn.lock

+87-3
Original file line numberDiff line numberDiff line change
@@ -87,13 +87,27 @@ ansi-colors@^1.0.1:
8787
dependencies:
8888
ansi-wrap "^0.1.0"
8989

90+
ansi-cyan@^0.1.1:
91+
version "0.1.1"
92+
resolved "https://registry.yarnpkg.com/ansi-cyan/-/ansi-cyan-0.1.1.tgz#538ae528af8982f28ae30d86f2f17456d2609873"
93+
integrity sha512-eCjan3AVo/SxZ0/MyIYRtkpxIu/H3xZN7URr1vXVrISxeyz8fUFz0FJziamK4sS8I+t35y4rHg1b2PklyBe/7A==
94+
dependencies:
95+
ansi-wrap "0.1.0"
96+
9097
ansi-gray@^0.1.1:
9198
version "0.1.1"
9299
resolved "https://registry.yarnpkg.com/ansi-gray/-/ansi-gray-0.1.1.tgz#2962cf54ec9792c48510a3deb524436861ef7251"
93100
integrity sha512-HrgGIZUl8h2EHuZaU9hTR/cU5nhKxpVE1V6kdGsQ8e4zirElJ5fvtfc8N7Q1oq1aatO275i8pUFUCpNWCAnVWw==
94101
dependencies:
95102
ansi-wrap "0.1.0"
96103

104+
ansi-red@^0.1.1:
105+
version "0.1.1"
106+
resolved "https://registry.yarnpkg.com/ansi-red/-/ansi-red-0.1.1.tgz#8c638f9d1080800a353c9c28c8a81ca4705d946c"
107+
integrity sha512-ewaIr5y+9CUTGFwZfpECUbFlGcC0GCw1oqR9RI6h1gQCd9Aj2GxSckCnPsVJnmfMZbwFYE+leZGASgkWl06Jow==
108+
dependencies:
109+
ansi-wrap "0.1.0"
110+
97111
ansi-regex@^2.0.0:
98112
version "2.1.1"
99113
resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df"
@@ -154,6 +168,14 @@ arg@^5.0.1:
154168
resolved "https://registry.yarnpkg.com/arg/-/arg-5.0.1.tgz#eb0c9a8f77786cad2af8ff2b862899842d7b6adb"
155169
integrity sha512-e0hDa9H2Z9AwFkk2qDlwhoMYE4eToKarchkQHovNdLTCYMHZHeRjI71crOh+dio4K6u1IcwubQqo79Ga4CyAQA==
156170

171+
arr-diff@^1.0.1:
172+
version "1.1.0"
173+
resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-1.1.0.tgz#687c32758163588fef7de7b36fabe495eb1a399a"
174+
integrity sha512-OQwDZUqYaQwyyhDJHThmzId8daf4/RFNLaeh3AevmSeZ5Y7ug4Ga/yKc6l6kTZOBW781rCj103ZuTh8GAsB3+Q==
175+
dependencies:
176+
arr-flatten "^1.0.1"
177+
array-slice "^0.2.3"
178+
157179
arr-diff@^4.0.0:
158180
version "4.0.0"
159181
resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520"
@@ -178,6 +200,11 @@ arr-map@^2.0.0, arr-map@^2.0.2:
178200
dependencies:
179201
make-iterator "^1.0.0"
180202

203+
arr-union@^2.0.1:
204+
version "2.1.0"
205+
resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-2.1.0.tgz#20f9eab5ec70f5c7d215b1077b1c39161d292c7d"
206+
integrity sha512-t5db90jq+qdgk8aFnxEkjqta0B/GHrM1pxzuuZz2zWsOXc5nKu3t+76s/PQBA8FTcM/ipspIH9jWG4OxCBc2eA==
207+
181208
arr-union@^3.1.0:
182209
version "3.1.0"
183210
resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4"
@@ -208,6 +235,11 @@ array-last@^1.1.1:
208235
dependencies:
209236
is-number "^4.0.0"
210237

238+
array-slice@^0.2.3:
239+
version "0.2.3"
240+
resolved "https://registry.yarnpkg.com/array-slice/-/array-slice-0.2.3.tgz#dd3cfb80ed7973a75117cdac69b0b99ec86186f5"
241+
integrity sha512-rlVfZW/1Ph2SNySXwR9QYkChp8EkOEiTMO5Vwx60usw04i4nWemkm9RXmQqgkQFaLHsqLuADvjp6IfgL9l2M8Q==
242+
211243
array-slice@^1.0.0:
212244
version "1.1.0"
213245
resolved "https://registry.yarnpkg.com/array-slice/-/array-slice-1.1.0.tgz#e368ea15f89bc7069f7ffb89aec3a6c7d4ac22d4"
@@ -723,7 +755,7 @@ colord@^2.9.1:
723755
resolved "https://registry.yarnpkg.com/colord/-/colord-2.9.2.tgz#25e2bacbbaa65991422c07ea209e2089428effb1"
724756
integrity sha512-Uqbg+J445nc1TKn4FoDPS6ZZqAvEDnwrH42yo8B40JSOgSLxMZ/gt3h4nmCtPLQeXhjJJkqBx7SCY35WnIixaQ==
725757

726-
commander@^2.2.0:
758+
commander@^2.19.0, commander@^2.2.0:
727759
version "2.20.3"
728760
resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33"
729761
integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==
@@ -1282,6 +1314,13 @@ ext@^1.1.2:
12821314
dependencies:
12831315
type "^2.5.0"
12841316

1317+
extend-shallow@^1.1.2:
1318+
version "1.1.4"
1319+
resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-1.1.4.tgz#19d6bf94dfc09d76ba711f39b872d21ff4dd9071"
1320+
integrity sha512-L7AGmkO6jhDkEBBGWlLtftA80Xq8DipnrRPr0pyi7GQLXkaq9JYA4xF4z6qnadIC6euiTDKco0cGSU9muw+WTw==
1321+
dependencies:
1322+
kind-of "^1.1.0"
1323+
12851324
extend-shallow@^2.0.1:
12861325
version "2.0.1"
12871326
resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f"
@@ -1703,6 +1742,18 @@ gulp-connect-php@^1.0.3:
17031742
bin-version-check "^2.1.0"
17041743
opn "^1.0.0"
17051744

1745+
gulp-minify@^3.1.0:
1746+
version "3.1.0"
1747+
resolved "https://registry.yarnpkg.com/gulp-minify/-/gulp-minify-3.1.0.tgz#9ed9e09f6bfca64e99cd0427bc8e90d44e736770"
1748+
integrity sha512-ixF41aYg+NQikI8hpoHdEclYcQkbGdXQu1CBdHaU7Epg8H6e8d2jWXw1+rBPgYwl/XpKgjHj7NI6gkhoSNSSAg==
1749+
dependencies:
1750+
ansi-colors "^1.0.1"
1751+
minimatch "^3.0.2"
1752+
plugin-error "^0.1.2"
1753+
terser "^3.7.6"
1754+
through2 "^2.0.3"
1755+
vinyl "^2.1.0"
1756+
17061757
gulp-postcss@^9.0.0:
17071758
version "9.0.1"
17081759
resolved "https://registry.yarnpkg.com/gulp-postcss/-/gulp-postcss-9.0.1.tgz#d43caa2f2ce1018f889f7c1296faf82e9928b66f"
@@ -2147,6 +2198,11 @@ just-debounce@^1.0.0:
21472198
resolved "https://registry.yarnpkg.com/just-debounce/-/just-debounce-1.1.0.tgz#2f81a3ad4121a76bc7cb45dbf704c0d76a8e5ddf"
21482199
integrity sha512-qpcRocdkUmf+UTNBYx5w6dexX5J31AKK1OmPwH630a83DdVVUIngk55RSAiIGpQyoH0dlr872VHfPjnQnK1qDQ==
21492200

2201+
kind-of@^1.1.0:
2202+
version "1.1.0"
2203+
resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-1.1.0.tgz#140a3d2d41a36d2efcfa9377b62c24f8495a5c44"
2204+
integrity sha512-aUH6ElPnMGon2/YkxRIigV32MOpTVcoXQ1Oo8aYn40s+sJ3j+0gFZsT8HKDcxNy7Fi9zuquWtGaGAahOdv5p/g==
2205+
21502206
kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0:
21512207
version "3.2.2"
21522208
resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64"
@@ -2745,6 +2801,17 @@ pinkie@^2.0.0:
27452801
resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870"
27462802
integrity sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==
27472803

2804+
plugin-error@^0.1.2:
2805+
version "0.1.2"
2806+
resolved "https://registry.yarnpkg.com/plugin-error/-/plugin-error-0.1.2.tgz#3b9bb3335ccf00f425e07437e19276967da47ace"
2807+
integrity sha512-WzZHcm4+GO34sjFMxQMqZbsz3xiNEgonCskQ9v+IroMmYgk/tas8dG+Hr2D6IbRPybZ12oWpzE/w3cGJ6FJzOw==
2808+
dependencies:
2809+
ansi-cyan "^0.1.1"
2810+
ansi-red "^0.1.1"
2811+
arr-diff "^1.0.1"
2812+
arr-union "^2.0.1"
2813+
extend-shallow "^1.1.2"
2814+
27482815
plugin-error@^1.0.1:
27492816
version "1.0.1"
27502817
resolved "https://registry.yarnpkg.com/plugin-error/-/plugin-error-1.0.1.tgz#77016bd8919d0ac377fdcdd0322328953ca5781c"
@@ -3551,6 +3618,14 @@ source-map-resolve@^0.5.0:
35513618
source-map-url "^0.4.0"
35523619
urix "^0.1.0"
35533620

3621+
source-map-support@~0.5.10:
3622+
version "0.5.21"
3623+
resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f"
3624+
integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==
3625+
dependencies:
3626+
buffer-from "^1.0.0"
3627+
source-map "^0.6.0"
3628+
35543629
source-map-url@^0.4.0:
35553630
version "0.4.1"
35563631
resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.1.tgz#0af66605a745a5a2f91cf1bbf8a7afbc283dec56"
@@ -3561,7 +3636,7 @@ source-map@^0.5.1, source-map@^0.5.6:
35613636
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc"
35623637
integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=
35633638

3564-
source-map@^0.6.1:
3639+
source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.1:
35653640
version "0.6.1"
35663641
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263"
35673642
integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==
@@ -3791,6 +3866,15 @@ tailwindcss@^3.0.23:
37913866
quick-lru "^5.1.1"
37923867
resolve "^1.22.0"
37933868

3869+
terser@^3.7.6:
3870+
version "3.17.0"
3871+
resolved "https://registry.yarnpkg.com/terser/-/terser-3.17.0.tgz#f88ffbeda0deb5637f9d24b0da66f4e15ab10cb2"
3872+
integrity sha512-/FQzzPJmCpjAH9Xvk2paiWrFq+5M6aVOf+2KRbwhByISDX/EujxsK+BAvrhb6H+2rtrLCHK9N01wO014vrIwVQ==
3873+
dependencies:
3874+
commander "^2.19.0"
3875+
source-map "~0.6.1"
3876+
source-map-support "~0.5.10"
3877+
37943878
tfunk@^4.0.0:
37953879
version "4.0.0"
37963880
resolved "https://registry.yarnpkg.com/tfunk/-/tfunk-4.0.0.tgz#de9399feaf2060901d590b7faad80fcd5443077e"
@@ -4067,7 +4151,7 @@ vinyl-sourcemaps-apply@^0.2.1:
40674151
dependencies:
40684152
source-map "^0.5.1"
40694153

4070-
vinyl@^2.0.0:
4154+
vinyl@^2.0.0, vinyl@^2.1.0:
40714155
version "2.2.1"
40724156
resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-2.2.1.tgz#23cfb8bbab5ece3803aa2c0a1eb28af7cbba1974"
40734157
integrity sha512-LII3bXRFBZLlezoG5FfZVcXflZgWP/4dCwKtxd5ky9+LOtM4CS3bIRQsmR1KMnMW07jpE8fqR2lcxPZ+8sJIcw==

0 commit comments

Comments
 (0)