{"_id":"@altano/satori-fit-text","_rev":"13-bdbff02bac7145795ce7f6769901aa58","name":"@altano/satori-fit-text","dist-tags":{"latest":"3.0.0"},"versions":{"0.0.1":{"name":"@altano/satori-fit-text","version":"0.0.1","author":{"url":"https://alan.norbauer.com","name":"Alan Norbauer","email":"altano@gmail.com"},"license":"ISC","_id":"@altano/satori-fit-text@0.0.1","maintainers":[{"name":"altano","email":"altano@gmail.com"}],"homepage":"https://github.com/altano/npm-packages/tree/main/packages/satori-fit-text","bugs":{"url":"https://github.com/altano/npm-packages/issues"},"dist":{"shasum":"810351299f6348166e12b34fc0881f7b9c6f18d9","tarball":"https://registry.npmjs.org/@altano/satori-fit-text/-/satori-fit-text-0.0.1.tgz","fileCount":8,"integrity":"sha512-wY5ATcehFeWTI8ud9kZp1CQynNDXyChbj6Yc/KGHhLqsNa+nxGri4jPSstBUaGYt1ciK5LvfOPRmhd4Aa6+yIw==","signatures":[{"sig":"MEMCH1oHE6rxUxLmSget62u9Lr3N6MKrXbeoODRBU54EPCwCIH8AHECOd+uyf2/xWY/rQ2RwwOvMppe6yIt4xZ6GSKXG","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":9611},"type":"module","_from":"file:altano-satori-fit-text-0.0.1.tgz","types":"./dist/index.d.ts","exports":"./dist/index.js","scripts":{"dev":"tsup --watch","lint":"eslint src/**/*.ts*","test":"run-s test:unit test:benchmark","build":"tsup","clean":"rm -rf .turbo && rm -rf .tsbuildinfo && rm -rf node_modules && rm -rf dist","format":"prettier --write src","lint:fix":"TIMING=1 eslint src/**/*.ts* --fix","test:unit":"vitest --run","test:watch":"vitest tests/","build:types":"tsc --emitDeclarationOnly --declaration","lint:timing":"TIMING=1 eslint src/**/*.ts*","test:benchmark":"vitest --run bench"},"_npmUser":{"name":"altano","email":"altano@gmail.com"},"_resolved":"/private/var/folders/b2/jwtfxknj2sb_1xh_c60vxqrh0000gn/T/d1b7bada17444e3c4e72e109c01c689f/altano-satori-fit-text-0.0.1.tgz","_integrity":"sha512-wY5ATcehFeWTI8ud9kZp1CQynNDXyChbj6Yc/KGHhLqsNa+nxGri4jPSstBUaGYt1ciK5LvfOPRmhd4Aa6+yIw==","repository":{"url":"git+https://github.com/altano/npm-packages.git","type":"git","directory":"packages/satori-fit-text"},"_npmVersion":"9.5.1","description":"Fit text to a bounding box in Node or the browser","directories":{},"sideEffects":false,"_nodeVersion":"18.16.1","dependencies":{"he":"^1.2.0","satori":"^0.10.3","svgdom":"^0.1.14","satori-html":"^0.3.2","@svgdotjs/svg.js":"^3.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^7.2.0","vite":"^4.4.9","react":"^18","vitest":"^0.34.3","@types/he":"^1.2.0","react-dom":"^18","@vitest/ui":"^0.30.1","typescript":"^5.1.6","npm-run-all":"^4.1.5","@types/react":"^18.2.21","@altano/assets":"^0.0.0","@resvg/resvg-js":"^2.4.1","@altano/tsconfig":"0.0.0","@types/react-dom":"^18.2.7","@vitest/coverage-v8":"^0.34.3","jest-image-snapshot":"^6.2.0","@types/jest-image-snapshot":"^6.2.0"},"_npmOperationalInternal":{"tmp":"tmp/satori-fit-text_0.0.1_1693450261626_0.28688928705510763","host":"s3://npm-registry-packages"}},"0.1.0":{"name":"@altano/satori-fit-text","version":"0.1.0","keywords":["typography","satori","opengraph","fit-text"],"author":{"url":"https://alan.norbauer.com","name":"Alan Norbauer","email":"altano@gmail.com"},"license":"ISC","_id":"@altano/satori-fit-text@0.1.0","maintainers":[{"name":"altano","email":"altano@gmail.com"}],"homepage":"https://github.com/altano/npm-packages/tree/main/packages/satori-fit-text","bugs":{"url":"https://github.com/altano/npm-packages/issues"},"dist":{"shasum":"a66f28eb7b9e2464c920b9aeb526081ad62a9ba2","tarball":"https://registry.npmjs.org/@altano/satori-fit-text/-/satori-fit-text-0.1.0.tgz","fileCount":17,"integrity":"sha512-w4A60SC9erJ7R3A1rqRrADzJFPR53WTIpnxfDb3gpBhTwzkCXxlLUrqK/Zgg1vHJbbL3Nx/sYtgghoDD5Ms49Q==","signatures":[{"sig":"MEUCIDm64Z4Cvybe6lks3A9ti1WBle5uzY4zrMeNq/+fz2ncAiEA5AVJtYAzJTDWHVN2cytVy0mSZVBM7JxqmCR7cavEPNQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":766249},"type":"module","_from":"file:altano-satori-fit-text-0.1.0.tgz","types":"./dist/index.d.ts","exports":"./dist/index.js","scripts":{"dev":"tsup --watch","lint":"eslint src/**/*.ts*","test":"run-s test:unit test:benchmark","build":"tsup","clean":"rm -rf .turbo && rm -rf .tsbuildinfo && rm -rf node_modules && rm -rf dist","format":"prettier --write src","lint:fix":"TIMING=1 eslint src/**/*.ts* --fix","test:unit":"vitest --run","test:watch":"vitest tests/","build:types":"tsc --emitDeclarationOnly --declaration","lint:timing":"TIMING=1 eslint src/**/*.ts*","test:benchmark":"vitest --run bench"},"_npmUser":{"name":"altano","email":"altano@gmail.com"},"_resolved":"/private/var/folders/b2/jwtfxknj2sb_1xh_c60vxqrh0000gn/T/44440c1f8a55d1e29614b3d392a0d28f/altano-satori-fit-text-0.1.0.tgz","_integrity":"sha512-w4A60SC9erJ7R3A1rqRrADzJFPR53WTIpnxfDb3gpBhTwzkCXxlLUrqK/Zgg1vHJbbL3Nx/sYtgghoDD5Ms49Q==","repository":{"url":"git+https://github.com/altano/npm-packages.git","type":"git","directory":"packages/satori-fit-text"},"_npmVersion":"9.5.1","description":"Fit text to a bounding box in Node or the browser","directories":{},"sideEffects":false,"_nodeVersion":"18.16.1","dependencies":{"he":"^1.2.0","debug":"^4.3.4","satori":"^0.10.3","svgdom":"^0.1.14","satori-html":"^0.3.2","@svgdotjs/svg.js":"^3.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^7.2.0","vite":"^4.4.9","react":"^18","vitest":"^0.34.3","@types/he":"^1.2.0","react-dom":"^18","@vitest/ui":"^0.30.1","typescript":"^5.1.6","npm-run-all":"^4.1.5","@types/debug":"^4.1.8","@types/react":"^18.2.21","@types/svgdom":"^0.1.0","@altano/assets":"0.0.0","@resvg/resvg-js":"^2.4.1","@altano/tsconfig":"0.0.0","@types/react-dom":"^18.2.7","@vitest/coverage-v8":"^0.34.3","jest-image-snapshot":"^6.2.0","@altano/tiny-async-pool":"1.0.2","@types/jest-image-snapshot":"^6.2.0"},"_npmOperationalInternal":{"tmp":"tmp/satori-fit-text_0.1.0_1693792663656_0.45020422614084343","host":"s3://npm-registry-packages"}},"0.1.1":{"name":"@altano/satori-fit-text","version":"0.1.1","keywords":["typography","satori","opengraph","fit-text"],"author":{"url":"https://alan.norbauer.com","name":"Alan Norbauer","email":"altano@gmail.com"},"license":"ISC","_id":"@altano/satori-fit-text@0.1.1","maintainers":[{"name":"altano","email":"altano@gmail.com"}],"homepage":"https://github.com/altano/npm-packages/tree/main/packages/satori-fit-text","bugs":{"url":"https://github.com/altano/npm-packages/issues"},"dist":{"shasum":"9d31eba7133bd47807d44fb6259a35ac6f11700f","tarball":"https://registry.npmjs.org/@altano/satori-fit-text/-/satori-fit-text-0.1.1.tgz","fileCount":16,"integrity":"sha512-W3oPoRZ2kJ3/wRjAwYblspUufblZvDyPg+eyATJCkAWTMppLJewQaOBYhJxvQobRHf66m6uaWnoxknE90pBi/w==","signatures":[{"sig":"MEYCIQCz3FM2T6K136Q/8UNLwankuB/1Lmsddyu8MyKehHOpAQIhAJ4CLrFiy+ChyezknxCakbY+NTyu361gAop0lwwuerLN","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":765996},"type":"module","_from":"file:altano-satori-fit-text-0.1.1.tgz","types":"./dist/index.d.ts","exports":"./dist/index.js","scripts":{"dev":"tsup --watch","lint":"eslint src/**/*.ts*","test":"run-s test:unit test:benchmark","build":"tsup","clean":"rm -rf .turbo && rm -rf .tsbuildinfo && rm -rf node_modules && rm -rf dist","format":"prettier --write src","lint:fix":"TIMING=1 eslint src/**/*.ts* --fix","test:unit":"vitest --run","test:watch":"vitest tests/","build:types":"tsc --emitDeclarationOnly --declaration","lint:timing":"TIMING=1 eslint src/**/*.ts*","test:benchmark":"vitest --run bench"},"_npmUser":{"name":"altano","email":"altano@gmail.com"},"_resolved":"/private/var/folders/b2/jwtfxknj2sb_1xh_c60vxqrh0000gn/T/e27a24e9d6a2491ac367aae614f6f788/altano-satori-fit-text-0.1.1.tgz","_integrity":"sha512-W3oPoRZ2kJ3/wRjAwYblspUufblZvDyPg+eyATJCkAWTMppLJewQaOBYhJxvQobRHf66m6uaWnoxknE90pBi/w==","repository":{"url":"git+https://github.com/altano/npm-packages.git","type":"git","directory":"packages/satori-fit-text"},"_npmVersion":"9.5.1","description":"Fit text to a bounding box in Node or the browser","directories":{},"sideEffects":false,"_nodeVersion":"18.16.1","dependencies":{"he":"^1.2.0","debug":"^4.3.4","satori":"^0.10.3","svgdom":"^0.1.14","satori-html":"^0.3.2","@svgdotjs/svg.js":"^3.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^7.2.0","vite":"^4.4.9","react":"^18","vitest":"^0.34.3","@types/he":"^1.2.0","react-dom":"^18","@vitest/ui":"^0.30.1","typescript":"^5.1.6","npm-run-all":"^4.1.5","@types/debug":"^4.1.8","@types/react":"^18.2.21","@types/svgdom":"^0.1.0","@altano/assets":"0.0.0","@resvg/resvg-js":"^2.4.1","@altano/tsconfig":"0.0.0","@types/react-dom":"^18.2.7","@vitest/coverage-v8":"^0.34.3","jest-image-snapshot":"^6.2.0","@altano/tiny-async-pool":"1.0.2","@types/jest-image-snapshot":"^6.2.0"},"_npmOperationalInternal":{"tmp":"tmp/satori-fit-text_0.1.1_1693815092243_0.5505303878919774","host":"s3://npm-registry-packages"}},"0.1.2":{"name":"@altano/satori-fit-text","version":"0.1.2","keywords":["typography","satori","opengraph","fit-text"],"author":{"url":"https://alan.norbauer.com","name":"Alan Norbauer","email":"altano@gmail.com"},"license":"ISC","_id":"@altano/satori-fit-text@0.1.2","maintainers":[{"name":"altano","email":"altano@gmail.com"}],"homepage":"https://github.com/altano/npm-packages/tree/main/packages/satori-fit-text","bugs":{"url":"https://github.com/altano/npm-packages/issues"},"dist":{"shasum":"107a01edce4327b8a28cd25784dfdeafda579fe4","tarball":"https://registry.npmjs.org/@altano/satori-fit-text/-/satori-fit-text-0.1.2.tgz","fileCount":16,"integrity":"sha512-KwE4oZtyiKw3mxNd4otpOGFkRp0VsAmyhVpiP3k1FrfmjSGQ7kk/Eque0ephrHhkyfHpTsHa9jCZVo3gkjLj/g==","signatures":[{"sig":"MEUCIQDMbshKPX0GBsWFney8QXiaLBV6iwcLkaTRazFryNTZdwIgErYrgR6B03xA+gGhlxlzsaWeHyOr/cGo2lTsJLGMro0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":767546},"type":"module","_from":"file:altano-satori-fit-text-0.1.2.tgz","types":"./dist/index.d.ts","exports":"./dist/index.js","scripts":{"dev":"tsup --watch","lint":"eslint src/**/*.ts*","test":"run-s test:unit test:benchmark","build":"tsup","clean":"rm -rf .turbo && rm -rf .tsbuildinfo && rm -rf node_modules && rm -rf dist","format":"prettier --check src","lint:fix":"TIMING=1 eslint src/**/*.ts* --fix","test:unit":"vitest --run","format:fix":"prettier --write src","test:watch":"vitest tests/","build:types":"tsc --emitDeclarationOnly --declaration","lint:timing":"TIMING=1 eslint src/**/*.ts*","test:benchmark":"vitest --run bench"},"_npmUser":{"name":"altano","email":"altano@gmail.com"},"_resolved":"/tmp/2fe4b36c2137a056e3f6d38f5d703058/altano-satori-fit-text-0.1.2.tgz","_integrity":"sha512-KwE4oZtyiKw3mxNd4otpOGFkRp0VsAmyhVpiP3k1FrfmjSGQ7kk/Eque0ephrHhkyfHpTsHa9jCZVo3gkjLj/g==","repository":{"url":"git+https://github.com/altano/npm-packages.git","type":"git","directory":"packages/satori-fit-text"},"_npmVersion":"10.2.4","description":"Fit text to a bounding box in Node or the browser","directories":{},"sideEffects":false,"_nodeVersion":"20.11.1","dependencies":{"he":"^1.2.0","debug":"^4.3.4","satori":"^0.10.13","svgdom":"^0.1.19","satori-html":"^0.3.2","@svgdotjs/svg.js":"^3.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.2","vite":"^5.1.5","react":"^18.2.0","vitest":"^1.3.1","prettier":"^3.2.5","@types/he":"^1.2.3","react-dom":"^18.2.0","@vitest/ui":"^1.3.1","typescript":"^5.4.2","npm-run-all":"^4.1.5","@types/debug":"^4.1.12","@types/react":"^18.2.64","@types/svgdom":"^0.1.2","@altano/assets":"0.0.0","@resvg/resvg-js":"^2.6.0","@altano/tsconfig":"0.0.0","@types/react-dom":"^18.2.21","@vitest/coverage-v8":"^1.3.1","jest-image-snapshot":"^6.4.0","@altano/tiny-async-pool":"1.0.3","@types/jest-image-snapshot":"^6.4.0"},"_npmOperationalInternal":{"tmp":"tmp/satori-fit-text_0.1.2_1710032894582_0.003323496797789982","host":"s3://npm-registry-packages"}},"0.1.3":{"name":"@altano/satori-fit-text","version":"0.1.3","keywords":["typography","satori","opengraph","fit-text"],"author":{"url":"https://alan.norbauer.com","name":"Alan Norbauer","email":"altano@gmail.com"},"license":"ISC","_id":"@altano/satori-fit-text@0.1.3","maintainers":[{"name":"altano","email":"altano@gmail.com"}],"homepage":"https://github.com/altano/npm-packages/tree/main/packages/satori-fit-text","bugs":{"url":"https://github.com/altano/npm-packages/issues"},"dist":{"shasum":"feea720923607b9a6ffcc2e3b42f396e98c12280","tarball":"https://registry.npmjs.org/@altano/satori-fit-text/-/satori-fit-text-0.1.3.tgz","fileCount":21,"integrity":"sha512-E5auznHKRxC6rIVPvW57Y7bGl7qz8xxRgBHVSYAuaENOXzp0XJlJBJqDXyFsZk5gOUhF0QeI7yL+KUA0XaigLg==","signatures":[{"sig":"MEUCIAFpJ2upIzLVLMszkhf5NvMDNnr1T8GyR8V2D1oHcQGRAiEA0r9EFKsg0iBM2bGJlWfv1QrL7MntB1mBok/3MTjxur0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":766649},"type":"module","_from":"file:altano-satori-fit-text-0.1.3.tgz","types":"./dist/index.d.ts","exports":"./dist/index.js","scripts":{"dev":"pnpm run build --watch","lint":"eslint package.json src/**/*.ts*","build":"tsup --config build-config/tsup.config.node.ts","clean":"rm -rf .turbo && rm -rf .tsbuildinfo && rm -rf node_modules && rm -rf dist","format":"prettier --check src","lint:fix":"TIMING=1 pnpm lint --fix","test:e2e":"playwright test","test:unit":"run-s test:unit:run test:unit:benchmark","format:fix":"prettier --write src","build:types":"tsc --project tsconfig.declarations.json","lint:timing":"TIMING=1 pnpm lint","test:e2e:ui":"playwright test --ui","test:unit:run":"vitest --run","typecheck:src":"tsc --noEmit","typecheck:test":"tsc --noEmit --project ./tests/tsconfig.json","test:e2e:server":"vite --strictPort --port 3717 ./tests/e2e","test:unit:watch":"vitest tests/unit/","test:unit:benchmark":"vitest --run bench"},"_npmUser":{"name":"altano","email":"altano@gmail.com"},"_resolved":"/tmp/2faa50d5588191fc76185687c31b4519/altano-satori-fit-text-0.1.3.tgz","_integrity":"sha512-E5auznHKRxC6rIVPvW57Y7bGl7qz8xxRgBHVSYAuaENOXzp0XJlJBJqDXyFsZk5gOUhF0QeI7yL+KUA0XaigLg==","repository":{"url":"git+https://github.com/altano/npm-packages.git","type":"git","directory":"packages/satori-fit-text"},"_npmVersion":"10.2.4","description":"Fit text to a bounding box in Node or the browser","directories":{},"sideEffects":false,"_nodeVersion":"20.11.1","dependencies":{"debug":"^4.3.4","satori":"^0.10.13","svgdom":"^0.1.19","satori-html":"^0.3.2","@svgdotjs/svg.js":"^3.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.4","react":"^18.2.0","vitest":"^1.4.0","prettier":"^3.2.5","@types/he":"^1.2.3","react-dom":"^18.2.0","@vitest/ui":"^1.4.0","typescript":"^5.4.2","@types/node":"^20.11.25","npm-run-all":"^4.1.5","@types/debug":"^4.1.12","@types/react":"^18.2.64","@types/svgdom":"^0.1.2","@altano/assets":"0.0.0","@resvg/resvg-js":"^2.6.0","@altano/tsconfig":"0.0.0","@playwright/test":"1.40.0","@types/react-dom":"^18.2.21","@fontsource/inter":"^5.0.17","@vitest/coverage-v8":"^1.4.0","jest-image-snapshot":"^6.4.0","@altano/tiny-async-pool":"3.0.0","@fontsource-variable/inter":"^5.0.17","@types/jest-image-snapshot":"^6.4.0"},"_npmOperationalInternal":{"tmp":"tmp/satori-fit-text_0.1.3_1711962007999_0.4481593160633819","host":"s3://npm-registry-packages"}},"0.1.4":{"name":"@altano/satori-fit-text","version":"0.1.4","keywords":["typography","satori","opengraph","fit-text"],"author":{"url":"https://alan.norbauer.com","name":"Alan Norbauer","email":"altano@gmail.com"},"license":"ISC","_id":"@altano/satori-fit-text@0.1.4","maintainers":[{"name":"altano","email":"altano@gmail.com"}],"homepage":"https://github.com/altano/npm-packages/tree/main/packages/satori-fit-text","bugs":{"url":"https://github.com/altano/npm-packages/issues"},"dist":{"shasum":"f0630a70206ec83d1f7276494ec0a2d44599d48a","tarball":"https://registry.npmjs.org/@altano/satori-fit-text/-/satori-fit-text-0.1.4.tgz","fileCount":21,"integrity":"sha512-lAEEwv827D+AdFEmfzCYlC2dm2tLIPC4Gxy7o29WizXOKKNzq2S6wNFMl9zs26JfBgEJKiwfYEI33s5ytA/Ajg==","signatures":[{"sig":"MEUCIE/Tcwg+4/KO1Gvz+4U4O/UfbdAFTf9lOGY95KCo9B0VAiEA2TPtTrVKJWLaapYE3A+mhq7wHaU+lijAtn9Nkcg9xjI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":766694},"type":"module","_from":"file:altano-satori-fit-text-0.1.4.tgz","types":"./dist/index.d.ts","exports":"./dist/index.js","scripts":{"dev":"pnpm run build --watch","lint":"eslint package.json src/**/*.ts*","build":"tsup --config build-config/tsup.config.node.ts","clean":"rm -rf .turbo && rm -rf .tsbuildinfo && rm -rf node_modules && rm -rf dist","format":"prettier --check src","lint:fix":"TIMING=1 pnpm lint --fix","test:e2e":"playwright test","test:unit":"run-s test:unit:run test:unit:benchmark","format:fix":"prettier --write src","build:types":"tsc --project tsconfig.declarations.json","lint:timing":"TIMING=1 pnpm lint","test:e2e:ui":"playwright test --ui","test:unit:run":"vitest --run","typecheck:src":"tsc --noEmit","typecheck:test":"tsc --noEmit --project ./tests/tsconfig.json","test:e2e:server":"vite --strictPort --port 3717 ./tests/e2e","test:unit:watch":"vitest","test:unit:benchmark":"vitest --run bench"},"_npmUser":{"name":"altano","email":"altano@gmail.com"},"_resolved":"/tmp/276232cdfbef64dd8d096f1abf2ae684/altano-satori-fit-text-0.1.4.tgz","_integrity":"sha512-lAEEwv827D+AdFEmfzCYlC2dm2tLIPC4Gxy7o29WizXOKKNzq2S6wNFMl9zs26JfBgEJKiwfYEI33s5ytA/Ajg==","repository":{"url":"git+https://github.com/altano/npm-packages.git","type":"git","directory":"packages/satori-fit-text"},"_npmVersion":"10.2.4","description":"Fit text to a bounding box in Node or the browser","directories":{},"sideEffects":false,"_nodeVersion":"20.11.1","dependencies":{"debug":"^4.3.4","satori":"^0.10.13","svgdom":"^0.1.19","satori-html":"^0.3.2","@svgdotjs/svg.js":"^3.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.8","react":"^18.2.0","vitest":"^1.4.0","prettier":"^3.2.5","@types/he":"^1.2.3","react-dom":"^18.2.0","@vitest/ui":"^1.4.0","typescript":"^5.4.2","@types/node":"^20.11.25","npm-run-all":"^4.1.5","@types/debug":"^4.1.12","@types/react":"^18.2.64","@types/svgdom":"^0.1.2","@altano/assets":"0.0.0","@resvg/resvg-js":"^2.6.0","@altano/tsconfig":"0.0.0","@playwright/test":"1.40.0","@types/react-dom":"^18.2.21","@fontsource/inter":"^5.0.17","@vitest/coverage-v8":"^1.4.0","jest-image-snapshot":"^6.4.0","@altano/tiny-async-pool":"3.0.1","@fontsource-variable/inter":"^5.0.17","@types/jest-image-snapshot":"^6.4.0"},"_npmOperationalInternal":{"tmp":"tmp/satori-fit-text_0.1.4_1720233042701_0.9088451036493697","host":"s3://npm-registry-packages"}},"1.0.0":{"name":"@altano/satori-fit-text","version":"1.0.0","keywords":["fit-text","opengraph","satori","typography"],"author":{"url":"https://alan.norbauer.com","name":"Alan Norbauer","email":"altano@gmail.com"},"license":"ISC","_id":"@altano/satori-fit-text@1.0.0","maintainers":[{"name":"altano","email":"altano@gmail.com"}],"homepage":"https://github.com/altano/npm-packages/tree/main/packages/satori-fit-text","bugs":{"url":"https://github.com/altano/npm-packages/issues"},"dist":{"shasum":"e1432474b8ba70238cabf553e663d0fca70b42ee","tarball":"https://registry.npmjs.org/@altano/satori-fit-text/-/satori-fit-text-1.0.0.tgz","fileCount":19,"integrity":"sha512-+WEQ1J5GCL7joVOQYlds5zO0bLc2eZyYtTcE58lp/9IubYmfZ/XPcU5X+cA4kSJUZlO/ivSIVDDqM/bXQvWSeg==","signatures":[{"sig":"MEUCIDTYgQNv4P2sMkRxhZKDgI1wsmf1b+7ih+7hTc1JhB5HAiEAgzkpKic2OwXzwSYwgsLd9F/Db73+jjtP4z4OXmhg+G4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":764791},"type":"module","_from":"file:altano-satori-fit-text-1.0.0.tgz","types":"./dist/index.d.ts","exports":"./dist/index.js","scripts":{"dev":"pnpm run build --watch","lint":"eslint","build":"tsup --config build-config/tsup.config.node.ts","clean":"rm -rf .turbo && rm -rf .tsbuildinfo && rm -rf node_modules && rm -rf dist","format":"prettier --check src","lint:fix":"TIMING=1 pnpm lint --fix","test:e2e":"playwright test","test:unit":"vitest --run","format:fix":"prettier --write src","build:types":"tsc --project tsconfig.declarations.json","lint:timing":"TIMING=1 pnpm lint","test:e2e:ui":"playwright test --ui","check:exports":"attw --pack . --ignore-rules=cjs-resolves-to-esm","check:types:src":"tsc --noEmit","test:e2e:server":"vite --strictPort --port 3717 ./tests/e2e","test:unit:watch":"vitest","check:types:test":"tsc --noEmit --project ./tests/tsconfig.json","test:unit:benchmark":"vitest --run bench","check:unused-dependencies":"depcheck"},"_npmUser":{"name":"altano","email":"altano@gmail.com"},"_resolved":"/tmp/4ead39b58b0510c75aec8f29b2367144/altano-satori-fit-text-1.0.0.tgz","_integrity":"sha512-+WEQ1J5GCL7joVOQYlds5zO0bLc2eZyYtTcE58lp/9IubYmfZ/XPcU5X+cA4kSJUZlO/ivSIVDDqM/bXQvWSeg==","repository":{"url":"git+https://github.com/altano/npm-packages.git","type":"git","directory":"packages/satori-fit-text"},"_npmVersion":"10.9.2","description":"Fit text to a bounding box in Node or the browser","directories":{},"sideEffects":false,"_nodeVersion":"22.14.0","dependencies":{"debug":"^4.3.4","satori":"^0.12.2","svgdom":"^0.1.19","@svgdotjs/svg.js":"^3.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^6.2.3","react":"^18.3.1","vitest":"^3.0.9","depcheck":"^1.4.7","prettier":"^3.3.3","@types/he":"^1.2.3","react-dom":"^18.2.0","typescript":"^5.8.2","@types/node":"^22.13.10","@types/debug":"^4.1.12","@types/react":"^18.2.64","@types/svgdom":"^0.1.2","@altano/assets":"0.0.0","@altano/testing":"0.0.0","@resvg/resvg-js":"^2.6.0","@altano/tsconfig":"0.0.0","@playwright/test":"1.47.0","@types/react-dom":"^18.2.21","@fontsource/inter":"^5.0.17","@vitest/coverage-v8":"^3.0.9","jest-image-snapshot":"^6.4.0","@altano/build-config":"0.0.0","@arethetypeswrong/cli":"^0.15.4","@altano/vitest-plugins":"1.0.0","@altano/tiny-async-pool":"3.0.2","@fontsource-variable/inter":"^5.0.17","@types/jest-image-snapshot":"^6.4.0"},"_npmOperationalInternal":{"tmp":"tmp/satori-fit-text_1.0.0_1743414761408_0.33943868187335346","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@altano/satori-fit-text","version":"1.0.1","keywords":["fit-text","opengraph","satori","typography"],"author":{"url":"https://alan.norbauer.com","name":"Alan Norbauer","email":"altano@gmail.com"},"license":"ISC","_id":"@altano/satori-fit-text@1.0.1","maintainers":[{"name":"altano","email":"altano@gmail.com"}],"homepage":"https://github.com/altano/npm-packages/tree/main/packages/satori-fit-text","bugs":{"url":"https://github.com/altano/npm-packages/issues"},"dist":{"shasum":"7e501ea3ec08e3bc9aefa24fdfeb10430b885881","tarball":"https://registry.npmjs.org/@altano/satori-fit-text/-/satori-fit-text-1.0.1.tgz","fileCount":19,"integrity":"sha512-ybFG9D9QpBSeKP1Z1ZBkcTGVzriztYq+N7j8IswZyDsKLA+9FCWog4ImjJxPEM2E743ADGPl/APg5tanERlH6A==","signatures":[{"sig":"MEYCIQCly9MtKvJWEONGc4FL7pVcpfBto6hz4kjUlDN1xe5ZBQIhAJsK5R76ZBlfWz6KZIa71dFm1meqoaHjV15wIV7iQSYL","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":764693},"type":"module","_from":"file:altano-satori-fit-text-1.0.1.tgz","types":"./dist/index.d.ts","exports":"./dist/index.js","scripts":{"dev":"pnpm run build --watch","lint":"eslint","build":"tsup --config build-config/tsup.config.node.ts","clean":"rm -rf .turbo && rm -rf .tsbuildinfo && rm -rf node_modules && rm -rf dist","format":"prettier --check src","lint:fix":"TIMING=1 pnpm lint --fix","test:e2e":"playwright test","test:unit":"vitest --run","format:fix":"prettier --write src","build:types":"tsc --project tsconfig.declarations.json","lint:timing":"TIMING=1 pnpm lint","test:e2e:ui":"playwright test --ui","check:exports":"attw --pack . --profile esm-only","check:types:src":"tsc --noEmit","test:e2e:server":"vite --strictPort --port 3717 ./tests/e2e","test:unit:watch":"vitest","check:types:test":"tsc --noEmit --project ./tests/tsconfig.json","test:unit:benchmark":"vitest --run bench","check:unused-dependencies":"depcheck"},"_npmUser":{"name":"altano","email":"altano@gmail.com"},"_resolved":"/tmp/d883e5f34bf41a65f1d7698ecf5271d7/altano-satori-fit-text-1.0.1.tgz","_integrity":"sha512-ybFG9D9QpBSeKP1Z1ZBkcTGVzriztYq+N7j8IswZyDsKLA+9FCWog4ImjJxPEM2E743ADGPl/APg5tanERlH6A==","repository":{"url":"git+https://github.com/altano/npm-packages.git","type":"git","directory":"packages/satori-fit-text"},"_npmVersion":"10.9.2","description":"Fit text to a bounding box in Node or the browser","directories":{},"sideEffects":false,"_nodeVersion":"22.14.0","dependencies":{"debug":"^4.4.0","satori":"^0.12.2","svgdom":"^0.1.21","@svgdotjs/svg.js":"^3.2.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^6.2.4","react":"^19.1.0","vitest":"^3.1.1","depcheck":"^1.4.7","prettier":"^3.5.3","@types/he":"^1.2.3","react-dom":"^19.1.0","typescript":"^5.8.2","@types/node":"^22.13.10","@types/debug":"^4.1.12","@types/react":"^19.0.12","@types/svgdom":"^0.1.2","@altano/assets":"0.0.0","@altano/testing":"0.0.0","@resvg/resvg-js":"^2.6.2","@altano/tsconfig":"0.0.0","@playwright/test":"1.47.0","@types/react-dom":"^19.0.4","@fontsource/inter":"^5.2.5","@vitest/coverage-v8":"^3.1.1","jest-image-snapshot":"^6.4.0","@altano/build-config":"0.0.0","@arethetypeswrong/cli":"^0.17.4","@fontsource-variable/inter":"^5.2.5","@types/jest-image-snapshot":"^6.4.0"},"_npmOperationalInternal":{"tmp":"tmp/satori-fit-text_1.0.1_1743706854720_0.5564929059131423","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@altano/satori-fit-text","version":"1.0.2","keywords":["fit-text","opengraph","satori","typography"],"author":{"url":"https://alan.norbauer.com","name":"Alan Norbauer","email":"altano@gmail.com"},"license":"ISC","_id":"@altano/satori-fit-text@1.0.2","maintainers":[{"name":"altano","email":"altano@gmail.com"}],"homepage":"https://github.com/altano/npm-packages/tree/main/packages/satori-fit-text","bugs":{"url":"https://github.com/altano/npm-packages/issues"},"dist":{"shasum":"ce0460a8d6715d5f7aef44c6aa8dc2359e7ccb6e","tarball":"https://registry.npmjs.org/@altano/satori-fit-text/-/satori-fit-text-1.0.2.tgz","fileCount":19,"integrity":"sha512-JO7C3s+Soz2zvEMH6IcSVmcXzHwGPseOIMPHdQfEMESJErRlmuVBJLKtZoLu81HzHPFp6Ncf0FaOBoYtNMBRIA==","signatures":[{"sig":"MEQCIAXsavDgj0kCBKLuzSppqv58tSopgu/4l90pJxuma9QXAiBcfAlZAvU7Bkym2PMgg2ds+VZ0OkZeVAgdMRYVv1k90Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":764797},"type":"module","_from":"file:altano-satori-fit-text-1.0.2.tgz","types":"./dist/index.d.ts","exports":"./dist/index.js","scripts":{"dev":"pnpm run build --watch","lint":"eslint","build":"tsup --config build-config/tsup.config.node.ts","clean":"rm -rf .turbo && rm -rf .tsbuildinfo && rm -rf node_modules && rm -rf dist","format":"prettier --check src","lint:fix":"TIMING=1 pnpm lint --fix","test:e2e":"playwright test","test:unit":"vitest --run","format:fix":"prettier --write src","build:types":"tsc --project tsconfig.declarations.json","lint:timing":"TIMING=1 pnpm lint","test:e2e:ui":"playwright test --ui","check:exports":"attw --pack . --profile esm-only --quiet","check:types:src":"tsc --noEmit","test:e2e:server":"pnpm --dir ../../examples/satori-fit-text-playground start","test:unit:watch":"vitest","check:types:test":"tsc --noEmit --project ./tests/tsconfig.json","test:unit:benchmark":"vitest --run bench","check:unused-dependencies":"depcheck"},"_npmUser":{"name":"altano","email":"altano@gmail.com"},"_resolved":"/tmp/fe72a6c79d5c89c5d4d0f9f43de4b0d6/altano-satori-fit-text-1.0.2.tgz","_integrity":"sha512-JO7C3s+Soz2zvEMH6IcSVmcXzHwGPseOIMPHdQfEMESJErRlmuVBJLKtZoLu81HzHPFp6Ncf0FaOBoYtNMBRIA==","repository":{"url":"git+https://github.com/altano/npm-packages.git","type":"git","directory":"packages/satori-fit-text"},"_npmVersion":"10.9.2","description":"Fit text to a bounding box in Node or the browser","directories":{},"sideEffects":false,"_nodeVersion":"22.14.0","dependencies":{"debug":"^4.4.0","satori":"^0.12.2","svgdom":"^0.1.21","@svgdotjs/svg.js":"^3.2.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^6.2.5","react":"^19.1.0","vitest":"^3.1.1","depcheck":"^1.4.7","prettier":"^3.5.3","@types/he":"^1.2.3","typescript":"^5.8.2","@types/node":"^22.13.10","@types/debug":"^4.1.12","@types/react":"^19.0.12","@types/svgdom":"^0.1.2","@altano/assets":"0.0.0","@altano/testing":"0.0.0","@resvg/resvg-js":"^2.6.2","@altano/tsconfig":"0.0.0","@playwright/test":"1.47.0","@types/react-dom":"^19.0.4","@fontsource/inter":"^5.2.5","@vitest/coverage-v8":"^3.1.1","jest-image-snapshot":"^6.4.0","@altano/build-config":"0.0.0","@arethetypeswrong/cli":"^0.17.4","@fontsource-variable/inter":"^5.2.5","@types/jest-image-snapshot":"^6.4.0"},"_npmOperationalInternal":{"tmp":"tmp/satori-fit-text_1.0.2_1744532924237_0.15176701160332695","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"@altano/satori-fit-text","version":"2.0.0","keywords":["fit-text","opengraph","satori","typography"],"author":{"url":"https://alan.norbauer.com","name":"Alan Norbauer","email":"altano@gmail.com"},"license":"ISC","_id":"@altano/satori-fit-text@2.0.0","maintainers":[{"name":"altano","email":"altano@gmail.com"}],"homepage":"https://github.com/altano/npm-packages/tree/main/packages/satori-fit-text","bugs":{"url":"https://github.com/altano/npm-packages/issues"},"dist":{"shasum":"b587d14472ab74b96d7a04a254a09d60c1bf35bc","tarball":"https://registry.npmjs.org/@altano/satori-fit-text/-/satori-fit-text-2.0.0.tgz","fileCount":15,"integrity":"sha512-jRjmUhsnTtqbbv1dk5AiJA85Tb2z7EqmmrL/mwm6HVz2uDtoU9q7Bqpszpw9+7rKOesWygRBBtNhhJCO8ZdWsg==","signatures":[{"sig":"MEUCICkBnYuCA/mWv/zm/b+6Rst8NgEzthhr6DD7mwRRKP9NAiEAxxCExmC4RtmwLV9YBwpQjULJG6MmxeaNhk/dZN57A9Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":763837},"type":"module","_from":"file:altano-satori-fit-text-2.0.0.tgz","types":"./dist/index.d.ts","exports":"./dist/index.js","scripts":{"dev":"pnpm run build --watch","lint":"eslint","build":"tsdown --config ../build-config/tsdown.config.node.ts","clean":"rm -rf .turbo && rm -rf .tsbuildinfo && rm -rf node_modules && rm -rf dist","format":"prettier --check src","lint:fix":"TIMING=1 pnpm lint --fix","test:e2e":"playwright test","test:unit":"vitest --run","format:fix":"prettier --write src","lint:timing":"TIMING=1 pnpm lint","test:e2e:ui":"playwright test --ui","check:exports":"attw --pack . --profile esm-only --quiet","check:types:src":"tsc --noEmit","test:e2e:server":"pnpm --dir ../../examples/satori-fit-text-playground start","test:unit:watch":"vitest","check:types:test":"tsc --noEmit --project ./tests/tsconfig.json","test:unit:benchmark":"vitest --run bench","check:unused-dependencies":"depcheck"},"_npmUser":{"name":"altano","actor":{"name":"altano","type":"user","email":"altano@gmail.com"},"email":"altano@gmail.com"},"_resolved":"/tmp/90201f55d31778a3f8884d968f896d56/altano-satori-fit-text-2.0.0.tgz","_integrity":"sha512-jRjmUhsnTtqbbv1dk5AiJA85Tb2z7EqmmrL/mwm6HVz2uDtoU9q7Bqpszpw9+7rKOesWygRBBtNhhJCO8ZdWsg==","repository":{"url":"git+https://github.com/altano/npm-packages.git","type":"git","directory":"packages/satori-fit-text"},"_npmVersion":"10.9.2","description":"Fit text to a bounding box in Node or the browser","directories":{},"sideEffects":false,"_nodeVersion":"22.14.0","dependencies":{"debug":"^4.4.0","satori":"^0.12.2","svgdom":"^0.1.21","@svgdotjs/svg.js":"^3.2.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^6.2.6","react":"^19.1.0","tsdown":"^0.12.3","vitest":"^3.1.4","depcheck":"^1.4.7","prettier":"^3.5.3","@types/he":"^1.2.3","typescript":"^5.8.2","@types/node":"^22.13.10","@types/debug":"^4.1.12","@types/react":"^19.0.12","@types/svgdom":"^0.1.2","@altano/assets":"0.0.1","@altano/testing":"0.0.1","@resvg/resvg-js":"^2.6.2","@altano/tsconfig":"0.0.1","@playwright/test":"1.51.1","@types/react-dom":"^19.0.4","@fontsource/inter":"5.2.6","@vitest/coverage-v8":"^3.1.4","jest-image-snapshot":"^6.4.0","@altano/build-config":"0.0.1","@arethetypeswrong/cli":"^0.17.4","@fontsource-variable/inter":"5.2.6","@types/jest-image-snapshot":"^6.4.0"},"_npmOperationalInternal":{"tmp":"tmp/satori-fit-text_2.0.0_1751327846549_0.8812498696428737","host":"s3://npm-registry-packages-npm-production"}},"2.0.1":{"name":"@altano/satori-fit-text","version":"2.0.1","keywords":["fit-text","opengraph","satori","typography"],"author":{"url":"https://alan.norbauer.com","name":"Alan Norbauer","email":"altano@gmail.com"},"license":"ISC","_id":"@altano/satori-fit-text@2.0.1","maintainers":[{"name":"altano","email":"altano@gmail.com"}],"homepage":"https://github.com/altano/npm-packages/tree/main/packages/satori-fit-text","bugs":{"url":"https://github.com/altano/npm-packages/issues"},"dist":{"shasum":"44e50b159778c5916df7e8d27cc29e8db1d05cbf","tarball":"https://registry.npmjs.org/@altano/satori-fit-text/-/satori-fit-text-2.0.1.tgz","fileCount":21,"integrity":"sha512-36vnrJfd1vF/2+v7PkvDuVLfkSzXGe55kOwA1shekIAc48qv6T+eTftiIGFsnLksaPzXJqc+7L0Evu7zGtUayQ==","signatures":[{"sig":"MEUCIQCJMrYwNfW7E1oLVDTM3I3jDI6bs+rR8XuP4LSrprI/6QIgOpKb74JZyXS4uAD3jVMn9VbAe2EYdAr3lX9c46B0uew=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":776163},"type":"module","_from":"file:altano-satori-fit-text-2.0.1.tgz","types":"./dist/index.d.ts","exports":"./dist/index.js","scripts":{"dev":"pnpm run build --watch","lint":"eslint","build":"tsdown --config ../build-config/tsdown.config.node.ts","clean":"rm -rf .turbo && rm -rf .tsbuildinfo && rm -rf node_modules && rm -rf dist","format":"prettier --check src","lint:fix":"TIMING=1 pnpm lint --fix","test:e2e":"playwright test","test:unit":"vitest --run","format:fix":"prettier --write src","lint:timing":"TIMING=1 pnpm lint","test:e2e:ui":"playwright test --ui","check:exports":"attw --pack . --profile esm-only --quiet","check:types:src":"tsc --noEmit","test:e2e:server":"pnpm --dir ../../examples/satori-fit-text-playground start","test:unit:watch":"vitest","check:types:test":"tsc --noEmit --project ./tests/tsconfig.json","test:unit:benchmark":"vitest --run bench","check:unused-dependencies":"depcheck"},"_npmUser":{"name":"altano","actor":{"name":"altano","type":"user","email":"altano@gmail.com"},"email":"altano@gmail.com"},"_resolved":"/tmp/7bdf23e2fd0e561ffeb306853014cdcf/altano-satori-fit-text-2.0.1.tgz","_integrity":"sha512-36vnrJfd1vF/2+v7PkvDuVLfkSzXGe55kOwA1shekIAc48qv6T+eTftiIGFsnLksaPzXJqc+7L0Evu7zGtUayQ==","repository":{"url":"git+https://github.com/altano/npm-packages.git","type":"git","directory":"packages/satori-fit-text"},"_npmVersion":"10.9.2","description":"Fit text to a bounding box in Node or the browser","directories":{},"sideEffects":false,"_nodeVersion":"22.14.0","dependencies":{"debug":"^4.4.0","satori":"^0.12.2","svgdom":"^0.1.21","@svgdotjs/svg.js":"^3.2.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^6.2.6","react":"^19.1.0","tsdown":"^0.12.9","vitest":"^3.1.4","depcheck":"^1.4.7","prettier":"^3.5.3","@types/he":"^1.2.3","typescript":"^5.8.2","@types/node":"^22.13.10","@types/debug":"^4.1.12","@types/react":"^19.0.12","@types/svgdom":"^0.1.2","@altano/assets":"0.0.1","@altano/testing":"0.0.1","@resvg/resvg-js":"^2.6.2","@altano/tsconfig":"0.0.1","@playwright/test":"1.51.1","@types/react-dom":"^19.0.4","@fontsource/inter":"5.2.6","@vitest/coverage-v8":"^3.1.4","jest-image-snapshot":"^6.4.0","@altano/build-config":"0.0.1","@arethetypeswrong/cli":"^0.17.4","@fontsource-variable/inter":"5.2.6","@types/jest-image-snapshot":"^6.4.0"},"_npmOperationalInternal":{"tmp":"tmp/satori-fit-text_2.0.1_1751863786561_0.6784874090737973","host":"s3://npm-registry-packages-npm-production"}},"2.0.2":{"name":"@altano/satori-fit-text","version":"2.0.2","keywords":["fit-text","opengraph","satori","typography"],"author":{"url":"https://alan.norbauer.com","name":"Alan Norbauer","email":"altano@gmail.com"},"license":"ISC","_id":"@altano/satori-fit-text@2.0.2","maintainers":[{"name":"altano","email":"altano@gmail.com"}],"homepage":"https://github.com/altano/npm-packages/tree/main/packages/satori-fit-text","bugs":{"url":"https://github.com/altano/npm-packages/issues"},"dist":{"shasum":"a7df22524e9be47436c21902943e2c8ed51c9dcc","tarball":"https://registry.npmjs.org/@altano/satori-fit-text/-/satori-fit-text-2.0.2.tgz","fileCount":21,"integrity":"sha512-er9frbCsRW2VbIhQZMawUJAw4xSpORU9HdHSg4Cwsh4aeQ2ImZ4GW4Efm6YXUp68pUMSzFkRn+ujJZkBCITnBg==","signatures":[{"sig":"MEYCIQDO0Zsqr0RPGgq+7RGaySGuJzQbeqSZh1Y4FM+d6CllGwIhAOD5fEJZEKMOTkE5NQo0od8lwDKxB257dYXeJ5wAyBsg","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@altano%2fsatori-fit-text@2.0.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":775675},"type":"module","_from":"file:altano-satori-fit-text-2.0.2.tgz","types":"./dist/index.d.ts","exports":"./dist/index.js","scripts":{"dev":"pnpm run build --watch","lint":"eslint","build":"tsdown --config-loader unrun --config ../build-config/tsdown.config.node.ts","clean":"rm -rf .turbo && rm -rf .tsbuildinfo && rm -rf node_modules && rm -rf dist","format":"prettier --check src","lint:fix":"TIMING=1 pnpm lint --fix","test:e2e":"NODE_OPTIONS='--no-experimental-strip-types' playwright test","test:unit":"vitest --run","format:fix":"prettier --write src","lint:timing":"TIMING=1 pnpm lint","test:e2e:ui":"playwright test --ui","check:exports":"attw --pack . --profile esm-only --quiet","check:types:src":"tsc --noEmit","test:e2e:server":"pnpm --dir ../../examples/satori-fit-text-playground start","test:unit:watch":"vitest","check:types:test":"tsc --noEmit --project ./tests/tsconfig.json","test:unit:benchmark":"vitest --run bench","check:unused-dependencies":"depcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f13ed84b-d941-4c12-90b7-712be2aad4e0"}},"_resolved":"/tmp/bbf7fa9e09c025417fc62d88b5735589/altano-satori-fit-text-2.0.2.tgz","_integrity":"sha512-er9frbCsRW2VbIhQZMawUJAw4xSpORU9HdHSg4Cwsh4aeQ2ImZ4GW4Efm6YXUp68pUMSzFkRn+ujJZkBCITnBg==","repository":{"url":"git+https://github.com/altano/npm-packages.git","type":"git","directory":"packages/satori-fit-text"},"_npmVersion":"11.11.0","description":"Fit text to a bounding box in Node or the browser","directories":{},"sideEffects":false,"_nodeVersion":"25.8.1","dependencies":{"debug":"^4.4.3","satori":"^0.12.2","svgdom":"^0.1.23","@svgdotjs/svg.js":"^3.2.5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.3.1","react":"^19.2.4","tsdown":"^0.21.4","vitest":"^4.1.0","depcheck":"^1.4.7","prettier":"^3.8.1","@types/he":"^1.2.3","typescript":"^5.9.3","@types/node":"^25.5.0","@types/debug":"^4.1.12","@types/react":"^19.2.10","@types/svgdom":"^0.1.2","@altano/assets":"0.0.1","@altano/testing":"0.0.1","@resvg/resvg-js":"^2.6.2","@altano/tsconfig":"0.0.1","@playwright/test":"1.58.2","@types/react-dom":"^19.2.3","@fontsource/inter":"5.2.6","@vitest/coverage-v8":"^4.1.0","jest-image-snapshot":"^6.5.1","@altano/build-config":"0.0.1","@arethetypeswrong/cli":"^0.18.2","@fontsource-variable/inter":"5.2.6","@types/jest-image-snapshot":"^6.4.1"},"peerDependencies":{"@types/react":"19.x.x"},"_npmOperationalInternal":{"tmp":"tmp/satori-fit-text_2.0.2_1774241732162_0.6807333639653057","host":"s3://npm-registry-packages-npm-production"}},"3.0.0":{"name":"@altano/satori-fit-text","version":"3.0.0","description":"Fit text to a bounding box in Node or the browser","keywords":["fit-text","opengraph","satori","typography"],"homepage":"https://github.com/altano/npm-packages/tree/main/packages/satori-fit-text","repository":{"type":"git","url":"https://github.com/altano/npm-packages","directory":"packages/satori-fit-text"},"license":"ISC","author":{"name":"Alan Norbauer","email":"alan@norbauer.com","url":"https://alan.norbauer.com"},"sideEffects":false,"type":"module","exports":"./dist/index.js","types":"./dist/index.d.ts","dependencies":{"@svgdotjs/svg.js":"^3.2.7","debug":"^4.4.3","satori":"^0.29.0","svgdom":"^0.1.28"},"devDependencies":{"@arethetypeswrong/cli":"^0.18.5","@fontsource-variable/inter":"5.3.0","@fontsource/inter":"5.3.0","@playwright/test":"1.59.1","@resvg/resvg-js":"^2.6.2","@types/debug":"^4.1.13","@types/he":"^1.2.3","@types/jest-image-snapshot":"^6.4.1","@types/node":"^26.1.1","@types/react":"^19.2.17","@types/react-dom":"^19.2.3","@types/svgdom":"^0.1.2","@vitest/coverage-v8":"^4.1.10","depcheck":"^1.4.7","jest-image-snapshot":"^6.5.2","prettier":"3.9.6","react":"^19.2.8","tsdown":"^0.22.13","typescript":"^6.0.3","vite":"^8.1.5","vitest":"^4.1.10","@altano/assets":"0.0.1","@altano/build-config":"0.0.1","@altano/testing":"0.0.1","@altano/tsconfig":"0.0.1"},"peerDependencies":{"@types/react":"19.x.x"},"publishConfig":{"access":"public"},"scripts":{"build":"tsdown","check:exports":"attw --pack . --profile esm-only --quiet","check:types:src":"tsc --noEmit","check:types:test":"tsc --noEmit --project ./tests/tsconfig.json","check:unused-dependencies":"depcheck","clean":"rm -rf .turbo && rm -rf .tsbuildinfo && rm -rf node_modules && rm -rf dist","dev":"pnpm run build --watch","format":"prettier --check .","format:fix":"prettier --write .","lint":"eslint","lint:fix":"TIMING=1 pnpm lint --fix","lint:timing":"TIMING=1 pnpm lint","test:e2e":"NODE_OPTIONS='--no-experimental-strip-types' playwright test","test:e2e:server":"pnpm --dir ../../examples/satori-fit-text-playground start","test:e2e:ui":"playwright test --ui","test:unit":"vitest --run","test:unit:benchmark":"vitest --run bench","test:unit:watch":"vitest"},"_nodeVersion":"24.18.0","_id":"@altano/satori-fit-text@3.0.0","dist":{"integrity":"sha512-hP1yzEXgN0bBBXqUnvZ/pAKBoHN9oN/14QGDMtjEwg2rdwy4GfapceAX/yah82Llv/WeEo+XyrjdLk6S+Yvx2g==","shasum":"0300d5f17822f1249cb0f82ea5aae63fbd829d2f","tarball":"https://registry.npmjs.org/@altano/satori-fit-text/-/satori-fit-text-3.0.0.tgz","fileCount":21,"unpackedSize":776079,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@altano%2fsatori-fit-text@3.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCmu11wqR5b78sLKwfvUG/PKdNj5hUC5jAuHlezJzYScgIgTMUsagXBUZ2EAEpDtMJWmzW1qSe/jaeBnx8Mlo8X6CM="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f13ed84b-d941-4c12-90b7-712be2aad4e0"}},"directories":{},"maintainers":[{"name":"altano","email":"alan@norbauer.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/satori-fit-text_3.0.0_1785618463908_0.21967760817092907"},"_hasShrinkwrap":false}},"time":{"created":"2023-08-31T02:51:01.477Z","modified":"2026-08-01T21:07:44.378Z","0.0.1":"2023-08-31T02:51:01.835Z","0.1.0":"2023-09-04T01:57:43.948Z","0.1.1":"2023-09-04T08:11:32.483Z","0.1.2":"2024-03-10T01:08:14.835Z","0.1.3":"2024-04-01T09:00:08.243Z","0.1.4":"2024-07-06T02:30:42.946Z","1.0.0":"2025-03-31T09:52:41.631Z","1.0.1":"2025-04-03T19:00:55.018Z","1.0.2":"2025-04-13T08:28:44.584Z","2.0.0":"2025-06-30T23:57:26.818Z","2.0.1":"2025-07-07T04:49:46.815Z","2.0.2":"2026-03-23T04:55:32.330Z","3.0.0":"2026-08-01T21:07:44.090Z"},"author":{"name":"Alan Norbauer","email":"alan@norbauer.com","url":"https://alan.norbauer.com"},"license":"ISC","homepage":"https://github.com/altano/npm-packages/tree/main/packages/satori-fit-text","keywords":["fit-text","opengraph","satori","typography"],"repository":{"type":"git","url":"https://github.com/altano/npm-packages","directory":"packages/satori-fit-text"},"description":"Fit text to a bounding box in Node or the browser","maintainers":[{"name":"altano","email":"alan@norbauer.com"}],"readme":"# satori-fit-text\n\nCalculate the largest text font size that will fit a bounding box, without a web browser. Works anywhere [Satori](https://github.com/vercel/satori) does, e.g. Node.js, web browser, Vercel edge runtime, etc.\n\n![Demo](./assets/demo.gif)\n\n## Installation\n\n```sh\n# Using NPM\nnpm install @altano/satori-fit-text\n# Using Yarn\nyarn add @altano/satori-fit-text\n# Using PNPM\npnpm add @altano/satori-fit-text\n```\n\n## Basic Example\n\n```ts\nimport { findLargestUsableFontSize, type Font } from \"@altano/satori-fit-text\";\n\nasync function getInter(): Promise<Font> {\n  const interSemiBoldBuffer = await fetch(\n    `https://cdn.jsdelivr.net/npm/@fontsource/inter@5.0.17/files/inter-latin-600-normal.woff`,\n  ).then((res) => res.arrayBuffer());\n\n  return {\n    name: \"Inter\",\n    data: interSemiBoldBuffer,\n    weight: 600,\n  };\n}\n\nconst largestUsableFontSize = await findLargestUsableFontSize({\n  lineHeight: 1,\n  font: await getInter(),\n  text: \"Some text I want to be as big as possible\",\n  maxWidth: 1136,\n  maxHeight: 429,\n});\n\nconsole.log(largestUsableFontSize);\n```\n\n## Example Uses\n\n### Code Sandboxes\n\n- [Playground with controls](https://codesandbox.io/p/sandbox/github/altano/npm-packages/tree/main/examples/satori-fit-text-playground?file=%2Fpackage.json%3A1%2C1)\n- [React Component](https://codesandbox.io/s/altano-satori-fit-text-browser-example-j2gvk6)\n- [Node.js CLI App](https://codesandbox.io/p/sandbox/github/altano/npm-packages/tree/main/examples/satori-fit-text-node-cli?file=%2Fpackage.json%3A1%2C1)\n- [Next.js Open Graph Card - Simple](https://codesandbox.io/p/sandbox/altano-satori-fit-text-next-js-demo-sv4flc)\n\n### Code\n\n- [Next.js Open Graph Card - Complex](https://github.com/altano/alan.norbauer.com/blob/main/src/components/opengraph/image.tsx#L29-L35)\n\n## Implementation\n\nThe library tries various font sizes until it finds the ideal one that works. Each iteration is tested by generating an SVG with Satori and calculating the bounding box of the SVG.\n\n## Performance\n\nThe font size search is a binary search between 1 and 1000 with `O(log maxFontSize-minFontSize)` runtime, or a default of `O(log 1000)`. You can improve performance by restricting the search space by reducing the difference between `minFontSize` and `maxFontSize`, which reduces the number of guesses.\n\nIf you're doing something like producing Open Graph cards then you probably don't need to worry about performance.\n","readmeFilename":""}