Skip to content

Commit 570ea24

Browse files
fix(fontsource): slugify family name to match package
1 parent f4e129b commit 570ea24

File tree

1 file changed

+14
-28
lines changed

1 file changed

+14
-28
lines changed

src/loaders/fontsource.ts

Lines changed: 14 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -12,47 +12,33 @@ export function fontsourceVirtualModule(options?: FontsourceFonts) {
1212
continue
1313

1414
if (typeof family === 'string') {
15-
source.push(`@import "@fontsource/${family.toLowerCase()}";`)
15+
const name = family.toLowerCase().replace(/ /g, '-')
16+
source.push(`@import "@fontsource/${name}";`)
1617
continue
1718
}
18-
const {
19-
name,
20-
variables,
21-
weights,
22-
styles,
23-
subset,
24-
} = family
2519

26-
const subsetPrefix = subset ? `${subset}-` : ''
20+
const name = family.name.toLowerCase().replace(/ /g, '-')
21+
const subsetPrefix = family.subset ? `${family.subset}-` : ''
2722

28-
if (variables) {
29-
if (weights)
30-
console.warn('unplugin-fonts: Variable fonts does not support weights. Ignoring weights.')
31-
32-
for (const variable of variables)
33-
source.push(`@import "@fontsource/${name.toLowerCase()}/${subsetPrefix}${variable}.css";`)
23+
if ('variables' in family) {
24+
for (const variable of family.variables)
25+
source.push(`@import "@fontsource/${name}/${subsetPrefix}${variable}.css";`)
3426
}
35-
else if (weights) {
36-
for (const weight of weights) {
37-
if (styles) {
38-
for (const style of styles) {
27+
else if ('weights' in family) {
28+
for (const weight of family.weights) {
29+
if (family.styles) {
30+
for (const style of family.styles) {
3931
if (style === 'normal')
40-
source.push(`@import "@fontsource/${name.toLowerCase()}/${subsetPrefix}${style}.css";`)
32+
source.push(`@import "@fontsource/${name}/${subsetPrefix}${style}.css";`)
4133
else
42-
source.push(`@import "@fontsource/${name.toLowerCase()}/${subsetPrefix}${weight}-${style}.css";`)
34+
source.push(`@import "@fontsource/${name}/${subsetPrefix}${weight}-${style}.css";`)
4335
}
4436
}
4537
else {
46-
source.push(`@import "@fontsource/${name.toLowerCase()}/${subsetPrefix}${weight}.css";`)
38+
source.push(`@import "@fontsource/${name}/${subsetPrefix}${weight}.css";`)
4739
}
4840
}
4941
}
50-
else {
51-
if (subset)
52-
source.push(`@import "@fontsource/${name.toLowerCase()}/${subset}.css";`)
53-
else
54-
source.push(`@import "@fontsource/${name.toLowerCase()}";`)
55-
}
5642
}
5743

5844
return source.join('\n')

0 commit comments

Comments
 (0)