Skip to content

Commit

Permalink
Upgrade gulp
Browse files Browse the repository at this point in the history
  • Loading branch information
ava-cassiopeia committed Jan 11, 2022
1 parent 81c46dc commit df687c9
Show file tree
Hide file tree
Showing 3 changed files with 20,189 additions and 4,980 deletions.
122 changes: 73 additions & 49 deletions gulpfile.js
Original file line number Diff line number Diff line change
@@ -1,65 +1,89 @@
const gulp = require('gulp-param')(require('gulp'), process.argv);;
const sass = require("gulp-sass");
const zip = require("gulp-zip");
const gulp = require("gulp");
const sass = require("gulp-sass")(require("node-sass"));
const webpackStream = require("webpack-stream");
const webpack2 = require("webpack");
const uglify = require("gulp-uglify");
const zip = require("gulp-zip");
const clean = require("gulp-clean");
const webpack2 = require("webpack");
const webpackStream = require("webpack-stream");
const args = require("really-simple-args")();

var path = require("path");
const OUTPUT_DIR = "dist";

gulp.task("default", ["build-css", "build-js"]);
const JS_SRCS = ["src/javascript/*.js", "src/javascript/**/*.js"];
const CSS_SRCS = ["src/sass/*.scss", "src/sass/**/*.scss"];

gulp.task("build-css", function() {
return gulp.src(["src/sass/*.scss", "src/sass/**/*.scss"])
.pipe(sass({
outputStyle: "compressed"
}))
.pipe(gulp.dest("dist/css/"));
});
/**
* =============================================================================
* | DEV BUILDS
* =============================================================================
*/

gulp.task("build-js", function() {
return gulp.src(["src/javascript/*.js", "src/javascript/**/*.js"])
.pipe(webpackStream(require("./webpack.config.js"), webpack2))
.pipe(uglify())
.pipe(gulp.dest("dist/js/"));
});
function buildCSS() {
return gulp.src(CSS_SRCS)
.pipe(sass({
outputStyle: "compressed"
}))
.pipe(gulp.dest(`${OUTPUT_DIR}/css/`));
}

gulp.task("watch", function() {
gulp.watch(["src/sass/*.scss", "src/sass/**/*.scss"], ["build-css"]);
gulp.watch(["src/javascript/*/js", "src/javascript/**/*.js"], ["build-js"]);
});
function buildJS() {
return gulp.src(JS_SRCS)
.pipe(webpackStream(require("./webpack.config.js"), webpack2))
.pipe(uglify())
.pipe(gulp.dest(`${OUTPUT_DIR}/js/`));
}

function watch() {
gulp.watch(CSS_SRCS, buildCSS);
gulp.watch(JS_SRCS, buildJS);
}

/**
* RELEASE TOOLS
* =============================================================================
* | RELEASES
* =============================================================================
*/

gulp.task("build-release", ["prepare-release"], function(version) {
if(!version) {
version = "unknown";
}
function buildRelease() {
let version = "";
if(args.hasParameter("version")) {
version = args.getParameter("version");
} else {
version = require("./package.json").version;
}

const releaseName = `simple-switch_v${version}.zip`;

const releaseName = "simple-switch_v" + version + ".zip";
return gulp.src(["release/*", "release/**/*"])
.pipe(zip(releaseName))
.pipe(gulp.dest("releases/"));
}

return gulp.src(["release/*", "release/**/*"])
.pipe(zip(releaseName))
.pipe(gulp.dest("releases/"));
});
function prepareRelease() {
return gulp.src(["dist/*", "dist/**/*"])
.pipe(gulp.dest("release/"));
}

gulp.task("prepare-release", ["build-css", "build-js", "release-sass"], function() {
return gulp.src(["dist/*", "dist/**/*"])
.pipe(gulp.dest("release/"));
});
function prepareReleaseSass() {
return gulp.src(CSS_SRCS)
.pipe(gulp.dest("dist/sass/"));
}

gulp.task("release-sass", function() {
return gulp.src(["src/sass/*.scss", "src/sass/**/*.scss"])
.pipe(gulp.dest("dist/sass/"));
});
function cleanBuildArtifacts() {
return gulp.src([
"dist/",
"release/",
"releases/"
]).pipe(clean());
}

gulp.task("clean", function() {
return gulp.src([
"dist/",
"release/",
"releases/"
]).pipe(clean());
});
exports.default = gulp.parallel(buildCSS, buildJS);
exports.buildCSS = buildCSS;
exports.buildJS = buildJS;
exports.watch = watch;
exports.buildRelease = gulp.series(
gulp.parallel(buildCSS, buildJS, prepareReleaseSass),
prepareRelease,
buildRelease,
);
exports.clean = cleanBuildArtifacts;
Loading

0 comments on commit df687c9

Please sign in to comment.