2024-04-24 21:30:01 +00:00
|
|
|
import gulp from "gulp";
|
2024-04-25 02:19:31 +00:00
|
|
|
import webpack from "webpack";
|
2022-12-03 04:23:18 +00:00
|
|
|
import { BUILD_VARIANTS } from "./build_variants.js";
|
2024-04-25 02:19:31 +00:00
|
|
|
import { buildFolder } from "./config.js";
|
2020-05-09 14:45:23 +00:00
|
|
|
|
2022-12-03 04:23:18 +00:00
|
|
|
import webpackConfig from "./webpack.config.js";
|
|
|
|
|
import webpackProductionConfig from "./webpack.production.config.js";
|
|
|
|
|
|
|
|
|
|
import webpackStream from "webpack-stream";
|
|
|
|
|
import gulpRename from "gulp-rename";
|
2020-05-09 14:45:23 +00:00
|
|
|
|
2022-06-06 12:06:09 +00:00
|
|
|
/**
|
|
|
|
|
* PROVIDES (per <variant>)
|
|
|
|
|
*
|
|
|
|
|
* js.<variant>.dev.watch
|
|
|
|
|
* js.<variant>.dev
|
|
|
|
|
* js.<variant>.prod
|
|
|
|
|
*
|
|
|
|
|
*/
|
|
|
|
|
|
2024-04-24 21:30:01 +00:00
|
|
|
//// DEV
|
2020-05-09 14:45:23 +00:00
|
|
|
|
2024-04-24 21:30:01 +00:00
|
|
|
export default Object.fromEntries(
|
|
|
|
|
Object.entries(BUILD_VARIANTS).map(([variant, data]) => {
|
|
|
|
|
function build() {
|
|
|
|
|
return gulp
|
|
|
|
|
.src("../src/js/main.js")
|
2024-04-25 02:19:31 +00:00
|
|
|
.pipe(webpackStream(webpackConfig, webpack))
|
2024-04-24 21:30:01 +00:00
|
|
|
.pipe(gulp.dest(buildFolder));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
const dev = {
|
|
|
|
|
build,
|
|
|
|
|
};
|
2022-06-06 12:06:09 +00:00
|
|
|
|
2024-04-24 21:30:01 +00:00
|
|
|
let prod;
|
2022-06-06 12:06:09 +00:00
|
|
|
if (!data.standalone) {
|
|
|
|
|
// WEB
|
|
|
|
|
|
2024-04-24 21:30:01 +00:00
|
|
|
function transpiled() {
|
2022-06-06 12:06:09 +00:00
|
|
|
return gulp
|
|
|
|
|
.src("../src/js/main.js")
|
2024-04-25 02:19:31 +00:00
|
|
|
.pipe(webpackStream(webpackProductionConfig, webpack))
|
2022-12-03 04:23:18 +00:00
|
|
|
.pipe(gulpRename("bundle-transpiled.js"))
|
2022-06-06 12:06:09 +00:00
|
|
|
.pipe(gulp.dest(buildFolder));
|
2024-04-24 21:30:01 +00:00
|
|
|
}
|
2022-06-06 12:06:09 +00:00
|
|
|
|
2024-04-24 21:30:01 +00:00
|
|
|
function es6() {
|
2022-06-06 12:06:09 +00:00
|
|
|
return gulp
|
|
|
|
|
.src("../src/js/main.js")
|
2024-04-25 02:19:31 +00:00
|
|
|
.pipe(webpackStream(webpackProductionConfig, webpack))
|
2022-06-06 12:06:09 +00:00
|
|
|
.pipe(gulp.dest(buildFolder));
|
2024-04-24 21:30:01 +00:00
|
|
|
}
|
2022-06-16 08:35:58 +00:00
|
|
|
|
2024-04-24 21:30:01 +00:00
|
|
|
prod = {
|
|
|
|
|
transpiled,
|
|
|
|
|
es6,
|
|
|
|
|
build:
|
|
|
|
|
// transpiled currently not used
|
|
|
|
|
// gulp.parallel("js." + variant + ".prod.transpiled", "js." + variant + ".prod.es6")
|
|
|
|
|
es6,
|
|
|
|
|
};
|
2022-06-06 12:06:09 +00:00
|
|
|
} else {
|
|
|
|
|
// STANDALONE
|
2024-04-24 21:30:01 +00:00
|
|
|
function build() {
|
2022-06-06 12:06:09 +00:00
|
|
|
return gulp
|
|
|
|
|
.src("../src/js/main.js")
|
2024-04-25 02:19:31 +00:00
|
|
|
.pipe(webpackStream(webpackProductionConfig, webpack))
|
2022-06-06 12:06:09 +00:00
|
|
|
.pipe(gulp.dest(buildFolder));
|
2024-04-24 21:30:01 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
prod = { build };
|
2022-06-06 12:06:09 +00:00
|
|
|
}
|
2024-04-24 21:30:01 +00:00
|
|
|
|
|
|
|
|
return [variant, { dev, prod }];
|
|
|
|
|
})
|
|
|
|
|
);
|