bun i -D @archoleat/validate-font-file-name
import { validateFontFileName } from '@archoleat/validate-font-file-name';
const validFontFileName = 'OpenSans-Regular.woff2';
const invalidFontFileName = 'OpenSans.woff2';
// returns: true
console.log(await validateFontFileName({ file: validFontFileName }));
// returns: {current time} [ERROR] 'OpenSans.woff2' doesn't match with '/(^[A-Z][a-z]+([A-Z][a-z]+)?)-(Thin|Hairline|ExtraLight|UltraLight|Light|Regular|Medium|SemiBold|DemiBold|Bold|ExtraBold|UltraBold|Black|Heavy|ExtraBlack|UltraBlack)\.(otf|ttf|woff|woff2)$/'.
console.log(await validateFontFileName({ file: invalidFontFileName }));
You can also specify your regex:
import { validateFontFileName } from '@archoleat/validate-font-file-name';
// You can also specify `new RegExp()` and a regular `string`
const yourRegex = /OpenSans-regular/;
const validFontFileName = 'OpenSans-regular';
const invalidFontFileName = 'OpenSans.woff2';
// returns: true
console.log(await validateFontFileName({
file: validFontFileName,
regex: yourRegex,
}));
// returns: {current time} [ERROR] 'OpenSans.woff2' doesn't match with '/OpenSans-regular/'.
console.log(await validateFontFileName({
file: invalidFontFileName,
regex: yourRegex,
}));
The font family and font weight must be in Pascal Case and separated by a hyphen.
Extensions that are allowed: otf
, ttf
, woff
, woff2
.
{FontFamily}-{FontWeight}.{extension}
Please read CONTRIBUTING to start contributing.
This project is licensed under the MIT license.