Skip to content

Commit fd9dcb3

Browse files
committed
chore: lint
1 parent f49314f commit fd9dcb3

File tree

8 files changed

+29
-62
lines changed

8 files changed

+29
-62
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@
3838
"dev": "vitest",
3939
"demo": "vite dev playground",
4040
"demo:dev": "pnpm demo --config test/vite.config.mjs",
41-
"lint": "eslint --fix .",
41+
"lint": "eslint .",
4242
"prepare": "simple-git-hooks install && pnpm build",
4343
"prepublishOnly": "pnpm lint && pnpm test",
4444
"release": "pnpm test && bumpp && npm publish",

playground/vite.config.mjs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
import { defineConfig } from 'vite'
21
import { FontaineTransform } from 'fontaine'
2+
import { defineConfig } from 'vite'
33

44
export default defineConfig({
55
plugins: [

src/css.ts

Lines changed: 3 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,5 @@
11
import type { Font } from '@capsizecss/unpack'
2-
import {
3-
charIn,
4-
charNotIn,
5-
createRegExp,
6-
exactly,
7-
whitespace,
8-
} from 'magic-regexp'
2+
import { charIn, charNotIn, createRegExp, exactly, whitespace } from 'magic-regexp'
93

104
// See: https://github.com/seek-oss/capsize/blob/master/packages/core/src/round.ts
115
function toPercentage(value: number, fractionDigits = 4) {
@@ -84,7 +78,7 @@ interface FallbackOptions {
8478
* The fallback font family name.
8579
*/
8680
font: string
87-
81+
8882
/**
8983
* Metrics for fallback face calculations.
9084
* @optional
@@ -109,12 +103,7 @@ export type FontFaceMetrics = Pick<
109103
* @returns {string} - The full `@font-face` CSS declaration.
110104
*/
111105
export function generateFontFace(metrics: FontFaceMetrics, fallback: FallbackOptions) {
112-
const {
113-
name: fallbackName,
114-
font: fallbackFontName,
115-
metrics: fallbackMetrics,
116-
...properties
117-
} = fallback
106+
const { name: fallbackName, font: fallbackFontName, metrics: fallbackMetrics, ...properties } = fallback
118107

119108
// Credits to: https://github.com/seek-oss/capsize/blob/master/packages/core/src/createFontStack.ts
120109

src/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
export { FontaineTransform } from './transform'
21
export { generateFallbackName, generateFontFace } from './css'
32
export { getMetricsForFamily, readMetrics } from './metrics'
3+
export { FontaineTransform } from './transform'
44

55
export type { FontaineTransformOptions } from './transform'

src/metrics.ts

Lines changed: 14 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,16 @@
1-
import { fileURLToPath } from 'node:url'
21
import type { Font } from '@capsizecss/unpack'
3-
import { fromFile, fromUrl } from '@capsizecss/unpack'
2+
import type { FontFaceMetrics } from './css'
3+
4+
import { fileURLToPath } from 'node:url'
45
import { fontFamilyToCamelCase } from '@capsizecss/metrics'
6+
import { fromFile, fromUrl } from '@capsizecss/unpack'
57
import { parseURL } from 'ufo'
6-
import type { FontFaceMetrics } from './css'
8+
79
import { withoutQuotes } from './css'
810

911
const metricCache: Record<string, FontFaceMetrics | null> = {}
1012

11-
function filterRequiredMetrics({
12-
ascent,
13-
descent,
14-
lineGap,
15-
unitsPerEm,
16-
xWidthAvg,
17-
}: Pick<
18-
Font,
19-
'ascent' | 'descent' | 'lineGap' | 'unitsPerEm' | 'xWidthAvg'
20-
>) {
13+
function filterRequiredMetrics({ ascent, descent, lineGap, unitsPerEm, xWidthAvg }: Pick< Font, 'ascent' | 'descent' | 'lineGap' | 'unitsPerEm' | 'xWidthAvg'>) {
2114
return {
2215
ascent,
2316
descent,
@@ -41,11 +34,8 @@ export async function getMetricsForFamily(family: string) {
4134

4235
try {
4336
const name = fontFamilyToCamelCase(family)
44-
const { entireMetricsCollection } = await import(
45-
'@capsizecss/metrics/entireMetricsCollection'
46-
)
47-
const metrics
48-
= entireMetricsCollection[name as keyof typeof entireMetricsCollection]
37+
const { entireMetricsCollection } = await import('@capsizecss/metrics/entireMetricsCollection')
38+
const metrics = entireMetricsCollection[name as keyof typeof entireMetricsCollection]
4939

5040
const filteredMetrics = filterRequiredMetrics(metrics)
5141
metricCache[family] = filteredMetrics
@@ -65,8 +55,7 @@ export async function getMetricsForFamily(family: string) {
6555
* @async
6656
*/
6757
export async function readMetrics(_source: URL | string) {
68-
const source
69-
= typeof _source !== 'string' && 'href' in _source ? _source.href : _source
58+
const source = typeof _source !== 'string' && 'href' in _source ? _source.href : _source
7059

7160
if (source in metricCache)
7261
return Promise.resolve(metricCache[source])
@@ -75,13 +64,11 @@ export async function readMetrics(_source: URL | string) {
7564
if (!protocol)
7665
return null
7766

78-
const metrics
79-
= protocol === 'file:'
80-
? await fromFile(fileURLToPath(source))
81-
: await fromUrl(source)
67+
const metrics = protocol === 'file:'
68+
? await fromFile(fileURLToPath(source))
69+
: await fromUrl(source)
8270

83-
const filteredMetrics = filterRequiredMetrics(metrics)
84-
metricCache[source] = filteredMetrics
71+
metricCache[source] = filterRequiredMetrics(metrics)
8572

86-
return filteredMetrics
73+
return metricCache[source]
8774
}

src/transform.ts

Lines changed: 6 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,9 @@
1-
import { createUnplugin } from 'unplugin'
2-
import {
3-
anyOf,
4-
charIn,
5-
charNotIn,
6-
createRegExp,
7-
exactly,
8-
whitespace,
9-
} from 'magic-regexp'
1+
import { anyOf, charIn, charNotIn, createRegExp, exactly, whitespace } from 'magic-regexp'
102
import MagicString from 'magic-string'
11-
import { parseURL } from 'ufo'
123
import { isAbsolute, join } from 'pathe'
4+
import { parseURL } from 'ufo'
5+
import { createUnplugin } from 'unplugin'
6+
137
import { generateFallbackName, generateFontFace, parseFontFace } from './css'
148
import { getMetricsForFamily, readMetrics } from './metrics'
159

@@ -88,7 +82,7 @@ const CSS_RE = createRegExp(
8882

8983
/**
9084
* Transforms CSS files to include font fallbacks.
91-
*
85+
*
9286
* @param options - The transformation options. See {@link FontaineTransformOptions}.
9387
* @returns The unplugin instance.
9488
*/
@@ -137,10 +131,7 @@ export const FontaineTransform = createUnplugin(
137131
if (skipFontFaceGeneration(fallbackName(family)))
138132
continue
139133

140-
const metrics
141-
= (await getMetricsForFamily(family))
142-
|| (source
143-
&& (await readMetricsFromId(source, id).catch(() => null)))
134+
const metrics = (await getMetricsForFamily(family)) || (source && (await readMetricsFromId(source, id).catch(() => null)))
144135

145136
if (!metrics)
146137
continue

test/e2e.spec.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
import { readFile, readdir } from 'node:fs/promises'
1+
import { readdir, readFile } from 'node:fs/promises'
22
import { fileURLToPath } from 'node:url'
3-
import { describe, expect, it } from 'vitest'
43
import { execaCommand } from 'execa'
54
import { join } from 'pathe'
5+
import { describe, expect, it } from 'vitest'
66

77
describe('fontaine', () => {
88
it('e2e', async () => {

test/index.spec.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
import { createServer } from 'node:http'
22
import { fileURLToPath } from 'node:url'
3+
import { getRandomPort } from 'get-port-please'
34
import { dirname } from 'pathe'
45
import handler from 'serve-handler'
56
import { describe, expect, it } from 'vitest'
6-
import { getRandomPort } from 'get-port-please'
77
import {
88
generateFallbackName,
99
generateFontFace,

0 commit comments

Comments
 (0)