diff options
Diffstat (limited to 'src/data/checks.js')
-rw-r--r-- | src/data/checks.js | 35 |
1 files changed, 33 insertions, 2 deletions
diff --git a/src/data/checks.js b/src/data/checks.js index 79a8d4c..fe4528e 100644 --- a/src/data/checks.js +++ b/src/data/checks.js @@ -37,7 +37,9 @@ export function reportDuplicateDirectories(wikiData, { const directoryPlaces = Object.create(null); const duplicateDirectories = new Set(); + const thingData = wikiData[findSpec.bindTo]; + if (!thingData) continue; for (const thing of thingData) { if (findSpec.include && !findSpec.include(thing)) { @@ -166,6 +168,10 @@ export function filterReferenceErrors(wikiData, { commentary: '_commentary', }], + ['flashData', { + commentary: '_commentary', + }], + ['groupCategoryData', { groups: 'group', }], @@ -257,7 +263,7 @@ export function filterReferenceErrors(wikiData, { break; case '_contrib': - findFn = contribRef => findArtistOrAlias(contribRef.who); + findFn = contribRef => findArtistOrAlias(contribRef.artist); break; case '_homepageSourceGroup': @@ -469,6 +475,10 @@ export class ContentNodeError extends Error { export function reportContentTextErrors(wikiData, { bindFind, }) { + const additionalFileShape = { + description: 'description', + }; + const commentaryShape = { body: 'commentary body', artistDisplayText: 'commentary artist display text', @@ -477,6 +487,7 @@ export function reportContentTextErrors(wikiData, { const contentTextSpec = [ ['albumData', { + additionalFiles: additionalFileShape, commentary: commentaryShape, }], @@ -484,8 +495,15 @@ export function reportContentTextErrors(wikiData, { contextNotes: '_content', }], + ['flashData', { + commentary: commentaryShape, + }], + ['flashActData', { - jump: '_content', + listTerminology: '_content', + }], + + ['flashSideData', { listTerminology: '_content', }], @@ -506,8 +524,11 @@ export function reportContentTextErrors(wikiData, { }], ['trackData', { + additionalFiles: additionalFileShape, commentary: commentaryShape, lyrics: '_content', + midiProjectFiles: additionalFileShape, + sheetMusicFiles: additionalFileShape, }], ['wikiInfo', { @@ -574,6 +595,16 @@ export function reportContentTextErrors(wikiData, { continue; } } + } else if (node.type === 'external-link') { + try { + new URL(node.data.href); + } catch (error) { + yield { + index, length, + message: + `Invalid URL ${colors.red(`"${node.data.href}"`)}`, + }; + } } } } |