Skip to content

Commit 5d644e4

Browse files
Use es modules in gulpfile
1 parent 2b97141 commit 5d644e4

2 files changed

Lines changed: 28 additions & 34 deletions

File tree

Lines changed: 27 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,19 @@
1-
"use strict";
2-
const { bower: mergeBowerDeps, npm: mergeNpmDeps } = require("@userfrosting/merge-package-dependencies");
3-
const { config: envConfig } = require("dotenv");
4-
const { default: browserifyDependencies } = require("@userfrosting/browserify-dependencies");
5-
const { default: Bundler, ValidateRawConfig, MergeRawConfigs } = require("@userfrosting/gulp-bundle-assets");
6-
const { default: minifyJs } = require("gulp-uglify-es");
7-
const { execSync } = require("child_process");
8-
const { readFileSync, existsSync, writeFileSync } = require("fs");
9-
const { resolve: resolvePath, normalize: normalisePath } = require("path");
10-
const { src, dest, series } = require("gulp");
11-
const { sync: deleteSync } = require("del");
12-
const concatCss = require("gulp-concat-css");
13-
const concatJs = require("gulp-concat");
14-
const log = require("gulplog");
15-
const minifyCss = require("gulp-clean-css");
16-
const prune = require("gulp-prune");
17-
const rev = require("gulp-rev");
1+
import browserifyDependencies from "@userfrosting/browserify-dependencies";
2+
import Bundler, { MergeRawConfigs, ValidateRawConfig } from "@userfrosting/gulp-bundle-assets";
3+
import { bower as mergeBowerDeps, npm as mergeNpmDeps } from "@userfrosting/merge-package-dependencies";
4+
import { execSync } from "child_process";
5+
import { sync as deleteSync } from "del";
6+
import { config as envConfig } from "dotenv";
7+
import { existsSync, readFileSync, writeFileSync } from "fs";
8+
import gulp from "gulp";
9+
import minifyCss from "gulp-clean-css";
10+
import concatJs from "gulp-concat";
11+
import concatCss from "gulp-concat-css";
12+
import prune from "gulp-prune";
13+
import rev from "gulp-rev";
14+
import minifyJs from "gulp-uglify-es";
15+
import { info } from "gulplog";
16+
import { normalize as normalisePath, resolve as resolvePath } from "path";
1817

1918
// Load environment variables
2019
envConfig({ path: "../app/.env" });
@@ -29,9 +28,9 @@ const doILog = (process.env.UF_MODE === "dev");
2928
function Logger(message, source) {
3029
if (doILog) {
3130
if (source)
32-
log.info(`${source}: ${message}`);
31+
info(`${source}: ${message}`);
3332
else
34-
log.info(message);
33+
info(message);
3534
}
3635
}
3736

@@ -58,7 +57,7 @@ catch (error) {
5857
/**
5958
* Installs vendor assets. Mapped to npm script "uf-assets-install".
6059
*/
61-
async function assetsInstall() {
60+
export async function assetsInstall() {
6261
// Clean up any legacy assets
6362
if (deleteSync(legacyVendorAssetsGlob, { force: true }))
6463
Logger("Legacy frontend vendor assets were deleted. Frontend vendor assets are now installed to 'app/assets'.");
@@ -181,7 +180,7 @@ async function assetsInstall() {
181180
/**
182181
* Compiles frontend assets. Mapped to npm script "uf-bundle".
183182
*/
184-
function bundle() {
183+
export function bundle() {
185184
// Build sources list
186185
const sources = [];
187186
for (const sprinkle of sprinkles) {
@@ -308,7 +307,7 @@ function bundle() {
308307
// Write file
309308
Logger("Writing results file...");
310309
writeFileSync("./bundle.result.json", JSON.stringify(resultsObject));
311-
Logger("Done.")
310+
Logger("Finished writing results file.")
312311
};
313312

314313
// Logger adapter
@@ -322,40 +321,34 @@ function bundle() {
322321

323322
// Open stream
324323
Logger("Starting bundle process proper...");
325-
return src(sources, { sourcemaps: true })
324+
return gulp.src(sources, { sourcemaps: true })
326325
.pipe(new Bundler(rawConfig, bundleBuilder, bundleResults))
327326
.pipe(prune(publicAssetsDir))
328-
.pipe(dest(publicAssetsDir, { sourcemaps: "." }));
327+
.pipe(gulp.dest(publicAssetsDir, { sourcemaps: "." }));
329328
};
330329

331330
/**
332331
* Run all frontend tasks.
333332
*/
334-
const frontend = series(assetsInstall, bundle);
333+
export const frontend = gulp.series(assetsInstall, bundle);
335334

336335
/**
337336
* Clean vendor and public asset folders.
338337
* @param {() => {}} done Used to mark task completion.
339338
*/
340-
function clean(done) {
339+
export function clean(done) {
341340
try {
342341
Logger("Cleaning vendor assets...");
343342
deleteSync(vendorAssetsDir, { force: true });
344-
Logger("Done.");
343+
Logger("Finished cleaning vendor assets.");
345344

346345
Logger("Cleaning public assets...");
347346
deleteSync(publicAssetsDir, { force: true })
348-
Logger("Done.");
347+
Logger("Finsihed cleaning public assets.");
349348

350349
done();
351350
}
352351
catch (error) {
353352
done(error);
354353
}
355354
};
356-
357-
// Export public tasks
358-
exports.frontend = frontend;
359-
exports.assetsInstall = assetsInstall;
360-
exports.bundle = bundle;
361-
exports.clean = clean;

build/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
"@userfrosting/gulp-bundle-assets": "^3.0.0-rc.1",
66
"@userfrosting/merge-package-dependencies": "^1.2.1",
77
"bower": "^1.8.4",
8+
"esm": "^3.0.84",
89
"del": "^3.0.0",
910
"dotenv": "^6.2.0",
1011
"gulp": "^4.0.0",

0 commit comments

Comments
 (0)