Skip to content

Commit

Permalink
Revise warning message for configuration "pages" property (#1318)
Browse files Browse the repository at this point in the history
* Revise warning message for configuration "pages" property

An unrecognized property within the "pages" property may or may not
represent a subpage. Revise warning message to better acknowledge both
possibilities.

* Mention capitalization in configuration warning message
  • Loading branch information
mint-thompson authored Aug 4, 2023
1 parent 15abd39 commit e17a19f
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 10 deletions.
16 changes: 10 additions & 6 deletions src/import/importConfiguration.ts
Original file line number Diff line number Diff line change
Expand Up @@ -915,18 +915,22 @@ function detectPotentialMistakes(yaml: YAMLConfiguration) {
);
if (additionalPropertiesErrors.length > 0) {
const parentProperty = instancePath === '' ? '' : `property ${instancePath.slice(1)} `;
const propertyWord = additionalPropertiesErrors.length === 1 ? 'property' : 'properties';
const singular = additionalPropertiesErrors.length === 1;
const additionalPropertyNames = additionalPropertiesErrors
.map(validationError => validationError.params.additionalProperty)
.join(', ');
let recommendation: string;
let recommendation = `Check that ${
singular ? 'this property is' : 'these properties are'
} spelled, capitalized, and indented correctly.`;
if (instancePath.startsWith('/pages')) {
recommendation = 'Pages should end with .md, .xml, or .html.';
} else {
recommendation = 'Check that these properties are spelled and indented correctly.';
recommendation += ` If ${
singular ? 'this is a page, it' : 'these are pages, they'
} should end with .md, .xml, or .html.`;
}
logger.warn(
`Configuration ${parentProperty}contains unexpected ${propertyWord}: ${additionalPropertyNames}. ${recommendation}`
`Configuration ${parentProperty}contains unexpected ${
singular ? 'property' : 'properties'
}: ${additionalPropertyNames}. ${recommendation}`
);
} else {
logger.warn(
Expand Down
8 changes: 4 additions & 4 deletions test/import/importConfiguration.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -469,7 +469,7 @@ describe('importConfiguration', () => {
expect(actual).toEqual(expected);
expect(loggerSpy.getAllLogs('error')).toHaveLength(0);
expect(loggerSpy.getLastMessage('warn')).toMatch(
'Configuration contains unexpected property: cookie. Check that these properties are spelled and indented correctly.'
'Configuration contains unexpected property: cookie. Check that this property is spelled, capitalized, and indented correctly.'
);
});

Expand Down Expand Up @@ -503,7 +503,7 @@ describe('importConfiguration', () => {
expect(actual).toEqual(expected);
expect(loggerSpy.getAllLogs('error')).toHaveLength(0);
expect(loggerSpy.getLastMessage('warn')).toMatch(
'Configuration contains unexpected properties: cookie, index.md. Check that these properties are spelled and indented correctly.'
'Configuration contains unexpected properties: cookie, index.md. Check that these properties are spelled, capitalized, and indented correctly.'
);
});

Expand Down Expand Up @@ -2168,7 +2168,7 @@ describe('importConfiguration', () => {
}
]);
expect(loggerSpy.getLastMessage('warn')).toMatch(
'Configuration property pages contains unexpected property: menu. Pages should end with .md, .xml, or .html.'
'Configuration property pages contains unexpected property: menu. Check that this property is spelled, capitalized, and indented correctly. If this is a page, it should end with .md, .xml, or .html.'
);
});

Expand Down Expand Up @@ -2202,7 +2202,7 @@ describe('importConfiguration', () => {
{ nameUrl: 'license', page: [] }
]);
expect(loggerSpy.getLastMessage('warn')).toMatch(
'Configuration property pages contains unexpected properties: menu, license. Pages should end with .md, .xml, or .html.'
'Configuration property pages contains unexpected properties: menu, license. Check that these properties are spelled, capitalized, and indented correctly. If these are pages, they should end with .md, .xml, or .html.'
);
});

Expand Down

0 comments on commit e17a19f

Please sign in to comment.