Skip to content
Snippets Groups Projects
gulpfile.js 1.23 KiB
Newer Older
// Gulp.js configuration
"use strict";

const gulp = require("gulp");
const replace = require("gulp-replace");
Matthias Konitzny's avatar
Matthias Konitzny committed
const zip = require("gulp-zip");
const del = require("del");

const dir = {
    src: ".",
    build: "./release/",
};

// PHP settings
const php = {
    src: [dir.src + "/**/*.php", "!node_modules/**", "!release/**"],
    build: dir.build,
};

    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));
Matthias Konitzny's avatar
Matthias Konitzny committed
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);