From 91109c5221252ef783d1f1971edaa86f2ba23099 Mon Sep 17 00:00:00 2001 From: Chauncey McAskill Date: Thu, 16 Sep 2021 18:05:31 -0400 Subject: [PATCH] Refactor concat.js Changed: - Replaced "fs" callback API with "fs/promises" promise API to centralize catching of errors and easier readability of file. - Prefixed "fs/promises" with 'node:' URI scheme to target Node.js builtin modules. --- build/concat.js | 36 ++++++++++++++---------------------- 1 file changed, 14 insertions(+), 22 deletions(-) diff --git a/build/concat.js b/build/concat.js index 8712652..5249f14 100644 --- a/build/concat.js +++ b/build/concat.js @@ -2,7 +2,7 @@ import paths from '../mconfig.json'; import message from './utils/message.js'; import notification from './utils/notification.js'; import concat from 'concat'; -import fs from 'fs'; +import { readdir } from 'node:fs/promises'; /** * Concatenates third-party JavaScript files. @@ -18,17 +18,9 @@ export async function concatVendors() { const timeLabel = `${filename} concatenated in`; console.time(timeLabel); - // Get all files in `scripts/vendors/` - fs.readdir(paths.scripts.vendors.src, (err, files) => { - if (err) { - message(`Error preparing ${filename}`, 'error'); - message(err); - - notification({ - title: `${filename} concatenation failed 🚨`, - message: `${err.name}: ${e.message}` - }); - } + try { + // Get all files in `scripts/vendors/` + let files = await readdir(paths.scripts.vendors.src); if (files.length) { // Exclude files that are not JavaScript @@ -42,16 +34,16 @@ export async function concatVendors() { files = files.concat(external); } - concat(files, outfile).then(() => { - message(`${filename} concatenated`, 'success', timeLabel); - }).catch((err) => { - message(`Error concatenating ${filename}`, 'error'); - message(err); + await concat(files, outfile); - notification({ - title: `${filename} concatenation failed 🚨`, - message: `${err.name}: ${err.message}` - }); + message(`${filename} concatenated`, 'success', timeLabel); + } catch (err) { + message(`Error concatenating ${filename}`, 'error'); + message(err); + + notification({ + title: `${filename} concatenation failed 🚨`, + message: `${err.name}: ${err.message}` }); - }); + } };