diff --git a/build/tasks/concats.js b/build/tasks/concats.js index 029e443..dff2949 100644 --- a/build/tasks/concats.js +++ b/build/tasks/concats.js @@ -95,7 +95,7 @@ export default async function concatFiles(globOptions = null, concatOptions = nu * Defaults to the outfile name. * @return {Promise} */ - loconfig.tasks.concats.forEach(async ({ + loconfig.tasks.concats?.forEach(async ({ includes, outfile, label = null diff --git a/build/tasks/scripts.js b/build/tasks/scripts.js index 2deaa5a..b0e4b94 100644 --- a/build/tasks/scripts.js +++ b/build/tasks/scripts.js @@ -65,7 +65,7 @@ export default async function compileScripts(esBuildOptions = null) { * @throws {TypeError} If outdir and outfile are missing. * @return {Promise} */ - loconfig.tasks.scripts.forEach(async ({ + loconfig.tasks.scripts?.forEach(async ({ includes, outdir = '', outfile = '', diff --git a/build/tasks/styles.js b/build/tasks/styles.js index e893b30..ae6b70e 100644 --- a/build/tasks/styles.js +++ b/build/tasks/styles.js @@ -111,7 +111,7 @@ export default async function compileStyles(sassOptions = null, postcssOptions = * Defaults to the outfile name. * @return {Promise} */ - loconfig.tasks.styles.forEach(async ({ + loconfig.tasks.styles?.forEach(async ({ infile, outfile, label = null @@ -216,15 +216,18 @@ export default async function compileStyles(sassOptions = null, postcssOptions = * @return {Promise} */ async function purgeUnusedCSS(outfile, label) { + const contentFiles = loconfig.tasks.purgeCSS?.content; + if (!Array.isArray(contentFiles) || !contentFiles.length) { + return; + } + label = label ?? basename(outfile); const timeLabel = `${label} purged in`; console.time(timeLabel); - const purgeCSSContentFiles = Array.from(loconfig.tasks.purgeCSS.content); - const purgeCSSResults = await (new PurgeCSS()).purge({ - content: purgeCSSContentFiles, + content: contentFiles, css: [ outfile ], rejected: true, defaultExtractor: (content) => content.match(/[a-z0-9_\-\\\/\@]+/gi) || [], diff --git a/build/tasks/svgs.js b/build/tasks/svgs.js index 1e140e7..86cc420 100644 --- a/build/tasks/svgs.js +++ b/build/tasks/svgs.js @@ -57,7 +57,7 @@ export default async function compileSVGs(mixerOptions = null) { * Defaults to the outfile name. * @return {Promise} */ - loconfig.tasks.svgs.forEach(async ({ + loconfig.tasks.svgs?.forEach(async ({ includes, outfile, label = null diff --git a/build/tasks/versions.js b/build/tasks/versions.js index 1162710..2625d91 100644 --- a/build/tasks/versions.js +++ b/build/tasks/versions.js @@ -111,7 +111,7 @@ export default async function bumpVersions(versionOptions = null) { * @param {?string|number} [entry.pretty] - The white space to use to format the JSON file. * @return {Promise} */ - loconfig.tasks.versions.forEach(({ + loconfig.tasks.versions?.forEach(({ outfile, label = null, ...options