diff options
author | (quasar) nebula <qznebula@protonmail.com> | 2024-03-26 21:13:32 -0300 |
---|---|---|
committer | (quasar) nebula <qznebula@protonmail.com> | 2024-05-01 20:00:45 -0300 |
commit | cf47bb13a9a6713d94034e41d63e756d1f02a0f2 (patch) | |
tree | 098676b4d5fee194c7152cda7b5108247c2f0727 /src/upd8.js | |
parent | c3d3d65145105c15b1cfa69c927067de48a37862 (diff) |
web-routes: basic implementation
Diffstat (limited to 'src/upd8.js')
-rwxr-xr-x | src/upd8.js | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/src/upd8.js b/src/upd8.js index 96a1e9e..a1ef292 100755 --- a/src/upd8.js +++ b/src/upd8.js @@ -50,6 +50,7 @@ import {isMain, traverse} from '#node-utils'; import {sortByName} from '#sort'; import {empty, withEntries} from '#sugar'; import {generateURLs, urlSpec} from '#urls'; +import {identifyAllWebRoutes} from '#web-routes'; import {linkWikiDataArrays, loadAndProcessDataDocuments, sortWikiDataArrays} from '#yaml'; @@ -169,6 +170,9 @@ async function main() { preloadFileSizes: {...defaultStepStatus, name: `preload file sizes`}, + identifyWebRoutes: + {...defaultStepStatus, name: `identify web routes`}, + performBuild: {...defaultStepStatus, name: `perform selected build mode`}, }; @@ -659,6 +663,11 @@ async function main() { }, }); + fallbackStep('identifyWebRoutes', { + default: 'skip', + buildConfig: 'webRoutes', + }); + fallbackStep('verifyImagePaths', { default: 'perform', buildConfig: 'mediaValidation', @@ -1771,6 +1780,42 @@ async function main() { } } + let webRoutes = null; + + if (stepStatusSummary.identifyWebRoutes.status === STATUS_NOT_STARTED) { + Object.assign(stepStatusSummary.identifyWebRoutes, { + status: STATUS_STARTED_NOT_DONE, + timeStart: Date.now(), + }); + + try { + webRoutes = await identifyAllWebRoutes({ + mediaCachePath, + mediaPath, + }); + } catch (error) { + console.error(error); + + logError`There was an issue identifying web routes!`; + fileIssue(); + + Object.assign(stepStatusSummary.identifyWebRoutes, { + status: STATUS_FATAL_ERROR, + message: `JavaScript error - view log for details`, + timeEnd: Date.now(), + }); + + return false; + } + + logInfo`Successfully determined web routes.`; + + Object.assign(stepStatusSummary.identifyWebRoutes, { + status: STATUS_DONE_CLEAN, + timeEnd: Date.now(), + }); + } + if (stepStatusSummary.performBuild.status === STATUS_NOT_APPLICABLE) { return true; } @@ -1827,6 +1872,7 @@ async function main() { thumbsCache, urls, urlSpec, + webRoutes, wikiData, cachebust: '?' + CACHEBUST, |