Skip to content
Snippets Groups Projects
gulpfile.js 1.76 KiB
Newer Older
  • Learn to ignore specific revisions
  • // 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,
    };
    
    const parcel = {
        src: "./build/release/**",
        build: dir.build + "build/release/",
    };
    
    function clean() {
        return del(dir.build + "**", { force: true });
    }
    
    function copyPHP() {
        return gulp
            .src(php.src)
            .pipe(
                replace(
                    "$GLOBALS['build'] = 'debug';",
                    "$GLOBALS['build'] = 'release';"
                )
            )
            .pipe(gulp.dest(php.build));
    }
    
    function copyParcel() {
        return gulp.src(parcel.src).pipe(gulp.dest(parcel.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));
    }
    
    
    function copyDefaultSpace() {
        return gulp
            .src("datasets/space.json")
            .pipe(gulp.dest(dir.build + "datasets/"));
    }
    
    function copyEditorIcons() {
        return gulp
            .src("editor/images/**/*.png")
            .pipe(gulp.dest(dir.build + "editor/images/"));
    }
    
    
    function copyDatasetDefaultImages() {
        return gulp
    
            .src(["datasets/images/**/*.png", "datasets/images/**/*.jpg"])
            .pipe(gulp.dest(dir.build + "datasets/images/"));
    
    function copyBackground() {
        return gulp
            .src("backgrounds/background_4.jpg")
            .pipe(gulp.dest(dir.build + "backgrounds/"));
    }
    
    exports.build = gulp.series(
        clean,
        copyPHP,
        copyParcel,
        copyDefaultSpace,
        copyEditorIcons,
    
    Matthias Konitzny's avatar
    Matthias Konitzny committed
        copyBackground,
        zipBuild