-
Matthias Konitzny authoredMatthias Konitzny authored
gulpfile.js 1.28 KiB
// Gulp.js configuration
"use strict";
const gulp = require("gulp");
const replace = require("gulp-replace");
const zip = require("gulp-zip");
const del = require("del");
const fs = require("fs");
const dir = {
src: ".",
build: "./release/",
};
// PHP settings
const php = {
src: [
dir.src + "/**/*.php",
"!node_modules/**",
"!release/**",
"!build/**",
],
build: dir.build,
};
const webpack = {
src: "./build/release/**",
build: dir.build + "build/release/",
};
function clean() {
return del(dir.build + "**", { force: true });
}
function copyPHP() {
const { version } = JSON.parse(fs.readFileSync("package.json"));
return gulp
.src(php.src)
.pipe(
replace(
"$GLOBALS['build'] = 'debug';",
"$GLOBALS['build'] = 'release';"
)
)
.pipe(replace("Version: 1.0", `Version: ${version}`))
.pipe(gulp.dest(php.build));
}
function copyWebpackContent() {
return gulp.src(webpack.src).pipe(gulp.dest(webpack.build));
}
function zipBuild() {
return gulp
.src(dir.build + "**")
.pipe(zip("knowledge-space.zip"))
.pipe(gulp.dest(dir.build));
}
exports.build = gulp.series(clean, copyPHP, copyWebpackContent, zipBuild);