-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
81c46dc
commit df687c9
Showing
3 changed files
with
20,189 additions
and
4,980 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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; |
Oops, something went wrong.