-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathgulpfile.js
77 lines (70 loc) · 2.26 KB
/
gulpfile.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
const licenseMini = `© 2018-2024 Ronan LE MEILLAT for Association Highcanfly`;
const licenseTxt = `=========================================================
* ${licenseMini}
=========================================================
This website use:
- Vite, Vue3, FontAwesome 6, TailwindCss 3
- Vue Notus theme from Creative Tim (MIT License)
- And many others`;
const licenseJS = `/*!
${licenseTxt}
*/`;
const licenseHTML = `<!--
${licenseTxt}
-->`;
import gulp from "gulp";
import gap from "gulp-append-prepend";
import noop from "gulp-noop";
import gulpif from "gulp-if";
const conditionAlreadyHaveLicense = function (file) {
// here file is a vinyl file
const match = file.contents.toString().match(licenseMini);
let ret = true
if (match !== null) {
//console.log(`Exclude ${file.path} ${match[0] === licenseMini}`)
return match[0] === licenseMini;
} else {
console.log(`No license in ${file.path}`)
return false;
}
};
gulp.task("licensesSrc", async function () {
// this is to add Copyright ifor the source js
gulp
.src(
[
"*.cjs",
"*.js",
"*.ts",
"src/**/*.js",
"functions/**/*.js",
"functions/**/*.ts",
"src/**/*.ts",
],
{ base: "./" }
)
.pipe(gulpif(conditionAlreadyHaveLicense,noop(),gap.prependText(licenseJS)))
.pipe(gulp.dest("./", { overwrite: true }));
// this is to add Copyright for the source html
gulp.src("src/**/*.vue", { base: "./" })
.pipe(gulpif(conditionAlreadyHaveLicense,noop(),gap.prependText(licenseHTML)))
.pipe(gulp.dest("./", { overwrite: true }));
});
gulp.task("licenses", async function () {
// this is to add Copyright in the production mode for the minified js
gulp
.src("dist/**/*.js", { base: "./" })
.pipe(gap.prependText(licenseJS))
.pipe(gulp.dest("./", { overwrite: true }));
// this is to add Copyright in the production mode for the minified html
gulp
.src("dist/index.html", { base: "./" })
.pipe(gap.prependText(licenseHTML))
.pipe(gulp.dest("./", { overwrite: true }));
// this is to add Copyright in the production mode for the minified css
gulp
.src("dist/**/*.css", { base: "./" })
.pipe(gap.prependText(licenseJS))
.pipe(gulp.dest("./", { overwrite: true }));
return;
});