// 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);