Skip to content

Commit 02949f2

Browse files
committed
fix the ESM imports instead of require fix the uglify import rename gulpfile so it uses ESM version
1 parent 761806e commit 02949f2

3 files changed

Lines changed: 212 additions & 1 deletion

File tree

File renamed without changes.

gulpfile.mjs

Lines changed: 211 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,211 @@
1+
import gulp from 'gulp';
2+
import browserSync from 'browser-sync';
3+
import sass from 'gulp-sass';
4+
import * as dartSass from 'sass';
5+
import concat from 'gulp-concat';
6+
import fileinclude from 'gulp-file-include';
7+
import iconfont from 'gulp-iconfont';
8+
import nunjucksRender from 'gulp-nunjucks-render';
9+
import uglifyModule from 'gulp-uglify-es';
10+
import postcss from 'gulp-postcss';
11+
import cssnano from 'cssnano';
12+
13+
const bs = browserSync.create();
14+
const sassCompiler = sass(dartSass);
15+
const uglify = uglifyModule.default || uglifyModule;
16+
17+
// Compile sass into CSS & auto-inject into browsers
18+
gulp.task('sass', () => {
19+
return gulp
20+
.src(['assets/scss/style.scss'])
21+
.pipe(sassCompiler())
22+
.pipe(gulp.dest('build/assets/css'))
23+
.pipe(bs.stream());
24+
});
25+
26+
// Move the javascript files into our /src/js folder
27+
gulp.task('js', () => {
28+
return gulp
29+
.src([
30+
'assets/js/typed.js',
31+
'assets/js/glider.min.js',
32+
'assets/js/script.js',
33+
])
34+
.pipe(concat('scripts.min.js'))
35+
.pipe(gulp.dest('build/assets/js'))
36+
.pipe(bs.stream());
37+
});
38+
39+
// File include
40+
gulp.task('fileinclude', () => {
41+
return gulp
42+
.src(['html-dev/*.html'])
43+
.pipe(
44+
fileinclude({
45+
prefix: '@@',
46+
basepath: 'html-dev/',
47+
}),
48+
)
49+
.pipe(
50+
nunjucksRender({
51+
path: ['build'],
52+
}),
53+
)
54+
.pipe(gulp.dest('build'))
55+
.pipe(bs.stream());
56+
});
57+
58+
// File include for events
59+
gulp.task('eventsfileinclude', () => {
60+
return gulp
61+
.src(['html-dev/events/*.html'])
62+
.pipe(
63+
fileinclude({
64+
prefix: '@@',
65+
basepath: 'html-dev/events/',
66+
}),
67+
)
68+
.pipe(
69+
nunjucksRender({
70+
path: ['build'],
71+
}),
72+
)
73+
.pipe(gulp.dest('build/events'))
74+
.pipe(bs.stream());
75+
});
76+
77+
// Fonts
78+
gulp.task('fonts', () => {
79+
return gulp.src('assets/fonts/*').pipe(gulp.dest('build/assets/fonts'));
80+
});
81+
82+
// Iconfont
83+
gulp.task('Iconfont', () => {
84+
return gulp
85+
.src(['assets/img/icons/*.svg'])
86+
.pipe(
87+
iconfont({
88+
fontName: 'iconFont',
89+
prependUnicode: true,
90+
formats: ['ttf', 'eot', 'woff', 'svg'],
91+
normalize: true,
92+
fontWeight: '300',
93+
fontHeight: 100,
94+
fixedWidth: false,
95+
centerHorizontally: false,
96+
}),
97+
)
98+
.pipe(gulp.dest('build/assets/fonts/'));
99+
});
100+
101+
gulp.task('images', () => {
102+
return gulp.src('assets/img/**/*').pipe(gulp.dest('build/assets/img/'));
103+
});
104+
105+
gulp.task('copyFavicon', () => {
106+
return gulp.src('public/favicon.ico').pipe(gulp.dest('build'));
107+
});
108+
109+
// Static Server + watching scss/html files
110+
gulp.task(
111+
'serve',
112+
gulp.series(
113+
[
114+
'sass',
115+
'js',
116+
'fileinclude',
117+
'eventsfileinclude',
118+
'fonts',
119+
'Iconfont',
120+
'images',
121+
'copyFavicon'
122+
],
123+
() => {
124+
bs.init({
125+
server: './build',
126+
});
127+
128+
gulp.watch(['assets/scss/*.scss'], gulp.series('sass'));
129+
gulp.watch(['assets/js/*.js'], gulp.series('js'));
130+
gulp.watch(['html-dev/**/*.html'], gulp.series('fileinclude'));
131+
gulp.watch(['html-dev/events/*.html'], gulp.series('eventsfileinclude'));
132+
gulp.watch(['assets/fonts/*.*'], gulp.series('fonts'));
133+
gulp.watch(['assets/img/icons/*.svg'], gulp.series('Iconfont'));
134+
gulp.watch(['assets/img/**/*'], gulp.series('images'));
135+
},
136+
),
137+
);
138+
139+
gulp.task('default', gulp.parallel('serve'));
140+
141+
// build for prod
142+
143+
gulp.task('sassbuild', () => {
144+
return gulp
145+
.src(['assets/scss/style.scss'])
146+
.pipe(sassCompiler())
147+
.pipe(postcss([cssnano()]))
148+
.pipe(gulp.dest('build/assets/css'));
149+
});
150+
151+
gulp.task('jsbuild', () => {
152+
return gulp
153+
.src([
154+
'assets/js/typed.js',
155+
'assets/js/glider.min.js',
156+
'assets/js/script.js',
157+
])
158+
.pipe(concat('scripts.min.js'))
159+
.pipe(uglify())
160+
.pipe(gulp.dest('build/assets/js'));
161+
});
162+
163+
gulp.task('fileincludebuild', () => {
164+
return gulp
165+
.src(['html-dev/*.html'])
166+
.pipe(
167+
fileinclude({
168+
prefix: '@@',
169+
basepath: 'html-dev/',
170+
}),
171+
)
172+
.pipe(
173+
nunjucksRender({
174+
path: ['build'],
175+
}),
176+
)
177+
.pipe(gulp.dest('build'));
178+
});
179+
180+
gulp.task('eventsfileincludebuild', () => {
181+
return gulp
182+
.src(['html-dev/events/*.html'])
183+
.pipe(
184+
fileinclude({
185+
prefix: '@@',
186+
basepath: 'html-dev/events/',
187+
}),
188+
)
189+
.pipe(
190+
nunjucksRender({
191+
path: ['build'],
192+
}),
193+
)
194+
.pipe(gulp.dest('build/events'));
195+
});
196+
197+
gulp.task(
198+
'servebuild',
199+
gulp.series([
200+
'sassbuild',
201+
'jsbuild',
202+
'fileincludebuild',
203+
'eventsfileincludebuild',
204+
'fonts',
205+
'Iconfont',
206+
'images',
207+
'copyFavicon',
208+
]),
209+
);
210+
211+
gulp.task('build', gulp.parallel('servebuild'));

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"name": "kottans.github.io",
33
"author": "bitbybit",
44
"version": "1.0.0",
5-
"main": "gulpfile.js",
5+
"main": "gulpfile.mjs",
66
"scripts": {
77
"ghpages": "git subtree push --prefix build origin gh-pages",
88
"build": "gulp build",

0 commit comments

Comments
 (0)