-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathgulpfile.js
More file actions
69 lines (62 loc) · 2.13 KB
/
gulpfile.js
File metadata and controls
69 lines (62 loc) · 2.13 KB
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
const gulp = require("gulp");
const sass = require("gulp-sass")(require("sass"));
const postcss = require("gulp-postcss");
const autoprefixer = require("autoprefixer");
const sourcemaps = require("gulp-sourcemaps");
const plumber = require("gulp-plumber");
const gulpIf = require("gulp-if");
const rename = require("gulp-rename");
const path = require("path");
const isProd = process.env.NODE_ENV === "production";
const paths = {
entry: "backend/static/scss/main.scss",
tiptapAdmin: "backend/static/scss/tiptap_admin.scss",
scss: "backend/static/scss/**/*.scss",
outDir: "backend/static/css",
tiptapOutDir: "backend/static/djangocms_text/css",
};
function styles() {
return gulp
.src(paths.entry, { allowEmpty: true })
.pipe(gulpIf(!isProd, plumber()))
.pipe(gulpIf(!isProd, sourcemaps.init()))
.pipe(
sass.sync({
loadPaths: [
path.resolve(__dirname, "backend/static/scss"), // falls du lokal imports hast
],
quietDeps: true,
silenceDeprecations: ["import", "global-builtin"],
outputStyle: isProd ? "compressed" : "expanded",
}).on("error", sass.logError)
)
.pipe(postcss([autoprefixer()]))
.pipe(gulpIf(!isProd, sourcemaps.write(".")))
.pipe(gulp.dest(paths.outDir));
}
function tiptapAdminStyles() {
return gulp
.src(paths.tiptapAdmin, { allowEmpty: true })
.pipe(gulpIf(!isProd, plumber()))
.pipe(
sass.sync({
loadPaths: [
path.resolve(__dirname, "backend/static/scss"),
],
quietDeps: true,
silenceDeprecations: ["import", "global-builtin"],
outputStyle: "expanded",
}).on("error", sass.logError)
)
.pipe(postcss([autoprefixer()]))
.pipe(rename("tiptap.admin.css"))
.pipe(gulp.dest(paths.tiptapOutDir));
}
function watchFiles() {
gulp.watch(paths.scss, gulp.parallel(styles, tiptapAdminStyles));
}
const allStyles = gulp.parallel(styles, tiptapAdminStyles);
exports.styles = allStyles;
exports.watch = gulp.series(allStyles, watchFiles);
exports.build = gulp.series((done) => { process.env.NODE_ENV = "production"; done(); }, allStyles);
exports.default = exports.watch;