Newer
Older
// Gulp.js configuration
"use strict";
const gulp = require("gulp");
const replace = require("gulp-replace");
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: dir.build,
};

Matthias Konitzny
committed
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));
}

Matthias Konitzny
committed
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));
}

Matthias Konitzny
committed
exports.build = gulp.series(clean, copyPHP, copyWebpackContent, zipBuild);