diff options
-rwxr-xr-x | src/upd8.js | 82 | ||||
-rw-r--r-- | src/write/build-modes/live-dev-server.js | 4 | ||||
-rw-r--r-- | src/write/build-modes/static-build.js | 4 |
3 files changed, 62 insertions, 28 deletions
diff --git a/src/upd8.js b/src/upd8.js index 6105565c..19a12de4 100755 --- a/src/upd8.js +++ b/src/upd8.js @@ -285,6 +285,11 @@ async function main() { type: 'flag', }, + 'skip-media-validation': { + help: `Skips checking and reporting missing and misplaced media files, which isn't necessary if you aren't adding or removing data or updating directories`, + type: 'flag', + }, + // Just working on data entries and not interested in actually // generating site HTML yet? This flag will cut execution off right // 8efore any site 8uilding actually happens. @@ -641,6 +646,18 @@ async function main() { }, }); + fallbackStep('verifyImagePaths', { + default: 'perform', + buildConfig: 'skipMediaValidation', + cli: { + flag: 'skip-media-validation', + negate: true, + warning: + `Skipping media validation. If any media files are missing or misplaced,\n` + + `those errors will be silently passed along to the build.`, + }, + }); + fallbackStep('watchLanguageFiles', { default: 'perform', buildConfig: 'languageReloading', @@ -1555,37 +1572,46 @@ async function main() { const urls = generateURLs(urlSpec); - Object.assign(stepStatusSummary.verifyImagePaths, { - status: STATUS_STARTED_NOT_DONE, - timeStart: Date.now(), - }); - - const {missing: missingImagePaths, misplaced: misplacedImagePaths} = - await verifyImagePaths(mediaPath, {urls, wikiData}); + let missingImagePaths; - if (empty(missingImagePaths) && empty(misplacedImagePaths)) { - Object.assign(stepStatusSummary.verifyImagePaths, { - status: STATUS_DONE_CLEAN, - timeEnd: Date.now(), - }); - } else if (empty(missingImagePaths)) { - Object.assign(stepStatusSummary.verifyImagePaths, { - status: STATUS_HAS_WARNINGS, - annotation: `misplaced images detected`, - timeEnd: Date.now(), - }); - } else if (empty(misplacedImagePaths)) { + if (stepStatusSummary.verifyImagePaths.status === STATUS_NOT_APPLICABLE) { + missingImagePaths = []; + } else if (stepStatusSummary.verifyImagePaths.status === STATUS_NOT_STARTED) { Object.assign(stepStatusSummary.verifyImagePaths, { - status: STATUS_HAS_WARNINGS, - annotation: `missing images detected`, - timeEnd: Date.now(), - }); - } else { - Object.assign(stepStatusSummary.verifyImagePaths, { - status: STATUS_HAS_WARNINGS, - annotation: `missing and misplaced images detected`, - timeEnd: Date.now(), + status: STATUS_STARTED_NOT_DONE, + timeStart: Date.now(), }); + + const results = + await verifyImagePaths(mediaPath, {urls, wikiData}); + + missingImagePaths = results.missing; + const misplacedImagePaths = results.misplaced; + + if (empty(missingImagePaths) && empty(misplacedImagePaths)) { + Object.assign(stepStatusSummary.verifyImagePaths, { + status: STATUS_DONE_CLEAN, + timeEnd: Date.now(), + }); + } else if (empty(missingImagePaths)) { + Object.assign(stepStatusSummary.verifyImagePaths, { + status: STATUS_HAS_WARNINGS, + annotation: `misplaced images detected`, + timeEnd: Date.now(), + }); + } else if (empty(misplacedImagePaths)) { + Object.assign(stepStatusSummary.verifyImagePaths, { + status: STATUS_HAS_WARNINGS, + annotation: `missing images detected`, + timeEnd: Date.now(), + }); + } else { + Object.assign(stepStatusSummary.verifyImagePaths, { + status: STATUS_HAS_WARNINGS, + annotation: `missing and misplaced images detected`, + timeEnd: Date.now(), + }); + } } Object.assign(stepStatusSummary.preloadFileSizes, { diff --git a/src/write/build-modes/live-dev-server.js b/src/write/build-modes/live-dev-server.js index ecd1d954..0d16911a 100644 --- a/src/write/build-modes/live-dev-server.js +++ b/src/write/build-modes/live-dev-server.js @@ -30,6 +30,10 @@ export const config = { default: true, }, + mediaValidation: { + default: true, + }, + thumbs: { default: true, }, diff --git a/src/write/build-modes/static-build.js b/src/write/build-modes/static-build.js index bed24332..65fea6f1 100644 --- a/src/write/build-modes/static-build.js +++ b/src/write/build-modes/static-build.js @@ -42,6 +42,10 @@ export const config = { applicable: false, }, + mediaValidation: { + default: true, + }, + thumbs: { default: true, }, |