{"_id":"fontaine","_rev":"21-2d86b3bc51d5778f6d00dc36b73dc3c2","name":"fontaine","dist-tags":{"latest":"0.8.1"},"versions":{"0.0.1":{"name":"fontaine","version":"0.0.1","keywords":[],"author":{"name":"Daniel Roe","email":"daniel@roe.dev"},"license":"MIT","_id":"fontaine@0.0.1","maintainers":[{"name":"danielroe","email":"daniel@roe.dev"}],"dist":{"shasum":"72cc5baec44ce6a8d38ba667b3ac33212ad97534","tarball":"https://registry.npmjs.org/fontaine/-/fontaine-0.0.1.tgz","fileCount":1,"integrity":"sha512-JBeQqVvIQfyDSiA7jfA9FYw7Enm2pYIUGte2yHjZr8DZoTFcuaKD05cVwvx/LKRLxWl4+IqvIXkLX5zNArWyEQ==","signatures":[{"sig":"MEYCIQDWgqQl93yTr3u0JQBUSSONcHSQuOvGnA39F+j6bfwHvAIhAIAtnNCwEMnX9EKTEYgdmBtAtAfJca/Oo65gD+67t0Ad","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":255,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjNIIWACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqF1BAAj56DCCHDo2zS/gqDmJenySrzgPtO4fLupONuawWzna0TVHb5\r\nWyLIZ3pZPaoy37QL0SR66Zh9FUQqba8UoXReSHMHN719dLSJSwRuJd4fZqfn\r\n9Xqvi6cLaC5M43qJco4gMPIJ4AnFDvW5dUduRMucRea+kqbByxU1/wtBbKqs\r\nOlB5EKZ7AxetCCsdHDz1JiSE48RxHAvI889PIVAbYvEhxxN23b5gpSn1HL0n\r\nvjWulMjbXEjZRqpLyKG30Y6elT9/TClH4wPVf0yernQvlaWKpD1b62zkyGkQ\r\nhT5EmOsO7rZQ1R75KLs/IDfLX+QPM42OqfPYa8duLviT6Pclp+r+FfjDRMdP\r\n6bI/L26GAw6jyPdDt4CTY+xo+1amVgU98UM2K+ng6B+xmxpCkyFGiYaGJPlx\r\na7CkMYjgtnpwuJDkMrMH3ZoGUS4giFw6rFTDuwrNHnqwQwadvyi8xNY/98NK\r\nSgDzNr1LgpzYFvB0S6z0qGfXSXw4Imzx6yiZONk2uBlWS1Ki2TK3bWAYpo8g\r\nXo6WSS9FQ7EGykXfZh3tAMbYUWB0qQmS1d1dWiIM+TRzueellcIzHo7S46hB\r\nXLpWvjo3FwL/EfNQqRUrUpT1qMcJI7naiiKtqPJQCfRxVkNFXXYqxUN2AsGm\r\nmKG42UBeQDLNX6GuGmhpRriqE9B19lp2xJk=\r\n=oIBp\r\n-----END PGP SIGNATURE-----\r\n"},"type":"module","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"danielroe","email":"daniel@roe.dev"},"_npmVersion":"8.19.1","directories":{},"_nodeVersion":"18.9.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/fontaine_0.0.1_1664385558052_0.19813234700470206","host":"s3://npm-registry-packages"}},"0.0.2":{"name":"fontaine","version":"0.0.2","keywords":["fonts","cls","web-vitals","performance"],"author":{"url":"https://github.com/danielroe","name":"Daniel Roe","email":"daniel@roe.dev"},"license":"MIT","_id":"fontaine@0.0.2","maintainers":[{"name":"danielroe","email":"daniel@roe.dev"}],"homepage":"https://github.com/danielroe/fontaine#readme","bugs":{"url":"https://github.com/danielroe/fontaine/issues"},"dist":{"shasum":"8e40ecdb4902e6ebd58faf92cc9da8358b16281a","tarball":"https://registry.npmjs.org/fontaine/-/fontaine-0.0.2.tgz","fileCount":6,"integrity":"sha512-VQ08q+stMTGjDVeBAlrGO/yXtOD3SjA0IwlFW+lEoksbZvLqexm9GM4H/96Rc0IUU30k1rjvdUtxK7DhcYb3UQ==","signatures":[{"sig":"MEQCIEAHIGgojzdK5mSIMV+xBciiuwnVR1EL8PHGK8IPK5VGAiAOjU6vc4Kv0m8UDROGQ2jJIM/BlRXLuUMMtd8McNa+1Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20176,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjNY81ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqcqw//ZMWO7Xn0VuW2ZCNFYNzFt411JQvWiKACVF8oyjCrEXMWurS9\r\n5K3m9cUup8beEyEMB2BEt1ldNqd8kSeisz1soLY3Mjl043dededgCDPhutWW\r\nVe65xwpT4xPxgZD0mBRzZsX6f8nFPTKCRPSsF7IsJrJmMIrk8KcNmDTnRaCM\r\nGjWyRjNFmld2tYo7UMmgkkVNzXsn94EREhcU92bCT5KW+exa+Eg3rXNmY0Vv\r\nP2UZ+uhCpWuBltFbvzyc7Ev4NW8on2sooYhojBo2/+me/3/wKsKXSvVLQioX\r\nWfvW1niKkXMsPsX8yGr8RgsHiWR6r9VbKdZ8dW9GK45YZh1ATumFEmlAMtTK\r\nLkiBkvsDciI5B5HbPdy69v1hFJqimCA6oNwih3wWOd/Q1Qw5T9C4wYzZ7RzO\r\n3h1lZzX6NeSVI5S1olvQjZYvabKgFIWIcfce7HUczB0aAAPZd8HdqHNYOYxl\r\ntuHF3xALEqb7mIYm8YgIicKUQUCMd1kNm19Ya1JXGT6ckwosTEdWJkb1BTtU\r\nF5U02m9xsc2IJyc53QunzpXnE3xcKkbB8wai0M1UavfrXr2J5BUErAjK8Ste\r\nSKbpHo1g5RHe6Ri7KIko4qTQwjZc4x0WYdCSpdXNxX12PVTdImx3koFxApTg\r\nTSSAEEpf8aUyFLmYxydNRZnKHWxLVN5VKGM=\r\n=Bt1b\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"import":"./dist/index.mjs","require":"./dist/index.cjs"}},"gitHead":"841249df32ff190e3a9dd272761e18910fc39429","scripts":{"dev":"vitest","demo":"vite dev playground","lint":"pnpm lint:all:eslint && pnpm lint:all:prettier","test":"vitest run","build":"unbuild","prepare":"husky install && pnpm build","release":"release-it","demo:dev":"pnpm demo --config test/vite.config.mjs","lint:eslint":"eslint --fix","postpublish":"pinst --enable","_postinstall":"husky install","lint:prettier":"prettier --write --loglevel warn","prepublishOnly":"pnpm lint && pnpm test && pinst --disable","lint:all:eslint":"pnpm lint:eslint --ext .ts,.js,.mjs,.cjs .","lint:all:prettier":"pnpm lint:prettier \"{src,test}/**/*.{js,json,ts}\""},"_npmUser":{"name":"danielroe","email":"daniel@roe.dev"},"repository":{"url":"git+https://github.com/danielroe/fontaine.git","type":"git"},"_npmVersion":"8.19.1","description":"Automatic font fallback based on font metrics","directories":{},"resolutions":{"fontaine":"link:."},"sideEffects":false,"_nodeVersion":"18.9.1","dependencies":{"ufo":"^0.8.5","pathe":"^0.3.8","scule":"^0.3.2","unplugin":"^0.9.6","magic-regexp":"^0.5.0","magic-string":"^0.26.4","@capsizecss/unpack":"^0.1.0","@capsizecss/metrics":"^0.3.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@7.5.1","devDependencies":{"c8":"latest","vite":"latest","execa":"^6.1.0","husky":"latest","pinst":"latest","eslint":"latest","vitest":"latest","unbuild":"latest","prettier":"latest","release-it":"latest","typescript":"latest","@types/node":"latest","expect-type":"latest","lint-staged":"latest","serve-handler":"^6.1.3","get-port-please":"^2.6.1","@vitest/coverage-c8":"^0.23.4","@types/serve-handler":"^6.1.1","eslint-config-prettier":"latest","eslint-plugin-prettier":"latest","@nuxtjs/eslint-config-typescript":"latest","@release-it/conventional-changelog":"latest","conventional-changelog-conventionalcommits":"latest"},"_npmOperationalInternal":{"tmp":"tmp/fontaine_0.0.2_1664454453087_0.6671721903588899","host":"s3://npm-registry-packages"}},"0.1.0":{"name":"fontaine","version":"0.1.0","keywords":["fonts","cls","web-vitals","performance"],"author":{"url":"https://github.com/danielroe","name":"Daniel Roe","email":"daniel@roe.dev"},"license":"MIT","_id":"fontaine@0.1.0","maintainers":[{"name":"danielroe","email":"daniel@roe.dev"}],"homepage":"https://github.com/danielroe/fontaine#readme","bugs":{"url":"https://github.com/danielroe/fontaine/issues"},"dist":{"shasum":"339943224ac067d887376f4c164e8ddbe0c2e67b","tarball":"https://registry.npmjs.org/fontaine/-/fontaine-0.1.0.tgz","fileCount":6,"integrity":"sha512-yBSke24ctvGWfZCOXA3TPZ0A/VpyDzfc/7kXOVqudk+JCZ8vRNvIh++p2jul43dVC+7NfL03vX0FYHvYUUiy0A==","signatures":[{"sig":"MEYCIQDM6bOh6UTfrfW2Z28kVebKcr8zba+oIAm86qddeLl1IAIhALbE9+T6p1x98CqeurErMvYop6NKQ6UZ7NYLDdtICTjL","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21567,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjNblrACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrbNg//UmodvT6G3IUAf9OMAMO+mAOS3HFZ191AX02itn/7nw8zEwUi\r\nmt9ZfSrKWZg9gzt8YI5htMItXWhl2r27uOQ0+WS95XjLouK5InPKk3mg9kiG\r\n1QsLqgPJN2Z0dCpvhhL4B99fn52bg/T4U+03MFFilhi9Gry7yArfCdAS9l2f\r\nH2iYkwci5+Va6Z78GR+/mqlqCrPH6SO5ztrvmq7+Xd0eW9EEjK3NBzrwhCmZ\r\nG8Hxe5RJ7zOKllfEiJ2fpMTVKWRM42ED6ktokhnX7l1Rg6H0XzhFcUTbn+qb\r\npUU7Yo/cSFMi1ML0dfhiflVHZizRrTwDIJjj46c1iHBE9X0LHHcwpiHCh+J+\r\nFcVYv/WMtB+xk+NVB4YnWO+Js+EFvutsnf+lrDpJKJ9xg+UEdUzvi4vEZgFE\r\nNMkbCG6Jl50jKZ29rkCh+TFGzxglKRIfmYWCm7JKtN75TsOt1SOS4AJb47pm\r\naCe9naQyjc6HnAGqCTRXwuZTz9svxn56OQGtvU701KBv+PBKYOkWOTG89zP5\r\n3ZyEi8/IcFSKhDj1mThHMQ4Ye/FkqOikDQH/kpOiNultX2S/cDsjHku7SBSs\r\nWME0JdeGn/od+/cXU9DlXoQBwAAcQhsbrIe5PqHezvEVhWIVDRNwcz9BqLIa\r\njGRzFprVGdfwQ5ziGw3Y19UGt6j8Tqvh3AE=\r\n=6v3W\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"import":"./dist/index.mjs","require":"./dist/index.cjs"}},"gitHead":"1e64c357b872e3228cdfafe158276c35eaeb5fab","scripts":{"dev":"vitest","demo":"vite dev playground","lint":"pnpm lint:all:eslint && pnpm lint:all:prettier","test":"vitest run","build":"unbuild","prepare":"husky install && pnpm build","release":"release-it","demo:dev":"pnpm demo --config test/vite.config.mjs","lint:eslint":"eslint --fix","postpublish":"pinst --enable","_postinstall":"husky install","lint:prettier":"prettier --write --loglevel warn","prepublishOnly":"pnpm lint && pnpm test && pinst --disable","lint:all:eslint":"pnpm lint:eslint --ext .ts,.js,.mjs,.cjs .","lint:all:prettier":"pnpm lint:prettier \"{src,test}/**/*.{js,json,ts}\""},"_npmUser":{"name":"danielroe","email":"daniel@roe.dev"},"repository":{"url":"git+https://github.com/danielroe/fontaine.git","type":"git"},"_npmVersion":"8.15.0","description":"Automatic font fallback based on font metrics","directories":{},"resolutions":{"fontaine":"link:."},"sideEffects":false,"_nodeVersion":"16.17.1","dependencies":{"ufo":"^0.8.5","pathe":"^0.3.8","scule":"^0.3.2","unplugin":"^0.9.6","magic-regexp":"^0.5.0","magic-string":"^0.26.4","@capsizecss/unpack":"^0.1.0","@capsizecss/metrics":"^0.3.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@7.12.2","devDependencies":{"c8":"latest","vite":"latest","execa":"^6.1.0","husky":"latest","pinst":"latest","eslint":"latest","vitest":"latest","unbuild":"latest","prettier":"latest","release-it":"latest","typescript":"latest","@types/node":"latest","expect-type":"latest","lint-staged":"latest","serve-handler":"^6.1.3","get-port-please":"^2.6.1","@vitest/coverage-c8":"^0.23.4","@types/serve-handler":"^6.1.1","eslint-config-prettier":"latest","eslint-plugin-prettier":"latest","@nuxtjs/eslint-config-typescript":"latest","@release-it/conventional-changelog":"latest","conventional-changelog-conventionalcommits":"latest"},"_npmOperationalInternal":{"tmp":"tmp/fontaine_0.1.0_1664465259218_0.8482999792952017","host":"s3://npm-registry-packages"}},"0.1.1":{"name":"fontaine","version":"0.1.1","keywords":["fonts","cls","web-vitals","performance"],"author":{"url":"https://github.com/danielroe","name":"Daniel Roe","email":"daniel@roe.dev"},"license":"MIT","_id":"fontaine@0.1.1","maintainers":[{"name":"danielroe","email":"daniel@roe.dev"}],"homepage":"https://github.com/danielroe/fontaine#readme","bugs":{"url":"https://github.com/danielroe/fontaine/issues"},"dist":{"shasum":"fdec5be0527e2575778951967d723067bbaf5181","tarball":"https://registry.npmjs.org/fontaine/-/fontaine-0.1.1.tgz","fileCount":6,"integrity":"sha512-0Vp3xE1y6G0/bG447TJQTR/V3Tzmi8zRIxy997tblpApbER1NFp0fk6qgGT6mdoS0i62sOdLDf9uKgMmY4X7eQ==","signatures":[{"sig":"MEUCIQCfw01Kvr0hyt1ku87yfnO+hWEcBaMRXkBWseWJ7iuS1AIgQXN2Zex1O9Whsuqxe/dh7V/ckp/DPpTHAN5sTEtp2+4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21613,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjNg+HACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpTYRAAoPj+/A2JTprr81YYwm65E+3VaPrZvt/mVEGaX1ZSkeQRASfI\r\nXJXzW0e0PuHzLMV4V50Awml1bPL4ftLMybI+DUd6xRTM65ItUCQhwT96ssuE\r\npBhGGO5YtTeStSqb3o/Iu8JpDiTIXj2U6QxlX2B6UE3P8yCzo2F/hoodQ/ft\r\nQAkO4ne8qKhpGwo/wX1OWzxgJYj6iDExL7WfqWUvGZpqWuUnJfnJufWtIkFO\r\nOHuUUUu8lYJVPXLFXOsJ/n4MPgpW48fruS5kh87LTZ+gVg0AavccCXijaEx1\r\nRa1fQHZiGv7ujHF/GKXKNgpQH3Ay9q+RSnkP0TcU7ulo5Q3XwftJOf2khM0B\r\noU9N1KtP/SklVw0aYKDu1eMSV04zFrpADJGEU4VHyXEpqXY0qkRZdgla6L79\r\ncG2UMPe99OL8TSvgvWgNcKldsWUHYQSQrOk5rvt7+mlBv8bf+mCXXFns7zK4\r\n12rPPwXIww10kegnweBAdiFhAqvA1blS8u/38yX+DKrLnI8AAwZedzgC8Yud\r\nUjUQ1gnCmAcwOgmJtgQYV9BEjQNUPZbQ58rVJ+2/Pn0aExd9pM7Gve9SOs+q\r\njv2lHOromhrKZCn9QUiesgqPRaq8OXO+QQtfsdS4/Y2S6B5VQuMP4EbpRn5z\r\noKBjKfPm4EDZFgcqwGA1o67G37IavTLfLc0=\r\n=qW2n\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"import":"./dist/index.mjs","require":"./dist/index.cjs"}},"gitHead":"242b7c34246ae0c8493a59acb25e20fa4ddfd25a","scripts":{"dev":"vitest","demo":"vite dev playground","lint":"pnpm lint:all:eslint && pnpm lint:all:prettier","test":"vitest run","build":"unbuild","prepare":"husky install && pnpm build","release":"release-it","demo:dev":"pnpm demo --config test/vite.config.mjs","lint:eslint":"eslint --fix","postpublish":"pinst --enable","_postinstall":"husky install","lint:prettier":"prettier --write --loglevel warn","prepublishOnly":"pnpm lint && pnpm test && pinst --disable","lint:all:eslint":"pnpm lint:eslint --ext .ts,.js,.mjs,.cjs .","lint:all:prettier":"pnpm lint:prettier \"{src,test}/**/*.{js,json,ts}\""},"_npmUser":{"name":"danielroe","email":"daniel@roe.dev"},"repository":{"url":"git+https://github.com/danielroe/fontaine.git","type":"git"},"_npmVersion":"8.15.0","description":"Automatic font fallback based on font metrics","directories":{},"resolutions":{"fontaine":"link:."},"sideEffects":false,"_nodeVersion":"16.17.1","dependencies":{"ufo":"^0.8.5","pathe":"^0.3.8","scule":"^0.3.2","unplugin":"^0.9.6","magic-regexp":"^0.5.0","magic-string":"^0.26.4","@capsizecss/unpack":"^0.1.0","@capsizecss/metrics":"^0.3.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@7.12.2","devDependencies":{"c8":"latest","vite":"latest","execa":"^6.1.0","husky":"latest","pinst":"latest","eslint":"latest","vitest":"latest","unbuild":"latest","prettier":"latest","release-it":"latest","typescript":"latest","@types/node":"latest","expect-type":"latest","lint-staged":"latest","serve-handler":"^6.1.3","get-port-please":"^2.6.1","@vitest/coverage-c8":"^0.23.4","@types/serve-handler":"^6.1.1","eslint-config-prettier":"latest","eslint-plugin-prettier":"latest","@nuxtjs/eslint-config-typescript":"latest","@release-it/conventional-changelog":"latest","conventional-changelog-conventionalcommits":"latest"},"_npmOperationalInternal":{"tmp":"tmp/fontaine_0.1.1_1664487303722_0.3995728607719975","host":"s3://npm-registry-packages"}},"0.1.2":{"name":"fontaine","version":"0.1.2","keywords":["fonts","cls","web-vitals","performance"],"author":{"url":"https://github.com/danielroe","name":"Daniel Roe","email":"daniel@roe.dev"},"license":"MIT","_id":"fontaine@0.1.2","maintainers":[{"name":"danielroe","email":"daniel@roe.dev"}],"homepage":"https://github.com/unjs/fontaine#readme","bugs":{"url":"https://github.com/unjs/fontaine/issues"},"dist":{"shasum":"d05f87a54f5bc550fcc01cc0b84a816aa2557429","tarball":"https://registry.npmjs.org/fontaine/-/fontaine-0.1.2.tgz","fileCount":6,"integrity":"sha512-qCPw9quChBMob+rY2h1S0wLKjOowJND+Gajl76k6D0ZroMx42VaAZbX/usn0yEKoVTVhYZtLlCpcOw/AziqMUw==","signatures":[{"sig":"MEQCIDM9KrMZMbOWgzlTloidpavtTRWd6rnz50vVfRq1JdGIAiAvpO3QsP5DE6YqzWACDdQYMR2mvNjtxc1JcfY0F2pxpg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21845,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjTBRnACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq84Q//Y+IqZ+DaiSc4WVqNZysXnc0XfaEDD1WZ8LqrnVBlInVWRxAr\r\nbLh0wks9mrZTfHrudsln0mTjTzKveyL62DFejtvWd35rWJROOhlXQwpxCb3h\r\nNKoVx/pHxfQLnfPTSOnyO1zUNTEFXFzu546VxPTIWsJXIibd5QtvTPqRTDGl\r\nVHKvxHba4Qk+cCWlj3ZDgusytWeoxI3uAn0EF51nsf9V+22KtsZ25JBBGtxb\r\nledL0Ub69zoySGStHvrXapd2lIl94K3QUA1AmOTUzu8q61FWR+hFCUr5kXy7\r\n/CKCBoiczvBP1Pf/mX/hoboRRCVVFu6vqWjvRUjlFIAHlIGZ74Mi7t+JHHrY\r\nx/G0jgwzll6BcEtZbwZNgfP4cOjMAmaEzUpItCn+9ZZ9bWOKIbYuP95KrfRz\r\ndf1bqQdM3s7P4q9KdirdJZ47/qAgGWi5lSpLZpj9/lsHbVroErkhqU74WulG\r\nUGaj9ZcuTtmP1qbiK6h52nw/e59nuqb+vqK+PkimEtz2iRm8JzQWtX1rzyYf\r\n/P8Ey6xYD3JBSezgxKtf71rM4r+vCOlPvDS/h+ZY9Nx9o0YjRbdGmfb3Zmg3\r\n1cQ+hRDlFrs2f86gYtEUnrxmHHOPkZh/AGELC0b/YMPTa7lc5tFfI8qhHtb5\r\nIOOPL905RnDbYRRpLEYgnL5o3k7S1j8Y7oY=\r\n=EydZ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"import":"./dist/index.mjs","require":"./dist/index.cjs"}},"gitHead":"728a0f12e7112cbee257bf16200f4e658b241ccb","scripts":{"dev":"vitest","demo":"vite dev playground","lint":"pnpm lint:all:eslint && pnpm lint:all:prettier","test":"vitest run","build":"unbuild","prepare":"husky install && pnpm build","release":"release-it","demo:dev":"pnpm demo --config test/vite.config.mjs","lint:eslint":"eslint --fix","postpublish":"pinst --enable","_postinstall":"husky install","lint:prettier":"prettier --write --loglevel warn","prepublishOnly":"pnpm lint && pnpm test && pinst --disable","lint:all:eslint":"pnpm lint:eslint --ext .ts,.js,.mjs,.cjs .","lint:all:prettier":"pnpm lint:prettier \"{src,test}/**/*.{js,json,ts}\""},"_npmUser":{"name":"danielroe","email":"daniel@roe.dev"},"repository":{"url":"git+https://github.com/unjs/fontaine.git","type":"git"},"_npmVersion":"8.15.0","description":"Automatic font fallback based on font metrics","directories":{},"resolutions":{"fontaine":"link:."},"sideEffects":false,"_nodeVersion":"16.17.1","dependencies":{"ufo":"^0.8.6","pathe":"^0.3.9","scule":"^0.3.2","unplugin":"^0.9.6","magic-regexp":"^0.5.0","magic-string":"^0.26.7","@capsizecss/unpack":"^0.1.0","@capsizecss/metrics":"^0.3.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@7.13.4","devDependencies":{"vite":"latest","execa":"^6.1.0","husky":"latest","pinst":"latest","eslint":"latest","vitest":"latest","unbuild":"latest","prettier":"latest","release-it":"latest","typescript":"latest","@types/node":"latest","lint-staged":"latest","serve-handler":"^6.1.3","get-port-please":"^2.6.1","@vitest/coverage-c8":"^0.24.3","@types/serve-handler":"^6.1.1","eslint-config-prettier":"latest","eslint-plugin-prettier":"latest","@typescript-eslint/parser":"^5.40.0","@nuxtjs/eslint-config-typescript":"latest","@typescript-eslint/eslint-plugin":"^5.40.0","@release-it/conventional-changelog":"latest","conventional-changelog-conventionalcommits":"latest"},"_npmOperationalInternal":{"tmp":"tmp/fontaine_0.1.2_1665930343082_0.5043698941168093","host":"s3://npm-registry-packages"}},"0.1.3":{"name":"fontaine","version":"0.1.3","keywords":["fonts","cls","web-vitals","performance"],"author":{"url":"https://github.com/danielroe","name":"Daniel Roe","email":"daniel@roe.dev"},"license":"MIT","_id":"fontaine@0.1.3","maintainers":[{"name":"danielroe","email":"daniel@roe.dev"}],"homepage":"https://github.com/unjs/fontaine#readme","bugs":{"url":"https://github.com/unjs/fontaine/issues"},"dist":{"shasum":"b73c40b12d1ec450bb100b38fcf05e77e0fe7f92","tarball":"https://registry.npmjs.org/fontaine/-/fontaine-0.1.3.tgz","fileCount":6,"integrity":"sha512-o/JZmPzzz9DO/x1HODGUgLDIxXesfGNO5xE4W+EYuwXIpmiBJJ0Zpxob66Y9+Y8xsxPeohFByutF5La7IlhY4Q==","signatures":[{"sig":"MEUCIQDdv4s8z96iFajc+2hJC1ocIYpEY/ayAYWa0pnsMI2SeQIgHptEffnBxdk3lWQ1N4DeT/Qs5Rd6yV+V5Y+zDSRif+o=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22027,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjTGFtACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmouzg//eAtOAH19BB9ZrfTghakF78wHhcytWjyoUCPDVspdxHiKZlp5\r\nYY2MkA7D3aKOXDq96wLITTr6+LAX8CWYLVZBICP0bivcsomdBvjbjtJMqaSk\r\n2UTqXUnuc+0G5tDMtZI3MRDMlbCHrzFNysLfihhXbZPXehbQJmG4nmjDXlC3\r\nROOngfGqL7hIa3fsaCvHfU1/5pStyHiwhHol8IGOtlFIygsNlnOWuA7Wyk+f\r\nQXneU3IQYMZBh8h/aVi5bcZB+iPa/vvoFH9x8ObQEyPKrNmCR8t6uCjcmeQB\r\n19OjRqb2I+qeNw4HHihk+fyajTaR7s63aBap9pdnrh9lfSlwgmbmPIjnD6r8\r\n6Ts1/E5S0t3It8arIX+g5bmSj8ZszJ7fglHnjRoe0qUt/hRk+8rQzQpS6rzv\r\n3F577kcb4lQhlcvir2WianGVijC3ByfHvivj+7hW1sWXqycNOPChPprNSlFb\r\nKnq/dfxfjJLd5cSxEtOIMa7OaCMl9y9oN2zsv2eaNbHuxkm6vEBzXBFMephr\r\nNlW4eVcAzATu62QmM5bXOy4ljNlQOKTOHeLJgqSqybmHhPcBkENuClk1Gkam\r\nXHwZGpT8z/i0V12LF1/YhH1MVilRlFpFrDoooM5GJDAXbHkr0hhnhRebMgXm\r\nykG5uHAmz2Ct6UMENMk+xhFEbehFYmPFJOU=\r\n=cr6/\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"import":"./dist/index.mjs","require":"./dist/index.cjs"}},"gitHead":"349f54956e120ff9708316307155785c4a17a1f2","scripts":{"dev":"vitest","demo":"vite dev playground","lint":"pnpm lint:all:eslint && pnpm lint:all:prettier","test":"vitest run","build":"unbuild","prepare":"husky install && pnpm build","release":"release-it","demo:dev":"pnpm demo --config test/vite.config.mjs","lint:eslint":"eslint --fix","postpublish":"pinst --enable","_postinstall":"husky install","lint:prettier":"prettier --write --loglevel warn","prepublishOnly":"pnpm lint && pnpm test && pinst --disable","lint:all:eslint":"pnpm lint:eslint --ext .ts,.js,.mjs,.cjs .","lint:all:prettier":"pnpm lint:prettier \"{src,test}/**/*.{js,json,ts}\""},"_npmUser":{"name":"danielroe","email":"daniel@roe.dev"},"repository":{"url":"git+https://github.com/unjs/fontaine.git","type":"git"},"_npmVersion":"8.15.0","description":"Automatic font fallback based on font metrics","directories":{},"resolutions":{"fontaine":"link:."},"sideEffects":false,"_nodeVersion":"16.17.1","dependencies":{"ufo":"^0.8.6","pathe":"^0.3.9","scule":"^0.3.2","unplugin":"^0.9.6","magic-regexp":"^0.5.0","magic-string":"^0.26.7","@capsizecss/unpack":"^0.1.0","@capsizecss/metrics":"^0.3.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@7.13.4","devDependencies":{"vite":"latest","execa":"^6.1.0","husky":"latest","pinst":"latest","eslint":"latest","vitest":"latest","unbuild":"latest","prettier":"latest","release-it":"latest","typescript":"latest","@types/node":"latest","lint-staged":"latest","serve-handler":"^6.1.3","get-port-please":"^2.6.1","@vitest/coverage-c8":"^0.24.3","@types/serve-handler":"^6.1.1","eslint-config-prettier":"latest","eslint-plugin-prettier":"latest","@typescript-eslint/parser":"^5.40.0","@nuxtjs/eslint-config-typescript":"latest","@typescript-eslint/eslint-plugin":"^5.40.0","@release-it/conventional-changelog":"latest","conventional-changelog-conventionalcommits":"latest"},"_npmOperationalInternal":{"tmp":"tmp/fontaine_0.1.3_1665950061505_0.9549812940271445","host":"s3://npm-registry-packages"}},"0.2.0":{"name":"fontaine","version":"0.2.0","keywords":["fonts","cls","web-vitals","performance"],"author":{"url":"https://github.com/danielroe","name":"Daniel Roe","email":"daniel@roe.dev"},"license":"MIT","_id":"fontaine@0.2.0","maintainers":[{"name":"danielroe","email":"daniel@roe.dev"}],"homepage":"https://github.com/unjs/fontaine#readme","bugs":{"url":"https://github.com/unjs/fontaine/issues"},"dist":{"shasum":"a96414869b49e8237a9395c7627cb9caa8c60e5d","tarball":"https://registry.npmjs.org/fontaine/-/fontaine-0.2.0.tgz","fileCount":6,"integrity":"sha512-RmU2f8gwHQNFxenATmYusfnssP9SM7zEzlUmD0lNQE4rcdaTmgzJFipAAPB+80+Pi2SDsh2H0iGGLLU2+J8LyA==","signatures":[{"sig":"MEUCIQDvfo/lkkTxrVub6RJRiAkoqfRa7d4MCF1AippReZd76gIgFmQzA1NFLo/ojL9TC4uy6Df7qLaoWyxq4ATvaEku29k=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22763,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjTQzQACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrmXQ//cCedkTT34CYKZ1bG7mK1TTdiKLT3OYMR3kZj+IB05Wcv9wYi\r\nqW+j8mQdywEhzLxgkeCNGORb0a1e7usdYNPvCSH0W2Yzuuf28BH/yjV8ygZ3\r\nlVuwGxwIKSFsNLmzsYwYiNlUpB2JVpCtzruMaONiz/Sbog9XmSIpiQy2batE\r\nny5RVSe4dx314zsPOEGe/kKOrCGd3AmtifhRPsUYlJVV1Brn9e9GIJNnhcZl\r\n1398+JtwqPFiRqbg2hqCpbqKjrlOGnx22ViAAxGIoy9QKBvG8qtM2+7aLmV3\r\nXfyiyIgnd2iiDlj6eLGqFAC6nDE4ZavyQn/V4GC2eiP4v6+Jv8x5XUNw9ArR\r\nZLzVKY0RHuZReiJS2sRzhn+wSTeRmxAWe1On7Um1abVVsDtS6bgFIZ/jS1k/\r\nJJBGH2Mbdnxt9yjhvRkYYlE5oizU4LM9mR3ckKi0Sk+6LXB6gQgbxSfJ/R1L\r\n05VqFuYexBOjnDVDfPtrvKSPk6kOMF6mkpdROMFvrToRgNqj0F89NPfNJmL/\r\nLBZ5QZrcWhZFX3dUHVf39YG8htMr0uTZRnzPMR3qxwcAwURbDUqIM2Q8TDPc\r\nOKSZ8Lh6y6Ojg7nHsnztRf89NvN4geb+ux5i5qZO8oIslDzpjPgl1VAsYJmd\r\ngeQoWy10U+ugIk6Brlc72xChRUX0Kl7bN2M=\r\n=elKP\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"import":"./dist/index.mjs","require":"./dist/index.cjs"}},"gitHead":"62a41e2a7f68c64d641738ca75aa2f3ff75190b1","scripts":{"dev":"vitest","demo":"vite dev playground","lint":"pnpm lint:all:eslint && pnpm lint:all:prettier","test":"vitest run","build":"unbuild","prepare":"husky install && pnpm build","release":"release-it","demo:dev":"pnpm demo --config test/vite.config.mjs","lint:eslint":"eslint --fix","postpublish":"pinst --enable","_postinstall":"husky install","lint:prettier":"prettier --write --loglevel warn","prepublishOnly":"pnpm lint && pnpm test && pinst --disable","lint:all:eslint":"pnpm lint:eslint --ext .ts,.js,.mjs,.cjs .","lint:all:prettier":"pnpm lint:prettier \"{src,test}/**/*.{js,json,ts}\""},"_npmUser":{"name":"danielroe","email":"daniel@roe.dev"},"repository":{"url":"git+https://github.com/unjs/fontaine.git","type":"git"},"_npmVersion":"8.15.0","description":"Automatic font fallback based on font metrics","directories":{},"resolutions":{"fontaine":"link:."},"sideEffects":false,"_nodeVersion":"16.17.1","dependencies":{"ufo":"^0.8.6","pathe":"^0.3.9","scule":"^0.3.2","unplugin":"^0.9.6","magic-regexp":"^0.5.0","magic-string":"^0.26.7","@capsizecss/unpack":"^0.1.0","@capsizecss/metrics":"^0.3.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@7.13.5","devDependencies":{"vite":"latest","execa":"^6.1.0","husky":"latest","pinst":"latest","eslint":"latest","vitest":"latest","unbuild":"latest","prettier":"latest","release-it":"latest","typescript":"latest","@types/node":"latest","lint-staged":"latest","serve-handler":"^6.1.3","get-port-please":"^2.6.1","@vitest/coverage-c8":"^0.24.3","@types/serve-handler":"^6.1.1","eslint-config-prettier":"latest","eslint-plugin-prettier":"latest","@typescript-eslint/parser":"^5.40.0","@nuxtjs/eslint-config-typescript":"latest","@typescript-eslint/eslint-plugin":"^5.40.0","@release-it/conventional-changelog":"latest","conventional-changelog-conventionalcommits":"latest"},"_npmOperationalInternal":{"tmp":"tmp/fontaine_0.2.0_1665993935913_0.5605351512817123","host":"s3://npm-registry-packages"}},"0.2.1":{"name":"fontaine","version":"0.2.1","keywords":["fonts","cls","web-vitals","performance"],"author":{"url":"https://github.com/danielroe","name":"Daniel Roe","email":"daniel@roe.dev"},"license":"MIT","_id":"fontaine@0.2.1","maintainers":[{"name":"danielroe","email":"daniel@roe.dev"}],"homepage":"https://github.com/unjs/fontaine#readme","bugs":{"url":"https://github.com/unjs/fontaine/issues"},"dist":{"shasum":"346308190d7bbc53d9eb0358d337450253f218e7","tarball":"https://registry.npmjs.org/fontaine/-/fontaine-0.2.1.tgz","fileCount":6,"integrity":"sha512-N1SXAiyNUwXIHAYTr9iz+D16ZOExnbVlJ9DK8ZUAnuwg87p2nT5sS6alvPOrxT4fhGKcWxMwEY5zCXP/au849w==","signatures":[{"sig":"MEQCID+IKjcW16QW39Wy0QNaDwvDk4iUrgAXQ2YW4arjV/TZAiAQtFWbIMQ9khJNELyfB4VN18YokzFy3uG3E7Qy/L4FMg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24235,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjUF9wACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpkIA//f96tAWXAl0BlIqCaniXz3aiVc5M7M23+VpnLqaqxF5yWkxNr\r\n8RpWAJZ6AVhwy26Wx+4Zi6+/INLHC3JFJbY1e+3cxXILiEG/oZBGyT2oRZR3\r\nmkk20Rj0ptp9QWP6E2KCfLzJ40KbkT7DMNW0qe8gJ76vLS27PC35bKSwDI5x\r\nloSV3VasXHvK/LNBkXrqTvp7NADqAbA2Xpd2/cjuYkULY3cvqi9nURpoRrMY\r\nxur2RTbETwCKO2RIyjPY8xVgxacQj3YOLRsSygnFsP1XU7WaQ7ONawEDHE/l\r\nKjIy1bVdLmvKTBzSKLytaH3Ncu1V+bDn/I6ib/9NWYbsMuLLs3a71SyIuQJO\r\nCMxQtSO6JBA7ckfGslcILhHZjOF6a4F+cxhiNgWf2IFh5d+QATupOJYmj2Ku\r\nJTN/KMp9G8b6bAUNB1wWA4JNBizohmOnWx994WyKw839iRa8ekrqVmPwhiVF\r\n/9/iPOFariANqV1I7eWBylg4RbhzKt9eepCvSoPjhKR8IBh2Nrq8TmRNEuSv\r\nbHjg0BBenVijgHt2WXGI/y+DccWU1hRlRif/arpERvv7IoaEtoqKONj+PzcO\r\ncVYBLkknQwKq0W1nACeEPKZaREgCPg4cM/YWpRQPgFDN4z+zkb0PrrdYZIeO\r\nkpOsX8dWx/ilwAk3OkhvW4FWVPuk80jIKXE=\r\n=OoKX\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"import":"./dist/index.mjs","require":"./dist/index.cjs"}},"gitHead":"c44ea52a32033d9eea4cc3f18b9c18b362ba6fd8","scripts":{"dev":"vitest","demo":"vite dev playground","lint":"pnpm lint:all:eslint && pnpm lint:all:prettier","test":"vitest run","build":"unbuild","prepare":"husky install && pnpm build","release":"release-it","demo:dev":"pnpm demo --config test/vite.config.mjs","lint:eslint":"eslint --fix","postpublish":"pinst --enable","_postinstall":"husky install","lint:prettier":"prettier --write --loglevel warn","prepublishOnly":"pnpm lint && pnpm test && pinst --disable","lint:all:eslint":"pnpm lint:eslint --ext .ts,.js,.mjs,.cjs .","lint:all:prettier":"pnpm lint:prettier \"{src,test}/**/*.{js,json,ts}\""},"_npmUser":{"name":"danielroe","email":"daniel@roe.dev"},"repository":{"url":"git+https://github.com/unjs/fontaine.git","type":"git"},"_npmVersion":"8.19.2","description":"Automatic font fallback based on font metrics","directories":{},"resolutions":{"fontaine":"link:."},"sideEffects":false,"_nodeVersion":"16.18.0","dependencies":{"ufo":"^0.8.6","pathe":"^0.3.9","scule":"^0.3.2","unplugin":"^0.10.0","magic-regexp":"^0.5.0","magic-string":"^0.26.7","@capsizecss/unpack":"^0.1.0","@capsizecss/metrics":"^0.3.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@7.13.5","devDependencies":{"vite":"latest","execa":"^6.1.0","husky":"latest","pinst":"latest","eslint":"latest","vitest":"latest","unbuild":"latest","prettier":"latest","release-it":"latest","typescript":"latest","@types/node":"latest","lint-staged":"latest","serve-handler":"^6.1.3","get-port-please":"^2.6.1","@vitest/coverage-c8":"^0.24.3","@types/serve-handler":"^6.1.1","eslint-config-prettier":"latest","eslint-plugin-prettier":"latest","@typescript-eslint/parser":"^5.40.1","@nuxtjs/eslint-config-typescript":"latest","@typescript-eslint/eslint-plugin":"^5.40.1","@release-it/conventional-changelog":"latest","conventional-changelog-conventionalcommits":"latest"},"_npmOperationalInternal":{"tmp":"tmp/fontaine_0.2.1_1666211696048_0.6086749569614998","host":"s3://npm-registry-packages"}},"0.2.3":{"name":"fontaine","version":"0.2.3","keywords":["fonts","cls","web-vitals","performance"],"author":{"url":"https://github.com/danielroe","name":"Daniel Roe","email":"daniel@roe.dev"},"license":"MIT","_id":"fontaine@0.2.3","maintainers":[{"name":"danielroe","email":"daniel@roe.dev"}],"homepage":"https://github.com/unjs/fontaine#readme","bugs":{"url":"https://github.com/unjs/fontaine/issues"},"dist":{"shasum":"70febd43cf1cf75631a5f3041420d3774044c2cd","tarball":"https://registry.npmjs.org/fontaine/-/fontaine-0.2.3.tgz","fileCount":6,"integrity":"sha512-qUTZfWEdPqfqAqX+3Oati/M8s/81uproVVQ3cpEcpmmzPB37/bZGwEm/92ZIIwYg/JFkQEpFRjnwg0HTiJ/FGQ==","signatures":[{"sig":"MEUCIAeHb75Fu894bPnCxnXAE32bx2rn8CAptG+63PwwRq3PAiEA5LRNr42ciPle0np5RJrHcGEWlLos0atDQTyMqSZTt8c=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24982,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjYGgTACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpwlg/8DTva/tTtkH75iMW6enZr4NOF3p2E4qeRZHJf/IaVF+6V22Wo\r\ncx2ks+CqId6eyrMFyaLWD5+MWv1yqMa4f6420nM77ShT9emxRgv5DFOdF8KQ\r\nXvVihIkER1ivsavly08+wH3mgITvQahotpDkXaZaCqzZC2AHaQr1lPozihl2\r\nQIT/9LT4cokrcyxB0uUelMUH1Cph3eMxVMZmZQwEzErmojzVpP41xlR4uGoI\r\nM8ceyemzniNZpXCeAdd4v9RZc8oaYmA2JOOSdxP38UxWeOdDwn/66+4V9oL4\r\nIMkIX05GuLhd07CKSj61NAkbhXHYPVncHYaBJSbjRIHOd6Rry2y8vp0at4q/\r\nVH7+uLMGcbfig9NwG7CCKZch7K71A1TEdT/rH+mQuMA10GMJLRo4I8yTVIhd\r\ndwg8oU7LfOgr573zjclak6MTlTv2o5Ry/NV57qxtcqr1upS+coRmio7oYta2\r\nk45mXdArBHbneyk0QiRSyy2Fb1NeO5buQR7JsBnOa1wVk1wUHc5jxondIEVq\r\n+Csi88dWnsOt6GfH0Tc/8m9C5se3qGPP4jFllsjD3elPmaBHRev4/oFON5yq\r\naltwuuRrT3ft8u/+og5ZvVA2eOb3I31KIQ6M89hCEiklznNFKvMZ/kpbhn3p\r\n5se9hVqtfdm0vE6uHpdvTxMWaRjSW3cxoGM=\r\n=lZGY\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"import":"./dist/index.mjs","require":"./dist/index.cjs"}},"gitHead":"8c2f79e29cf72d8c4a57bebe5869c6f2f4584030","scripts":{"dev":"vitest","demo":"vite dev playground","lint":"pnpm lint:all:eslint && pnpm lint:all:prettier","test":"vitest run","build":"unbuild","prepare":"husky install && pnpm build","release":"release-it","demo:dev":"pnpm demo --config test/vite.config.mjs","lint:eslint":"eslint --fix","postpublish":"pinst --enable","_postinstall":"husky install","lint:prettier":"prettier --write --loglevel warn","prepublishOnly":"pnpm lint && pnpm test && pinst --disable","lint:all:eslint":"pnpm lint:eslint --ext .ts,.js,.mjs,.cjs .","lint:all:prettier":"pnpm lint:prettier \"{src,test}/**/*.{js,json,ts}\""},"_npmUser":{"name":"danielroe","email":"daniel@roe.dev"},"repository":{"url":"git+https://github.com/unjs/fontaine.git","type":"git"},"_npmVersion":"8.19.2","description":"Automatic font fallback based on font metrics","directories":{},"resolutions":{"fontaine":"link:."},"sideEffects":false,"_nodeVersion":"16.18.0","dependencies":{"ufo":"^0.8.6","pathe":"^0.3.9","scule":"^0.3.2","unplugin":"^0.10.2","magic-regexp":"^0.6.0","magic-string":"^0.26.7","@capsizecss/unpack":"^0.1.0","@capsizecss/metrics":"^0.3.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@7.14.1","devDependencies":{"vite":"^3.2.2","execa":"^6.1.0","husky":"latest","pinst":"latest","eslint":"^8.26.0","vitest":"^0.24.4","unbuild":"latest","prettier":"latest","release-it":"latest","typescript":"latest","@types/node":"^18.11.8","lint-staged":"latest","serve-handler":"^6.1.3","get-port-please":"^2.6.1","@vitest/coverage-c8":"^0.24.4","@types/serve-handler":"^6.1.1","eslint-config-prettier":"latest","eslint-plugin-prettier":"latest","@typescript-eslint/parser":"^5.41.0","@nuxtjs/eslint-config-typescript":"latest","@typescript-eslint/eslint-plugin":"^5.41.0","@release-it/conventional-changelog":"latest","conventional-changelog-conventionalcommits":"latest"},"_npmOperationalInternal":{"tmp":"tmp/fontaine_0.2.3_1667262483481_0.7057260306985653","host":"s3://npm-registry-packages"}},"0.3.0":{"name":"fontaine","version":"0.3.0","keywords":["fonts","cls","web-vitals","performance"],"author":{"url":"https://github.com/danielroe","name":"Daniel Roe","email":"daniel@roe.dev"},"license":"MIT","_id":"fontaine@0.3.0","maintainers":[{"name":"danielroe","email":"daniel@roe.dev"}],"homepage":"https://github.com/unjs/fontaine#readme","bugs":{"url":"https://github.com/unjs/fontaine/issues"},"dist":{"shasum":"0221022a309f05bf613da32d7c4f20085b2af07f","tarball":"https://registry.npmjs.org/fontaine/-/fontaine-0.3.0.tgz","fileCount":6,"integrity":"sha512-+addt89/FdW/j+sGbFqGnteR/PpGgCZ4QwS0yiEdmVzolFSPseGz+2QHrpwkW/tlA0pxBEpz5ZsDZ38vGhAwsw==","signatures":[{"sig":"MEYCIQDPGOiqOzZsMMXVkcG1bbtENPvFOZDVcGxcrJeZUbM8HwIhAOw+KGpLS/BCFQyJbRuRjoe+5ODR54MC1yhn5yCWbq7o","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25895,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkBLfGACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqDgQ//bUPeonWPfABty+8LgE3+HnSNR3QMLc7/XOVjcIyQHID8zTfe\r\nDTOzoAeZt8QB5jdMlUJYRQU/nIXnQPOTsjvLC6nRzSJugA4YwU21+8GG1mbL\r\nQuyI6z5nmJ/KPdxTeo3D5ohFnIaaqH5Wv0MjVy5+o2XFYRTrbPweqNVSYyz6\r\nEMVMytmxDSQwhpopg4/F1HdBd+vbFrbbBiMCPClS7jWZxHLDrjD96vxpB1EU\r\nq2G1guYUVlmP4VEGADPyjqH9LVSWuyPfaBaOMXANYK9LIlBjtHs6hLvulqig\r\nOttFhSaQMV8RqAg9gqdBgqgRM5Hccm5QWpm0qjlqY9GcaWMAlJ8L2zpve837\r\nmLAZWVxXMvx9boWRST/5KktVCnZ1fCIQ3aibhajaur+Nfj/0W+uUK8BkuHZW\r\nvYz1r/hj/akWEOD1UgukDDaek8IddFqA13dBEfJidTuGGhLonRiFrTLVJBGb\r\nHgJllREIHx9ZFytJW85w78BMDhsf0AA2FpGczYMOpO/aVjOh7Y4c80uwPJ8U\r\ndxaQZoqqwTLL17PiN3Urv6zL1xH+BtVojC8ISgIVaQimshi+Ynah/RZHkyzm\r\nUvN+8rwc2gn91C8DaOR8xp3/wsF43kyU7qI7ySQ5+UcB5VX055NqcShebnZL\r\nwjK1y4HIs5ulHrLl9v0Uq6OWwTKqxG2g75I=\r\n=6Yj8\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"import":"./dist/index.mjs","require":"./dist/index.cjs"}},"gitHead":"1a1f7b9c045ddbab1a5070f51e470cb2ed90b0a9","scripts":{"dev":"vitest","demo":"vite dev playground","lint":"pnpm lint:all:eslint && pnpm lint:all:prettier","test":"vitest run","build":"unbuild","prepare":"husky install && pnpm build","release":"pnpm test && bumpp && npm publish","demo:dev":"pnpm demo --config test/vite.config.mjs","lint:eslint":"eslint --fix","postpublish":"pinst --enable","_postinstall":"husky install","lint:prettier":"prettier --write --loglevel warn","prepublishOnly":"pnpm lint && pnpm test && pinst --disable","lint:all:eslint":"pnpm lint:eslint --ext .ts,.js,.mjs,.cjs .","lint:all:prettier":"pnpm lint:prettier \"{src,test}/**/*.{js,json,ts}\""},"_npmUser":{"name":"danielroe","email":"daniel@roe.dev"},"repository":{"url":"git+https://github.com/unjs/fontaine.git","type":"git"},"_npmVersion":"8.19.2","description":"Automatic font fallback based on font metrics","directories":{},"resolutions":{"fontaine":"link:."},"sideEffects":false,"_nodeVersion":"18.12.1","dependencies":{"ufo":"^1.1.1","pathe":"^1.1.0","unplugin":"^1.1.0","magic-regexp":"^0.6.3","magic-string":"^0.30.0","@capsizecss/unpack":"^1.0.0","@capsizecss/metrics":"^1.1.1"},"_hasShrinkwrap":false,"packageManager":"pnpm@7.28.0","devDependencies":{"vite":"4.1.4","bumpp":"^9.0.0","execa":"7.0.0","husky":"latest","pinst":"latest","eslint":"8.35.0","vitest":"0.29.2","unbuild":"latest","prettier":"latest","typescript":"latest","@types/node":"18.14.6","lint-staged":"latest","serve-handler":"6.1.5","get-port-please":"3.0.1","@vitest/coverage-c8":"0.29.2","@types/serve-handler":"6.1.1","eslint-config-prettier":"latest","eslint-plugin-prettier":"latest","@typescript-eslint/parser":"5.54.0","@nuxtjs/eslint-config-typescript":"latest","@typescript-eslint/eslint-plugin":"5.54.0"},"_npmOperationalInternal":{"tmp":"tmp/fontaine_0.3.0_1678030790702_0.14060580784592758","host":"s3://npm-registry-packages"}},"0.3.1":{"name":"fontaine","version":"0.3.1","keywords":["fonts","cls","web-vitals","performance"],"author":{"url":"https://github.com/danielroe","name":"Daniel Roe","email":"daniel@roe.dev"},"license":"MIT","_id":"fontaine@0.3.1","maintainers":[{"name":"danielroe","email":"daniel@roe.dev"}],"homepage":"https://github.com/unjs/fontaine#readme","bugs":{"url":"https://github.com/unjs/fontaine/issues"},"dist":{"shasum":"b3eae1b6e94457b3a8cd231087cafa41c8ef3be4","tarball":"https://registry.npmjs.org/fontaine/-/fontaine-0.3.1.tgz","fileCount":6,"integrity":"sha512-VUOhc5jsVyRDNpU5buXCiIwY8fQ+TXTYCsHl2M0o4+clv2reQb4AqRnysSfRXMVcFIJWk1SspWthcVpNktgR/Q==","signatures":[{"sig":"MEUCIFqRjyIthVeKY7Jfvh/NwQThVkeEMBUx3CyDgL93PSDWAiEAkb19f45t1bCClO+9Gde6YOqj0jV6zpyfE2X0wrAHYoM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26005,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkFHH9ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqwIQ//apITuV2j6dKYVpvSxkGBYrMzJ8BEc4hCuaHaXmyDPu70grEQ\r\nPuj8EB4l/zLcIy4olr9lbXqqd3p4KsMfqC3bGTgx44k1YN3FII9nHkPkFxLk\r\ne/F1OAJ0s7UJa1rrCDnTVyY7uomnJXN7Gx+Fas3IZu6ga33NwgBAQ4L2hDzL\r\nG+qPHHAk27LQc9BMQSjFUh6OFsWNGWpsIUbzJT5JrrBHmbZGKqvsSL/L8cYQ\r\nqqw5t+E2567vmcJw/B4mk4PF23s/hrCMz7Lv4GfMdDedDVUmoH83kUC7FFxl\r\nRhe7YXH0+hcQwMCFxFl5ZGSDVjwkSROWZZf/kwgfD4btIUOQu79qk/xPc9nu\r\nCxKwD/imBifwWZg8cfNZffUNEc+ftcC03QejOYkBsdc/nRnddpgygA4iB9xA\r\n+2KlaoKEPrxEelwDYwOqa2HHvKy21ftW9DScSGEPkm5sZVsseFMZuGjRNCJv\r\nby+Yw398Hykv6h8rG8SUEyX1cdiqq/KB4sUls3t30wZRGkQvKGb9de1LF8UF\r\nCCTbXlj6VOPOmBxF60aLSqCXxG+vWC/yrJrI8tWAGLS14kav4wW09JYu7T+L\r\nxr82uDfCahM/2A3YfGiw5RCirlzfZM0vNvsKsDWbbTR73Bvpd18/E1F/oljg\r\nXqRDYyvQEmYxrVp8DRzjP3DziyqJzL6lAGQ=\r\n=dzx2\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"import":"./dist/index.mjs","require":"./dist/index.cjs"}},"gitHead":"8b8f59e5c6368a05de3520122731f6a3aeeb3e14","scripts":{"dev":"vitest","demo":"vite dev playground","lint":"pnpm lint:all:eslint && pnpm lint:all:prettier","test":"vitest run","build":"unbuild","prepare":"husky install && pnpm build","release":"pnpm test && bumpp && npm publish","demo:dev":"pnpm demo --config test/vite.config.mjs","lint:eslint":"eslint --fix","postpublish":"pinst --enable","_postinstall":"husky install","lint:prettier":"prettier --write --loglevel warn","prepublishOnly":"pnpm lint && pnpm test && pinst --disable","lint:all:eslint":"pnpm lint:eslint --ext .ts,.js,.mjs,.cjs .","lint:all:prettier":"pnpm lint:prettier \"{src,test}/**/*.{js,json,ts}\""},"_npmUser":{"name":"danielroe","email":"daniel@roe.dev"},"repository":{"url":"git+https://github.com/unjs/fontaine.git","type":"git"},"_npmVersion":"8.19.2","description":"Automatic font fallback based on font metrics","directories":{},"resolutions":{"fontaine":"link:."},"sideEffects":false,"_nodeVersion":"18.12.1","dependencies":{"ufo":"^1.1.1","pathe":"^1.1.0","unplugin":"^1.3.1","magic-regexp":"^0.6.3","magic-string":"^0.30.0","@capsizecss/unpack":"^1.0.0","@capsizecss/metrics":"^1.1.1"},"_hasShrinkwrap":false,"packageManager":"pnpm@7.29.1","devDependencies":{"vite":"4.2.0","bumpp":"9.0.0","execa":"7.1.1","husky":"latest","pinst":"latest","eslint":"8.36.0","vitest":"0.29.3","unbuild":"latest","prettier":"latest","typescript":"^5.0.2","@types/node":"18.15.3","lint-staged":"^13.2.0","serve-handler":"6.1.5","get-port-please":"3.0.1","@vitest/coverage-c8":"0.29.3","@types/serve-handler":"6.1.1","eslint-config-prettier":"^8.7.0","eslint-plugin-prettier":"latest","@typescript-eslint/parser":"5.55.0","@nuxtjs/eslint-config-typescript":"latest","@typescript-eslint/eslint-plugin":"5.55.0"},"_npmOperationalInternal":{"tmp":"tmp/fontaine_0.3.1_1679061501360_0.6844414641249943","host":"s3://npm-registry-packages"}},"0.4.0":{"name":"fontaine","version":"0.4.0","keywords":["fonts","cls","web-vitals","performance"],"author":{"url":"https://github.com/danielroe","name":"Daniel Roe","email":"daniel@roe.dev"},"license":"MIT","_id":"fontaine@0.4.0","maintainers":[{"name":"danielroe","email":"daniel@roe.dev"}],"homepage":"https://github.com/unjs/fontaine#readme","bugs":{"url":"https://github.com/unjs/fontaine/issues"},"dist":{"shasum":"ecc37ada11ab670d0d79bbc3ed930ec5970e34ca","tarball":"https://registry.npmjs.org/fontaine/-/fontaine-0.4.0.tgz","fileCount":6,"integrity":"sha512-X3sW8Y+rvmgpkwWVlcgbpZRYL/P4T6QAtShnss0iodPjuBVdPwaemB/aopKY0cCC1yGixtgFgPKSVUiHzEIeIQ==","signatures":[{"sig":"MEYCIQD6NdOR4G/cCMRj7xPOW/pkUKqOunEUWvJkAWqn/yN3UgIhAJHyiPhQQm+AGZsfJziesCZapqMAKKUAVRFj+ylGfkA+","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":28220},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"import":"./dist/index.mjs","require":"./dist/index.cjs"}},"gitHead":"bf61850cc0c9a88dc1721445635c6df0cf0dac9a","scripts":{"dev":"vitest","demo":"vite dev playground","lint":"pnpm lint:all:eslint && pnpm lint:all:prettier","test":"vitest run","build":"unbuild","prepare":"husky install && pnpm build","release":"pnpm test && bumpp && npm publish","demo:dev":"pnpm demo --config test/vite.config.mjs","lint:eslint":"eslint --fix","lint:prettier":"prettier --write --loglevel warn","prepublishOnly":"pnpm lint && pnpm test","lint:all:eslint":"pnpm lint:eslint --ext .ts,.js,.mjs,.cjs .","lint:all:prettier":"pnpm lint:prettier \"{src,test}/**/*.{js,json,ts}\""},"_npmUser":{"name":"danielroe","email":"daniel@roe.dev"},"repository":{"url":"git+https://github.com/unjs/fontaine.git","type":"git"},"_npmVersion":"9.6.4","description":"Automatic font fallback based on font metrics","directories":{},"resolutions":{"fontaine":"link:."},"sideEffects":false,"_nodeVersion":"20.1.0","dependencies":{"ufo":"^1.1.1","pathe":"^1.1.0","unplugin":"^1.3.1","magic-regexp":"^0.7.0","magic-string":"^0.30.0","@capsizecss/unpack":"^1.0.0","@capsizecss/metrics":"^1.1.1"},"_hasShrinkwrap":false,"packageManager":"pnpm@8.6.0","devDependencies":{"vite":"4.3.9","bumpp":"9.1.1","execa":"7.1.1","husky":"latest","eslint":"8.42.0","vitest":"0.32.0","unbuild":"latest","prettier":"latest","typescript":"5.1.3","@types/node":"18.16.16","lint-staged":"13.2.2","serve-handler":"6.1.5","get-port-please":"3.0.1","@vitest/coverage-v8":"0.32.0","@types/serve-handler":"6.1.1","eslint-config-prettier":"8.8.0","eslint-plugin-prettier":"latest","@typescript-eslint/parser":"5.59.8","@nuxtjs/eslint-config-typescript":"latest","@typescript-eslint/eslint-plugin":"5.59.8"},"_npmOperationalInternal":{"tmp":"tmp/fontaine_0.4.0_1686243095244_0.8440542587450659","host":"s3://npm-registry-packages"}},"0.4.1":{"name":"fontaine","version":"0.4.1","keywords":["fonts","cls","web-vitals","performance"],"author":{"url":"https://github.com/danielroe","name":"Daniel Roe","email":"daniel@roe.dev"},"license":"MIT","_id":"fontaine@0.4.1","maintainers":[{"name":"danielroe","email":"daniel@roe.dev"}],"homepage":"https://github.com/unjs/fontaine#readme","bugs":{"url":"https://github.com/unjs/fontaine/issues"},"dist":{"shasum":"73b918c99a7a27c6a415147c9439095a9dabb3fd","tarball":"https://registry.npmjs.org/fontaine/-/fontaine-0.4.1.tgz","fileCount":8,"integrity":"sha512-Ps7KS0xFkbeZWa+ynuNQncHYz6j7gs6+SXcWWeA7+HCeidXTnIQNryCuUxQdjxBwmRBY0Or998brldt4WFwfcQ==","signatures":[{"sig":"MEYCIQD1jHA1Szm1Egn9pUcj6zI4s5VliOLxK+fWzEaw9lyrCQIhALk8C6WcglDSVVdTwhgy2BcewcEcP/dZk/SZgq80VcEU","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30828},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"import":"./dist/index.mjs","require":"./dist/index.cjs"}},"gitHead":"76e90b8ebef361840c9d33b969c1e472353c3240","scripts":{"dev":"vitest","demo":"vite dev playground","lint":"pnpm lint:all:eslint && pnpm lint:all:prettier","test":"vitest run","build":"unbuild","prepare":"husky install && pnpm build","release":"pnpm test && bumpp && npm publish","demo:dev":"pnpm demo --config test/vite.config.mjs","lint:eslint":"eslint --fix","lint:prettier":"prettier --write --loglevel warn","prepublishOnly":"pnpm lint && pnpm test","lint:all:eslint":"pnpm lint:eslint --ext .ts,.js,.mjs,.cjs .","lint:all:prettier":"pnpm lint:prettier \"{src,test}/**/*.{js,json,ts}\""},"_npmUser":{"name":"danielroe","email":"daniel@roe.dev"},"repository":{"url":"git+https://github.com/unjs/fontaine.git","type":"git"},"_npmVersion":"9.7.2","description":"Automatic font fallback based on font metrics","directories":{},"resolutions":{"fontaine":"link:."},"sideEffects":false,"_nodeVersion":"20.3.1","dependencies":{"ufo":"^1.1.1","pathe":"^1.1.0","unplugin":"^1.3.1","magic-regexp":"^0.7.0","magic-string":"^0.30.0","@capsizecss/unpack":"^1.0.0","@capsizecss/metrics":"^1.1.1"},"_hasShrinkwrap":false,"packageManager":"pnpm@8.6.12","devDependencies":{"vite":"4.4.9","bumpp":"9.1.1","execa":"8.0.1","husky":"latest","eslint":"8.48.0","vitest":"0.34.2","unbuild":"latest","prettier":"latest","typescript":"5.1.6","@types/node":"18.17.15","lint-staged":"14.0.1","serve-handler":"6.1.5","get-port-please":"3.1.1","@vitest/coverage-v8":"0.34.2","@types/serve-handler":"6.1.1","eslint-config-prettier":"9.0.0","eslint-plugin-prettier":"latest","@typescript-eslint/parser":"6.4.1","@nuxtjs/eslint-config-typescript":"latest","@typescript-eslint/eslint-plugin":"6.4.1"},"_npmOperationalInternal":{"tmp":"tmp/fontaine_0.4.1_1694336735739_0.4709179262623746","host":"s3://npm-registry-packages"}},"0.5.0":{"name":"fontaine","version":"0.5.0","keywords":["fonts","cls","web-vitals","performance"],"author":{"url":"https://github.com/danielroe","name":"Daniel Roe","email":"daniel@roe.dev"},"license":"MIT","_id":"fontaine@0.5.0","maintainers":[{"name":"danielroe","email":"daniel@roe.dev"}],"homepage":"https://github.com/unjs/fontaine#readme","bugs":{"url":"https://github.com/unjs/fontaine/issues"},"dist":{"shasum":"0b01e6ef841da0eb6077430813812c2a22fc1987","tarball":"https://registry.npmjs.org/fontaine/-/fontaine-0.5.0.tgz","fileCount":8,"integrity":"sha512-vPDSWKhVAfTx4hRKT777+N6Szh2pAosAuzLpbppZ6O3UdD/1m6OlHjNcC3vIbgkRTIcLjzySLHXzPeLO2rE8cA==","signatures":[{"sig":"MEUCIBrmSoM6OlWBne+iw+24xgDFA0Gu5yn7k2Zw7kNbxtCvAiEA1TU3yTwBcgwQAxVYIx6JqB3MElQZ5x1zJTI+IWSQERo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30541},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"import":"./dist/index.mjs","require":"./dist/index.cjs"}},"gitHead":"3e12388503d863040be146f86aa809e8842bdc14","scripts":{"dev":"vitest","demo":"vite dev playground","lint":"eslint --fix .","test":"vitest run","build":"unbuild","prepare":"simple-git-hooks install && pnpm build","release":"pnpm test && bumpp && npm publish","demo:dev":"pnpm demo --config test/vite.config.mjs","prepublishOnly":"pnpm lint && pnpm test"},"_npmUser":{"name":"danielroe","email":"daniel@roe.dev"},"repository":{"url":"git+https://github.com/unjs/fontaine.git","type":"git"},"_npmVersion":"9.7.2","description":"Automatic font fallback based on font metrics","directories":{},"lint-staged":{"*.{js,ts,mjs,cjs,json,.*rc}":["pnpm eslint --fix"]},"resolutions":{"fontaine":"link:."},"sideEffects":false,"_nodeVersion":"20.3.1","dependencies":{"ufo":"^1.4.0","pathe":"^1.1.2","unplugin":"^1.8.3","magic-regexp":"^0.8.0","magic-string":"^0.30.8","@capsizecss/unpack":"^2.0.1","@capsizecss/metrics":"^2.1.1"},"_hasShrinkwrap":false,"packageManager":"pnpm@8.15.4","devDependencies":{"vite":"5.1.5","bumpp":"9.4.0","execa":"8.0.1","eslint":"8.57.0","vitest":"1.3.1","unbuild":"latest","prettier":"latest","typescript":"5.4.2","@types/node":"20.11.25","lint-staged":"15.2.2","serve-handler":"6.1.5","get-port-please":"3.1.2","simple-git-hooks":"^2.10.0","@vitest/coverage-v8":"1.3.1","@antfu/eslint-config":"^2.8.0","@types/serve-handler":"6.1.4","eslint-config-prettier":"9.1.0","eslint-plugin-prettier":"latest","@typescript-eslint/parser":"7.1.1","@nuxtjs/eslint-config-typescript":"latest","@typescript-eslint/eslint-plugin":"7.1.1"},"simple-git-hooks":{"pre-commit":"npx lint-staged"},"_npmOperationalInternal":{"tmp":"tmp/fontaine_0.5.0_1709773594975_0.40964563879491256","host":"s3://npm-registry-packages"}},"0.6.0":{"name":"fontaine","version":"0.6.0","keywords":["fonts","cls","web-vitals","performance"],"author":{"url":"https://github.com/danielroe","name":"Daniel Roe","email":"daniel@roe.dev"},"license":"MIT","_id":"fontaine@0.6.0","maintainers":[{"name":"danielroe","email":"daniel@roe.dev"}],"homepage":"https://github.com/unjs/fontaine#readme","bugs":{"url":"https://github.com/unjs/fontaine/issues"},"dist":{"shasum":"ce90d22119935f841390b5d8d9795d9dd0e749bf","tarball":"https://registry.npmjs.org/fontaine/-/fontaine-0.6.0.tgz","fileCount":8,"integrity":"sha512-cfKqzB62GmztJhwJ0YXtzNsmpqKAcFzTqsakJ//5COTzbou90LU7So18U+4D8z+lDXr4uztaAUZBonSoPDcj1w==","signatures":[{"sig":"MEUCIQDpGzR/iprPJpTsPqOOiMYaTOM15G+FLHRI3AuX8ok7vgIgI5RYmOaYnZuL/35Gb396ZAE7SL5nFrKisWWFVrd0lkA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":41263},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"import":"./dist/index.mjs","require":"./dist/index.cjs"}},"gitHead":"c58f7f4204df7001dfbaedec382293b8c2e85279","scripts":{"dev":"vitest","demo":"vite dev playground","lint":"eslint .","test":"vitest run","build":"unbuild","prepare":"simple-git-hooks install && pnpm build","release":"pnpm test && bumpp && npm publish","demo:dev":"pnpm demo --config test/vite.config.mjs","prepublishOnly":"pnpm lint && pnpm test"},"_npmUser":{"name":"danielroe","email":"daniel@roe.dev"},"repository":{"url":"git+https://github.com/unjs/fontaine.git","type":"git"},"_npmVersion":"10.9.2","description":"Automatic font fallback based on font metrics","directories":{},"lint-staged":{"*.{js,ts,mjs,cjs,json,.*rc}":["npx eslint --fix"]},"resolutions":{"fontaine":"link:."},"sideEffects":false,"_nodeVersion":"22.14.0","dependencies":{"ufo":"^1.6.1","pathe":"^2.0.3","css-tree":"^3.1.0","unplugin":"^2.3.2","magic-regexp":"^0.10.0","magic-string":"^0.30.17","@capsizecss/unpack":"^2.4.0","@capsizecss/metrics":"^3.5.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.9.0","devDependencies":{"vite":"6.3.2","bumpp":"10.1.0","execa":"9.5.2","eslint":"9.25.1","vitest":"3.1.2","unbuild":"latest","typescript":"5.8.3","@types/node":"22.14.1","lint-staged":"15.5.1","serve-handler":"6.1.6","@types/css-tree":"^2.3.10","get-port-please":"3.1.2","simple-git-hooks":"2.12.1","@vitest/coverage-v8":"3.1.2","@antfu/eslint-config":"4.12.0","@types/serve-handler":"6.1.4","@typescript-eslint/parser":"8.31.0","@nuxtjs/eslint-config-typescript":"latest","@typescript-eslint/eslint-plugin":"8.31.0"},"simple-git-hooks":{"pre-commit":"npx lint-staged"},"_npmOperationalInternal":{"tmp":"tmp/fontaine_0.6.0_1745331543136_0.11489797601498686","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"fontaine","version":"0.7.0","keywords":["fonts","cls","web-vitals","performance"],"author":{"url":"https://github.com/danielroe","name":"Daniel Roe","email":"daniel@roe.dev"},"license":"MIT","_id":"fontaine@0.7.0","maintainers":[{"name":"danielroe","email":"daniel@roe.dev"}],"homepage":"https://github.com/unjs/fontaine#readme","bugs":{"url":"https://github.com/unjs/fontaine/issues"},"dist":{"shasum":"3b2ea6cefff86a202dc7cabd73abc3adb8b7a376","tarball":"https://registry.npmjs.org/fontaine/-/fontaine-0.7.0.tgz","fileCount":9,"integrity":"sha512-vlaWLyoJrOnCBqycmFo/CA8ZmPzuyJHYmgu261KYKByZ4YLz9sTyHZ4qoHgWSYiDsZXhiLo2XndVMz0WOAyZ8Q==","signatures":[{"sig":"MEUCIDHN1k/fUvznRrKzi41Cvu9jVaVhh1jneEj905rRbltyAiEAr9ybdAbDjFuCVuwCTN8qsOt61BmTfWMTNSK9EkkVuTI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2707313},"main":"./dist/index.cjs","type":"module","_from":"file:fontaine-0.7.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18.12.0"},"exports":{".":{"import":"./dist/index.mjs","require":"./dist/index.cjs"}},"imports":{"#capsize-font-metrics":"./dist/capsize-font-metrics.mjs"},"scripts":{"dev":"vitest","demo":"vite dev playground","lint":"eslint .","test":"vitest run","build":"tsdown","release":"pnpm test && bumpp && npm publish","demo:dev":"pnpm demo --config test/vite.config.mjs"},"_npmUser":{"name":"danielroe","email":"daniel@roe.dev"},"_resolved":"/private/var/folders/5g/r5lg700163d_r_6t_547flw80000gn/T/0e2d16d122effa7dbdbb884df6a49513/fontaine-0.7.0.tgz","_integrity":"sha512-vlaWLyoJrOnCBqycmFo/CA8ZmPzuyJHYmgu261KYKByZ4YLz9sTyHZ4qoHgWSYiDsZXhiLo2XndVMz0WOAyZ8Q==","repository":{"url":"git+https://github.com/unjs/fontaine.git","type":"git","directory":"packages/fontaine"},"_npmVersion":"11.5.1","description":"Automatic font fallback based on font metrics","directories":{},"sideEffects":false,"_nodeVersion":"24.5.0","dependencies":{"ufo":"^1.6.1","pathe":"^2.0.3","css-tree":"^3.1.0","unplugin":"^2.3.10","magic-regexp":"^0.10.0","magic-string":"^0.30.21","@capsizecss/unpack":"^3.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"7.2.1","eslint":"9.39.1","tsdown":"0.16.0","vitest":"4.0.7","typescript":"5.9.3","@types/node":"24.10.0","serve-handler":"6.1.6","@types/css-tree":"2.3.11","get-port-please":"3.2.0","@capsizecss/metrics":"3.5.0","@vitest/coverage-v8":"4.0.7","@types/serve-handler":"6.1.4"},"_npmOperationalInternal":{"tmp":"tmp/fontaine_0.7.0_1762464071065_0.215036988115201","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"fontaine","version":"0.8.0","keywords":["fonts","cls","web-vitals","performance"],"author":{"url":"https://github.com/danielroe","name":"Daniel Roe","email":"daniel@roe.dev"},"license":"MIT","_id":"fontaine@0.8.0","maintainers":[{"name":"danielroe","email":"daniel@roe.dev"}],"homepage":"https://github.com/unjs/fontaine#readme","bugs":{"url":"https://github.com/unjs/fontaine/issues"},"dist":{"shasum":"73bfda43e5169465c3af2eec51b6eaa2d0543ba2","tarball":"https://registry.npmjs.org/fontaine/-/fontaine-0.8.0.tgz","fileCount":9,"integrity":"sha512-eek1GbzOdWIj9FyQH/emqW1aEdfC3lYRCHepzwlFCm5T77fBSRSyNRKE6/antF1/B1M+SfJXVRQTY9GAr7lnDg==","signatures":[{"sig":"MEYCIQCJzHToGbWodsrM53Gy4QnkH8OkGdZfmWdaGLNbv4kgPAIhAOzeCOS6V8mjVDUHgZNlD7Jx3ps8ZN9aspAOYM7smbAx","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/fontaine@0.8.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2939424},"main":"./dist/index.cjs","type":"module","_from":"file:fontaine-0.8.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18.12.0"},"exports":{".":{"import":"./dist/index.mjs","require":"./dist/index.cjs"}},"imports":{"#capsize-font-metrics":"./dist/capsize-font-metrics.mjs"},"scripts":{"dev":"vitest","demo":"vite dev playground","lint":"eslint .","test":"pnpm test:unit && pnpm test:types","build":"tsdown","demo:dev":"pnpm demo --config test/vite.config.mjs","test:unit":"vitest run","test:types":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e247fd5b-ca47-4a20-b4cb-0ad2715801da"}},"_resolved":"/tmp/153b8f7b2d9a2b55ce4796c4c704e30e/fontaine-0.8.0.tgz","_integrity":"sha512-eek1GbzOdWIj9FyQH/emqW1aEdfC3lYRCHepzwlFCm5T77fBSRSyNRKE6/antF1/B1M+SfJXVRQTY9GAr7lnDg==","repository":{"url":"git+https://github.com/unjs/fontaine.git","type":"git","directory":"packages/fontaine"},"_npmVersion":"11.6.2","description":"Automatic font fallback based on font metrics","directories":{},"sideEffects":false,"_nodeVersion":"24.12.0","dependencies":{"ufo":"^1.6.1","pathe":"^2.0.3","css-tree":"^3.1.0","unplugin":"^2.3.10","magic-regexp":"^0.10.0","magic-string":"^0.30.21","@capsizecss/unpack":"^4.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"7.3.1","eslint":"9.39.2","tsdown":"0.19.0","vitest":"4.0.17","typescript":"5.9.3","@types/node":"24.10.8","serve-handler":"6.1.6","@types/css-tree":"2.3.11","get-port-please":"3.2.0","@capsizecss/metrics":"3.6.2","@vitest/coverage-v8":"4.0.17","@types/serve-handler":"6.1.4"},"_npmOperationalInternal":{"tmp":"tmp/fontaine_0.8.0_1768414228645_0.2090163679200634","host":"s3://npm-registry-packages-npm-production"}},"0.8.1":{"_id":"fontaine@0.8.1","bugs":{"url":"https://github.com/unjs/fontaine/issues"},"dist":{"shasum":"c0a297f5f58cc40a96d0727c83f44a612c4d5772","tarball":"https://registry.npmjs.org/fontaine/-/fontaine-0.8.1.tgz","integrity":"sha512-IA3MDtmvstTwnyuZTUD1IL42qTR6lI6ND3DEGBHLT5alcBeC/0jo+4jN5XFgG+E7HoPqJqlAUuIL+MhGonyCbQ==","fileCount":17,"unpackedSize":3072307,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/fontaine@0.8.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDAVKAhswxMfbEKDgtCq7Rnr1slKFQJgjX343BKnk89pAIhANpWFAWnk/Li7zJbKmXlvMe2lKdFmmdMHcud7Eg7OiQU"}]},"main":"./dist/index.cjs","name":"fontaine","type":"module","_from":"file:/home/runner/work/_temp/uppt-tarballs/fontaine-0.8.1.tgz","types":"./dist/index.d.ts","author":{"url":"https://github.com/danielroe","name":"Daniel Roe","email":"daniel@roe.dev"},"module":"./dist/index.mjs","engines":{"node":"^20.19.0 || >=22.12.0"},"exports":{".":{"import":"./dist/index.mjs","require":"./dist/index.cjs"},"./postcss":{"import":{"types":"./dist/postcss.d.mts","default":"./dist/postcss.mjs"},"require":{"types":"./dist/postcss.d.cts","default":"./dist/postcss.cjs"}}},"imports":{"#capsize-font-metrics":"./dist/capsize-font-metrics.mjs"},"license":"MIT","scripts":{"dev":"vitest","demo":"vite dev playground","lint":"eslint .","test":"pnpm test:unit && pnpm test:types","build":"tsdown","demo:dev":"pnpm demo --config test/vite.config.mjs","test:unit":"vitest run","test:types":"tsc --noEmit"},"version":"0.8.1","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f65ee04d-14fc-4f83-b8ca-11eaca68f87c"},"approver":{"name":"danielroe","email":"daniel@roe.dev"}},"homepage":"https://github.com/unjs/fontaine#readme","keywords":["fonts","cls","web-vitals","performance"],"_resolved":"/home/runner/work/_temp/uppt-tarballs/fontaine-0.8.1.tgz","_integrity":"sha512-IA3MDtmvstTwnyuZTUD1IL42qTR6lI6ND3DEGBHLT5alcBeC/0jo+4jN5XFgG+E7HoPqJqlAUuIL+MhGonyCbQ==","repository":{"url":"git+https://github.com/unjs/fontaine.git","type":"git","directory":"packages/fontaine"},"_npmVersion":"12.0.2","description":"Automatic font fallback based on font metrics","directories":{},"maintainers":[{"name":"danielroe","email":"daniel@roe.dev"}],"sideEffects":false,"_nodeVersion":"24.19.0","dependencies":{"ufo":"^1.6.1","pathe":"^2.0.3","css-tree":"^3.1.0","unplugin":"^3.0.0","magic-regexp":"^0.11.0","magic-string":"^1.0.0","@capsizecss/unpack":"^4.0.0"},"devDependencies":{"vite":"8.2.2","eslint":"10.8.1","tsdown":"0.22.14","vitest":"4.1.11","postcss":"8.5.26","typescript":"6.0.3","@types/node":"24.13.3","serve-handler":"6.1.7","@types/css-tree":"3.2.0","get-port-please":"3.2.0","@capsizecss/metrics":"4.2.0","@vitest/coverage-v8":"4.1.11","@types/serve-handler":"6.1.4"},"peerDependencies":{"postcss":"^8.4.31"},"peerDependenciesMeta":{"postcss":{"optional":true}},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/fontaine_0.8.1_1787340422845_0.0349719174852996"},"_hasShrinkwrap":false}},"time":{"created":"2022-09-28T17:19:17.961Z","modified":"2026-08-21T19:27:03.314Z","0.0.0":"2018-12-13T20:00:04.334Z","0.0.1":"2022-09-28T17:19:18.201Z","0.0.2":"2022-09-29T12:27:33.263Z","0.1.0":"2022-09-29T15:27:39.390Z","0.1.1":"2022-09-29T21:35:03.912Z","0.1.2":"2022-10-16T14:25:43.295Z","0.1.3":"2022-10-16T19:54:21.680Z","0.2.0":"2022-10-17T08:05:36.090Z","0.2.1":"2022-10-19T20:34:56.228Z","0.2.3":"2022-11-01T00:28:03.724Z","0.3.0":"2023-03-05T15:39:50.841Z","0.3.1":"2023-03-17T13:58:21.640Z","0.4.0":"2023-06-08T16:51:35.487Z","0.4.1":"2023-09-10T09:05:36.023Z","0.5.0":"2024-03-07T01:06:35.113Z","0.6.0":"2025-04-22T14:19:03.450Z","0.7.0":"2025-11-06T21:21:11.448Z","0.8.0":"2026-01-14T18:10:28.837Z","0.8.1":"2026-08-21T19:27:02.939Z"},"bugs":{"url":"https://github.com/unjs/fontaine/issues"},"author":{"url":"https://github.com/danielroe","name":"Daniel Roe","email":"daniel@roe.dev"},"license":"MIT","homepage":"https://github.com/unjs/fontaine#readme","keywords":["fonts","cls","web-vitals","performance"],"repository":{"url":"git+https://github.com/unjs/fontaine.git","type":"git","directory":"packages/fontaine"},"description":"Automatic font fallback based on font metrics","maintainers":[{"name":"danielroe","email":"daniel@roe.dev"}],"readme":"# fontaine\n\n[![npm version][npm-version-src]][npm-version-href]\n[![npm downloads][npm-downloads-src]][npm-downloads-href]\n[![Github Actions][github-actions-src]][github-actions-href]\n[![Codecov][codecov-src]][codecov-href]\n\n> Automatic font fallback based on font metrics\n\n- [✨ &nbsp;Changelog](https://github.com/unjs/fontaine/blob/main/CHANGELOG.md)\n- [▶️ &nbsp;Online playground](https://stackblitz.com/github/unjs/fontaine/tree/main/packages/fontaine/playground)\n\n## Features\n\n- 💪 Reduces CLS by using local font fallbacks with crafted font metrics.\n- ✨ Generates font metrics and overrides automatically.\n- ⚡️ Pure CSS, zero runtime overhead.\n\nOn the playground project, enabling/disabling `fontaine` makes the following difference rendering `/`, with no customisation required:\n\n|             | Before | After   |\n| ----------- | ------ | ------- |\n| CLS         | `0.24` | `0.054` |\n| Performance | `92`   | `100`   |\n\n## Installation\n\nWith `pnpm`\n\n```bash\npnpm add -D fontaine\n```\n\nOr, with `npm`\n\n```bash\nnpm install -D fontaine\n```\n\nOr, with `yarn`\n\n```bash\nyarn add -D fontaine\n```\n\n## Usage\n\n```js\nimport { FontaineTransform } from 'fontaine'\n\n// Astro config - astro.config.mjs\nimport { defineConfig } from 'astro/config'\n\nconst options = {\n  // You can specify fallbacks as an array (applies to all fonts)\n  fallbacks: ['BlinkMacSystemFont', 'Segoe UI', 'Helvetica Neue', 'Arial', 'Noto Sans'],\n\n  // Or as an object to configure specific fallbacks per font family\n  // fallbacks: {\n  //   Poppins: ['Helvetica Neue'],\n  //   'JetBrains Mono': ['Courier New']\n  // },\n\n  // You may need to resolve assets like `/fonts/Roboto.woff2` to a particular directory\n  resolvePath: id => `file:///path/to/public/dir${id}`,\n  // fallbackName: (originalName) => `${name} fallback`\n  // sourcemap: false\n  // skipFontFaceGeneration: (fallbackName) => fallbackName === 'Roboto fallback'\n}\n\n// Vite\nexport default {\n  plugins: [FontaineTransform.vite(options)]\n}\n\n// Next.js\nexport default {\n  webpack(config) {\n    config.plugins = config.plugins || []\n    config.plugins.push(FontaineTransform.webpack(options))\n    return config\n  },\n}\n\n// Docusaurus plugin - to be provided to the plugins option of docusaurus.config.js\n// n.b. you'll likely need to require fontaine rather than importing it\nconst fontaine = require('fontaine')\n\nfunction fontainePlugin(_context, _options) {\n  return {\n    name: 'fontaine-plugin',\n    configureWebpack(_config, _isServer) {\n      return {\n        plugins: [\n          fontaine.FontaineTransform.webpack(options),\n        ],\n      }\n    },\n  }\n}\n\n// Gatsby config - gatsby-node.js\nconst { FontaineTransform } = require('fontaine')\n\nexports.onCreateWebpackConfig = ({ stage, actions, getConfig }) => {\n  const config = getConfig()\n  config.plugins.push(FontaineTransform.webpack(options))\n  actions.replaceWebpackConfig(config)\n}\n\nexport default defineConfig({\n  integrations: [],\n  vite: {\n    plugins: [\n      FontaineTransform.vite({\n        fallbacks: ['Arial'],\n        resolvePath: id => new URL(`./public${id}`, import.meta.url), // id is the font src value in the CSS\n      }),\n    ],\n  },\n})\n```\n\n> **Note**\n> If you are using Nuxt, check out [nuxt-font-metrics](https://github.com/danielroe/nuxt-font-metrics) which uses `fontaine` under the hood.\n\nIf your custom font is used through the mechanism of CSS variables, you'll need to make a tweak to your CSS variables to give fontaine a helping hand. Docusaurus is an example of this, it uses the `--ifm-font-family-base` variable to reference a custom font. In order that fontaine can connect the variable with the font, we need to add a `{Name of Font} fallback` suffix to that variable. What does this look like? Well imagine we were using the custom font Poppins which is referenced from the `--ifm-font-family-base` variable, we'd make the following adjustment:\n\n```diff\n:root {\n  /* ... */\n-  --ifm-font-family-base: 'Poppins';\n+  --ifm-font-family-base: 'Poppins', 'Poppins fallback';\n```\n\nBehind the scenes, there is a 'Poppins fallback' `@font-face` rule that has been created by fontaine. By manually adding this fallback font family to our CSS variable, we make our site use the fallback `@font-face` rule with the correct font metrics that fontaine generates.\n\n## Using Sass, Less or Stylus\n\nThe bundler plugin runs before your preprocessor, so it only sees the raw source of files your bundler treats as modules. If your `@font-face` rules live in a Sass partial, are generated by a mixin, or are pulled in with a Sass `@import`, fontaine never sees them: Sass inlines all of that before the bundler does.\n\nFor these setups, use the PostCSS plugin instead. It runs over fully-compiled CSS, so `@font-face` rules and `font-family` values are already plain CSS by the time fontaine reads them.\n\n```js\n// postcss.config.js\nmodule.exports = {\n  plugins: [\n    require('fontaine/postcss')({\n      fallbacks: ['BlinkMacSystemFont', 'Segoe UI', 'Helvetica Neue', 'Arial', 'Noto Sans'],\n    }),\n    // ...any other plugins, such as autoprefixer or cssnano\n  ],\n}\n```\n\nIt accepts the same `fallbacks`, `categoryFallbacks`, `resolvePath`, `skipFontFaceGeneration` and `fallbackName` options as the bundler plugin. Do not use both plugins at once.\n\nA couple of things worth checking in a webpack setup:\n\n- Enable source maps on `sass-loader`. Sass does not rebase the URLs it inlines, so fontaine uses the source map to work out which stylesheet a `src` URL was written relative to. Without it, relative font paths are resolved against the entrypoint and metrics cannot be read.\n- Set `importLoaders` on `css-loader` (`2` for `postcss-loader` + `sass-loader`) if you import CSS that contains `@font-face` rules, such as Fontsource packages. Otherwise `css-loader` resolves those imports without running them through `postcss-loader`, and fontaine never sees them.\n\n> [!NOTE]\n> Because a `font-family` declaration and the `@font-face` rule it refers to may end up in different stylesheets, the PostCSS plugin appends a fallback to every non-generic `font-family` it finds, whether or not it generated the matching `@font-face` rule itself. A fallback family with no `@font-face` rule is ignored by the browser.\n\n## Category-Aware Fallbacks\n\nFontaine automatically selects appropriate fallback fonts based on font categories (serif, sans-serif, monospace, etc.) when using object-based fallback configuration.\n\n```js\nconst options = {\n  // Use an empty object to enable automatic category-based fallbacks\n  fallbacks: {},\n\n  // Or customize specific categories while keeping defaults for others\n  categoryFallbacks: {\n    'serif': ['Georgia', 'Times New Roman'],\n    'sans-serif': ['Arial', 'Helvetica'],\n    // monospace, display, and handwriting categories use defaults\n  }\n}\n```\n\n### Default Category Fallbacks\n\n- **sans-serif**: `BlinkMacSystemFont`, `Segoe UI`, `Helvetica Neue`, `Arial`, `Noto Sans`\n- **serif**: `Times New Roman`, `Georgia`, `Noto Serif`\n- **monospace**: `Courier New`, `Roboto Mono`, `Noto Sans Mono`\n- **display** & **handwriting**: Same as sans-serif\n\n> **Note:** These presets are available programmatically via `DEFAULT_CATEGORY_FALLBACKS` and can be used with the `resolveCategoryFallbacks` helper function for advanced use cases. Both are exported from the `fontaine` package and shared across related packages (e.g., `fontless`) to ensure consistent fallback behavior.\n\n### Fallback Priority\n\n1. **Array format** (`fallbacks: ['Arial']`) - Uses specified fonts for all families (legacy behavior)\n2. **Per-family override** (`fallbacks: { Poppins: ['Arial'] }`) - Uses specified fonts for that family\n3. **Category-based** - When a family isn't specified, uses the appropriate category preset\n4. **Global default** - Falls back to sans-serif preset if no category is detected\n\nExample:\n\n```js\n{\n  fallbacks: {\n    // Specific override for Poppins\n    'Poppins': ['Arial'],\n    // Other sans-serif fonts will use the sans-serif preset\n    // Serif fonts will use the serif preset automatically\n  },\n  categoryFallbacks: {\n    // Customize the serif preset\n    'serif': ['Georgia']\n  }\n}\n```\n\n## How it works\n\n`fontaine` will scan your `@font-face` rules and generate fallback rules with the correct metrics. For example:\n\n```css\n@font-face {\n  font-family: 'Roboto';\n  font-display: swap;\n  src: url('/fonts/Roboto.woff2') format('woff2'), url('/fonts/Roboto.woff')\n      format('woff');\n  font-weight: 700;\n}\n/* This additional font-face declaration will be added to your CSS. */\n@font-face {\n  font-family: 'Roboto fallback';\n  src: local('BlinkMacSystemFont'), local('Segoe UI'), local('Helvetica Neue'),\n      local('Arial'), local('Noto Sans');\n  ascent-override: 92.7734375%;\n  descent-override: 24.4140625%;\n  line-gap-override: 0%;\n}\n```\n\nThen, whenever you use `font-family: 'Roboto'`, `fontaine` will add the fallback to the font-family:\n\n```css\n:root {\n  font-family: 'Roboto';\n  /* This becomes */\n  font-family: 'Roboto', 'Roboto fallback';\n}\n```\n\n## 💻 Development\n\n- Clone this repository\n- Enable [Corepack](https://github.com/nodejs/corepack) using `corepack enable` (use `npm i -g corepack` for Node.js < 16.10)\n- Install dependencies using `pnpm install`\n- Run interactive tests using `pnpm dev`; launch a vite server using source code with `pnpm demo:dev`\n\n## Credits\n\nThis would not have been possible without:\n\n- amazing tooling and generated metrics from [capsizecss](https://seek-oss.github.io/capsize/)\n- suggestion and algorithm from [Katie Hempenius](https://katiehempenius.com/) & [Kara Erickson](https://github.com/kara) on the Google Aurora team - see [notes on calculating font metric overrides](https://docs.google.com/document/d/e/2PACX-1vRsazeNirATC7lIj2aErSHpK26hZ6dA9GsQ069GEbq5fyzXEhXbvByoftSfhG82aJXmrQ_sJCPBqcx_/pub)\n- package name suggestion from [**@clemcode**](https://github.com/clemcode)\n\n## License\n\nMade with ❤️\n\nPublished under [MIT License](./LICENCE).\n\n<!-- Badges -->\n\n[npm-version-src]: https://npmx.dev/api/registry/badge/version/fontaine\n[npm-version-href]: https://npmx.dev/package/fontaine\n[npm-downloads-src]: https://npmx.dev/api/registry/badge/downloads/fontaine\n[npm-downloads-href]: https://npmx.dev/package/fontaine\n[github-actions-src]: https://img.shields.io/github/actions/workflow/status/unjs/fontaine/ci.yml?branch=main&style=flat-square\n[github-actions-href]: https://github.com/unjs/fontaine/actions/workflows/ci.yml\n[codecov-src]: https://img.shields.io/codecov/c/gh/unjs/fontaine/main?style=flat-square\n[codecov-href]: https://codecov.io/gh/unjs/fontaine\n","readmeFilename":"README.md"}