{"_id":"@flighthq/textshaper-canvas","_rev":"343-7063688ff204be17a5aca01cb8d7bdb4","name":"@flighthq/textshaper-canvas","dist-tags":{"latest":"0.4.0","next":"0.5.1-next.1556.ff9e615","edge":"0.5.1-edge.1545.a3a19e0"},"versions":{"0.1.0":{"name":"@flighthq/textshaper-canvas","version":"0.1.0","_id":"@flighthq/textshaper-canvas@0.1.0","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"dist":{"shasum":"5b1a4fea083c797a50b672c98d6f7fc198da5584","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.1.0.tgz","fileCount":10,"integrity":"sha512-xq5qImdoY3rXMbpCHGA6riOVSDBPfJbN4sDmxP264gmAEQjlvK7VknctnYsHqKB9eC+PcwbKIDnWaf+iUShm0w==","signatures":[{"sig":"MEQCIDc2tAC0pCBzM+QsnLGpZFA6hIE1XY2vDjebmoWN427oAiAv+oXIIcJB1mczpK7i8MhCujMAGcA2+ZDSpMQgHDFCXQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":23972},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"gitHead":"2aace48ec98a87082152baf119efedcd86240596","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"_npmVersion":"11.16.0","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","dependencies":{"@flighthq/text":"0.1.0","@flighthq/types":"0.1.0","@flighthq/textshaper":"0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.1.0_1783663594513_0.5165645817597986","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@flighthq/textshaper-canvas","version":"0.2.0","_id":"@flighthq/textshaper-canvas@0.2.0","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"d420dc22975b372045110b66de76ad49fab17a46","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.2.0.tgz","fileCount":10,"integrity":"sha512-8MILSQsi8O9CYPh6jNug86epzlpsp1NsZMJ3eRZgTu73pamXfOkgI87NKcb+eS2aKnL/XC44fNlGEURxoOevlQ==","signatures":[{"sig":"MEUCIE4sdilUSy4vn12JWxx1BGN1NdYzWD9nMMp8rySM/cbcAiEAsi8SAXBuBIkZhohc8KMS8bjSLQ5KwGpa48hyjmno/ak=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24113},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"gitHead":"9b0556a275cbc673041d415b86b53483525a4df2","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.2.0","@flighthq/types":"0.2.0","@flighthq/textshaper":"0.2.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.2.0_1783973732104_0.06982183316469381","host":"s3://npm-registry-packages-npm-production"}},"0.2.1-next.410.a23f189":{"name":"@flighthq/textshaper-canvas","version":"0.2.1-next.410.a23f189","_id":"@flighthq/textshaper-canvas@0.2.1-next.410.a23f189","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"f29ae9e01311c7ac577ca15d9b114d6ec3efa014","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.2.1-next.410.a23f189.tgz","fileCount":10,"integrity":"sha512-Ha0pwIheMhUTh3/6IVUdTtI3u1m0YUHwpPE2hM8GlHaPIBIeKztHHC8Q/6GRw9eaYB1xZITAfpBumKYw4PML4w==","signatures":[{"sig":"MEUCIQC+w+EQwUMy/arqdICbaAcoN6l+fyOiDSN/2qAFHfWGsAIgBidkqF9lF09Wht62IWwvU6r1sfMhmIrRhyp/jS8RPwU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.2.1-next.410.a23f189","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24181},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"gitHead":"a23f189583d1112c9e6137c11d9f05470b0ea594","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.2.1-next.410.a23f189","@flighthq/types":"0.2.1-next.410.a23f189","@flighthq/textshaper":"0.2.1-next.410.a23f189"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.2.1-next.410.a23f189_1784577293789_0.4613566991341278","host":"s3://npm-registry-packages-npm-production"}},"0.2.1-next.423.3350e53":{"name":"@flighthq/textshaper-canvas","version":"0.2.1-next.423.3350e53","_id":"@flighthq/textshaper-canvas@0.2.1-next.423.3350e53","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"93a63f1558d74cc1c677d37434f85aebfc190854","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.2.1-next.423.3350e53.tgz","fileCount":10,"integrity":"sha512-BszELQB9WAL5fS7bfV1qC/Iuqos+DiIrYp848idPAbuLT76KVYkpHA0xQo+0WK/AiacuBCcqfD/xu1TVpaqjdw==","signatures":[{"sig":"MEYCIQCUjQOo/H7m5bnEdMD+gsFMdovTxU3zK5EIJ0kgTgTXAQIhAKuhv+ynSzWAB/VfMhCGfSi6E9ljl6DBS1VKZa5VZFMH","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.2.1-next.423.3350e53","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24181},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"gitHead":"3350e53bccb9bf3574666cf1461253e65d5973f4","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.2.1-next.423.3350e53","@flighthq/types":"0.2.1-next.423.3350e53","@flighthq/textshaper":"0.2.1-next.423.3350e53"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.2.1-next.423.3350e53_1784615529982_0.946058138161016","host":"s3://npm-registry-packages-npm-production"}},"0.2.1-next.444.a313478":{"name":"@flighthq/textshaper-canvas","version":"0.2.1-next.444.a313478","_id":"@flighthq/textshaper-canvas@0.2.1-next.444.a313478","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"8494c81dd340aa1807ac5ebf365372123bca8543","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.2.1-next.444.a313478.tgz","fileCount":10,"integrity":"sha512-Pt3c5UPPd8n62M7l61JkajbTNIoQ4rgrC2WY2z/1kb05QsZCQZOJQD85LgMF1FQhMqZ65c4J/zKBI71LnOVUUw==","signatures":[{"sig":"MEUCIQCZCCVgmxEcdFuqJAAhervgXA0g78K1tWuIORg5bGPkxQIgIXYQv3yokP9ynSf20z5kL9QmvXO9Urmexvh+jfuvvt4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.2.1-next.444.a313478","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24181},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"gitHead":"a313478d5a9242d9eee05f9501c06923298ecfa6","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.2.1-next.444.a313478","@flighthq/types":"0.2.1-next.444.a313478","@flighthq/textshaper":"0.2.1-next.444.a313478"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.2.1-next.444.a313478_1784649373509_0.4774519686283363","host":"s3://npm-registry-packages-npm-production"}},"0.2.1-next.448.afbdd31":{"name":"@flighthq/textshaper-canvas","version":"0.2.1-next.448.afbdd31","_id":"@flighthq/textshaper-canvas@0.2.1-next.448.afbdd31","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"c986d9217bef1c7872dbb7fc11f70dc32598825d","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.2.1-next.448.afbdd31.tgz","fileCount":10,"integrity":"sha512-NHH6n+9rYMi8TAuJx5OWYo8umzHmAKdnA/vhqR/IyuMjBV029GsqOXi1oWh+uMQwFxd0UHRzU4ilCHep1nlWHA==","signatures":[{"sig":"MEYCIQD69SpW9Jrx92iGA4fsP7hPZmeEc5OeP7CYYP6N9rvC/gIhAMsEsvhM3tvq91k6e6G/laGEtkTuiykIKpj5DTlvEF7m","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.2.1-next.448.afbdd31","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24181},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"gitHead":"afbdd31c14177b187e71f818f318f77820f6f8fa","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.2.1-next.448.afbdd31","@flighthq/types":"0.2.1-next.448.afbdd31","@flighthq/textshaper":"0.2.1-next.448.afbdd31"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.2.1-next.448.afbdd31_1784663735906_0.6479640204807013","host":"s3://npm-registry-packages-npm-production"}},"0.2.1-next.449.355834c":{"name":"@flighthq/textshaper-canvas","version":"0.2.1-next.449.355834c","_id":"@flighthq/textshaper-canvas@0.2.1-next.449.355834c","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"8aa97d478f7fa43343fd05cef4c28159ab7794ed","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.2.1-next.449.355834c.tgz","fileCount":10,"integrity":"sha512-wnNktrDLq4E6kbYjzb1IZWENO7rm7T0Ir2fg1Jao/w/9TuRbmjxlZAp3CipZWaRPx6pOyfhnPCUd9mVsLA6lYg==","signatures":[{"sig":"MEUCIQCMGa+DoU6zzPpJzF0g81ktSQUxjR41vb3hBFzQscik+gIgOKhqh8tScYkyXVzGK7/pe14nld3CmIA4mOIubzcwlFU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.2.1-next.449.355834c","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24181},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"gitHead":"355834cdd84eeca5ed44c89830fa1ad600001f47","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.2.1-next.449.355834c","@flighthq/types":"0.2.1-next.449.355834c","@flighthq/textshaper":"0.2.1-next.449.355834c"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.2.1-next.449.355834c_1784664273062_0.7142406587586703","host":"s3://npm-registry-packages-npm-production"}},"0.2.1-next.451.d9a4a4e":{"name":"@flighthq/textshaper-canvas","version":"0.2.1-next.451.d9a4a4e","_id":"@flighthq/textshaper-canvas@0.2.1-next.451.d9a4a4e","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"94306f7c16ffce703f90eb3249d46c0a4caf68bd","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.2.1-next.451.d9a4a4e.tgz","fileCount":10,"integrity":"sha512-F7EO32I/0xt2bQnSqZE0gnL9pIsSTg//Ma+kQYeJrzpz2vrTQJ3jgZyvjro2oykzxrZ5/xrq5Kk4WbIgIpH8TQ==","signatures":[{"sig":"MEQCIBnjv2BnWFNsaBAoXYhZtvR84m6VICn5Hr0I9q8/Jf3pAiBBlnWJEDx3sEjPEI5RBB8xnpgu3eu40Bnsoq4X+XKmrQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.2.1-next.451.d9a4a4e","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24181},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"gitHead":"d9a4a4e09119c2bff69cb260a65630f4604424d0","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.2.1-next.451.d9a4a4e","@flighthq/types":"0.2.1-next.451.d9a4a4e","@flighthq/textshaper":"0.2.1-next.451.d9a4a4e"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.2.1-next.451.d9a4a4e_1784669578983_0.5434335732491395","host":"s3://npm-registry-packages-npm-production"}},"0.2.1-next.459.fb59cc5":{"name":"@flighthq/textshaper-canvas","version":"0.2.1-next.459.fb59cc5","_id":"@flighthq/textshaper-canvas@0.2.1-next.459.fb59cc5","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"47081b9a72257487aa02c9b6607a085fab1ec7a3","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.2.1-next.459.fb59cc5.tgz","fileCount":10,"integrity":"sha512-iZ63DHuQEjHpMt+2croDFgxeE9eADPsY78mXMohOsPXxatZaqrVvbHMPt7YDgn8acPDj5X4t/Zq8nil55sx5vA==","signatures":[{"sig":"MEYCIQCVC9xqVfrCOxBEBXXXbSCp1D/0iRkEy8uX4UYIff8/RAIhAOndhUwj/CKU/6OM+zh4m/Ja1DFR9gGpDLkfTjBx2BFL","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.2.1-next.459.fb59cc5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24181},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"gitHead":"fb59cc510e1643cb9f4698313f26777e6dd21394","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.2.1-next.459.fb59cc5","@flighthq/types":"0.2.1-next.459.fb59cc5","@flighthq/textshaper":"0.2.1-next.459.fb59cc5"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.2.1-next.459.fb59cc5_1784670098511_0.4798974623950487","host":"s3://npm-registry-packages-npm-production"}},"0.2.1-next.530.a223ca9":{"name":"@flighthq/textshaper-canvas","version":"0.2.1-next.530.a223ca9","_id":"@flighthq/textshaper-canvas@0.2.1-next.530.a223ca9","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"b31289b9a5b27269ab7ee34ef7806d6681415e4f","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.2.1-next.530.a223ca9.tgz","fileCount":10,"integrity":"sha512-PP+3SBkjWudZJfY0v5lQg9DpvxB7/Nc2PWlnRT79VeBfqrATIzAstlH5pUUa1kYukdVwU2eObHLdKEfssDwpSQ==","signatures":[{"sig":"MEUCIBd6MwBBP7Ez339llh7Cnsthc1E851nezkr1mE+TQK8JAiEA2TzZJv3plRaZXC7Ucjn5HRCCNJvqj0/F3OTQx1pp6W4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.2.1-next.530.a223ca9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24181},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"gitHead":"a223ca973bce7428681746d72d5bd9a3d5b1cf48","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.2.1-next.530.a223ca9","@flighthq/types":"0.2.1-next.530.a223ca9","@flighthq/textshaper":"0.2.1-next.530.a223ca9"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.2.1-next.530.a223ca9_1784816988256_0.29109144891866623","host":"s3://npm-registry-packages-npm-production"}},"0.2.1-next.585.c7219b8":{"name":"@flighthq/textshaper-canvas","version":"0.2.1-next.585.c7219b8","_id":"@flighthq/textshaper-canvas@0.2.1-next.585.c7219b8","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"1f01a1946284ea496e21ad48cff7939a982233ad","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.2.1-next.585.c7219b8.tgz","fileCount":10,"integrity":"sha512-1B2hXeqK3LSdXdwFUtv84ou21CAFODJ9A+I6Qtz+9t4X4c5+54GuO5bWc5yCVpL23NLivvM7z2Vi+qVcVofvZg==","signatures":[{"sig":"MEUCIH4p5vWhuyooCzoedQbmnJ8f9eBaE5IXli/G+CYG/ABUAiEA442OwA9K/YfhtjSTlDLtUbNDtOpyrzs4CANdWp2SAoo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.2.1-next.585.c7219b8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24058},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"gitHead":"c7219b84f65d218b29374e02140132f62e701f9e","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.2.1-next.585.c7219b8","@flighthq/types":"0.2.1-next.585.c7219b8","@flighthq/textshaper":"0.2.1-next.585.c7219b8"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.2.1-next.585.c7219b8_1784842388419_0.7859223473321431","host":"s3://npm-registry-packages-npm-production"}},"0.2.1-next.624.d23e6a9":{"name":"@flighthq/textshaper-canvas","version":"0.2.1-next.624.d23e6a9","_id":"@flighthq/textshaper-canvas@0.2.1-next.624.d23e6a9","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"d7532165adbb2a73f4ac46d7c205825d1c5c30e2","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.2.1-next.624.d23e6a9.tgz","fileCount":10,"integrity":"sha512-5F3lbQWha+quTeYBh5HoKJ3Ju9VZ18TjCiZ8G+EiMuzL3vZF+99gQlB+lF0MiMz+sWTrzjo3GxQcjxgS1gwIBw==","signatures":[{"sig":"MEUCIHsP9XMJRxqFD84ehVmJUYjWIGRdp2bEiyQFvezY4wNYAiEAk6BoKAY9mbe0ChGPtg3PtAnwetVpe3U5HvPAW6CcFbk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.2.1-next.624.d23e6a9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24058},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"gitHead":"d23e6a9e15d0682fbb884cdeda2fa10bbab12e17","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.2.1-next.624.d23e6a9","@flighthq/types":"0.2.1-next.624.d23e6a9","@flighthq/textshaper":"0.2.1-next.624.d23e6a9"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.2.1-next.624.d23e6a9_1784878173429_0.36196740253969506","host":"s3://npm-registry-packages-npm-production"}},"0.2.1-next.640.ec2ea9a":{"name":"@flighthq/textshaper-canvas","version":"0.2.1-next.640.ec2ea9a","_id":"@flighthq/textshaper-canvas@0.2.1-next.640.ec2ea9a","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"50286ddbebe17479e7fcd059cc53f67961636fe7","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.2.1-next.640.ec2ea9a.tgz","fileCount":10,"integrity":"sha512-RNmwixcuZrb4kLA4t5+MqlCn8ZTtgdv9KrYWQxmrUGy277GK7/DVhiaJkT/zLsCx8szKeFyB1UBGcdVhTcz47w==","signatures":[{"sig":"MEYCIQCIWNtypukKWaa0fMdkJSLMCYcNY/Vnyn45oZ81v0CYugIhAPGVoO4o7EqBIP+ehNHKgKpagAnZ1CAo3MszBWPdDYrM","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.2.1-next.640.ec2ea9a","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24058},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"gitHead":"ec2ea9abad0334fdcac33f94913a4fdccc9b00ef","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.2.1-next.640.ec2ea9a","@flighthq/types":"0.2.1-next.640.ec2ea9a","@flighthq/textshaper":"0.2.1-next.640.ec2ea9a"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.2.1-next.640.ec2ea9a_1784905535082_0.6493601320264062","host":"s3://npm-registry-packages-npm-production"}},"0.2.1-next.647.2252e02":{"name":"@flighthq/textshaper-canvas","version":"0.2.1-next.647.2252e02","_id":"@flighthq/textshaper-canvas@0.2.1-next.647.2252e02","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"5c02f8ded5181fa6619dafa74546c43551c821a9","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.2.1-next.647.2252e02.tgz","fileCount":10,"integrity":"sha512-x+TZJqBefeTE9wqFiuWZ3a9VQf137QTbFhLD6XX2Cid1CZMCTZWtRkMS9bRQoitEOj4wclW/Weig3Z+xFsUCWg==","signatures":[{"sig":"MEUCIQCN0Jx0c+ws3HGM5/xaKs97FtPzA6nL6bpvIhPsMVjmDgIgP7qwquDMSsX6pcqWCGbJly6icthq3uf/nXqOkuwGFLM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.2.1-next.647.2252e02","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24058},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"gitHead":"2252e02d1c82bcbbeb421d68a081290ec895b3c9","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.2.1-next.647.2252e02","@flighthq/types":"0.2.1-next.647.2252e02","@flighthq/textshaper":"0.2.1-next.647.2252e02"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.2.1-next.647.2252e02_1784914316714_0.5432455666821823","host":"s3://npm-registry-packages-npm-production"}},"0.2.1-next.652.c550eaa":{"name":"@flighthq/textshaper-canvas","version":"0.2.1-next.652.c550eaa","_id":"@flighthq/textshaper-canvas@0.2.1-next.652.c550eaa","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"60d03146395aa406ef0642588d0d6c11d065f5b6","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.2.1-next.652.c550eaa.tgz","fileCount":10,"integrity":"sha512-hIsEVa4OCEZDLJBESyk1AhHlUCM0rgoXJhlsuL5bBPDmg13K6bai3mvszFrCctFxqGoGRhQT7GtkM0c9MznZJw==","signatures":[{"sig":"MEQCIBRLzWNErjJI6X87YlVn/yP/Dnd4jF6BV4C+j34q0hpJAiBxDxehyoG8LQMiFdSHGroHKzssJKdBjaXAiohGx0Djpg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.2.1-next.652.c550eaa","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24058},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"gitHead":"c550eaa3044aa8d52451f0bac93ee84cc0be6fb1","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.2.1-next.652.c550eaa","@flighthq/types":"0.2.1-next.652.c550eaa","@flighthq/textshaper":"0.2.1-next.652.c550eaa"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.2.1-next.652.c550eaa_1784916306968_0.9184368301072081","host":"s3://npm-registry-packages-npm-production"}},"0.2.1-next.666.4af7f8b":{"name":"@flighthq/textshaper-canvas","version":"0.2.1-next.666.4af7f8b","_id":"@flighthq/textshaper-canvas@0.2.1-next.666.4af7f8b","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"6856e4cc0ab00c1e682a42e4e09f9e5914a850c2","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.2.1-next.666.4af7f8b.tgz","fileCount":10,"integrity":"sha512-L3/b0R7pRJrIG7Xdzr0XUSaMvLQNW1XH/b3ujzj45p4RSp7JW6fehFqGlv3Zr4+EspgWpz/m9MX7+XGD+rwWOA==","signatures":[{"sig":"MEYCIQC+1lhYLcy3OBJmx65SILqMlnk2HdX2+1zPZTcXdf6mTwIhAMkwdhFcgzrwAUqmimGaZ/nYIbHw4r0CK2jdEhq4I/VE","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.2.1-next.666.4af7f8b","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24058},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"gitHead":"4af7f8bd5fdc35503c8aa956763f740e4b3ba261","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.2.1-next.666.4af7f8b","@flighthq/types":"0.2.1-next.666.4af7f8b","@flighthq/textshaper":"0.2.1-next.666.4af7f8b"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.2.1-next.666.4af7f8b_1784920087490_0.1031841877569255","host":"s3://npm-registry-packages-npm-production"}},"0.2.1-next.701.409c279":{"name":"@flighthq/textshaper-canvas","version":"0.2.1-next.701.409c279","_id":"@flighthq/textshaper-canvas@0.2.1-next.701.409c279","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"8c791fd73a38e65ad11ff8e24fc3325118df2a44","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.2.1-next.701.409c279.tgz","fileCount":10,"integrity":"sha512-7SkS6OX7iUatrLmDdDXImoZMrLwt1rAof0uENDajagjCvaqSeyoGGc+iqryQ6UR9eFC4LGWX2EsN8SrnZIBKsg==","signatures":[{"sig":"MEYCIQDVglAOZA/swNE7CdkJ5PNlRJGSzESzCRI0vE9embEd3AIhAOP4PEUaOr2cPAEp1O3wnU6IYCtNYzzg3OucFYTRXYI8","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.2.1-next.701.409c279","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24058},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"gitHead":"409c27915859155fff7a99433ec5b9c7d30165ff","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.2.1-next.701.409c279","@flighthq/types":"0.2.1-next.701.409c279","@flighthq/textshaper":"0.2.1-next.701.409c279"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.2.1-next.701.409c279_1784951769401_0.4455414354044813","host":"s3://npm-registry-packages-npm-production"}},"0.2.1-next.738.07b221d":{"name":"@flighthq/textshaper-canvas","version":"0.2.1-next.738.07b221d","_id":"@flighthq/textshaper-canvas@0.2.1-next.738.07b221d","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"957ee95255c757cda3b82fdb0f1dd9b90c361c9e","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.2.1-next.738.07b221d.tgz","fileCount":10,"integrity":"sha512-7KXuIPsQcDzaJc6lb/RDsdLoh4hyyJk93Uoy6xeiL5Ql8wCXIxCjMi3epChxSav87lkr2k+tDaZAQLPT80xDxg==","signatures":[{"sig":"MEUCIEqQerH7cRp+jDCgEmQhTG57G1QMRBms/pgRCqDRRanYAiEAv/9fzpkagspPXLsWZvnqrBUmFlby7O5YBCg0+GEln5U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.2.1-next.738.07b221d","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24058},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"gitHead":"07b221d4dc1b994d9e5726c9fae1b8623de30c0c","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.2.1-next.738.07b221d","@flighthq/types":"0.2.1-next.738.07b221d","@flighthq/textshaper":"0.2.1-next.738.07b221d"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.2.1-next.738.07b221d_1784956777185_0.6103621096096943","host":"s3://npm-registry-packages-npm-production"}},"0.2.1-next.840.857425c":{"name":"@flighthq/textshaper-canvas","version":"0.2.1-next.840.857425c","_id":"@flighthq/textshaper-canvas@0.2.1-next.840.857425c","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"d6e30e3e6244c19839afdcae49c7aba0dbde7f34","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.2.1-next.840.857425c.tgz","fileCount":10,"integrity":"sha512-BwCD32QeXjE5I61c8y/hIRYHL597X8WhlAR3pSuR2PAfhPjDMzjqdiAVPAJwCU3C1gHwtpMDpj366lBRF3cnww==","signatures":[{"sig":"MEYCIQD7UYObFTX9jaQwNzFcLl4GHrF+YiHGAabDDzgjBJABPgIhANaHMI6am9tKPyjji+ySs6SXcSlRWLrmrzYwfr+MH7Mk","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.2.1-next.840.857425c","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24058},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"gitHead":"857425cbf67a23597b9232d3e8bba742cca02e26","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.2.1-next.840.857425c","@flighthq/types":"0.2.1-next.840.857425c","@flighthq/textshaper":"0.2.1-next.840.857425c"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.2.1-next.840.857425c_1785027274240_0.40131828393119306","host":"s3://npm-registry-packages-npm-production"}},"0.2.1-next.841.373388f":{"name":"@flighthq/textshaper-canvas","version":"0.2.1-next.841.373388f","_id":"@flighthq/textshaper-canvas@0.2.1-next.841.373388f","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"9d2e307b422909064dd1e6219e1268612865a25d","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.2.1-next.841.373388f.tgz","fileCount":10,"integrity":"sha512-EbcbH6flrO3ejl4FPB40DuKZnYW4v0rOjPGmNMU6aDbffX1rdUnqtv3ho5WjRlAjLeg2RTjGYT4WwbtVSOzAXg==","signatures":[{"sig":"MEQCICfHDrMi2yjbU/37NJGa8rcBnBywf9LOAtjdivYB6KsFAiBrHlE/8oQtRWHkCWFa9Q4Uv3kHdqk3OBT+rQh+FnWVxA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.2.1-next.841.373388f","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24058},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"gitHead":"373388fed48e80ac2c2dd249a2b7c81988928d64","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.2.1-next.841.373388f","@flighthq/types":"0.2.1-next.841.373388f","@flighthq/textshaper":"0.2.1-next.841.373388f"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.2.1-next.841.373388f_1785046080131_0.6633358302120917","host":"s3://npm-registry-packages-npm-production"}},"0.3.0-next.906.07cea63":{"name":"@flighthq/textshaper-canvas","version":"0.3.0-next.906.07cea63","_id":"@flighthq/textshaper-canvas@0.3.0-next.906.07cea63","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"b89be604c964968ac035bc888f7b72b136d89fb5","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.3.0-next.906.07cea63.tgz","fileCount":14,"integrity":"sha512-AvqVBjlPM1r0xlqKVjJhv9W2m3kb/H4gQb7tQe4B7RvlJadGxv6RKUuyC42KNZuyxWx09N3LBK5Ct4ygLAtgTA==","signatures":[{"sig":"MEYCIQCqVfxHKCTelNQBxDuh2Xax6zyROJuR4xMjQcAebyu1EgIhAOYPt8Lvs/6BcYnNoMoLRxm/MJFAZfH571EGPDJGfeSh","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.3.0-next.906.07cea63","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24559},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"07cea634770fe8d3258b29820bb61bc706a38d28","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.3.0-next.906.07cea63","@flighthq/types":"0.3.0-next.906.07cea63","@flighthq/textshaper":"0.3.0-next.906.07cea63"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.3.0-next.906.07cea63_1785220235331_0.8543714293117304","host":"s3://npm-registry-packages-npm-production"}},"0.3.0-next.1021.f5f1ee0":{"name":"@flighthq/textshaper-canvas","version":"0.3.0-next.1021.f5f1ee0","_id":"@flighthq/textshaper-canvas@0.3.0-next.1021.f5f1ee0","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"c4a261901ffaa4c946649f445de03e3ac24b7ed8","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.3.0-next.1021.f5f1ee0.tgz","fileCount":14,"integrity":"sha512-5DoLcZgDZ0EMrKCirH6rUblLo3P3ASirgvGefcnf2kcRXy8IojQ12eR1WKHdaFuvssyb5+hxm8pCUwjmcYvRgA==","signatures":[{"sig":"MEYCIQD0RW722IitXjYDjAXtRRBujBzntp4fD797hSs7VwNmlwIhAJlsLm0A/2r3Or8CEbEQzM1NHRkjzcYL4nth3EIeyUnH","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.3.0-next.1021.f5f1ee0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24563},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"f5f1ee0cddf1508b15fbf9b889d43f7ec3bbee83","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.3.0-next.1021.f5f1ee0","@flighthq/types":"0.3.0-next.1021.f5f1ee0","@flighthq/textshaper":"0.3.0-next.1021.f5f1ee0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.3.0-next.1021.f5f1ee0_1785425390884_0.6694042973007743","host":"s3://npm-registry-packages-npm-production"}},"0.3.0-next.1032.e2b99fc":{"name":"@flighthq/textshaper-canvas","version":"0.3.0-next.1032.e2b99fc","_id":"@flighthq/textshaper-canvas@0.3.0-next.1032.e2b99fc","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"a767747dcc98dbf8c33832cd5995096ce348c171","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.3.0-next.1032.e2b99fc.tgz","fileCount":14,"integrity":"sha512-LlbUSJoOupHEjjHuA+lPikKpy/dI8eGzoespfpGqZqBnskToHxXCkrm+Fcu9d8j5gB8bBAHvSmR/Fyr/J/dzNg==","signatures":[{"sig":"MEUCIErA0PnFg6MZ7dxh6PpiebLvGNWlIoRRCDu1mFnmBLhYAiEAlosqYwrfumkIuRrFMcXGGJH8DfkGCTM/gLPTyM0fFPQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.3.0-next.1032.e2b99fc","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24563},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"e2b99fc68c6399f816db39547f7124e5e6941e34","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.3.0-next.1032.e2b99fc","@flighthq/types":"0.3.0-next.1032.e2b99fc","@flighthq/textshaper":"0.3.0-next.1032.e2b99fc"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.3.0-next.1032.e2b99fc_1785436643629_0.551256273171634","host":"s3://npm-registry-packages-npm-production"}},"0.3.0-next.1162.e90e518":{"name":"@flighthq/textshaper-canvas","version":"0.3.0-next.1162.e90e518","_id":"@flighthq/textshaper-canvas@0.3.0-next.1162.e90e518","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"2b86b24a5c46e6881ab425237f38377ba814bc7e","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.3.0-next.1162.e90e518.tgz","fileCount":14,"integrity":"sha512-wNGzvhMZhb5SC8sy8jcB/3G3fPDneVm4xoWdo5zoGOfue+VbgVeiwx4LlxD9CwINh07AN6LAAjuPYp/MlFAN9w==","signatures":[{"sig":"MEUCIQDKOlFaSKKiEEFb18pMDKqspT9uC5iFXg+HncBev7g9DwIgJa+aDJFSULHK2x3Mh47YkPljq/pFtOqhSIXAcVFT3eM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.3.0-next.1162.e90e518","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24563},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"e90e5180335da73fa439d43dc731cc0a92ed92ee","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.3.0-next.1162.e90e518","@flighthq/types":"0.3.0-next.1162.e90e518","@flighthq/textshaper":"0.3.0-next.1162.e90e518"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.3.0-next.1162.e90e518_1785453632500_0.3108407480875397","host":"s3://npm-registry-packages-npm-production"}},"0.3.0-next.1220.6982c21":{"name":"@flighthq/textshaper-canvas","version":"0.3.0-next.1220.6982c21","_id":"@flighthq/textshaper-canvas@0.3.0-next.1220.6982c21","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"792f0740b6b2d9975b14b20e9d48a626622c47e5","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.3.0-next.1220.6982c21.tgz","fileCount":14,"integrity":"sha512-KKPasnVQfMcztQhjgKOKBwXYgN/iT4uLWfDQPx8Fzcf9/+0XDAKNEWizBqMFlneP+EjBXm6DDnVvjtd7hkA2SA==","signatures":[{"sig":"MEYCIQCdokimQdIFD1s8YlJBGpZ6C4ghzBHxnB3DNvBB7ueEWwIhALDKbnkytB2CUQCjGul66GKcWSMgMzNpFlMv4pZ0gBQG","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.3.0-next.1220.6982c21","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24563},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"6982c2155077a46281fbbb78cfd466fe7ec3c3ee","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.3.0-next.1220.6982c21","@flighthq/types":"0.3.0-next.1220.6982c21","@flighthq/textshaper":"0.3.0-next.1220.6982c21"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.3.0-next.1220.6982c21_1785506173886_0.8909073985505958","host":"s3://npm-registry-packages-npm-production"}},"0.3.0-next.1248.f867198":{"name":"@flighthq/textshaper-canvas","version":"0.3.0-next.1248.f867198","_id":"@flighthq/textshaper-canvas@0.3.0-next.1248.f867198","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"4b87b63a0bcb3cec089c782f4c593b5360899d2e","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.3.0-next.1248.f867198.tgz","fileCount":14,"integrity":"sha512-gst4+fyrX4m8v/4AiOVwSJtmiC5Rqlsv2xpZD7IE8TQDei06htd/RJd5zfFXu6f4BPLZiGlBJX631VeFQaCVWQ==","signatures":[{"sig":"MEUCIQDvO3sgTfuLEeESiFNAxyRquOuxNOvzKilRudIOQHzMwgIgCklgHyWx2ADhyNaZlFM6huWOguI1iSBZbMobOCtrf1Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.3.0-next.1248.f867198","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24563},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"f867198c7f75a456bc601d5f33ae9c42f73f93fc","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.3.0-next.1248.f867198","@flighthq/types":"0.3.0-next.1248.f867198","@flighthq/textshaper":"0.3.0-next.1248.f867198"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.3.0-next.1248.f867198_1785512500752_0.10547839353596156","host":"s3://npm-registry-packages-npm-production"}},"0.3.0-next.1272.222de94":{"name":"@flighthq/textshaper-canvas","version":"0.3.0-next.1272.222de94","_id":"@flighthq/textshaper-canvas@0.3.0-next.1272.222de94","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"21d8622ed57af4cc49f087fca10163a600945372","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.3.0-next.1272.222de94.tgz","fileCount":14,"integrity":"sha512-K+HfYmsObaEufobySfkXA0gAvctLFmRnH11DyjNFk6jekIu6f4y7jd0BUmzePTqyf2JXm7j9QaSmXbGr4OiuPQ==","signatures":[{"sig":"MEUCIFxovAur6xJfaHlu5lvz9wF37wnAASniFJNVXp5LWnrbAiEAvjjKh2Hl9eJoAeujqz/2bac4buHMdUtwDiMBy5ZisLs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.3.0-next.1272.222de94","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24563},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"222de94f32ddf0fb201ec104fb1e268b4e5b7c43","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.3.0-next.1272.222de94","@flighthq/types":"0.3.0-next.1272.222de94","@flighthq/textshaper":"0.3.0-next.1272.222de94"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.3.0-next.1272.222de94_1785517931191_0.8929664357932134","host":"s3://npm-registry-packages-npm-production"}},"0.3.0-next.1280.6369398":{"name":"@flighthq/textshaper-canvas","version":"0.3.0-next.1280.6369398","_id":"@flighthq/textshaper-canvas@0.3.0-next.1280.6369398","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"eba86e7ef3fd4fca24c4128d3f2b0f690501125f","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.3.0-next.1280.6369398.tgz","fileCount":14,"integrity":"sha512-+jdoZECf7GOEs2vjkU2CICPfCmdkfthDKs7gUSg5wPabPnDHVqCMK9RZgTd4UiKDKWOw1VttHf8bbgnF/JzjDA==","signatures":[{"sig":"MEUCIBAHO23alaVUMAvXFz6PbLeJLYK9g6zY7arkgqAmT3z3AiEAqoE4fW06gNsZWH0MN+9xvsRUur4Mog81oXYXw+VAlFo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.3.0-next.1280.6369398","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24563},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"6369398b6069f577e50d31aa17076bd83b194aa9","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.3.0-next.1280.6369398","@flighthq/types":"0.3.0-next.1280.6369398","@flighthq/textshaper":"0.3.0-next.1280.6369398"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.3.0-next.1280.6369398_1785521650825_0.1716719833682505","host":"s3://npm-registry-packages-npm-production"}},"0.3.0-next.1297.43a5ef8":{"name":"@flighthq/textshaper-canvas","version":"0.3.0-next.1297.43a5ef8","_id":"@flighthq/textshaper-canvas@0.3.0-next.1297.43a5ef8","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"4150fdd4f42a3cf65bee3edca5e69f174cff5fc0","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.3.0-next.1297.43a5ef8.tgz","fileCount":14,"integrity":"sha512-07FcZa/j9ouiFvftvevWamLTksHJ4a7MqALL7N2aONrEJ1Kfr2jwPwJG0liFh3cxy3XOAsp5xVdjvgGGWtBbYQ==","signatures":[{"sig":"MEQCIE3t39PpqmghtS/s2dkIwYeD1xllNyWzopkFc3GHXyXZAiB3oduh/3i9GzhibT4gbcWuIdMrx+57GD8PVMgDJEYazg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.3.0-next.1297.43a5ef8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24563},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"43a5ef8e9c9143931917ab0e3059aa12c2dac847","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.3.0-next.1297.43a5ef8","@flighthq/types":"0.3.0-next.1297.43a5ef8","@flighthq/textshaper":"0.3.0-next.1297.43a5ef8"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.3.0-next.1297.43a5ef8_1785529951208_0.5674850634764264","host":"s3://npm-registry-packages-npm-production"}},"0.3.0-next.1299.b32cbdc":{"name":"@flighthq/textshaper-canvas","version":"0.3.0-next.1299.b32cbdc","_id":"@flighthq/textshaper-canvas@0.3.0-next.1299.b32cbdc","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"7af8d67ee3816f2ad71ec28d6e918759ea950974","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.3.0-next.1299.b32cbdc.tgz","fileCount":14,"integrity":"sha512-jtYYnFdSlF90rJ+KQxDHdvy8Aq/RoqCco5pWqevMNvIEBzfdsCfd9lHRoYli+O2CcgdW/qUNon9m3Y+SB8uVUA==","signatures":[{"sig":"MEUCIQDI0UpeSlNz2EpUvtasOeN8GB9cs/mUAyUDsYHD+w9UBgIgetQGrGy7dRPjzMUG6wZ8NgurHM9OexyA0WkFAedWnMk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.3.0-next.1299.b32cbdc","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24563},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"b32cbdc8a9ef6dcdea862be2c5c92fcc92a814eb","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.3.0-next.1299.b32cbdc","@flighthq/types":"0.3.0-next.1299.b32cbdc","@flighthq/textshaper":"0.3.0-next.1299.b32cbdc"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.3.0-next.1299.b32cbdc_1785531452870_0.6424466777395836","host":"s3://npm-registry-packages-npm-production"}},"0.3.0-next.1315.1d4eb64":{"name":"@flighthq/textshaper-canvas","version":"0.3.0-next.1315.1d4eb64","_id":"@flighthq/textshaper-canvas@0.3.0-next.1315.1d4eb64","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"ae7395f5884ed333bbc0bda58227d72a515c3b50","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.3.0-next.1315.1d4eb64.tgz","fileCount":14,"integrity":"sha512-yqssm+c1pXTTcOJJf2Sb4QFpUY9lM5SVCQ6g3GhG6MurApqJRNWYo6/nt/P0adxl4N2DR5AnX4Zx/Wry5BJyhw==","signatures":[{"sig":"MEYCIQC/6FdLBuQ0RtmtSoFZwJXPht4ZJ33R7VAjyc4JZ0lUxgIhANkKa1KIHVwvZktApIs3e8yftYpM9Z0Sy9Eh8pcOUIz+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.3.0-next.1315.1d4eb64","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24563},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"1d4eb64e5cd30c8e0127221dec60bb8b71d20f78","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.3.0-next.1315.1d4eb64","@flighthq/types":"0.3.0-next.1315.1d4eb64","@flighthq/textshaper":"0.3.0-next.1315.1d4eb64"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.3.0-next.1315.1d4eb64_1785538441107_0.209419493921706","host":"s3://npm-registry-packages-npm-production"}},"0.3.0-next.1383.c61de17":{"name":"@flighthq/textshaper-canvas","version":"0.3.0-next.1383.c61de17","_id":"@flighthq/textshaper-canvas@0.3.0-next.1383.c61de17","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"a0c203f11653542a7243b2bd2ab5a9c6c28bc166","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.3.0-next.1383.c61de17.tgz","fileCount":14,"integrity":"sha512-nozwbD6yIawhLZnkf6RCzIwTAYkB+HSd1gfLc4J90XYwvmBcniRG3odLCxk7O9bxtCHLWs5VVnuAqSWiD9NzEQ==","signatures":[{"sig":"MEUCIQC/LrZnJLEQfXx4xh9/Fo9xa6a6RFIe7quGPRwOzIp+ygIgaurr7pByC66CPSd0IMdg8AWpYGYhPZ4dEo29valuccA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.3.0-next.1383.c61de17","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24563},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"c61de179af8a12c2fa3b9b7d5389ee302f577a0d","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.3.0-next.1383.c61de17","@flighthq/types":"0.3.0-next.1383.c61de17","@flighthq/textshaper":"0.3.0-next.1383.c61de17"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.3.0-next.1383.c61de17_1785541528930_0.4272329549151026","host":"s3://npm-registry-packages-npm-production"}},"0.3.0-next.1392.f0bd0cc":{"name":"@flighthq/textshaper-canvas","version":"0.3.0-next.1392.f0bd0cc","_id":"@flighthq/textshaper-canvas@0.3.0-next.1392.f0bd0cc","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"64cc5923bee2b26053ca745191ceeeb0a61f4420","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.3.0-next.1392.f0bd0cc.tgz","fileCount":14,"integrity":"sha512-JcRzsoeHc0DTDeoOSyxiRQ9MVzij5NNMSw/0n2xjCXAVntL9s0FD2sJyELbW0GvbyagP1mQhgWSrpSKuhFOGVQ==","signatures":[{"sig":"MEQCIAfMQDGdANwgowIr4L3WLSMc3vs5GpRYg8vK3ko3XX2yAiAr+ZICvxKosgLtTzjY8bRf5ioBMtJfc+i242PAkzkyFA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.3.0-next.1392.f0bd0cc","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24563},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"f0bd0cc78489e3892e453b30db774455c48445bb","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.3.0-next.1392.f0bd0cc","@flighthq/types":"0.3.0-next.1392.f0bd0cc","@flighthq/textshaper":"0.3.0-next.1392.f0bd0cc"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.3.0-next.1392.f0bd0cc_1785545300995_0.1127226048733585","host":"s3://npm-registry-packages-npm-production"}},"0.3.0-next.1422.b585c0c":{"name":"@flighthq/textshaper-canvas","version":"0.3.0-next.1422.b585c0c","_id":"@flighthq/textshaper-canvas@0.3.0-next.1422.b585c0c","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"66740c5fa2ab2374fd393a613e0aff96b65346b9","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.3.0-next.1422.b585c0c.tgz","fileCount":14,"integrity":"sha512-pfPWIzl73Peuu1beGaqjCIsxJ5TCekXfKXquatBmVDN89DOt7gHR1KpQEX0lcvUTz3Rg5pgWyZHTWz2xwMVdvg==","signatures":[{"sig":"MEUCIBi63J/0Kwv5uDLUIJ9+MaAJWKVXl5VC4zUwMz80AE/OAiEAqGwX13onTbUSv3uVPbikZukaNg8UzSBf5vkkw70Doyc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.3.0-next.1422.b585c0c","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24563},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"b585c0c0536415b830b48047a685280019e9b16b","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.3.0-next.1422.b585c0c","@flighthq/types":"0.3.0-next.1422.b585c0c","@flighthq/textshaper":"0.3.0-next.1422.b585c0c"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.3.0-next.1422.b585c0c_1785549619768_0.8465766464256104","host":"s3://npm-registry-packages-npm-production"}},"0.3.0-next.1435.f870241":{"name":"@flighthq/textshaper-canvas","version":"0.3.0-next.1435.f870241","_id":"@flighthq/textshaper-canvas@0.3.0-next.1435.f870241","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"25b24cfe103802d9ee1001c7ba0c95a40f4785b4","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.3.0-next.1435.f870241.tgz","fileCount":14,"integrity":"sha512-+DarlSCKqpB6ikw4NkNX6fkPNKFpIkQ+Btwafr3ZMC83Otdh5HL7qhlwsAF+/jTEyM8CYHKKzxt7mEpKPsOfNw==","signatures":[{"sig":"MEUCIE7kkSsOZN2iRjYT6crU1X1e15BmnwxGU5Yp12FS5lJPAiEAiWT57gFHBMPhHXegSGJMDUK7PcWLbU5EOJp79sr+fVQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.3.0-next.1435.f870241","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24563},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"f8702410a0f471fe70ebfaa9f5948103f256d46b","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.3.0-next.1435.f870241","@flighthq/types":"0.3.0-next.1435.f870241","@flighthq/textshaper":"0.3.0-next.1435.f870241"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.3.0-next.1435.f870241_1785553397029_0.11645866027192397","host":"s3://npm-registry-packages-npm-production"}},"0.3.0-next.1436.388ef5e":{"name":"@flighthq/textshaper-canvas","version":"0.3.0-next.1436.388ef5e","_id":"@flighthq/textshaper-canvas@0.3.0-next.1436.388ef5e","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"5f5faec3cc97961c8a67915e0658cf9434d89697","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.3.0-next.1436.388ef5e.tgz","fileCount":14,"integrity":"sha512-YrcFlYcdJgYj8IHFp1Vyn3xlbLqAuJ7zodtrbDoWko00A9KU9j7O4bNn3is/3MklFSfqcUK1Slti6dOjIUcfeg==","signatures":[{"sig":"MEQCIB2CKpzjiNdT5PPl5rRLlsC0qAuh82/91G/oGi8wYcq8AiAsRglPEFDQzWISei75cXDzBivWcniYVhgkMso1RaR5xg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.3.0-next.1436.388ef5e","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24563},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"388ef5ed36b19fdbaa9706d94b6194c9ccc99dd3","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.3.0-next.1436.388ef5e","@flighthq/types":"0.3.0-next.1436.388ef5e","@flighthq/textshaper":"0.3.0-next.1436.388ef5e"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.3.0-next.1436.388ef5e_1785553948755_0.06391223658436251","host":"s3://npm-registry-packages-npm-production"}},"0.3.0-next.1445.14ca01c":{"name":"@flighthq/textshaper-canvas","version":"0.3.0-next.1445.14ca01c","_id":"@flighthq/textshaper-canvas@0.3.0-next.1445.14ca01c","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"b8b8ee5eab576ae988ec35c6789ebb4178371f07","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.3.0-next.1445.14ca01c.tgz","fileCount":14,"integrity":"sha512-HMWAq15j3jQ0jTmYlhzEsAa4eF7OplGVUVWg8WkfHAiCZBKMJPoYFLAyTe6rC/rLnAckAa0GjCCfslZKO7z7wA==","signatures":[{"sig":"MEUCIQCTx4QnqDzla0ilHaktydr3y3RREOqs/bkE20vRdmqLcAIgYWYMido45WWDPPmpDUTw7DSDJZUvSa+uiHUfqtT0lpA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.3.0-next.1445.14ca01c","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24563},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"14ca01c129b7714914dd32019913ba94cf91ec18","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.3.0-next.1445.14ca01c","@flighthq/types":"0.3.0-next.1445.14ca01c","@flighthq/textshaper":"0.3.0-next.1445.14ca01c"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.3.0-next.1445.14ca01c_1785556620000_0.8563809998628931","host":"s3://npm-registry-packages-npm-production"}},"0.3.0-next.1452.011a16e":{"name":"@flighthq/textshaper-canvas","version":"0.3.0-next.1452.011a16e","_id":"@flighthq/textshaper-canvas@0.3.0-next.1452.011a16e","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"0e3d8e8c317f8b98e4028cb9a60a8e04efe54c55","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.3.0-next.1452.011a16e.tgz","fileCount":14,"integrity":"sha512-CpyMfSPxJPuSXN0jZvZcAZBKsYcVMAGiOPg/aosFrNVuwX+AmFs5nOqf9PB3+tY/YgHY3vSJ6bV6wtMVhQg7Tg==","signatures":[{"sig":"MEYCIQD7vH/CkWxs8+XRphrYIHl4PvhVzzERh5uebqYNTC0XHwIhANd+OtglksuxxDoGDNcHH064DDGsmB3P+31Pt2GFY5rf","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.3.0-next.1452.011a16e","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24563},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"011a16efdcc1f9440e3b7b8ff73b798dc3b05523","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.3.0-next.1452.011a16e","@flighthq/types":"0.3.0-next.1452.011a16e","@flighthq/textshaper":"0.3.0-next.1452.011a16e"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.3.0-next.1452.011a16e_1785561911530_0.16458158878909335","host":"s3://npm-registry-packages-npm-production"}},"0.3.0-next.1454.b17f8a5":{"name":"@flighthq/textshaper-canvas","version":"0.3.0-next.1454.b17f8a5","_id":"@flighthq/textshaper-canvas@0.3.0-next.1454.b17f8a5","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"100ff639b36ef25b0a6ccdc368bd2f955c4e33c6","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.3.0-next.1454.b17f8a5.tgz","fileCount":14,"integrity":"sha512-cX69pYyDVMgHdwL2Z4p5cxbPtyijsy00MuJszECM2dPzqP1DLKlAUYgzxx4wmYMHSW5Umna3CuhW9UoI+2YcQA==","signatures":[{"sig":"MEUCIQCCjJ6QHm8rVY5TLvg6qCX76ytYay/JSo+OSTJpBIx2LwIgevs1MLcjlenzPMZU4xIrO/ihTtUodxTKydvIdlDS6Lk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.3.0-next.1454.b17f8a5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24563},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"b17f8a544d25917fb598fcc88ea844f78da755ef","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.3.0-next.1454.b17f8a5","@flighthq/types":"0.3.0-next.1454.b17f8a5","@flighthq/textshaper":"0.3.0-next.1454.b17f8a5"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.3.0-next.1454.b17f8a5_1785564077140_0.4322651430379332","host":"s3://npm-registry-packages-npm-production"}},"0.3.0-next.1456.ace2107":{"name":"@flighthq/textshaper-canvas","version":"0.3.0-next.1456.ace2107","_id":"@flighthq/textshaper-canvas@0.3.0-next.1456.ace2107","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"70efb9178557300f06673ac418a193e397957efb","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.3.0-next.1456.ace2107.tgz","fileCount":14,"integrity":"sha512-GicFhdpU3n+kQ9hEks5lmFXb4HJKwmRCCb7KExn0hVDl5iFplnJ94ecZTsKzozUfIybU81g6763O3WG6BcbsbA==","signatures":[{"sig":"MEYCIQCSiHANzX0vQNZjpHGvQmSS6ATz00UcLaMjt7B26gyZfAIhAKaFEhB4IlabI/IcvCjMv2T+lBbBsEh1AxPEBcN2oypN","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.3.0-next.1456.ace2107","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24563},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"ace21074fb9930e46cad2e6f5eb69fddf1e647fc","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.3.0-next.1456.ace2107","@flighthq/types":"0.3.0-next.1456.ace2107","@flighthq/textshaper":"0.3.0-next.1456.ace2107"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.3.0-next.1456.ace2107_1785594071964_0.3235704109034365","host":"s3://npm-registry-packages-npm-production"}},"0.3.0-next.1458.0c01b63":{"name":"@flighthq/textshaper-canvas","version":"0.3.0-next.1458.0c01b63","_id":"@flighthq/textshaper-canvas@0.3.0-next.1458.0c01b63","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"d4214bb989f2fec26275f3ce4f9d385efa03f358","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.3.0-next.1458.0c01b63.tgz","fileCount":14,"integrity":"sha512-P3RNsZlGolBpwi1KB4GMwKhBryvZs18ldLbXy+G34FEZ9qeYDwBdv6IMfsn4ubKTPjTPVzOjxjIYnDh4k08sWQ==","signatures":[{"sig":"MEUCIQD+qoIEf1vWG7s9XUV/1s1YPkuwtzHq088zsIbRcwjMZgIgFKcWrR17sF+PN3WO1doAticobyln+soT56t/kHpzoxY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.3.0-next.1458.0c01b63","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24563},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"0c01b639276c03999958d3f3c0bf77927d63227d","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.3.0-next.1458.0c01b63","@flighthq/types":"0.3.0-next.1458.0c01b63","@flighthq/textshaper":"0.3.0-next.1458.0c01b63"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.3.0-next.1458.0c01b63_1785596532257_0.9781671547971926","host":"s3://npm-registry-packages-npm-production"}},"0.3.0-edge.1458.0c01b63":{"name":"@flighthq/textshaper-canvas","version":"0.3.0-edge.1458.0c01b63","_id":"@flighthq/textshaper-canvas@0.3.0-edge.1458.0c01b63","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"317ad214f316d0f8de149c2e72c28c7317fb16b5","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.3.0-edge.1458.0c01b63.tgz","fileCount":14,"integrity":"sha512-1xVx2SAdtMwTW0jicNmc7zelt2/ob+/7JlA3hAktwnnGyNuOEhbexIqZ8IUiCGSsNeU0n43zMVjRjK+rFgm6BQ==","signatures":[{"sig":"MEYCIQDV7N4UVznh3ASoRQjBmUAAgimXvxWmrxMaSWXoOS5N4QIhAKlr4YW8claZbdWT/oimNgcnifnaK/DVJb1G0EC55OYD","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.3.0-edge.1458.0c01b63","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24563},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"0c01b639276c03999958d3f3c0bf77927d63227d","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.3.0-edge.1458.0c01b63","@flighthq/types":"0.3.0-edge.1458.0c01b63","@flighthq/textshaper":"0.3.0-edge.1458.0c01b63"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.3.0-edge.1458.0c01b63_1785597750677_0.642400098301696","host":"s3://npm-registry-packages-npm-production"}},"0.3.0-next.1460.2c18805":{"name":"@flighthq/textshaper-canvas","version":"0.3.0-next.1460.2c18805","_id":"@flighthq/textshaper-canvas@0.3.0-next.1460.2c18805","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"46ca5af57c7a38874764c666cb9d16bdb872bf21","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.3.0-next.1460.2c18805.tgz","fileCount":14,"integrity":"sha512-+WvOrspJOpGjsa0K48UdcyFgOOjcBsz6Lxkag14qhGKVWnEOQhnEWUONrwU/RiP+/bQUp4ffr2Q7wGWILxfX/w==","signatures":[{"sig":"MEUCIAOsluFLWmgqoJs4NeLSjaXolkncKg5Io8MmA9Sl3MguAiEAs6rLRk1mMbHPFwbYia6OfyHzP0tfNxkI5PLqBaeRf5Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.3.0-next.1460.2c18805","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24563},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"2c18805ecaf9fa94a085a324659ef3fb4f75ab0e","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.3.0-next.1460.2c18805","@flighthq/types":"0.3.0-next.1460.2c18805","@flighthq/textshaper":"0.3.0-next.1460.2c18805"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.3.0-next.1460.2c18805_1785600457213_0.11805443145427419","host":"s3://npm-registry-packages-npm-production"}},"0.3.0-next.1463.b454aa8":{"name":"@flighthq/textshaper-canvas","version":"0.3.0-next.1463.b454aa8","_id":"@flighthq/textshaper-canvas@0.3.0-next.1463.b454aa8","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"a4afe4a1e76390ca31a3057e1ce9d70c65600b73","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.3.0-next.1463.b454aa8.tgz","fileCount":14,"integrity":"sha512-/q/mAqSxY2oxfXBa88NxjaBF3UQKcu6s83mpsD5uN38vmTZG1pB+GdxftXX4Unpep7w5wZAqusk9X5kdwQjk6g==","signatures":[{"sig":"MEUCIQDrYHQ0EFxhFnP8ov3MQvN93ORkPeCqNc6TBDanYSh8CwIgeNn0zNMb243XyuYeI6N4HZB0WY6udz8N7NlvUn2I9BU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.3.0-next.1463.b454aa8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24563},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"b454aa8ba371a6f69f26d01dfcdea2908b24081d","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.3.0-next.1463.b454aa8","@flighthq/types":"0.3.0-next.1463.b454aa8","@flighthq/textshaper":"0.3.0-next.1463.b454aa8"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.3.0-next.1463.b454aa8_1785628892322_0.9119950696290993","host":"s3://npm-registry-packages-npm-production"}},"0.3.0-next.1466.e0866d4":{"name":"@flighthq/textshaper-canvas","version":"0.3.0-next.1466.e0866d4","_id":"@flighthq/textshaper-canvas@0.3.0-next.1466.e0866d4","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"53a724f1ef69fe9a140434c0cc0abc80d21f180e","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.3.0-next.1466.e0866d4.tgz","fileCount":14,"integrity":"sha512-AY1zbu3gamrfzeP0QD60m3jRb8SR7aQ/UGt71c7+xMctBxc5Fh1X1oW1S5TzBF5DJ5JU587wddye28ggQTf14g==","signatures":[{"sig":"MEYCIQDAiVVsbEq+SBfFB3qG+27RY9kOFhw+ZA0WtBfJNxV8AwIhAPv6GKKXP3xGua3G9KFWzImg+WH7AVjnlXkw/cfTizmm","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.3.0-next.1466.e0866d4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24563},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"e0866d473f3d07c05f92e0c2c7539dd44f899001","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.3.0-next.1466.e0866d4","@flighthq/types":"0.3.0-next.1466.e0866d4","@flighthq/textshaper":"0.3.0-next.1466.e0866d4"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.3.0-next.1466.e0866d4_1785634673543_0.5606036063887554","host":"s3://npm-registry-packages-npm-production"}},"0.3.0-next.1473.098a860":{"name":"@flighthq/textshaper-canvas","version":"0.3.0-next.1473.098a860","_id":"@flighthq/textshaper-canvas@0.3.0-next.1473.098a860","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"6b67ee74542d0bedcfc59d1874fbd0bd54bb35bc","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.3.0-next.1473.098a860.tgz","fileCount":14,"integrity":"sha512-IEjG7EI6WRItH2Q6UOA8F6yUlfjaB+pKhAFYMyn8POpa2vFsQzPiv+VlRUNnuLGFVuCfbgDDys0rCq7JiTFs7Q==","signatures":[{"sig":"MEUCIHI8NiBSt3Dg+Ea9qZIz+HhIStrKrQw3LZZPWhhGBoV/AiEAxeRBvZc5J1bjCWtSN7Qfo8w+df7dPjau4orurigrSFg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.3.0-next.1473.098a860","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24563},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"098a860274de439d31b77faa19b2521361fd38ea","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.3.0-next.1473.098a860","@flighthq/types":"0.3.0-next.1473.098a860","@flighthq/textshaper":"0.3.0-next.1473.098a860"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.3.0-next.1473.098a860_1785644952179_0.28259569720143296","host":"s3://npm-registry-packages-npm-production"}},"0.3.0-next.1494.7333e82":{"name":"@flighthq/textshaper-canvas","version":"0.3.0-next.1494.7333e82","_id":"@flighthq/textshaper-canvas@0.3.0-next.1494.7333e82","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"2bc1227e48117644ca150102af6126426ba24a28","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.3.0-next.1494.7333e82.tgz","fileCount":14,"integrity":"sha512-F+hDD4ntdSGxzAL2yXOfd8yxsSIL/3ZfpQMQ0xdsgzxAmH44/KKMTJNDXT0xybrGFsSEpmZ70Q7wg4I9NVGiBQ==","signatures":[{"sig":"MEUCIQCV7Rk6mSLTdyMt7DmiEiTbmq/o1Dh3JBQrvIdBhxvHYAIgeZBhoS6mkVJ7VoJxAfteIhrqZXLslVnEdrzHRbcY7+M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.3.0-next.1494.7333e82","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24563},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"7333e825d9df46d737c5a6557acbed4805e19e57","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.3.0-next.1494.7333e82","@flighthq/types":"0.3.0-next.1494.7333e82","@flighthq/textshaper":"0.3.0-next.1494.7333e82"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.3.0-next.1494.7333e82_1785649182865_0.1627028371294983","host":"s3://npm-registry-packages-npm-production"}},"0.3.0-next.1498.065f223":{"name":"@flighthq/textshaper-canvas","version":"0.3.0-next.1498.065f223","_id":"@flighthq/textshaper-canvas@0.3.0-next.1498.065f223","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"76e00ea806b86f4b8e5ae8ba4f8c0ed9ee52483a","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.3.0-next.1498.065f223.tgz","fileCount":14,"integrity":"sha512-9n2NTBpwtUk43mD2JsqzqDajuvieU2GKcqEkg6qmyJIuUZPlvPMlN5qFi4j2eLcy+EV5iCGnTn6Ce3mgW7V35Q==","signatures":[{"sig":"MEYCIQDrXnFODHUCNpzqjoQ86taBY7a4sgg61mjEgyBqwRhxUgIhAMCxtox8a01PfvV/3JGpqr7GtbArdBJtsIPZKLfbemnL","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.3.0-next.1498.065f223","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24563},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"065f22315021c082f1ee9c5940572179a444e447","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.3.0-next.1498.065f223","@flighthq/types":"0.3.0-next.1498.065f223","@flighthq/textshaper":"0.3.0-next.1498.065f223"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.3.0-next.1498.065f223_1785653686957_0.34789303644278835","host":"s3://npm-registry-packages-npm-production"}},"0.3.0-next.1511.9977321":{"name":"@flighthq/textshaper-canvas","version":"0.3.0-next.1511.9977321","_id":"@flighthq/textshaper-canvas@0.3.0-next.1511.9977321","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"d922e6c7f3c8bebeb0b18da5e9ba089b49945277","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.3.0-next.1511.9977321.tgz","fileCount":14,"integrity":"sha512-a4UllA0lrkw2O6qwe9Yfb8Sy6gGjvcyKaaBPSvW3wbrLVBIJXMkS1MrQofw9xQpV9ZMd68F6tN7mvVcIc4Lo4A==","signatures":[{"sig":"MEUCIAvsL/MyTf5Z2jwJ19naT4WToyzv+TlzdQXg0nDVRsnlAiEAzebZsqSuTY784c2nc3ABpLxbEebGlSVoDKb3mfySMws=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.3.0-next.1511.9977321","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24563},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"9977321a8a2b33948342490df7d752c741aea70f","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.3.0-next.1511.9977321","@flighthq/types":"0.3.0-next.1511.9977321","@flighthq/textshaper":"0.3.0-next.1511.9977321"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.3.0-next.1511.9977321_1785687994852_0.8821145991360215","host":"s3://npm-registry-packages-npm-production"}},"0.3.0-next.1512.edc0fee":{"name":"@flighthq/textshaper-canvas","version":"0.3.0-next.1512.edc0fee","_id":"@flighthq/textshaper-canvas@0.3.0-next.1512.edc0fee","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"5e46d0cc9e257a6fe728f42fd1c29530c0d1d755","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.3.0-next.1512.edc0fee.tgz","fileCount":14,"integrity":"sha512-bkqvfaHgL3QbDCCfV5NdD4Cpv+rQTm+pfriSf5BLifp6V4JVVqRI82hW9V0pZsA54XxG6DQ4j+Djw1zGubhQWQ==","signatures":[{"sig":"MEUCIAp8TBz4+IO+sGpnP+7wDk/QqLiegVVbpdoM2xzk3AgqAiEA/m+fg9DcSDYCZW/GyXuOEqN5ktkFycxnN9kXygqjeCI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.3.0-next.1512.edc0fee","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24563},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"edc0feec3b5cd41669f5274816bc61663f33b598","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.3.0-next.1512.edc0fee","@flighthq/types":"0.3.0-next.1512.edc0fee","@flighthq/textshaper":"0.3.0-next.1512.edc0fee"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.3.0-next.1512.edc0fee_1785689333583_0.7344445198244647","host":"s3://npm-registry-packages-npm-production"}},"0.3.0-next.1514.a24d43f":{"name":"@flighthq/textshaper-canvas","version":"0.3.0-next.1514.a24d43f","_id":"@flighthq/textshaper-canvas@0.3.0-next.1514.a24d43f","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"9d24d98672fadb0d5bcd9a7dc4818c06bb5fc57e","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.3.0-next.1514.a24d43f.tgz","fileCount":14,"integrity":"sha512-0WdNiqii5LDdQxAmE0KLplAn09OHXaPO2zI6jY0YO77T/6zY1Y0ft/QmVuw+UpuBrab49zJfeZCvTjbuKB7G/g==","signatures":[{"sig":"MEUCIQCJCYFc2Ljhy/JdHdM7Hlc6sRUVkZNmyWB24gJFXHDqUQIgG+xM4cS9CpkmOQ1XexMr7PCOxp/VZpjGXqsEDF/2yCA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.3.0-next.1514.a24d43f","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24563},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"a24d43f2682495cc61a508e4a6c62e0e997917eb","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.3.0-next.1514.a24d43f","@flighthq/types":"0.3.0-next.1514.a24d43f","@flighthq/textshaper":"0.3.0-next.1514.a24d43f"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.3.0-next.1514.a24d43f_1785690103393_0.4369153234047354","host":"s3://npm-registry-packages-npm-production"}},"0.3.0-next.1515.d4dc88e":{"name":"@flighthq/textshaper-canvas","version":"0.3.0-next.1515.d4dc88e","_id":"@flighthq/textshaper-canvas@0.3.0-next.1515.d4dc88e","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"87262b10468acf61b303fb1eb1770ada914f1e01","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.3.0-next.1515.d4dc88e.tgz","fileCount":14,"integrity":"sha512-/4QLkiEpC5i68kZesHm8NSAG0QS9lbJt9DhwButE9qHdk4A0swH53QTKlPeSTbGIx1cK+UsVvUBvZknWYfzpuQ==","signatures":[{"sig":"MEYCIQDLE/Ffwwpwdw+l0eymDtJGQEtDPOByuQzlY66m0frqcQIhAM3gJmqFy2PATFIkYg1xyPbrMM05fduss7qbJL1zVNm5","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.3.0-next.1515.d4dc88e","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24563},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"d4dc88e6a3844b53342a693f7d64b5e4a6ab6f72","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.3.0-next.1515.d4dc88e","@flighthq/types":"0.3.0-next.1515.d4dc88e","@flighthq/textshaper":"0.3.0-next.1515.d4dc88e"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.3.0-next.1515.d4dc88e_1785690287705_0.1581129788285931","host":"s3://npm-registry-packages-npm-production"}},"0.3.0-next.1516.1b4fb2b":{"name":"@flighthq/textshaper-canvas","version":"0.3.0-next.1516.1b4fb2b","_id":"@flighthq/textshaper-canvas@0.3.0-next.1516.1b4fb2b","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"31b5a4b8a2768b89887be52ec4b58da63d5923d2","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.3.0-next.1516.1b4fb2b.tgz","fileCount":14,"integrity":"sha512-MA4//BAqgs8DzQZ3XgbhxXFX5/ZqSa6l1MTzVi1VVbuvZdrT/RSXiai0CYzn/NzOlDQ3cAi4WEPsG//RXjltig==","signatures":[{"sig":"MEYCIQDaOuDvcgKfJFcK6BFIkOkyMcf1J8sQma8+A6vsddd7ugIhAMUoRu0DCJVP4OFmxWne3nnqmJTiurtGE5J2sE1uQF+6","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.3.0-next.1516.1b4fb2b","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24563},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"1b4fb2bdffc6d3f23e9bfc8bca0211d211284c65","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.3.0-next.1516.1b4fb2b","@flighthq/types":"0.3.0-next.1516.1b4fb2b","@flighthq/textshaper":"0.3.0-next.1516.1b4fb2b"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.3.0-next.1516.1b4fb2b_1785692197738_0.7966438760416672","host":"s3://npm-registry-packages-npm-production"}},"0.3.0-edge.1516.1b4fb2b":{"name":"@flighthq/textshaper-canvas","version":"0.3.0-edge.1516.1b4fb2b","_id":"@flighthq/textshaper-canvas@0.3.0-edge.1516.1b4fb2b","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"065895d2ae30906fec0052b7892c9e93b0df69e4","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.3.0-edge.1516.1b4fb2b.tgz","fileCount":14,"integrity":"sha512-QJIZMUN4UHNECtn1uBdWouyGifujeAjxVINcMm5NQ+UJEZUzmV+YFpyrHCq9+AM//fjcXbSGXENpPxJE6n/4iQ==","signatures":[{"sig":"MEUCIQDc4bt/fE/zakDEw6i0JzHEGXf3Ta1WhsM/oPba/W0tggIgBonGaWkH9k1fVcytzbZY3bCVKLL6FsZxlVTmgvcix8c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.3.0-edge.1516.1b4fb2b","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24563},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"1b4fb2bdffc6d3f23e9bfc8bca0211d211284c65","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.3.0-edge.1516.1b4fb2b","@flighthq/types":"0.3.0-edge.1516.1b4fb2b","@flighthq/textshaper":"0.3.0-edge.1516.1b4fb2b"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.3.0-edge.1516.1b4fb2b_1785693533331_0.959095617638567","host":"s3://npm-registry-packages-npm-production"}},"0.3.0-next.1529.90e58ad":{"name":"@flighthq/textshaper-canvas","version":"0.3.0-next.1529.90e58ad","_id":"@flighthq/textshaper-canvas@0.3.0-next.1529.90e58ad","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"c9687adc3a209cb6768d91f0db6c1dc0e37277e4","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.3.0-next.1529.90e58ad.tgz","fileCount":14,"integrity":"sha512-CeZAtsW6NUF0vC6eXC5TDSjxVcQUwPFQgTo41FkwzWvQQ23bzT5hrD3Il2zzvxSTq52Usd05lUtd5SnRNnQ0zg==","signatures":[{"sig":"MEYCIQCq2hi4aVD3CB1oHX2LzRO15NlBL8Y7yvRTYay4Dhr+ZAIhAPUF10kBmpvbGeawWlscj7sNz3lMThQwt0kYbJX2yv29","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.3.0-next.1529.90e58ad","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24563},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"90e58adf01930ef7c7fcdc6eb5a687e120ecb8d3","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.3.0-next.1529.90e58ad","@flighthq/types":"0.3.0-next.1529.90e58ad","@flighthq/textshaper":"0.3.0-next.1529.90e58ad"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.3.0-next.1529.90e58ad_1785694933014_0.31768602244868216","host":"s3://npm-registry-packages-npm-production"}},"0.3.0-next.1530.70058bd":{"name":"@flighthq/textshaper-canvas","version":"0.3.0-next.1530.70058bd","_id":"@flighthq/textshaper-canvas@0.3.0-next.1530.70058bd","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"df4e1aaf9c7717a670f40e183d45af57505ad96b","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.3.0-next.1530.70058bd.tgz","fileCount":14,"integrity":"sha512-t77Qlyp/3Ex1IG/WFhIbl6Zq0yE2T85cizHCnW7uJvKJX+2MCTf7bi/mMCHbtRzX3yUMNWFdoppeCu2rh3C8sQ==","signatures":[{"sig":"MEYCIQDqaJ1Zrrx4O8soOfoqhE1kkcn/jrAW6e7Osn/zGRmX5AIhAOgdDafJsrtjCRU/XsZyth2zh1rCTjZPt6pSY71j7avH","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.3.0-next.1530.70058bd","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24563},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"70058bdba1117a9909641d6e76f0bd88a307a090","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.3.0-next.1530.70058bd","@flighthq/types":"0.3.0-next.1530.70058bd","@flighthq/textshaper":"0.3.0-next.1530.70058bd"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.3.0-next.1530.70058bd_1785696717358_0.6110997331647483","host":"s3://npm-registry-packages-npm-production"}},"0.3.0-next.1543.f490ae8":{"name":"@flighthq/textshaper-canvas","version":"0.3.0-next.1543.f490ae8","_id":"@flighthq/textshaper-canvas@0.3.0-next.1543.f490ae8","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"45b52650417d602c8496b560a32bfcc4d55e6504","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.3.0-next.1543.f490ae8.tgz","fileCount":14,"integrity":"sha512-iicNGYHrD/QSdFuWPvAXEPZytzL1VP+cy9Sefp76CMH6AgmIDrgh30Oj8FCJ3U+C/XNplChpupcXN40MG0DhCw==","signatures":[{"sig":"MEUCIQDpfzRiMmaHcJqv7g4Db/CVFbhRhq8fRbgty3kceQEI4QIgbAI2u9BpbriH6HRHsl6iEnjFbTl3KgVS+dbJCKLgEBc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.3.0-next.1543.f490ae8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24563},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"f490ae89ca1ff55aec63b1275cf5932dca9736c6","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.3.0-next.1543.f490ae8","@flighthq/types":"0.3.0-next.1543.f490ae8","@flighthq/textshaper":"0.3.0-next.1543.f490ae8"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.3.0-next.1543.f490ae8_1785701606703_0.44829616763942837","host":"s3://npm-registry-packages-npm-production"}},"0.3.0-next.1560.03a2b36":{"name":"@flighthq/textshaper-canvas","version":"0.3.0-next.1560.03a2b36","_id":"@flighthq/textshaper-canvas@0.3.0-next.1560.03a2b36","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"8069da9602d7760b435da4dd1380117f9ebf7c8d","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.3.0-next.1560.03a2b36.tgz","fileCount":14,"integrity":"sha512-/YzbDv2z1MfwM+NuH0thz2mAw2xFazHSZAID2zQFLQxLFnkb+eoJUaQHGUc9bYaDA1cpWR16NIxblt3lWdr7mw==","signatures":[{"sig":"MEUCIQC43co+IrJZ5xPvA+zjmZJ1c4Yte6mQdfhkpxfJzPHZQQIgODnRZ2I5PKYaFccxWBmcss9Byc+LPnGI85Mqeoo+5co=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.3.0-next.1560.03a2b36","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24563},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"03a2b36a489512230a9c11c37e9759f6544e8393","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.3.0-next.1560.03a2b36","@flighthq/types":"0.3.0-next.1560.03a2b36","@flighthq/textshaper":"0.3.0-next.1560.03a2b36"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.3.0-next.1560.03a2b36_1785702497198_0.39432532433540324","host":"s3://npm-registry-packages-npm-production"}},"0.3.0-next.1562.75af469":{"name":"@flighthq/textshaper-canvas","version":"0.3.0-next.1562.75af469","_id":"@flighthq/textshaper-canvas@0.3.0-next.1562.75af469","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"4c400088d3d144317f8cc281936488936736851c","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.3.0-next.1562.75af469.tgz","fileCount":14,"integrity":"sha512-FiY9xgpFAkv9/TNuV9GefrnIyhyZQ/O05CUrN8olBkKMTFKaTmxHO2yGZb7blpSwZ5M0pC73DVCjeWxqpaJmSQ==","signatures":[{"sig":"MEQCIDi+LDAtBqQoBnlRhfSCwqrffr7EWATARURGJ1eYE6bnAiAFpWNET/Ngpx5CfWBWCG+6GNeCpaVWUxsevFeaY7gWTg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.3.0-next.1562.75af469","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24563},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"75af469acfe0685193e57cc5f2a1e572dd3b9154","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.3.0-next.1562.75af469","@flighthq/types":"0.3.0-next.1562.75af469","@flighthq/textshaper":"0.3.0-next.1562.75af469"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.3.0-next.1562.75af469_1785703267547_0.22083076584201788","host":"s3://npm-registry-packages-npm-production"}},"0.3.0-next.1566.dcdf1d3":{"name":"@flighthq/textshaper-canvas","version":"0.3.0-next.1566.dcdf1d3","_id":"@flighthq/textshaper-canvas@0.3.0-next.1566.dcdf1d3","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"930841bfb87a71801685829d3291c78a06370768","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.3.0-next.1566.dcdf1d3.tgz","fileCount":14,"integrity":"sha512-4yqN78K3Nk4W0ct+nm9Tl8LxxSn14PSRFxP7Z8DcCGB6/SXjLPCpUVGy2BGYPRBX7bNi+IHQ7zxv6RfLH4Ys6Q==","signatures":[{"sig":"MEUCIAQQmXI0tibxilJ8Kv039vbLmA0hBz4K/15+NptvuaxWAiEAxG452UdlFRU/cuxSM3KwhnlEXyjC6Rg/WaaDhg+4MaE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.3.0-next.1566.dcdf1d3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24563},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"dcdf1d380b7450003377fb12aa1ceeaeedf1de6b","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.3.0-next.1566.dcdf1d3","@flighthq/types":"0.3.0-next.1566.dcdf1d3","@flighthq/textshaper":"0.3.0-next.1566.dcdf1d3"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.3.0-next.1566.dcdf1d3_1785704037346_0.6586432044380488","host":"s3://npm-registry-packages-npm-production"}},"0.3.0-next.1584.a68fe91":{"name":"@flighthq/textshaper-canvas","version":"0.3.0-next.1584.a68fe91","_id":"@flighthq/textshaper-canvas@0.3.0-next.1584.a68fe91","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"2ae49647410a24768394bd4cc5445252c855f670","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.3.0-next.1584.a68fe91.tgz","fileCount":14,"integrity":"sha512-eRe78hkg+mYNt8P6ha5pi6X8UP2HKUXTBNR+ZZZnhszLiObmV3PTliCjRKnfjPNZa8Pi793n4tCU4204tEKgTA==","signatures":[{"sig":"MEQCICQZbLZX9eURDWRYfyKlu5OpTXt5L6D9lPOG0m6cCpO2AiBFsJaXzcnpjbB4gzeMkWzGln5WOh5lreC9Qi163ZltWw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.3.0-next.1584.a68fe91","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24563},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"a68fe9137057f2a95b99ac069dda971f014de061","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.3.0-next.1584.a68fe91","@flighthq/types":"0.3.0-next.1584.a68fe91","@flighthq/textshaper":"0.3.0-next.1584.a68fe91"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.3.0-next.1584.a68fe91_1785707781014_0.18746347068411984","host":"s3://npm-registry-packages-npm-production"}},"0.3.0-next.1585.17d10c4":{"name":"@flighthq/textshaper-canvas","version":"0.3.0-next.1585.17d10c4","_id":"@flighthq/textshaper-canvas@0.3.0-next.1585.17d10c4","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"672fc758fc3344b01e52994536504e3d7e0d6a44","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.3.0-next.1585.17d10c4.tgz","fileCount":14,"integrity":"sha512-K3yn4AhGw8KNJBF/2X3XMh+v2jkdjjl7D7adsoTONve/T6oR4kebiwlXqOdY38Xz5+76P3w+2Bwowjmjeb4uTQ==","signatures":[{"sig":"MEQCIHzlFuhRKPECIbPDnjF3ruSS82G6QlR8iek7ioDtDZK/AiAYCK2QXMJSQo8BxxcUoMmmuOPBvRNKS3/inaJ+POT6cw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.3.0-next.1585.17d10c4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24563},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"17d10c463542e9b4d591a307110b94f769643097","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.3.0-next.1585.17d10c4","@flighthq/types":"0.3.0-next.1585.17d10c4","@flighthq/textshaper":"0.3.0-next.1585.17d10c4"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.3.0-next.1585.17d10c4_1785709735140_0.8835840591329676","host":"s3://npm-registry-packages-npm-production"}},"0.3.0-next.1593.a47f94a":{"name":"@flighthq/textshaper-canvas","version":"0.3.0-next.1593.a47f94a","_id":"@flighthq/textshaper-canvas@0.3.0-next.1593.a47f94a","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"b5d697fa1cf097f465d364ec89fcdd274ddb1181","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.3.0-next.1593.a47f94a.tgz","fileCount":14,"integrity":"sha512-HAqkV6C4OjJ6xAlBQ271MPl2flqRwzsoMKWzo0otB6Ct985nouw61T8kvuLs3psT7eYisHZni+7ie5yQhceboA==","signatures":[{"sig":"MEUCIQC9pxpOkPWRZy7nk+XaceRZqTiwKXZIX1UxrXORJYM04QIgN3aa7V4JQgU7zK8bB8BoE2i3Kp8pjwsqBY0fukDAOJk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.3.0-next.1593.a47f94a","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24563},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"a47f94a9e2113c26d8873e31b600d1fece03e41a","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.3.0-next.1593.a47f94a","@flighthq/types":"0.3.0-next.1593.a47f94a","@flighthq/textshaper":"0.3.0-next.1593.a47f94a"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.3.0-next.1593.a47f94a_1785710072209_0.24290950654615906","host":"s3://npm-registry-packages-npm-production"}},"0.3.0-next.1595.4d49b41":{"name":"@flighthq/textshaper-canvas","version":"0.3.0-next.1595.4d49b41","_id":"@flighthq/textshaper-canvas@0.3.0-next.1595.4d49b41","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"de2aa30335be8586f5985a071557dc3997d6cbb9","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.3.0-next.1595.4d49b41.tgz","fileCount":14,"integrity":"sha512-YNT+7QYDuulXfhIpgyhrfUekPGrH4qa83Ol7TBdQLIFw/z0kBej3Yyh/jQnLTKiOl6V39BS28DutOBPA+CISsA==","signatures":[{"sig":"MEUCIAIFTWWzK7nFvL+qtE5YIZ8bDhl8OLmkEmMAw4reCzSmAiEA3smkxoVpNFxEKm/NN7WhQRCR5DP+3reMPvG5OdYW+Go=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.3.0-next.1595.4d49b41","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24563},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"4d49b4121dc50784983e62641000a5c86f75889f","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.3.0-next.1595.4d49b41","@flighthq/types":"0.3.0-next.1595.4d49b41","@flighthq/textshaper":"0.3.0-next.1595.4d49b41"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.3.0-next.1595.4d49b41_1785710635495_0.37135383181521187","host":"s3://npm-registry-packages-npm-production"}},"0.3.0-next.1601.12b771e":{"name":"@flighthq/textshaper-canvas","version":"0.3.0-next.1601.12b771e","_id":"@flighthq/textshaper-canvas@0.3.0-next.1601.12b771e","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"b9bbb89a31c7618898e07bb65512b1d56b49383c","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.3.0-next.1601.12b771e.tgz","fileCount":14,"integrity":"sha512-jrLPVSBQqSlKifqe5Pt9CTM5yF1B417SrR8Cn5aHKVWZpjhjbEhDkBM/RlYOTiNdeMAw06ViHVN9iZEos6OnaA==","signatures":[{"sig":"MEYCIQC/qB71sGD7POA5FuyNYlT7KzboVA+fTh7I0mOVuo+VmwIhANLIg1RTewaZC6DcCDximM2G+v3DjgrA6zfMAhKqsUWO","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.3.0-next.1601.12b771e","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24563},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"12b771e93c8c0cbaef5618df4216aef7600807dc","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.3.0-next.1601.12b771e","@flighthq/types":"0.3.0-next.1601.12b771e","@flighthq/textshaper":"0.3.0-next.1601.12b771e"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.3.0-next.1601.12b771e_1785713164153_0.2574197616274896","host":"s3://npm-registry-packages-npm-production"}},"0.3.0-next.1665.6235922":{"name":"@flighthq/textshaper-canvas","version":"0.3.0-next.1665.6235922","_id":"@flighthq/textshaper-canvas@0.3.0-next.1665.6235922","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"a9f3101d481b532577b8184db574b37664873ffe","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.3.0-next.1665.6235922.tgz","fileCount":14,"integrity":"sha512-lMAFny1qZOgUcubUIF64YcXNiEGxUp4PZxg1RnG28mea/2GEg6FDhENPuK3Nx0IaKrgItGD5CRDmG8DSn4NR+A==","signatures":[{"sig":"MEUCIEOcWkFIlUDZJ3USUkJFSPdWVqCVjogZZt2dizCI2///AiEA0tbOIh9OsEN3CH/71ah1B4VWt1E5Q4lHQRH8up5TFOQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.3.0-next.1665.6235922","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24563},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"62359229b292265b7e752a22f24960d14eee9299","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.3.0-next.1665.6235922","@flighthq/types":"0.3.0-next.1665.6235922","@flighthq/textshaper":"0.3.0-next.1665.6235922"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.3.0-next.1665.6235922_1785728870970_0.0641814974994186","host":"s3://npm-registry-packages-npm-production"}},"0.3.0-next.1669.5808974":{"name":"@flighthq/textshaper-canvas","version":"0.3.0-next.1669.5808974","_id":"@flighthq/textshaper-canvas@0.3.0-next.1669.5808974","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"e8ee8e8086597fc2e1145f5ed6a9eeac70c2caf2","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.3.0-next.1669.5808974.tgz","fileCount":14,"integrity":"sha512-/J++2CW03caXE4gxqfF9++IkhkhHw41MKq7amo/iPY4V08U9mkLL8mTo+26R/EoCULTVHY6Z7BJNwXGchlJcdg==","signatures":[{"sig":"MEUCIH9eGaDddudAXEecECpavbQDckBODAV3Ioql6BRwIRLsAiEAp/JCVAkZLz1aLvJkHTLY8ffvsQqTyn2VVpN12j6ddw8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.3.0-next.1669.5808974","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24563},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"580897420aded2f3b296e3ef98439dc6eddc2b35","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.3.0-next.1669.5808974","@flighthq/types":"0.3.0-next.1669.5808974","@flighthq/textshaper":"0.3.0-next.1669.5808974"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.3.0-next.1669.5808974_1785731132167_0.3908333165387057","host":"s3://npm-registry-packages-npm-production"}},"0.3.0-next.1689.2810c05":{"name":"@flighthq/textshaper-canvas","version":"0.3.0-next.1689.2810c05","_id":"@flighthq/textshaper-canvas@0.3.0-next.1689.2810c05","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"439dfd358af3a51adae5fd51526b1ad9690b31db","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.3.0-next.1689.2810c05.tgz","fileCount":14,"integrity":"sha512-h6KwNu9N16pPwiaJN84jtBWiBthcSIUZouSdf0m0jqNODLeJPRP3ADqQDD2ujN9bNpObsAVBe/IhQBaFwxS1fg==","signatures":[{"sig":"MEQCIAFGsxfo/F11H9hwBU23jDjp4G8KtoVCDhbLaSqN00pCAiB1iomDqXIMAUdtwQYx9z6X9RiY2VMv+zvOfgMSuPu5+Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.3.0-next.1689.2810c05","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24563},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"2810c055e3f7afdd6b6f202ae90ae8c2f8bb6230","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.3.0-next.1689.2810c05","@flighthq/types":"0.3.0-next.1689.2810c05","@flighthq/textshaper":"0.3.0-next.1689.2810c05"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.3.0-next.1689.2810c05_1785736648521_0.21374407473899026","host":"s3://npm-registry-packages-npm-production"}},"0.3.0-next.1692.f1a7a9a":{"name":"@flighthq/textshaper-canvas","version":"0.3.0-next.1692.f1a7a9a","_id":"@flighthq/textshaper-canvas@0.3.0-next.1692.f1a7a9a","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"902132ab32e590b8ec2c673fa85aa4f675defc3a","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.3.0-next.1692.f1a7a9a.tgz","fileCount":14,"integrity":"sha512-qjwneU4ich/Q7sTw4Skvjipz5TTAqJV3EXqsJ0VdWw5YNKzcpAVwOKYNY67aA/5qv9KhLB+K+fSuYa/7wmn/DQ==","signatures":[{"sig":"MEYCIQD6WaTRXTT0fiUU1tJNULwFJjm5zdABTor/MJsU1K2zqgIhAJl+Y+gp8T3qcrzeA0iV2Dau7OtP3EbKfz7cVS+kdkkq","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.3.0-next.1692.f1a7a9a","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24563},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"f1a7a9a02f244a18b0e60c136ca1a801ab90f5a3","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.3.0-next.1692.f1a7a9a","@flighthq/types":"0.3.0-next.1692.f1a7a9a","@flighthq/textshaper":"0.3.0-next.1692.f1a7a9a"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.3.0-next.1692.f1a7a9a_1785738739738_0.32887055961455336","host":"s3://npm-registry-packages-npm-production"}},"0.3.0-next.1702.8973fda":{"name":"@flighthq/textshaper-canvas","version":"0.3.0-next.1702.8973fda","_id":"@flighthq/textshaper-canvas@0.3.0-next.1702.8973fda","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"1700dc355417f9e2a32cb7848d84a929566865bc","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.3.0-next.1702.8973fda.tgz","fileCount":14,"integrity":"sha512-5wPb+JUppJOV+2WcwDqbyiS7Rq+kfwMPT2K8ni0WPmmE1YD14Woyqg5P5iEEfRnHOvk8tgi+s2jGSJgPUIv7ow==","signatures":[{"sig":"MEUCIQCq+RW3ijicHSgs7AeGSZOyBUwVqILDuMxuUJveoRd86AIgeQzXN4ReTNfNC4YTKgqUxwzFGo2FVmqLXbFBJQKMl+k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.3.0-next.1702.8973fda","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24563},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"8973fda06f5ca9231f90894481f4f010bf0fd1e8","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.3.0-next.1702.8973fda","@flighthq/types":"0.3.0-next.1702.8973fda","@flighthq/textshaper":"0.3.0-next.1702.8973fda"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.3.0-next.1702.8973fda_1785739154924_0.597412015016856","host":"s3://npm-registry-packages-npm-production"}},"0.3.0-next.1704.8557784":{"name":"@flighthq/textshaper-canvas","version":"0.3.0-next.1704.8557784","_id":"@flighthq/textshaper-canvas@0.3.0-next.1704.8557784","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"2c43517dcd72c5780c2f1cfbbaeda9ba81334dd9","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.3.0-next.1704.8557784.tgz","fileCount":14,"integrity":"sha512-9ecNsU70jIBRihggWWaSigZGfKOgZQ7j3dgqw4HtjVDaMmpfFaF/cfCY85IPD9tJ/83uwjRw7VLT1X2YDBWIVg==","signatures":[{"sig":"MEUCIQDO5qUz8LL03rp+O+cihevBcss4rlzCQUHJzCbd3TCpgAIgKce2rJb0aiKzRhBierhecUEBWFf0ze+mYPoh2mQOMYI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.3.0-next.1704.8557784","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24563},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"85577843ea03c36dd8a14cd4e70c9c05ecb424bd","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.3.0-next.1704.8557784","@flighthq/types":"0.3.0-next.1704.8557784","@flighthq/textshaper":"0.3.0-next.1704.8557784"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.3.0-next.1704.8557784_1785739811859_0.12495944326400421","host":"s3://npm-registry-packages-npm-production"}},"0.3.0-next.1714.3bd86f1":{"name":"@flighthq/textshaper-canvas","version":"0.3.0-next.1714.3bd86f1","_id":"@flighthq/textshaper-canvas@0.3.0-next.1714.3bd86f1","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"95bff94190ea78eb9f8b2aed44fc7077c35fc006","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.3.0-next.1714.3bd86f1.tgz","fileCount":14,"integrity":"sha512-AxXOXF+THWx+8rrAoSCsv/qU3ai31MovtViwRP/kX1+UK0iw3Pbd4hLm3t3vTTmO+jxCre29LB7QgRxP5P+T6A==","signatures":[{"sig":"MEYCIQC7R+j+sEOhIAMinz+iSlwkAXwwmp0KBlRTyIXa0wkPIQIhAKW7DHwZ6eQblAWVIGhdR8GBZrP8Yj6UH0YZLjw7d4Ar","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.3.0-next.1714.3bd86f1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24563},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"3bd86f149da805604525295161e558ccd0e3bbea","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.3.0-next.1714.3bd86f1","@flighthq/types":"0.3.0-next.1714.3bd86f1","@flighthq/textshaper":"0.3.0-next.1714.3bd86f1"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.3.0-next.1714.3bd86f1_1785869736279_0.14492426941037606","host":"s3://npm-registry-packages-npm-production"}},"0.3.0-next.1728.26853f6":{"name":"@flighthq/textshaper-canvas","version":"0.3.0-next.1728.26853f6","_id":"@flighthq/textshaper-canvas@0.3.0-next.1728.26853f6","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"8d996ed710b570dee0b7a4d0209c213a17fa5bb4","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.3.0-next.1728.26853f6.tgz","fileCount":14,"integrity":"sha512-jKAkJE2N3fcUmTongJxaYg2bayWwasF8D6BAbvMSzUmBDL32twRPuSyjCPPzQesA8TebDiKSIiK9t/11AJtaOA==","signatures":[{"sig":"MEUCIHxlhYTqEOtBpTDjU+P0QRy+ekBG7L6474d+6tr+q/4xAiEAq1OR84Pr17CYVXQm25oEfIgymnX0dN3h9fevHAyQg/s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.3.0-next.1728.26853f6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24563},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"26853f60cbb609cfcf85603054d88b2ed96f51e5","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.3.0-next.1728.26853f6","@flighthq/types":"0.3.0-next.1728.26853f6","@flighthq/textshaper":"0.3.0-next.1728.26853f6"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.3.0-next.1728.26853f6_1785873238691_0.9689954168266881","host":"s3://npm-registry-packages-npm-production"}},"0.3.0-next.1729.f927a3b":{"name":"@flighthq/textshaper-canvas","version":"0.3.0-next.1729.f927a3b","_id":"@flighthq/textshaper-canvas@0.3.0-next.1729.f927a3b","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"f8b9dad04e1bc4754b68a2fd7b2aa368c9f043df","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.3.0-next.1729.f927a3b.tgz","fileCount":14,"integrity":"sha512-EYXSdhXHC03DBIbaamc4bM6vV4wfY2uk49bAZ31XT7TFQWxQRkJQwquP02HUEAvYciNjqe7UZW54NNhT6axXJA==","signatures":[{"sig":"MEUCIQCVjBPcsxXlrTg6YTqG9ZzLUa8a+mYDv6yY+lLsDimqxQIgTe+KB812xbY4mORe0zzmRZi+HnWld7+vF/YpQIbOVT0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.3.0-next.1729.f927a3b","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24563},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"f927a3beb1d6779d73bf2f4545f3b2a736a9a638","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.3.0-next.1729.f927a3b","@flighthq/types":"0.3.0-next.1729.f927a3b","@flighthq/textshaper":"0.3.0-next.1729.f927a3b"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.3.0-next.1729.f927a3b_1785875428874_0.29014388518153655","host":"s3://npm-registry-packages-npm-production"}},"0.3.0-next.1781.5d072ef":{"name":"@flighthq/textshaper-canvas","version":"0.3.0-next.1781.5d072ef","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.3.0-next.1781.5d072ef","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"ef65b7ed972b3e62a7d425c0cab957ee855b6e08","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.3.0-next.1781.5d072ef.tgz","fileCount":14,"integrity":"sha512-PJ0wvwYNj8eN4hGNycf2IXqSfiGDCGVeX35PaPh1nfz/AX0HHwQeQOPR8w79UGAk8HoO25Av3zxTqwtxIcYPig==","signatures":[{"sig":"MEQCICWH3HiMbi+f6RJR4Cw88w7YNK0SKw+L/pFO49BlWa64AiAEdG4DqVerSL50RZUva+NV/sHg7U2Y1PTl2gqvU/eoNQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.3.0-next.1781.5d072ef","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24636},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"5d072ef1ec95fe0f4e269eaea912a652d9f99257","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.3.0-next.1781.5d072ef","@flighthq/types":"0.3.0-next.1781.5d072ef","@flighthq/textshaper":"0.3.0-next.1781.5d072ef"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.3.0-next.1781.5d072ef_1785888126199_0.877916126401866","host":"s3://npm-registry-packages-npm-production"}},"0.3.0-next.1783.cd11ab1":{"name":"@flighthq/textshaper-canvas","version":"0.3.0-next.1783.cd11ab1","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.3.0-next.1783.cd11ab1","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"82f1ecb94abeefb1093307553701681043ce339b","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.3.0-next.1783.cd11ab1.tgz","fileCount":14,"integrity":"sha512-Su2JWB+CXNMF15f4+4lCYAeNPhO//YS02b/e7/O11n+m2cIfaw5RFovP4VCkvAZoFM2woPIWKXrLdKQMPFlzhQ==","signatures":[{"sig":"MEQCIEqjlKnI8Hlv5s8JC5NTdiIGxecpqwSpM+Ze0cFU7ZNVAiADvXSNEE2yfrn8rRk9fz2nDmYG4x1lm3MvYRbXAaNj0w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.3.0-next.1783.cd11ab1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24636},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"cd11ab1582113745b9db8cca5be9a243af50aa33","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.3.0-next.1783.cd11ab1","@flighthq/types":"0.3.0-next.1783.cd11ab1","@flighthq/textshaper":"0.3.0-next.1783.cd11ab1"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.3.0-next.1783.cd11ab1_1785889495442_0.08325431601455979","host":"s3://npm-registry-packages-npm-production"}},"0.3.0-next.1848.58f06fb":{"name":"@flighthq/textshaper-canvas","version":"0.3.0-next.1848.58f06fb","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.3.0-next.1848.58f06fb","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"22fb00c1c44f15608aa04f137b20f7af00d0f77c","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.3.0-next.1848.58f06fb.tgz","fileCount":14,"integrity":"sha512-hIgT6RtrwWkiZ4Ju49gOVdHSynQCAkjzh7aqrbuYCMuuWiOuGChL0aZX+1UYy9QdKNqpqo9XoQgGs9YsVSn7Ew==","signatures":[{"sig":"MEQCIHEGENebbtqgVusysuVZds5SCgEh5pwOMTBFnBSvSCG4AiAyLg3Xx+E0LmkX7YCCBlakmq8NK00AYZwFjqWmoV+QKg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.3.0-next.1848.58f06fb","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24636},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"58f06fb6be36174581712d5f9194402fabce7a9e","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.3.0-next.1848.58f06fb","@flighthq/types":"0.3.0-next.1848.58f06fb","@flighthq/textshaper":"0.3.0-next.1848.58f06fb"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.3.0-next.1848.58f06fb_1785892222462_0.4560796226164672","host":"s3://npm-registry-packages-npm-production"}},"0.3.0-next.1849.a370765":{"name":"@flighthq/textshaper-canvas","version":"0.3.0-next.1849.a370765","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.3.0-next.1849.a370765","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"ec4e5bad82bd71adc1b022a448eee5e89b9176c4","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.3.0-next.1849.a370765.tgz","fileCount":14,"integrity":"sha512-UN9rGnbFXLLcTI0VngJd3UqwYeehgexsz3MNy039LGmHMTUUiEqsnCZlkTMIjiVCtXybiytbhq8/NavmQBSSmw==","signatures":[{"sig":"MEUCIQCeu22hBv/qWLd8P/lgfAkN3GUFFx3JpFu80Jm2qxP4HQIgKbjvJu542QCo6RKkvD/bSXoOBzJexu9nG4s/xnO3TUs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.3.0-next.1849.a370765","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24636},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"a3707655f8c25ac48a542bdcd08294d26459d4ee","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.3.0-next.1849.a370765","@flighthq/types":"0.3.0-next.1849.a370765","@flighthq/textshaper":"0.3.0-next.1849.a370765"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.3.0-next.1849.a370765_1785892573273_0.42254435337637286","host":"s3://npm-registry-packages-npm-production"}},"0.3.0-next.1872.c2b1f7c":{"name":"@flighthq/textshaper-canvas","version":"0.3.0-next.1872.c2b1f7c","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.3.0-next.1872.c2b1f7c","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"ab21feadc7e84cf8d91c7969665e621066c649a1","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.3.0-next.1872.c2b1f7c.tgz","fileCount":14,"integrity":"sha512-kyJcyqMyBR4XIc96XsgygYC1+7dUTLtoZNIjJl5PhMoh6PQI7TjzRI8CJUODqokroa/AAdS2O+CBBq2pSgaC7Q==","signatures":[{"sig":"MEUCIQDC7s14JCp9yQvBBiBAYVvAb55fQDk1v8sPZ3iQyaqV6wIgd568zDB4HeGr95Xl9msqOZ4JMe9tW5Lqahfc7it/RPM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.3.0-next.1872.c2b1f7c","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24636},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"c2b1f7c8bf02223fda04edd333cf5480037ea2ee","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.3.0-next.1872.c2b1f7c","@flighthq/types":"0.3.0-next.1872.c2b1f7c","@flighthq/textshaper":"0.3.0-next.1872.c2b1f7c"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.3.0-next.1872.c2b1f7c_1785958149275_0.48779058457793334","host":"s3://npm-registry-packages-npm-production"}},"0.3.0-next.1883.9cd374b":{"name":"@flighthq/textshaper-canvas","version":"0.3.0-next.1883.9cd374b","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.3.0-next.1883.9cd374b","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"d7b79142cdceb3a72323386f841ac0dd942fa99b","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.3.0-next.1883.9cd374b.tgz","fileCount":14,"integrity":"sha512-bMghArWDrNfo7YVbne/I88JY9EpXil3NAQqp8gpW2F1FRGZyF4uGFGCluAESgGJfh44Gm6jvh+hMn+hrDJuXEg==","signatures":[{"sig":"MEUCIQDVeYceTDcUUAMEAnrQv6aIaf9T2EpwAZWLn7zvYHgSAwIgTAOPOVeg/WY6KatvToizrWz64IyvBwdWaK0PbhrjEXI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.3.0-next.1883.9cd374b","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24636},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"9cd374ba3b5611b8533a5a018a73b47c2f29cfa9","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.3.0-next.1883.9cd374b","@flighthq/types":"0.3.0-next.1883.9cd374b","@flighthq/textshaper":"0.3.0-next.1883.9cd374b"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.3.0-next.1883.9cd374b_1785975208558_0.3814719519394121","host":"s3://npm-registry-packages-npm-production"}},"0.3.0-next.1887.cad72aa":{"name":"@flighthq/textshaper-canvas","version":"0.3.0-next.1887.cad72aa","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.3.0-next.1887.cad72aa","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"5a9e339ca64ed72aa99e70bf099e0be5a6a373a2","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.3.0-next.1887.cad72aa.tgz","fileCount":14,"integrity":"sha512-cQxNgY7AZAO6Eg54IgcD3UixHgRf/b8KBTWrzFyhVOy2/MO6CnGd59ig0S/dWSuPhUNP6ui+w1QDu3Hx5ptE7Q==","signatures":[{"sig":"MEQCIGlG19bFk37uVG6cfc51poPe3upxrPtSfs0hi/HzqpANAiBin6RgEl3A0dVJTWUCc3W9lVXwDbI5WPiDBXK+5zwBBw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.3.0-next.1887.cad72aa","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24636},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"cad72aa3ea4e6e76a050918a403dcb10efdfcb0d","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.3.0-next.1887.cad72aa","@flighthq/types":"0.3.0-next.1887.cad72aa","@flighthq/textshaper":"0.3.0-next.1887.cad72aa"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.3.0-next.1887.cad72aa_1786028850613_0.06727302137923385","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@flighthq/textshaper-canvas","version":"0.3.0","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.3.0","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"a6a50f253e9649a202053c21fe00812c82e16a39","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.3.0.tgz","fileCount":14,"integrity":"sha512-cZHfjUoBSQiS/VHd/zN9HMsY+BRzOQVKGtZtW9ZkocGreE2xjrWYuiRfZrW1iUE0/pK879aSi6N/iTDzpdD7Qw==","signatures":[{"sig":"MEYCIQCZdmoI6Wi3F7xPKUEXCvC8BhnnMN1bzvDLeNfUsW8/lgIhAMCjmpmZNaYWhm8/HyX3VRiEOM44H6Mr2uFTn363ESkc","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24564},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"2f0f1bc3af4a344bc89969f2750b3b859075b486","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.3.0","@flighthq/types":"0.3.0","@flighthq/textshaper":"0.3.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.3.0_1786049271722_0.8965380526944124","host":"s3://npm-registry-packages-npm-production"}},"0.3.1-next.209.43ef1bc":{"name":"@flighthq/textshaper-canvas","version":"0.3.1-next.209.43ef1bc","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.3.1-next.209.43ef1bc","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"7f5b2510105e33b2c56baf54b826a7b679897e85","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.3.1-next.209.43ef1bc.tgz","fileCount":14,"integrity":"sha512-evLD4M5dZ0OJzEJ7XBfWJx8uAgN09ICc34phObIEC0jod0GJwjolic8Pu1yDJQVhCNof3c1EQb3EEp0y5NWS6w==","signatures":[{"sig":"MEQCIDWZwsLJvfYagLllDM/dEqK2CRH2KIkijo2wMQWNq7qMAiB2tDhs6fcFmLTLlxeD2XRzBK2qeym2K46EO31pqbGs4w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.3.1-next.209.43ef1bc","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24632},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"43ef1bce2d18b8a0c1f6ce1d3941649897ca144d","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.3.1-next.209.43ef1bc","@flighthq/types":"0.3.1-next.209.43ef1bc","@flighthq/textshaper":"0.3.1-next.209.43ef1bc"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.3.1-next.209.43ef1bc_1786136589922_0.6740803503022481","host":"s3://npm-registry-packages-npm-production"}},"0.3.1-next.320.fe56fc2":{"name":"@flighthq/textshaper-canvas","version":"0.3.1-next.320.fe56fc2","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.3.1-next.320.fe56fc2","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"8168d72c16c57efb3561250085477b8dc2d8bf54","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.3.1-next.320.fe56fc2.tgz","fileCount":14,"integrity":"sha512-bU/OVWfQeQrqF+gJkQucR897kYxqj+qfhPQV1ARGXfyflwvqMYBQd32H5Ucr2Y4cwu9vAX4GSvDQwuF9kKsSpw==","signatures":[{"sig":"MEQCICvo3reNo2gg+QG8dJPWJfrDGXDJvrZuBOO2IJ/CLRiHAiAgPaEKYDI3/AROaX7uBpTBV372/pNeY6CEK8Bm8mS03A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.3.1-next.320.fe56fc2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24632},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"fe56fc2367e1ea56588060d180063a6f305a3039","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.3.1-next.320.fe56fc2","@flighthq/types":"0.3.1-next.320.fe56fc2","@flighthq/textshaper":"0.3.1-next.320.fe56fc2"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.3.1-next.320.fe56fc2_1786158603564_0.5020099822391866","host":"s3://npm-registry-packages-npm-production"}},"0.3.1-next.348.8115937":{"name":"@flighthq/textshaper-canvas","version":"0.3.1-next.348.8115937","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.3.1-next.348.8115937","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"362c17dbc35f9b81c85f3631a7335a7f4fb6607b","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.3.1-next.348.8115937.tgz","fileCount":14,"integrity":"sha512-pfbshz7D7+/wC60DVeaipk27i0pL4a4vpfWs6ihY0Us6CQi5Npv1D+PGFvxjCa0MThpmJCUNZwB0CX3FhApQcw==","signatures":[{"sig":"MEUCIQDWl+p770OiRWNHnDaVeJqQya44rZOZJczjNpPf2qkE7wIgDcpfnlTNv0A0GHhofqxvZ8QTfQOC9+wY6zfJWomfPU8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.3.1-next.348.8115937","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24632},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"8115937ba9cc3c08ec2eacba7894a59aabae1a1c","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.3.1-next.348.8115937","@flighthq/types":"0.3.1-next.348.8115937","@flighthq/textshaper":"0.3.1-next.348.8115937"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.3.1-next.348.8115937_1786165890838_0.5030618099255191","host":"s3://npm-registry-packages-npm-production"}},"0.3.1-next.385.e32d957":{"name":"@flighthq/textshaper-canvas","version":"0.3.1-next.385.e32d957","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.3.1-next.385.e32d957","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"99f510918433813d273f5960bd2f344fadfe9e37","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.3.1-next.385.e32d957.tgz","fileCount":14,"integrity":"sha512-9nFwMFsWQgqrL26JA7yXTPt+aKyawh9zXt6ZvpmbgMJgO9pSZAMMbxaUdI3yD/KjCrWwBrFovLQA/yvtI0CbaA==","signatures":[{"sig":"MEUCIGWP9B8CCPdg0LbgzAYn2QX2Bxs4CXzSP1gHf5h2LYxsAiEAuO+AStLVYG42WDYt0/rt+zd7ZT2uaFvtlX7XLBl9s3Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.3.1-next.385.e32d957","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24632},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"e32d957b7a9aae691927b11a7330bec0d39a0f74","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.3.1-next.385.e32d957","@flighthq/types":"0.3.1-next.385.e32d957","@flighthq/textshaper":"0.3.1-next.385.e32d957"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.3.1-next.385.e32d957_1786179403941_0.5322998714828169","host":"s3://npm-registry-packages-npm-production"}},"0.3.1-next.401.5d59659":{"name":"@flighthq/textshaper-canvas","version":"0.3.1-next.401.5d59659","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.3.1-next.401.5d59659","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"e5eb9b84ff3e761175f44bf07b0e57b2c8fc2ad5","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.3.1-next.401.5d59659.tgz","fileCount":14,"integrity":"sha512-XbBSpj/xs4Qf2mBcmglJYHnc9tLKupUuA4zUXkoD8KPalYFeYgFx6STrdHqVeb6ZxPfF8Ofe/FlWIfuEehJR+Q==","signatures":[{"sig":"MEUCIFIYAcYcW1mE5a2EJP6k1BrdLj+gbgnb/G2OBom9WvF/AiEAqaCqrZMg8S93VPT2n5GJzl4PVN/3Zp7sgHLo+8WJwVU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.3.1-next.401.5d59659","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24632},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"5d5965924eea5485cafb18863e7600fde6e9a7a1","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.3.1-next.401.5d59659","@flighthq/types":"0.3.1-next.401.5d59659","@flighthq/textshaper":"0.3.1-next.401.5d59659"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.3.1-next.401.5d59659_1786183137633_0.23320882844778001","host":"s3://npm-registry-packages-npm-production"}},"0.3.1-next.407.d03a0bb":{"name":"@flighthq/textshaper-canvas","version":"0.3.1-next.407.d03a0bb","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.3.1-next.407.d03a0bb","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"9790855ef0f320ee0200ed08b8893306c91475f9","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.3.1-next.407.d03a0bb.tgz","fileCount":14,"integrity":"sha512-9C1dKla5KPmKrK6ZqPLSOibyXOY5dB3CZxAWjZjI38iVZGGZwVp/i3yG2cJUvm0yiKRLMZEZaHxIfA/g1wdfUA==","signatures":[{"sig":"MEUCIHlbCmZYfDJdpeamURhpsYmAIaLkKW0cRk+hsV9PAOKgAiEAwYakMSsmwALPPb/A4KrBhnmHQVrfdrGrSF3iTPERIsE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.3.1-next.407.d03a0bb","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24632},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"d03a0bb57b0f09c0b521e0c8e2948361b2a87e9e","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.3.1-next.407.d03a0bb","@flighthq/types":"0.3.1-next.407.d03a0bb","@flighthq/textshaper":"0.3.1-next.407.d03a0bb"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.3.1-next.407.d03a0bb_1786297820166_0.38567532629247125","host":"s3://npm-registry-packages-npm-production"}},"0.3.1-next.409.5c00b00":{"name":"@flighthq/textshaper-canvas","version":"0.3.1-next.409.5c00b00","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.3.1-next.409.5c00b00","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"eaaf0953db3e56b9a305261e1ec862a6ea66e58b","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.3.1-next.409.5c00b00.tgz","fileCount":14,"integrity":"sha512-G/Z5LRKtbKOEmvB6Zs6mWRk2bsNa8TkbhVKInu9Flh9gR/vZ55IECS+CzTTib+qUaap449/Vcm7FDs9S0tvqVg==","signatures":[{"sig":"MEUCIHK/00QKqJ6p8QsjVi0char3KfMysXA0+RYyqlVMVaQMAiEAiuYkypAXUnYtEfxEKoYRhGoFGARO80WjFZNYXUVmtL8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.3.1-next.409.5c00b00","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24632},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"5c00b0009084f020e72b76bfb8d0c0ae74887289","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.3.1-next.409.5c00b00","@flighthq/types":"0.3.1-next.409.5c00b00","@flighthq/textshaper":"0.3.1-next.409.5c00b00"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.3.1-next.409.5c00b00_1786335257606_0.2978734872465232","host":"s3://npm-registry-packages-npm-production"}},"0.3.1-next.425.a3192ab":{"name":"@flighthq/textshaper-canvas","version":"0.3.1-next.425.a3192ab","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.3.1-next.425.a3192ab","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"c37caeb3c427b59769b8dcac77e243aedcf3a751","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.3.1-next.425.a3192ab.tgz","fileCount":14,"integrity":"sha512-HTFeY05Xrqc36+YDtIwV9uKHuuEqUhMU51mW65bdxqWBUNHjSI+DvkUCMp7GsBnWRSX+esermgZcYaeE03wgkQ==","signatures":[{"sig":"MEUCIQCnl7bUnAMgLity9tb9cqYhRRDwDiW+UwVRMeCBh5dyBgIgRrAwltpyQOIfrgNfAxHxmbY31YiLY8VfTR6NRwHm/j8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.3.1-next.425.a3192ab","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24632},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"a3192ab4e788bb9d5dc2b774367eb1afbc3de3a9","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.3.1-next.425.a3192ab","@flighthq/types":"0.3.1-next.425.a3192ab","@flighthq/textshaper":"0.3.1-next.425.a3192ab"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.3.1-next.425.a3192ab_1786336115075_0.47538111018295925","host":"s3://npm-registry-packages-npm-production"}},"0.3.1-next.493.539802d":{"name":"@flighthq/textshaper-canvas","version":"0.3.1-next.493.539802d","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.3.1-next.493.539802d","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"a82b124e9c36f2acdb1eac9146c88ceff562e473","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.3.1-next.493.539802d.tgz","fileCount":14,"integrity":"sha512-vE6aB0yinWg3aLmU+Rs9oBTTSI9HGiUKliA5JUEXNMBN9DR9bdYFSeFx+sCKlS2wx7WHKDAHN/gsiYKoHCJmFQ==","signatures":[{"sig":"MEYCIQCkTXqIrWBClBwmOhm2XrnXOy4KlD+GT+mFQkPApL/LswIhAI80fSEwDLFiU6Uf7OoSvJa0PXbzv+M3t6QnRjHU19Zt","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.3.1-next.493.539802d","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24632},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"539802d38ef3045458a26276a8d21b7648735f82","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.3.1-next.493.539802d","@flighthq/types":"0.3.1-next.493.539802d","@flighthq/textshaper":"0.3.1-next.493.539802d"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.3.1-next.493.539802d_1786392070831_0.5279397181102197","host":"s3://npm-registry-packages-npm-production"}},"0.3.1-next.509.c235802":{"name":"@flighthq/textshaper-canvas","version":"0.3.1-next.509.c235802","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.3.1-next.509.c235802","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"3cae70bf49005aaed4b5c821eb96253747bdf675","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.3.1-next.509.c235802.tgz","fileCount":14,"integrity":"sha512-mVyM2LZpIv0dFAht4g/VcD0mTN7Qyu1g51TeICrEpzD1YgtmepVYSzBZLfImYk0GlT3sRdw5Dxzi+1aej6dMkg==","signatures":[{"sig":"MEUCIQD0yGhOkPuISTsoboKF0S018nRPQ17ZUDF0tOhg4gECKwIgVDLhB7QeYuaaNXXoJN5AhVkr2W3z6185qdZmY54H7FI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.3.1-next.509.c235802","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24632},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"c2358021ef9f4dbffd5b42491d550edacdc41f09","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.3.1-next.509.c235802","@flighthq/types":"0.3.1-next.509.c235802","@flighthq/textshaper":"0.3.1-next.509.c235802"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.3.1-next.509.c235802_1786394500932_0.3149508051296035","host":"s3://npm-registry-packages-npm-production"}},"0.3.1-next.575.c1f8e01":{"name":"@flighthq/textshaper-canvas","version":"0.3.1-next.575.c1f8e01","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.3.1-next.575.c1f8e01","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"effb912c826db8ef358e385475712abb9889ee54","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.3.1-next.575.c1f8e01.tgz","fileCount":14,"integrity":"sha512-pPzAKXDDSPksgtPLhsopKDfzvQaTFHVV4LsGYeFL6CSZDvJCdBZw/GNc93ElzSjPpn2mOlSfCuRccxSY/T/F3w==","signatures":[{"sig":"MEUCIQDOPJxJoTZBJDBLxn1UYCj8HyKFCJtA+Mp0+SWS7t6txQIgIPn8Dgge6a6JlQjQHRKBN4YRV/aEf+/qofb0+LEmy1M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.3.1-next.575.c1f8e01","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24632},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"c1f8e01d140fcec88ff8b60468ab3bd960359a95","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.3.1-next.575.c1f8e01","@flighthq/types":"0.3.1-next.575.c1f8e01","@flighthq/textshaper":"0.3.1-next.575.c1f8e01"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.3.1-next.575.c1f8e01_1786416183888_0.14443360028966268","host":"s3://npm-registry-packages-npm-production"}},"0.3.1-next.616.aa7ae7f":{"name":"@flighthq/textshaper-canvas","version":"0.3.1-next.616.aa7ae7f","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.3.1-next.616.aa7ae7f","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"67a561027a81e15447cc88cdc6ea9b651b5fd1b6","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.3.1-next.616.aa7ae7f.tgz","fileCount":14,"integrity":"sha512-LJ+Y3VOPVHMPydidyOa1NP2RLokSl1CaXOHyWeAFbriemGImEmWPktGakN36b37uSYto/whyXpeccNb0AsC/sg==","signatures":[{"sig":"MEQCIA1z4ZrjapwnePm/j8m//+iU01BJ3lwlTc2oWSKB8DRuAiB/HKIlkRsL0SFTQrnJQLMADnHfmQ23iUQltITYXryVFQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.3.1-next.616.aa7ae7f","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24632},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"aa7ae7f5da1ce5ab690f31fda0b5f52b91c7c680","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.3.1-next.616.aa7ae7f","@flighthq/types":"0.3.1-next.616.aa7ae7f","@flighthq/textshaper":"0.3.1-next.616.aa7ae7f"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.3.1-next.616.aa7ae7f_1786460912027_0.12924465281080977","host":"s3://npm-registry-packages-npm-production"}},"0.3.1-next.617.89baf58":{"name":"@flighthq/textshaper-canvas","version":"0.3.1-next.617.89baf58","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.3.1-next.617.89baf58","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"5d7e08694feebf3062dc4222b35bf81022b48a61","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.3.1-next.617.89baf58.tgz","fileCount":14,"integrity":"sha512-CXtXWUqnVlrbkPkyzRE3gWuFIZKQRE6GyOBstOlNR4D2JhOw2NGGfcY3C/v21lmkK4JIaAVHlPVsPtIb3pQq2g==","signatures":[{"sig":"MEUCIQCiuMCkmJ10zIsRCUzjt5aZyDy7twj2XCb4TnoglGsTpQIgMT/nIHvIP0gsFwUc3n0jaVbrGPfPbDgtxqWdg3vFyjI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.3.1-next.617.89baf58","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24632},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"89baf58048bb93381a4e2e80669428b2d9e8464e","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.3.1-next.617.89baf58","@flighthq/types":"0.3.1-next.617.89baf58","@flighthq/textshaper":"0.3.1-next.617.89baf58"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.3.1-next.617.89baf58_1786461150073_0.9531006770697177","host":"s3://npm-registry-packages-npm-production"}},"0.3.1-next.625.675880d":{"name":"@flighthq/textshaper-canvas","version":"0.3.1-next.625.675880d","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.3.1-next.625.675880d","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"64395c9f70f9416654b01e2d7b4db97d569b61f0","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.3.1-next.625.675880d.tgz","fileCount":14,"integrity":"sha512-7aNqFDRXtu6+ZY8ep5IqpP7JeF+Fjj5WAQzwwMA2SLEtJHOc/vOKtTPduzFtS5TTg8WUyZw2JF+j3Umzm1w81Q==","signatures":[{"sig":"MEUCIQCxPxs9lWMK4Tfa8UYds5GAoCdae0lEJTCnT5OrZSBtvAIgNRln665ekkU/MEgr9+VXHxSw5jmj8uW3aVjyPfgQtH8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.3.1-next.625.675880d","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24632},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"675880d4809a098f9933d9201438981c8f7c559a","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.3.1-next.625.675880d","@flighthq/types":"0.3.1-next.625.675880d","@flighthq/textshaper":"0.3.1-next.625.675880d"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.3.1-next.625.675880d_1786462254053_0.0717781668413735","host":"s3://npm-registry-packages-npm-production"}},"0.3.1-next.703.e259040":{"name":"@flighthq/textshaper-canvas","version":"0.3.1-next.703.e259040","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.3.1-next.703.e259040","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"56c8214e6b226f20867dd78e3027b8697088407b","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.3.1-next.703.e259040.tgz","fileCount":14,"integrity":"sha512-NdWHYOax6cSFlr5COOnpVJsKpR8Pv14wUSjgni8Zy8KL4Rfp155c5CX22JsYBzoQZaJqJdMQGwwmkiaK/hsS8A==","signatures":[{"sig":"MEQCIGcLjam/DbCI7NzZ5nLoVcPyzPUrLII860nNN9LcPdkOAiAIBxDaqA/9t0972TyS2z1GR5eS5oY8IP4S+TVLg8yGHA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.3.1-next.703.e259040","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24632},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"e259040efb8ee9a573e8e86d8dc74a716dd62a8a","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.3.1-next.703.e259040","@flighthq/types":"0.3.1-next.703.e259040","@flighthq/textshaper":"0.3.1-next.703.e259040"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.3.1-next.703.e259040_1786559647808_0.10128419256837717","host":"s3://npm-registry-packages-npm-production"}},"0.3.1-next.704.69286f6":{"name":"@flighthq/textshaper-canvas","version":"0.3.1-next.704.69286f6","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.3.1-next.704.69286f6","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"28b3f557f425887a011baafd74690597955237d4","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.3.1-next.704.69286f6.tgz","fileCount":14,"integrity":"sha512-i1jn2E21i3tgEnL3g5LobshNvMvkMuOe3mbtKhzunSMImmTTi4YZfeuTVLCHVwLPQCv7KSupoUJejomSY3YmhA==","signatures":[{"sig":"MEYCIQC5/2Dsmz/SY9vxemVDHw1Cj5ZyhwMllLSSmEXw762/6gIhALL12NksPnV8PHe6WUNqyOHBAKwrWos4tq0PsEj9PMO6","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.3.1-next.704.69286f6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24632},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"69286f6d53cd41de4ada5de457c5285108acc1e9","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.3.1-next.704.69286f6","@flighthq/types":"0.3.1-next.704.69286f6","@flighthq/textshaper":"0.3.1-next.704.69286f6"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.3.1-next.704.69286f6_1786560570727_0.5690730355294005","host":"s3://npm-registry-packages-npm-production"}},"0.3.1-next.733.f1845ac":{"name":"@flighthq/textshaper-canvas","version":"0.3.1-next.733.f1845ac","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.3.1-next.733.f1845ac","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"623140a6bffaec070a6074ef878761ba0432198d","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.3.1-next.733.f1845ac.tgz","fileCount":14,"integrity":"sha512-MrydkG3UI3jsohcjMbEVOZH02+9bOIXVHdDz4D/eSZ1GHOVkCKFsOaQzV4rjiBuEA6CrG1AzcL/YnNKaD6njhw==","signatures":[{"sig":"MEYCIQCWe1ioTgJ3ksimm0Vj80zhvDQK7zPW38lTFIh2V3199QIhANNdpa606AH5JCSguEQud8Dao3CLC86eGA2Bn8f7cQJM","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.3.1-next.733.f1845ac","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24632},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"f1845acf98bf38f5a96072a59ba22a1c68395195","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.3.1-next.733.f1845ac","@flighthq/types":"0.3.1-next.733.f1845ac","@flighthq/textshaper":"0.3.1-next.733.f1845ac"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.3.1-next.733.f1845ac_1786563089373_0.4517706264655814","host":"s3://npm-registry-packages-npm-production"}},"0.3.1-next.780.12e6944":{"name":"@flighthq/textshaper-canvas","version":"0.3.1-next.780.12e6944","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.3.1-next.780.12e6944","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"37e8434f5807cd13dcc2fc6e5e1203f27ca118d5","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.3.1-next.780.12e6944.tgz","fileCount":14,"integrity":"sha512-lt1iD3dTYZ8LwWfIr/kFeVSC5ThXK9LAemW85bXcygaVNqeFydII5VyvbxJC+cbNrMREXlfMBiECPZdwFgFVPA==","signatures":[{"sig":"MEYCIQC/mop2tYMq4vqj6kVm1WYwdb1rIfp0sm7maxOFTGbWSgIhAOubTgyaEPLrr3kMzsRwJ7CgHRoRqxviOfnZIkmbb/uz","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.3.1-next.780.12e6944","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24632},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"12e69444311b0c795afbd780d78e1d4daf5d848c","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.3.1-next.780.12e6944","@flighthq/types":"0.3.1-next.780.12e6944","@flighthq/textshaper":"0.3.1-next.780.12e6944"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.3.1-next.780.12e6944_1786577397626_0.7500146214581986","host":"s3://npm-registry-packages-npm-production"}},"0.3.1-next.794.0bfc53e":{"name":"@flighthq/textshaper-canvas","version":"0.3.1-next.794.0bfc53e","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.3.1-next.794.0bfc53e","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"bcbe0bab4e387e1e2c167962edef95455b73ab40","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.3.1-next.794.0bfc53e.tgz","fileCount":14,"integrity":"sha512-TTSVat93Jhifq8f3ZuHpF9DnexccczQ5y4XfD82wTvsxCADXjpDejkvKUHAeTU6WfoYYM/TyIo7UCqd64P+SOQ==","signatures":[{"sig":"MEUCIQCm8BXYzDiEfENKJS28HDpsX+slzNzK2yVtqnWYzYxGPQIgS53OE6tIIC4vuMKOjacQ2uLY/q+ko5xG+6eZ5kqPGCY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.3.1-next.794.0bfc53e","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24632},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"0bfc53e8e8150f37bac02bdc262abb13c7495116","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.3.1-next.794.0bfc53e","@flighthq/types":"0.3.1-next.794.0bfc53e","@flighthq/textshaper":"0.3.1-next.794.0bfc53e"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.3.1-next.794.0bfc53e_1786581688522_0.4134657549196896","host":"s3://npm-registry-packages-npm-production"}},"0.3.1-next.836.609b031":{"name":"@flighthq/textshaper-canvas","version":"0.3.1-next.836.609b031","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.3.1-next.836.609b031","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"37ee658851f01a94122c81c6f6814cf82b148e18","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.3.1-next.836.609b031.tgz","fileCount":14,"integrity":"sha512-K0JsCEYhiYX0QPjJKz5pnmVQjc5y/xnrgGnpR7iPxUrs3jea7to24NeuFelTFQEWJHCmZ/Gc0mJv2SWyD686Mg==","signatures":[{"sig":"MEUCIFzq9oJPC7mA3wTEnu1UyML2BN2Cy3CW0RGkEkSOauYrAiEA6zUu3zG2d+wOTmc58/vkhIm5kUZO6+wM5GB8hqnWhco=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.3.1-next.836.609b031","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24632},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"609b03134bc9bcbe7be18b38d62a8119ea6260fc","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.3.1-next.836.609b031","@flighthq/types":"0.3.1-next.836.609b031","@flighthq/textshaper":"0.3.1-next.836.609b031"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.3.1-next.836.609b031_1786584012018_0.020897295748834033","host":"s3://npm-registry-packages-npm-production"}},"0.3.1-next.837.46a9259":{"name":"@flighthq/textshaper-canvas","version":"0.3.1-next.837.46a9259","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.3.1-next.837.46a9259","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"c0d5c1fd678e237aedf388ebab08bd1422b8fc1f","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.3.1-next.837.46a9259.tgz","fileCount":14,"integrity":"sha512-Hy7NbsxWJtINydO+Ua0XupTEDkyZBQunHMbFk1b9lKiCGcKwBJaG7AVZFqaoe/mrqw6iEvBbDGWup43fjygfsw==","signatures":[{"sig":"MEUCIQC0BclHafof5cQyLNVA62ym6p2iyaD97TtTRxhpFDBTBQIga5WdKwKH4n4a767+KMQ0a+QhUeEcv9/TCuBuKdm7wOo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.3.1-next.837.46a9259","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24632},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"46a9259ea45aa6c8e7c6e27ee15d98a3696892d6","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.3.1-next.837.46a9259","@flighthq/types":"0.3.1-next.837.46a9259","@flighthq/textshaper":"0.3.1-next.837.46a9259"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.3.1-next.837.46a9259_1786587879098_0.9316531590606005","host":"s3://npm-registry-packages-npm-production"}},"0.3.1-next.845.b5a7c82":{"name":"@flighthq/textshaper-canvas","version":"0.3.1-next.845.b5a7c82","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.3.1-next.845.b5a7c82","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"30ec87ba95c7cf73c94054efb5ead4274a447d67","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.3.1-next.845.b5a7c82.tgz","fileCount":14,"integrity":"sha512-W6jFABGKSzcF8SKx78ezBoOIzoMETN+d46XUwYvlOyfXq7eY17akyqvU9qZBjPbNBrza2U8u+SjYr9JrlGhIIA==","signatures":[{"sig":"MEUCIDMWHcgLkyEF7rtnqg45PxebdylZl8kSrSfY3f3SPUICAiEA6KXM/xM/LzPR2sN1BmN7vj6u0+v9fvuBtM4Hedylp2Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.3.1-next.845.b5a7c82","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24632},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"b5a7c823c6835c24d6f4eca104ded502ff7fadaa","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.3.1-next.845.b5a7c82","@flighthq/types":"0.3.1-next.845.b5a7c82","@flighthq/textshaper":"0.3.1-next.845.b5a7c82"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.3.1-next.845.b5a7c82_1786590159632_0.18328712042277173","host":"s3://npm-registry-packages-npm-production"}},"0.3.1-next.847.2e6f8bf":{"name":"@flighthq/textshaper-canvas","version":"0.3.1-next.847.2e6f8bf","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.3.1-next.847.2e6f8bf","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"a28b022f9f5195f3551b1b4a0587de9ccefb84bd","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.3.1-next.847.2e6f8bf.tgz","fileCount":14,"integrity":"sha512-f3T3sjaHmCMJ1xSgArGf9oUOj9BlNjyGX2OL/BN171F3ByywbG/wduxjWDXmI8gDanzOdlj7vpbzh17Nmzd0tw==","signatures":[{"sig":"MEYCIQDh64VjyIBjWkxMVI5S0p2Chb5UHlagvyNujdJG7Cz8pgIhAO3N1lfcWfjk4PIxMLDiC25De329WY/nT43mtsrEQhxc","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.3.1-next.847.2e6f8bf","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24632},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"2e6f8bf92aa599339a63d75600b64a6ddb1a1de9","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.3.1-next.847.2e6f8bf","@flighthq/types":"0.3.1-next.847.2e6f8bf","@flighthq/textshaper":"0.3.1-next.847.2e6f8bf"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.3.1-next.847.2e6f8bf_1786593591281_0.1379594400620494","host":"s3://npm-registry-packages-npm-production"}},"0.3.1-next.861.5a56d7a":{"name":"@flighthq/textshaper-canvas","version":"0.3.1-next.861.5a56d7a","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.3.1-next.861.5a56d7a","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"4dc43d2e8c2bd81a920ccdf26cc38d9e4a890cc9","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.3.1-next.861.5a56d7a.tgz","fileCount":14,"integrity":"sha512-DjmxOfrk8enkkNcSyj1qQoNOLLQnt/E1iOVhFB+LRhehCxOBTlADjh9jqUlC3/v6RwUDi1SNAFSbnDg5BXJjQg==","signatures":[{"sig":"MEUCIQC8Dah5JelzHVrDI/CIIhE7si9hYjWP6zeRG9rxdiwjqwIgCHYNsUuTs/U/FqBwt4meBy+ihAFKN/6pfdDCOk/Y0sc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.3.1-next.861.5a56d7a","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24632},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"5a56d7aab96bb883d20688af6424d110b151fbaa","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.3.1-next.861.5a56d7a","@flighthq/types":"0.3.1-next.861.5a56d7a","@flighthq/textshaper":"0.3.1-next.861.5a56d7a"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.3.1-next.861.5a56d7a_1786593740621_0.7599120831907042","host":"s3://npm-registry-packages-npm-production"}},"0.3.1-next.887.9f59a84":{"name":"@flighthq/textshaper-canvas","version":"0.3.1-next.887.9f59a84","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.3.1-next.887.9f59a84","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"30d6a801ce5a4a2a258d70bb749b14052bc50fe4","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.3.1-next.887.9f59a84.tgz","fileCount":14,"integrity":"sha512-AGh7VLc1JHq5IDcn0zgtnExyVjlLkRVXkdoiXXDqJoHn7skxi3xmlvAxI4A+a/eEtm78uPgBl/o136g4jnncjA==","signatures":[{"sig":"MEQCICzXoZlB0lrHr3lOvqPAcD5fkO5NnZLfJdLpBYeY7ftIAiAonCUe2pHTAsyCDwB2pI4t4JFtvGzLAk991p4cc/eKIQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.3.1-next.887.9f59a84","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24632},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"9f59a84e89b0b6b614037d95baa82df062bc31d1","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.3.1-next.887.9f59a84","@flighthq/types":"0.3.1-next.887.9f59a84","@flighthq/textshaper":"0.3.1-next.887.9f59a84"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.3.1-next.887.9f59a84_1786602180133_0.8488283293474115","host":"s3://npm-registry-packages-npm-production"}},"0.3.1-next.948.85d9f30":{"name":"@flighthq/textshaper-canvas","version":"0.3.1-next.948.85d9f30","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.3.1-next.948.85d9f30","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"1126b824cbee47995bfd8b1ee222d541de6bcf1c","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.3.1-next.948.85d9f30.tgz","fileCount":14,"integrity":"sha512-6AkikH193rGn4c7WN8gKgeL72aER+T+o5SW9EZiDMAoXKfn5e+YYCTtimBcQyVI1SAphjvXB7FNVNsoXoOxH7w==","signatures":[{"sig":"MEUCIQDiUfjNzWNVxk/qBlvhAxmkFSOZgoA8sSl4R4YSrGjThAIgadiTOnoOwDnt4xhY5WiEFa8MLC5O24kNyppNS8XsA+A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.3.1-next.948.85d9f30","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24632},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"85d9f3057c1cf94b0aa22c37cf7be1e156075b6f","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.3.1-next.948.85d9f30","@flighthq/types":"0.3.1-next.948.85d9f30","@flighthq/textshaper":"0.3.1-next.948.85d9f30"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.3.1-next.948.85d9f30_1786635292567_0.114552984571892","host":"s3://npm-registry-packages-npm-production"}},"0.3.1-next.970.9691e7b":{"name":"@flighthq/textshaper-canvas","version":"0.3.1-next.970.9691e7b","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.3.1-next.970.9691e7b","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"c162a980f5b820f57e16da2283e671d518871c2d","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.3.1-next.970.9691e7b.tgz","fileCount":14,"integrity":"sha512-Zj7fICkm8y/FwJh3liqBDkJKKBFXldG1CK8+aZwdSMARTw/FyyhjpwckmZYvipmH7msf9nH2s5X2dxbVTARssw==","signatures":[{"sig":"MEYCIQCSSpMy0Pz+DMaMlou4qq6nwr8v8CrWHI5laIeULLX5zAIhAJwHVJN9tF8d4qvDmHsa+23oZDA121Tbbe5LtN/+1tsR","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.3.1-next.970.9691e7b","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24632},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"9691e7b43412c9b06f7b09156753049b699c19f5","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.3.1-next.970.9691e7b","@flighthq/types":"0.3.1-next.970.9691e7b","@flighthq/textshaper":"0.3.1-next.970.9691e7b"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.3.1-next.970.9691e7b_1786636296602_0.7320572111852057","host":"s3://npm-registry-packages-npm-production"}},"0.3.1-next.971.33e20ba":{"name":"@flighthq/textshaper-canvas","version":"0.3.1-next.971.33e20ba","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.3.1-next.971.33e20ba","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"6df9dca97b29287b56ddde9b55151e5ae287d920","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.3.1-next.971.33e20ba.tgz","fileCount":14,"integrity":"sha512-5/ICpNCKKjoCX4HEyobdBHiCTMi7iVweAZoLtGz/wR/45g/PxzG+ZUcExW5junDY2hOeIXu7v+CPwr2eIPCHXA==","signatures":[{"sig":"MEQCIFIXeBujactj3CaR9J10EeG3tE5B1/fPVbg6qQFp1EyQAiArfjXn7NKqNSt950C32zXWriu1bNJxLWYaaecyYXXrLw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.3.1-next.971.33e20ba","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24632},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"33e20ba40aef7452bcf5bfa67c49b6ebd3c5407f","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.3.1-next.971.33e20ba","@flighthq/types":"0.3.1-next.971.33e20ba","@flighthq/textshaper":"0.3.1-next.971.33e20ba"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.3.1-next.971.33e20ba_1786636944831_0.6894192638805599","host":"s3://npm-registry-packages-npm-production"}},"0.3.1-next.975.01aea94":{"name":"@flighthq/textshaper-canvas","version":"0.3.1-next.975.01aea94","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.3.1-next.975.01aea94","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"07532d66800af4ce54c7a44ae51823d58a0ce423","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.3.1-next.975.01aea94.tgz","fileCount":14,"integrity":"sha512-lHoj6ISs0Z2f6zAw4LZnCrl73IgCib5gdBZDMRxLW7Xc2qlOJ8MB2I0RTfNJD8MMIlJOnL/roLyClp4rx8b10g==","signatures":[{"sig":"MEUCID5aqT3tFk7sn1QRJhH2FejCBdVKtu66s/AEkYpcY+xvAiEA9MO/b2OEzFYrmc9/rpp4mkcRVxZYqoqqQiRDh9ItTak=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.3.1-next.975.01aea94","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24632},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"01aea9432318b582da5c33917056b3c99cdc3a9a","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.3.1-next.975.01aea94","@flighthq/types":"0.3.1-next.975.01aea94","@flighthq/textshaper":"0.3.1-next.975.01aea94"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.3.1-next.975.01aea94_1786639554248_0.1798320872963397","host":"s3://npm-registry-packages-npm-production"}},"0.3.1-next.996.06087b5":{"name":"@flighthq/textshaper-canvas","version":"0.3.1-next.996.06087b5","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.3.1-next.996.06087b5","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"95bddc5ca5a02b8856e1bf2b2f2fa3a0a3d5f80f","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.3.1-next.996.06087b5.tgz","fileCount":14,"integrity":"sha512-AAxZGFWKFOAdTQPwgFIFGA2agROLaCBEzCSdSyZTPx3wjaPpuyywiMp8bo4KUcgyj5aJnFLMMcaAlwE+brGNwA==","signatures":[{"sig":"MEYCIQC3J8KgMgkrSkQwmTRl6uiAKH7EP1vCXRa6kEDfHqjbPAIhAKbboR5eMJrOI+UbZYEERx6NzgWv8gSa78R98ofAAU+r","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.3.1-next.996.06087b5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24632},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"06087b5b7b29d1eef90012d3b9a63ebd96c2eca6","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.3.1-next.996.06087b5","@flighthq/types":"0.3.1-next.996.06087b5","@flighthq/textshaper":"0.3.1-next.996.06087b5"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.3.1-next.996.06087b5_1786653125238_0.04498566265905257","host":"s3://npm-registry-packages-npm-production"}},"0.3.1-next.1041.35b950c":{"name":"@flighthq/textshaper-canvas","version":"0.3.1-next.1041.35b950c","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.3.1-next.1041.35b950c","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"dee04b7d7dd2c2746d36f28f02fd26c6f532ea21","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.3.1-next.1041.35b950c.tgz","fileCount":14,"integrity":"sha512-gBxBgzqrEF3tRkHvmYngyje+pVdANB2WhC/afeEgTHE6NqYlAEKmXGPI+VPqnGB9U+HUD2vlQu7DYYW7iOXWhg==","signatures":[{"sig":"MEQCIFFZWHtyJ93sjnIMQPEJzdePaFkMLIzcuLWoiKv0xjrNAiAhxdrl5aazRPvKgfNdjT26a6m824I6K4H4Vakh6sVMrQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.3.1-next.1041.35b950c","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24636},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"35b950cddf407477596a5dfec6e9e1c26daaecbe","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.3.1-next.1041.35b950c","@flighthq/types":"0.3.1-next.1041.35b950c","@flighthq/textshaper":"0.3.1-next.1041.35b950c"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.3.1-next.1041.35b950c_1786665968555_0.28060662540660974","host":"s3://npm-registry-packages-npm-production"}},"0.3.1-next.1050.9114695":{"name":"@flighthq/textshaper-canvas","version":"0.3.1-next.1050.9114695","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.3.1-next.1050.9114695","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"d0c0062483129c0dab6b165d5cb443b2678ffc45","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.3.1-next.1050.9114695.tgz","fileCount":14,"integrity":"sha512-WgQBRZY5vSyU6q76oTgl9X15vUfizOAlbKKFaZUPNDwbaPek5FCVhNCrs5P6R8tjOD8QLTa3CO+Y/8byuEh9Lg==","signatures":[{"sig":"MEUCIQCl9aGAdp0BB8Vlapu5PbxJsqzOJQE3cqhxOgD8xmxn+QIgLH0weplSzpXu5hbkzdmQLCJMpAytCfYCwe+bdDzAH/M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.3.1-next.1050.9114695","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24636},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"91146957134f8ec3485527a5d084d339e4a79080","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.3.1-next.1050.9114695","@flighthq/types":"0.3.1-next.1050.9114695","@flighthq/textshaper":"0.3.1-next.1050.9114695"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.3.1-next.1050.9114695_1786671728319_0.4032588906646071","host":"s3://npm-registry-packages-npm-production"}},"0.3.1-next.1055.12501ae":{"name":"@flighthq/textshaper-canvas","version":"0.3.1-next.1055.12501ae","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.3.1-next.1055.12501ae","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"f5172acc15436fd9eed66c8f9eeafcd9efc4caec","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.3.1-next.1055.12501ae.tgz","fileCount":14,"integrity":"sha512-XCMgZNlVROk4yiSSzl6mUfO0pOMoIBEzvDixcTDlXcGsLVIlnd6SqxLIkHOentGYB80fOhbvMMcHyKk8Ub99jQ==","signatures":[{"sig":"MEUCIQC1yfYDetJBxzr4VLsjBqmXPs7aayT1M6aSg6JRBXY/ZgIgJOgz2v04+7f9FQEDoLwf4wLYRU5nOt9y4GhkciBXSuE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.3.1-next.1055.12501ae","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24636},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"12501ae26c0ad84005e151fb2309b841686fbc3d","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.3.1-next.1055.12501ae","@flighthq/types":"0.3.1-next.1055.12501ae","@flighthq/textshaper":"0.3.1-next.1055.12501ae"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.3.1-next.1055.12501ae_1786679369378_0.5083346013151095","host":"s3://npm-registry-packages-npm-production"}},"0.3.1-next.1076.4f48950":{"name":"@flighthq/textshaper-canvas","version":"0.3.1-next.1076.4f48950","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.3.1-next.1076.4f48950","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"d710d5c631d4df4c4dd83c47b9b27d9c9a96daa7","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.3.1-next.1076.4f48950.tgz","fileCount":14,"integrity":"sha512-SocG4bUHHdT0mTwfWzCQqof1C/6xx8luglIB6MhqU2q11aYLGriE3fBIVNWwapByOw9sEQizYQnGcO+9lqA3/A==","signatures":[{"sig":"MEUCIHzJv4TutFhRxxB52x13hft7nwo5uZvOEeBGpryc6JvsAiEA4ZG9BUsGUQN8IYfZtPrFGk1I0Ckh/O2eLvFpzMI1EdY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.3.1-next.1076.4f48950","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24636},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"4f48950277b04fb6f83bbbe2de457c686f1b9f26","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.3.1-next.1076.4f48950","@flighthq/types":"0.3.1-next.1076.4f48950","@flighthq/textshaper":"0.3.1-next.1076.4f48950"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.3.1-next.1076.4f48950_1786723449253_0.2952167562917831","host":"s3://npm-registry-packages-npm-production"}},"0.3.1-next.1079.38fd007":{"name":"@flighthq/textshaper-canvas","version":"0.3.1-next.1079.38fd007","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.3.1-next.1079.38fd007","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"b49c224601922b9b7cb1aa8ad8ab174c52276fd1","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.3.1-next.1079.38fd007.tgz","fileCount":14,"integrity":"sha512-myTzqphoopMgcEhKMk5rbEOXajyaUgwl5WZU17KWuc0zUofz2kYZESf0tanjVC4GXULhfF6To1iVtKO5EBA8Dw==","signatures":[{"sig":"MEUCIQDdznEW85XLf5vn7g8C/7RDR25GtMSA3s2XK5bN/uoxuAIgS0Vq5q/jnDEEQK+Gtliomq6VqWjl3nEvc0Gs+Kd110g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.3.1-next.1079.38fd007","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24636},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"38fd007b968cc3d0144c87d476b538535aed1e3e","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.3.1-next.1079.38fd007","@flighthq/types":"0.3.1-next.1079.38fd007","@flighthq/textshaper":"0.3.1-next.1079.38fd007"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.3.1-next.1079.38fd007_1786730962546_0.7337621492894844","host":"s3://npm-registry-packages-npm-production"}},"0.3.1-next.1084.04b8d9a":{"name":"@flighthq/textshaper-canvas","version":"0.3.1-next.1084.04b8d9a","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.3.1-next.1084.04b8d9a","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"b7584e345985169948422f7fd53509982ae90b49","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.3.1-next.1084.04b8d9a.tgz","fileCount":14,"integrity":"sha512-oDoPOOL5hGspadH0vR/38Vzu3QTHqVMZ0/Bh0oGBkjdbeEkF00qiuku4KlgsEQLxblXViEA6UhPPrHSTHdE2UQ==","signatures":[{"sig":"MEUCIGxBjGzW5lWI8xKE+yaVeLu9ApF4TfikeKwZ/MdxiKltAiEA86nxITVdfYloLZRFniBUcuWProxOSVRfOLRoa8egxos=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.3.1-next.1084.04b8d9a","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24636},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"04b8d9ad02a3696f08c9d2a2a396760556862578","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.3.1-next.1084.04b8d9a","@flighthq/types":"0.3.1-next.1084.04b8d9a","@flighthq/textshaper":"0.3.1-next.1084.04b8d9a"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.3.1-next.1084.04b8d9a_1786734204499_0.41610395776205666","host":"s3://npm-registry-packages-npm-production"}},"0.3.1-next.1086.d0d073b":{"name":"@flighthq/textshaper-canvas","version":"0.3.1-next.1086.d0d073b","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.3.1-next.1086.d0d073b","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"e7064a82c68f8192b0ad49fa47bd55e3b5d79c51","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.3.1-next.1086.d0d073b.tgz","fileCount":14,"integrity":"sha512-+8eWtDKnID/Z7T59NHR2hMYIiYNdrJE5SzU7hyv9O3U70DlYs4PhaV+txeQZvqU+Ll9SWvhObk94ngyZDFL3TQ==","signatures":[{"sig":"MEYCIQDAxq1nKawAnGv1mgaGTq1ormleaFzAdtf8P46UYsLIXwIhAPKMfMkaHcXEB9R0L8oEPjikOULeyXe6n9TzKI4KDDGO","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.3.1-next.1086.d0d073b","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24636},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"d0d073b807822ef0d9e17cc1ce4e9d4f74be5e4c","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.3.1-next.1086.d0d073b","@flighthq/types":"0.3.1-next.1086.d0d073b","@flighthq/textshaper":"0.3.1-next.1086.d0d073b"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.3.1-next.1086.d0d073b_1786737147346_0.5038935385795433","host":"s3://npm-registry-packages-npm-production"}},"0.3.1-next.1088.2bde749":{"name":"@flighthq/textshaper-canvas","version":"0.3.1-next.1088.2bde749","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.3.1-next.1088.2bde749","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"b1ace3a549e950b0bd46aeaece6a1a5eec5bd507","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.3.1-next.1088.2bde749.tgz","fileCount":14,"integrity":"sha512-B86Z2+Jec4+nKfPrcu42Np37AEhVxXgpWN6Y7ttN2iab+LJwDoDFO8B4KZGygwrhs7b/r6Ayp/qJ3kCXGrQAqg==","signatures":[{"sig":"MEQCIENKeEVq/9x5/MlutEvbiHZMw1emPazlsf2xOzK2rTNTAiBqS5XCPU5TC2UTWqdcNJpJW8oLe8KYTf+CCj6tQWtH5g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.3.1-next.1088.2bde749","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24636},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"2bde7491836cf43c3de99c9851f04ff2c2def1e5","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.3.1-next.1088.2bde749","@flighthq/types":"0.3.1-next.1088.2bde749","@flighthq/textshaper":"0.3.1-next.1088.2bde749"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.3.1-next.1088.2bde749_1786739281179_0.5786843590850881","host":"s3://npm-registry-packages-npm-production"}},"0.3.1-next.1090.6e79e6c":{"name":"@flighthq/textshaper-canvas","version":"0.3.1-next.1090.6e79e6c","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.3.1-next.1090.6e79e6c","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"f7705823ad1a4d4c66d43cb0bc377f1578d080b6","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.3.1-next.1090.6e79e6c.tgz","fileCount":14,"integrity":"sha512-OSXWjGS8dh8Gl7+ln/o0eu9QCYGkoTEaLYJxAzrioLjoml9SJyBFdiKsxg1UsMtWH8n/rKH5xOStW9F/8lB+PA==","signatures":[{"sig":"MEUCIQDzfZRfk79BvJbWw4rT6UaZsLppKc7f5slpC+cr0y2Q8wIgEhOPPFSOEUWcLgRIPRvIJSPdxq/Y7ibRttHahOSB8UA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.3.1-next.1090.6e79e6c","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24636},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"6e79e6c76925511d45ee1d4eb2034db61c885afb","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.3.1-next.1090.6e79e6c","@flighthq/types":"0.3.1-next.1090.6e79e6c","@flighthq/textshaper":"0.3.1-next.1090.6e79e6c"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.3.1-next.1090.6e79e6c_1786739587472_0.8526875912205485","host":"s3://npm-registry-packages-npm-production"}},"0.3.1-next.1091.b7aa6f2":{"name":"@flighthq/textshaper-canvas","version":"0.3.1-next.1091.b7aa6f2","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.3.1-next.1091.b7aa6f2","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"d7cd932db6b5dfa80ac479c607ec94e18eda06e9","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.3.1-next.1091.b7aa6f2.tgz","fileCount":14,"integrity":"sha512-hNRZi9DfT4aW+xt3B5diO/chopEh6ERrgAtUwqIwNvW1rPtrMxd2Sm0gKBtOjlP4T2a8WOpcOFHby27aS7g7ig==","signatures":[{"sig":"MEYCIQDydk494OK4UVPMmP/YJZORXpHjGBxPDCnDfV/joN2bLAIhAOatFvT9K+fHnHPdwpxHB8CqZqJz4EhXJbLAFpHF3CNy","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.3.1-next.1091.b7aa6f2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24636},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"b7aa6f2a4acb333b3c58d15eca4386d766b4ae63","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.3.1-next.1091.b7aa6f2","@flighthq/types":"0.3.1-next.1091.b7aa6f2","@flighthq/textshaper":"0.3.1-next.1091.b7aa6f2"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.3.1-next.1091.b7aa6f2_1786739828613_0.20924778829663815","host":"s3://npm-registry-packages-npm-production"}},"0.3.1-next.1095.16f1704":{"name":"@flighthq/textshaper-canvas","version":"0.3.1-next.1095.16f1704","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.3.1-next.1095.16f1704","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"7939b1c6d8c185c2bdbf0d8d656f6435053228ec","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.3.1-next.1095.16f1704.tgz","fileCount":14,"integrity":"sha512-kYaN80w1SPzQWtaDGq9GYdu9BhYu/Rsshcy6hbO32Zf0+IwOl043DjblxQOXF8ofZZ4t/6WrpZ3BibYUXQfJRw==","signatures":[{"sig":"MEQCIHna785LYdbwnq+kLA32i0NcAGB2NzkzAI7jRSK1iQvsAiAytgJ+lVvDLwK11oRUh6+BtR3hVL3qpzROF74UPNltkA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.3.1-next.1095.16f1704","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24636},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"16f1704d1813a7927f4f4b5c5ef956263ab74254","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.3.1-next.1095.16f1704","@flighthq/types":"0.3.1-next.1095.16f1704","@flighthq/textshaper":"0.3.1-next.1095.16f1704"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.3.1-next.1095.16f1704_1786740948343_0.6254711449462418","host":"s3://npm-registry-packages-npm-production"}},"0.3.1-next.1096.4ddf1ab":{"name":"@flighthq/textshaper-canvas","version":"0.3.1-next.1096.4ddf1ab","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.3.1-next.1096.4ddf1ab","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"9b19cd11cc45ad3789b759dd8ec9ac7ec88a2b91","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.3.1-next.1096.4ddf1ab.tgz","fileCount":14,"integrity":"sha512-UZFkGegIz36Jb7SDve7sQKl7rDjmSVugAunMBO1a0jsQp6JR7i7OXXSYM430KphMhGvFn0trc+1UNLDfNsJZdg==","signatures":[{"sig":"MEUCIQCLxMqLRFeBwuiDb28p93H1ZEFl5foqiwa23ncFmfL8pwIgI57b6FwVtthCj13cnO2qIg6x0xpYEVol/5oV90x6cyQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.3.1-next.1096.4ddf1ab","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24636},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"4ddf1abcf65676210f2b1a7b478014e6d3ed8c92","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.3.1-next.1096.4ddf1ab","@flighthq/types":"0.3.1-next.1096.4ddf1ab","@flighthq/textshaper":"0.3.1-next.1096.4ddf1ab"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.3.1-next.1096.4ddf1ab_1786741736790_0.7421830298926451","host":"s3://npm-registry-packages-npm-production"}},"0.3.1-next.1097.b8126d8":{"name":"@flighthq/textshaper-canvas","version":"0.3.1-next.1097.b8126d8","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.3.1-next.1097.b8126d8","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"1703d9a1094023ef349d555b39f64d19e2db6144","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.3.1-next.1097.b8126d8.tgz","fileCount":14,"integrity":"sha512-Mn0kDyqzTkjNHd+oRDYyQkY/J3JN47oQOm5HgnkUw4MQEX4sN1upoZcFiGvGnVALDb6Iy7VwpgUY6RQweZpSIQ==","signatures":[{"sig":"MEUCIQDdH5TuMHXI15v0FhMPY/lvwvryWrGAL94YLIc3sJ13OwIgSyo46SA3EfqYQ0ZLdlXzEim2qyrXBjmZ/VXmuX9xAh0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.3.1-next.1097.b8126d8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24636},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"b8126d83e3f846a776c300d410c5f3c45722b599","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.3.1-next.1097.b8126d8","@flighthq/types":"0.3.1-next.1097.b8126d8","@flighthq/textshaper":"0.3.1-next.1097.b8126d8"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.3.1-next.1097.b8126d8_1786742065984_0.42732725572257","host":"s3://npm-registry-packages-npm-production"}},"0.3.1-next.1099.671eaf4":{"name":"@flighthq/textshaper-canvas","version":"0.3.1-next.1099.671eaf4","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.3.1-next.1099.671eaf4","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"d334a9c7a56c83350dc71b852f126097208ccc68","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.3.1-next.1099.671eaf4.tgz","fileCount":14,"integrity":"sha512-vCav/gr01TATuxXi3W+MiS6ptnZw27eeMrSH7bv2RvQGnQ8Ibdve+7FfoIYIgPrqeU8/fRmEyMCME9lAcsbYwQ==","signatures":[{"sig":"MEQCIDLYX7SGxF46c//gVGVVHpeYD1eyhzuBOIMA2Sm2z7wBAiB1UDr09XFx5nhPxqzmRcQyv6L5mxtYU5trO3c7sbitYA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.3.1-next.1099.671eaf4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24636},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"671eaf4747d3faa1f51776306c734bb129db48f6","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.3.1-next.1099.671eaf4","@flighthq/types":"0.3.1-next.1099.671eaf4","@flighthq/textshaper":"0.3.1-next.1099.671eaf4"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.3.1-next.1099.671eaf4_1786742337468_0.7585524010269447","host":"s3://npm-registry-packages-npm-production"}},"0.3.1-next.1104.8453d3d":{"name":"@flighthq/textshaper-canvas","version":"0.3.1-next.1104.8453d3d","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.3.1-next.1104.8453d3d","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"bcec31ae35a95b771d463d0f0de064ebf5253838","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.3.1-next.1104.8453d3d.tgz","fileCount":14,"integrity":"sha512-HYmWUlmulVcj5kJFxMVJiGNY31ZSqJMecwH6hAFKBqPLO/RuzJmKRi06595DG9TKFSzKPN4VgBWGheAL813R9Q==","signatures":[{"sig":"MEYCIQDL/hWE8TdIDbAHXM7cy53qFdqCHXRId6NKBvAaRkIEhgIhAMqifVLdUYej58VHrGoLqoXZ4iwifq92c/WujQFq4TrM","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.3.1-next.1104.8453d3d","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24636},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"8453d3d35fb0d049c2911f875b4c4f41de1f2128","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.3.1-next.1104.8453d3d","@flighthq/types":"0.3.1-next.1104.8453d3d","@flighthq/textshaper":"0.3.1-next.1104.8453d3d"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.3.1-next.1104.8453d3d_1786744430231_0.7309183661831506","host":"s3://npm-registry-packages-npm-production"}},"0.3.1-next.1107.0b5d347":{"name":"@flighthq/textshaper-canvas","version":"0.3.1-next.1107.0b5d347","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.3.1-next.1107.0b5d347","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"977c4c70a23edcc66dd8ebf30f946c5affe20969","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.3.1-next.1107.0b5d347.tgz","fileCount":14,"integrity":"sha512-5bM8ISvGi5kA3Po2BmTv24eCf+XNUTw77u8jZFp05GH15l0vtyNJrU1nytdme37ldaZvtliaU0h28s3wX2SmRA==","signatures":[{"sig":"MEQCIDDkr+4q1SBMBE1RkKRKwP9o0z1/O/da3Yqr/LHfcX+xAiBDoi4WVzWo374UO2bFcbMWdWf2DvpsMdDP4NA4DIsPYw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.3.1-next.1107.0b5d347","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24636},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"0b5d347bbf810534aefebc9f6996b95df91c5769","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.3.1-next.1107.0b5d347","@flighthq/types":"0.3.1-next.1107.0b5d347","@flighthq/textshaper":"0.3.1-next.1107.0b5d347"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.3.1-next.1107.0b5d347_1786747267965_0.8971192481713379","host":"s3://npm-registry-packages-npm-production"}},"0.3.1-next.1108.66cc86c":{"name":"@flighthq/textshaper-canvas","version":"0.3.1-next.1108.66cc86c","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.3.1-next.1108.66cc86c","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"ec3a7bcbc34d5c0a2101044608f277bfb0603128","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.3.1-next.1108.66cc86c.tgz","fileCount":14,"integrity":"sha512-iGKp8JizUcF8caqg8OWcr/WB9oMLeIpNFih6ncOFotTf1zbdy4oTwnjfZ2kEXvY4LPbobKEBaFco6WZaAEt30w==","signatures":[{"sig":"MEYCIQCCx4JOSFSFmegWVRqDsgpULHIwlKpz9L5qpMhDXxiiAwIhAP4jV0FaPz9Z6nhvgsrgZs393qZOGO17v05x20DOsmKN","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.3.1-next.1108.66cc86c","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24636},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"66cc86c94270c1656fbaa33f76aaecabbf5cf3b5","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.3.1-next.1108.66cc86c","@flighthq/types":"0.3.1-next.1108.66cc86c","@flighthq/textshaper":"0.3.1-next.1108.66cc86c"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.3.1-next.1108.66cc86c_1786748380853_0.8279456858281768","host":"s3://npm-registry-packages-npm-production"}},"0.3.1-next.1112.dea9723":{"name":"@flighthq/textshaper-canvas","version":"0.3.1-next.1112.dea9723","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.3.1-next.1112.dea9723","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"c2762e828793b60fd5f9d224a690d7b2fbdefb9d","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.3.1-next.1112.dea9723.tgz","fileCount":14,"integrity":"sha512-jBhhb99FsgUeK2S62Os+e9rzYpWJV3q99TnH+kXxXXT2/slZmHYEVKM/8rzi2SDpbjA6/JCaNAf4LlYcaN0VXw==","signatures":[{"sig":"MEUCIGyl1HyhstYTU3oTA9JkoL5pkJpYuGbu+T6EoCqBq5yzAiEAkStB0C4E25AM4EV9nlsgVryj77iS1lsK3Ix+YGlIXGM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.3.1-next.1112.dea9723","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24636},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"dea9723f504eea38000f31756c836c87bacc88c8","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.3.1-next.1112.dea9723","@flighthq/types":"0.3.1-next.1112.dea9723","@flighthq/textshaper":"0.3.1-next.1112.dea9723"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.3.1-next.1112.dea9723_1786758633641_0.554286374383659","host":"s3://npm-registry-packages-npm-production"}},"0.3.1-next.1113.9cffbdf":{"name":"@flighthq/textshaper-canvas","version":"0.3.1-next.1113.9cffbdf","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.3.1-next.1113.9cffbdf","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"9aeb5e95927749b9d56499f8317869d000ab15d8","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.3.1-next.1113.9cffbdf.tgz","fileCount":14,"integrity":"sha512-Kuvud631ql/r9w8tOUkxPIhYOJugOCFc/qf3vkqSXNMjzmXsR0xuJaAj3seMuoivZK6F/hyLEjO4KwnUw0YhgA==","signatures":[{"sig":"MEQCIEk5ErSoT6kD7xZf1tsht3+5rwRIsV9MvvVqboIvgcrdAiAoYX5vogUvtCNKCugf3Vz9SUg0rmE4Y2hXDwMpYZ2+cA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.3.1-next.1113.9cffbdf","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24636},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"9cffbdf4bb0c58199f3c1e6ec40c1211d35c6bc6","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.3.1-next.1113.9cffbdf","@flighthq/types":"0.3.1-next.1113.9cffbdf","@flighthq/textshaper":"0.3.1-next.1113.9cffbdf"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.3.1-next.1113.9cffbdf_1786760577106_0.6914479206936892","host":"s3://npm-registry-packages-npm-production"}},"0.3.1-next.1114.3ce681d":{"name":"@flighthq/textshaper-canvas","version":"0.3.1-next.1114.3ce681d","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.3.1-next.1114.3ce681d","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"38c64b5a837c5b3350917df2a8440487c6031f44","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.3.1-next.1114.3ce681d.tgz","fileCount":14,"integrity":"sha512-lRUj/n5MeAPSqeMB1IOyki2vs3UKAYopFlqppajavX1ENspRokF0WJsgFhjhCx0LAPZFG2lLmSH03F8ClD0hQQ==","signatures":[{"sig":"MEQCICwdp0jZVb3RPJXsBKWl8U/0EClJVGrnOG6FSK73DQnYAiAximK5mGTu/1016VuUXdkbEOhYuxpv6eeixNcWXY947g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.3.1-next.1114.3ce681d","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24636},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"3ce681df621450aa0fa769d10a8380f6874c958b","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.3.1-next.1114.3ce681d","@flighthq/types":"0.3.1-next.1114.3ce681d","@flighthq/textshaper":"0.3.1-next.1114.3ce681d"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.3.1-next.1114.3ce681d_1786763722112_0.018163488496574898","host":"s3://npm-registry-packages-npm-production"}},"0.3.1-next.1116.866c771":{"name":"@flighthq/textshaper-canvas","version":"0.3.1-next.1116.866c771","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.3.1-next.1116.866c771","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"3ee0f05c64b42d24fd63aadaee4d471ff5cde0ce","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.3.1-next.1116.866c771.tgz","fileCount":14,"integrity":"sha512-DiwPC3zM6fY9E6f2gzapacVp0gxCSaeYuvjW6KOjIlcyKelRWsWL3/Ez9O8XRqOdUuvmf2BKUrZ1ZH0Z2NUsUg==","signatures":[{"sig":"MEUCIQDxejrb1kRCuCjtBBi3xfpcW5aN+GB1dKrVqMCIq9tNWgIgTGnzK4km9cKJ7FsLFcHTAh7I46T9xBlAuC64NDawREs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.3.1-next.1116.866c771","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24636},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"866c7712dfc03ca65960959ea6b5a858c68234aa","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.3.1-next.1116.866c771","@flighthq/types":"0.3.1-next.1116.866c771","@flighthq/textshaper":"0.3.1-next.1116.866c771"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.3.1-next.1116.866c771_1786772873492_0.22514149111965498","host":"s3://npm-registry-packages-npm-production"}},"0.3.1-next.1162.1c7f42e":{"name":"@flighthq/textshaper-canvas","version":"0.3.1-next.1162.1c7f42e","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.3.1-next.1162.1c7f42e","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"3d07cf711611fc8634537fbcc5fb2ab94a92f8a3","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.3.1-next.1162.1c7f42e.tgz","fileCount":14,"integrity":"sha512-eJ0TwOL1IUwD8B9QY/s1T+/L5jTCS627ObsDfoDmSBuwIlHmk70Ax2qGWEej/nQ9p1EQfc4gWOcP4a657zP5ZA==","signatures":[{"sig":"MEUCIANVe+cdjMKNoLw6fr0oBg2mETQpjC3ErBN5UIPuaRuFAiEAlatSUiV8nJwx6+MkyLNeqJRVCS58Cfwe0t1Xo9bCCNU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.3.1-next.1162.1c7f42e","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24636},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"1c7f42e0c8a6d050adf50aead913ec7f82037ccd","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.3.1-next.1162.1c7f42e","@flighthq/types":"0.3.1-next.1162.1c7f42e","@flighthq/textshaper":"0.3.1-next.1162.1c7f42e"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.3.1-next.1162.1c7f42e_1786893369482_0.2667901573547611","host":"s3://npm-registry-packages-npm-production"}},"0.3.1-next.1165.285e507":{"name":"@flighthq/textshaper-canvas","version":"0.3.1-next.1165.285e507","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.3.1-next.1165.285e507","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"b92d9dc0bc13ac60e1ba6a18e7f53c17f9cb3398","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.3.1-next.1165.285e507.tgz","fileCount":14,"integrity":"sha512-f7eSRQ4BuBJVX7phiZ302KupuVBf9oKVOvtajMBTU8bIDNKbCPI7B2NI45XIkqTbCR+VFhOert5RW7PjreiegQ==","signatures":[{"sig":"MEQCIDc0ckJNShnX3N2vkliAW8tt/bfstVzluFzcqNX+M7cHAiAcHBNDJvwvUk9xFIohm/i/3SnI39vzznLZvvYP/RYL9Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.3.1-next.1165.285e507","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24636},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"285e507fb9ad8a5f0914347453d841a36136024d","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.3.1-next.1165.285e507","@flighthq/types":"0.3.1-next.1165.285e507","@flighthq/textshaper":"0.3.1-next.1165.285e507"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.3.1-next.1165.285e507_1786916312278_0.10974980958645131","host":"s3://npm-registry-packages-npm-production"}},"0.3.1-next.1170.8a733e4":{"name":"@flighthq/textshaper-canvas","version":"0.3.1-next.1170.8a733e4","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.3.1-next.1170.8a733e4","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"bfaa4e18e55f611014e38f76a89ed0e76d52a454","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.3.1-next.1170.8a733e4.tgz","fileCount":14,"integrity":"sha512-hABt/IinafimEmupxvMSpL1vmOZkDH7WPx/2liIqkDms8AdIbtE8+dOf2/bBi6PsTt+ErJtIKFJTt3HMR3wW/A==","signatures":[{"sig":"MEYCIQC66URCPd6ndzRi1U32wb6DSZyukYsejyZqnzlqJow3SAIhAPIbiXZi4RaBT7AK4IFF39NesD/YM6+iXS9GS4SiHen7","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.3.1-next.1170.8a733e4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24636},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"8a733e40e49c32762c951839d458d92f186a4d5a","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.3.1-next.1170.8a733e4","@flighthq/types":"0.3.1-next.1170.8a733e4","@flighthq/textshaper":"0.3.1-next.1170.8a733e4"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.3.1-next.1170.8a733e4_1786922359705_0.7528635591211139","host":"s3://npm-registry-packages-npm-production"}},"0.3.1-next.1191.e999f6c":{"name":"@flighthq/textshaper-canvas","version":"0.3.1-next.1191.e999f6c","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.3.1-next.1191.e999f6c","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"37551d07633387fbeb154a47c67fdccea769598f","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.3.1-next.1191.e999f6c.tgz","fileCount":14,"integrity":"sha512-X6UIgG5vnbiFL6Q3ycpValOi9VfEhQ1iChDrShsPgNO7j1J+7ZNEpcbuXoti8tDpxgp3R5PZ1Kau8QYoUAmEkQ==","signatures":[{"sig":"MEUCIDqWs2kyRo5wC1wcKcIcFFP67hlf6WlRAXkoSk+r16FYAiEAzPT6vXSw5dUa6iOpH5ixdkhLvzqCalRwwoG2s3jQ8Gw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.3.1-next.1191.e999f6c","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24636},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"e999f6c5b5759d60dba9f3a50452af8e2eba2168","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.3.1-next.1191.e999f6c","@flighthq/types":"0.3.1-next.1191.e999f6c","@flighthq/textshaper":"0.3.1-next.1191.e999f6c"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.3.1-next.1191.e999f6c_1786959901111_0.07473231200234953","host":"s3://npm-registry-packages-npm-production"}},"0.3.1-next.1217.5f07972":{"name":"@flighthq/textshaper-canvas","version":"0.3.1-next.1217.5f07972","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.3.1-next.1217.5f07972","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"2b09de426e320eee6aaa2a03446bfd48d504bb1b","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.3.1-next.1217.5f07972.tgz","fileCount":14,"integrity":"sha512-9TfPlF/p/OfCR1isYqewE2rexubXDusH9fq9LBorfFcIJ42WW3shvPDCMKaNEHoKgsq9KFIy1/JduqV4xLqBMA==","signatures":[{"sig":"MEUCIQCD3kyVepBJx8RSKgmlGahDP3FcsTDdaYaZPz/JEtv3bAIgdRWmhx2ae0PyVbVZEbsEHCZ3JgtgWjPxskt3QFOZtQg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.3.1-next.1217.5f07972","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24636},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"5f0797204744d188d3cf2f94caaba730bc49c3d5","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.3.1-next.1217.5f07972","@flighthq/types":"0.3.1-next.1217.5f07972","@flighthq/textshaper":"0.3.1-next.1217.5f07972"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.3.1-next.1217.5f07972_1786991316574_0.9296119793230389","host":"s3://npm-registry-packages-npm-production"}},"0.3.1-next.1240.e41e1f0":{"name":"@flighthq/textshaper-canvas","version":"0.3.1-next.1240.e41e1f0","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.3.1-next.1240.e41e1f0","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"6f777c0969de86d17304f5bd8b6403a7e4fe2fff","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.3.1-next.1240.e41e1f0.tgz","fileCount":14,"integrity":"sha512-WT17Em5CczwsnRt2PaUW0U8miymH2FeuEgHJkc/g2HAzCnqSqdKWYmYDphx9MW14N8EoYDN8h5wV3pa+6dJmKQ==","signatures":[{"sig":"MEUCIQD8v0w6N9TG9zNEVtqJYFkh/3ebxVSzJlyn9Ar7U7VNIQIgAbEJILYTqvp8Q38FETFVGF7eE2+m9AiySPzu8zWliaY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.3.1-next.1240.e41e1f0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24636},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"e41e1f057a6a80c8aeac7c58383a98af0968b676","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.3.1-next.1240.e41e1f0","@flighthq/types":"0.3.1-next.1240.e41e1f0","@flighthq/textshaper":"0.3.1-next.1240.e41e1f0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.3.1-next.1240.e41e1f0_1786999541440_0.68409720627711","host":"s3://npm-registry-packages-npm-production"}},"0.4.0-next.1261.f361161":{"name":"@flighthq/textshaper-canvas","version":"0.4.0-next.1261.f361161","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.4.0-next.1261.f361161","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"d8e05cd46c61b80b87177f6ec1a264c1414083c4","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.4.0-next.1261.f361161.tgz","fileCount":14,"integrity":"sha512-vsVXh0yq/DInUjIYPlGn6hZNm+MxXvJq9/Zl1QotcvwdqIVYRGzTl59MlH2NCZcIX0fDPw6FuliQbxL1zKbrdA==","signatures":[{"sig":"MEYCIQD6L1o9bVHt9K8k0GsgTRfgLIV979xc2Cnio24Rb57aHAIhALl0A3oPr9yNH6SjVBaqUpCd3oIcJiBP4WvwQD/bEO6M","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.4.0-next.1261.f361161","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24636},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"f361161ec23e478bc35b88d31c331f0d50f13eeb","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.4.0-next.1261.f361161","@flighthq/types":"0.4.0-next.1261.f361161","@flighthq/textshaper":"0.4.0-next.1261.f361161"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.4.0-next.1261.f361161_1787006183713_0.6885951594096453","host":"s3://npm-registry-packages-npm-production"}},"0.4.0-next.1263.aa14a22":{"name":"@flighthq/textshaper-canvas","version":"0.4.0-next.1263.aa14a22","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.4.0-next.1263.aa14a22","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"8468200f5ebf6a06fe9f53d2d5fe846bac5419ea","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.4.0-next.1263.aa14a22.tgz","fileCount":14,"integrity":"sha512-fzJ/DCKURaU6PrZVOU1MmWO0hMysopGD038SCQz5lZU/BoVd9w0FLnc7aTBFRE+5wFRiwNbZI4g557PC2KEPPg==","signatures":[{"sig":"MEUCIDnQey0/h3wc1068fjVVhHNaKIrqjrZdHIeNqq//IiYZAiEAhPkWXdI3LGbksAVGfsOFTjKQXuD7krlxJ4jIPHDLLQE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.4.0-next.1263.aa14a22","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24636},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"aa14a22895fd01758a537a267228fdf4129fb3c0","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.4.0-next.1263.aa14a22","@flighthq/types":"0.4.0-next.1263.aa14a22","@flighthq/textshaper":"0.4.0-next.1263.aa14a22"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.4.0-next.1263.aa14a22_1787007253344_0.15818478399531455","host":"s3://npm-registry-packages-npm-production"}},"0.4.0-next.1287.1dae9df":{"name":"@flighthq/textshaper-canvas","version":"0.4.0-next.1287.1dae9df","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.4.0-next.1287.1dae9df","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"56ede33f6c99e50344b4747bc2aec94a6861130b","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.4.0-next.1287.1dae9df.tgz","fileCount":14,"integrity":"sha512-2P2CYBr5xtxMNKYSD2BE07IJMZNYqns7/004hDudYBy5JBsoHZLVmjvq2evvX3ZWnzu1nQCUsOQAuQ+qJqOshw==","signatures":[{"sig":"MEUCIQDVTXsQzwiaM3xd/KZztZFSGnJ0EbE2Hw/oF1Ma6N5jcAIgJucpAgjDfWyTJrxBESYWT77Sg9BP/bSO/u7HcdAvXks=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.4.0-next.1287.1dae9df","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24636},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"1dae9df025ffb9e821049b01f17339de7f747428","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.4.0-next.1287.1dae9df","@flighthq/types":"0.4.0-next.1287.1dae9df","@flighthq/textshaper":"0.4.0-next.1287.1dae9df"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.4.0-next.1287.1dae9df_1787014843850_0.9250811964328582","host":"s3://npm-registry-packages-npm-production"}},"0.4.0-next.1290.99fd889":{"name":"@flighthq/textshaper-canvas","version":"0.4.0-next.1290.99fd889","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.4.0-next.1290.99fd889","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"274830b450cb958082ab35ad95b70b1295647eae","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.4.0-next.1290.99fd889.tgz","fileCount":14,"integrity":"sha512-6IVxi36Se0vZLFJUIdpyAud8O2WJQOWihvwr30TrRORcjy/ei1OcfIvBV4lPCxQna6HGJ3tdbQ7+ZMj8zLMoOw==","signatures":[{"sig":"MEUCIQDKxzntOQH3eG33faqorjq5jin/4w3zIftGcgO7dzSyLgIgCTCBj58m9CY9W29MYuf/N7YEMgINwFq2fhUV3MTh+80=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.4.0-next.1290.99fd889","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24636},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"99fd88963a6b0552f04e4a369008a84e1863aacd","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.4.0-next.1290.99fd889","@flighthq/types":"0.4.0-next.1290.99fd889","@flighthq/textshaper":"0.4.0-next.1290.99fd889"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.4.0-next.1290.99fd889_1787016192253_0.6604616281330677","host":"s3://npm-registry-packages-npm-production"}},"0.4.0-next.1294.03b2010":{"name":"@flighthq/textshaper-canvas","version":"0.4.0-next.1294.03b2010","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.4.0-next.1294.03b2010","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"d1bf5935be0cebb8b86a01b0ae3dae77fad5e632","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.4.0-next.1294.03b2010.tgz","fileCount":14,"integrity":"sha512-rK8neQnk6FkG/pYB9/O8p2/rbvzXCUg1b7gKt6isU0RwJdAgfgnAWz4n1nlZydqfGKUtW5YC4aYY6mBaJ8cNVw==","signatures":[{"sig":"MEUCIFNM7FhvcDzA/Qb2Jil43dTEOBJQMofhTqKkRwhBrEoVAiEA01ekVWbw5Usy6FnnFpwTAu7PsOrNDk9XYriZi9xCAfg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.4.0-next.1294.03b2010","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24636},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"03b20100b01fce4383bfb5e3f198d31ac16f94ea","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.4.0-next.1294.03b2010","@flighthq/types":"0.4.0-next.1294.03b2010","@flighthq/textshaper":"0.4.0-next.1294.03b2010"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.4.0-next.1294.03b2010_1787020409540_0.7612217692251648","host":"s3://npm-registry-packages-npm-production"}},"0.4.0-next.1296.dfa990a":{"name":"@flighthq/textshaper-canvas","version":"0.4.0-next.1296.dfa990a","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.4.0-next.1296.dfa990a","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"a32f7f9bdd58c430f7c22ad8e9e0b191fef93dea","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.4.0-next.1296.dfa990a.tgz","fileCount":14,"integrity":"sha512-hlBnUXjLBahfJuqPUKJiResKRSs0UHv1ZMSFiRJkywHU5DUuBxtk4ulDck/CZM/wMkVLLG9a47jIzQqAnhRlXg==","signatures":[{"sig":"MEYCIQC8zijYR0smrHGqmCuvzTvgABHrV+h8XcIIyxH7VFfyAwIhAOYCbnKBt5agwWP3waTIg3JbeZ9gbUrg9+QrQTDTEuz2","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.4.0-next.1296.dfa990a","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24636},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"dfa990a25f0d30ffc753984cefac6fa02f65bfc1","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.4.0-next.1296.dfa990a","@flighthq/types":"0.4.0-next.1296.dfa990a","@flighthq/textshaper":"0.4.0-next.1296.dfa990a"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.4.0-next.1296.dfa990a_1787026942739_0.03182424768964709","host":"s3://npm-registry-packages-npm-production"}},"0.4.0-next.1299.541fadc":{"name":"@flighthq/textshaper-canvas","version":"0.4.0-next.1299.541fadc","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.4.0-next.1299.541fadc","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"c489b68ad27afbf6cc334831cd020fb651e2836d","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.4.0-next.1299.541fadc.tgz","fileCount":14,"integrity":"sha512-ZEvMkJSMgpLcdwv0RaG33QZZJC9xELmiyE+Bm2nZ2TVFaQZNd+IRchMDha+4BY1ab+4giXYJbdCUTKEdhWXG1A==","signatures":[{"sig":"MEQCIEHCrslsEYMsXrujWEmYvoIOK1VUxgQV4axjEUXFppaHAiAK2MVi1W7MYMKNnehH5oBZlhDJwjxAAnzdogYt+bjWFw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.4.0-next.1299.541fadc","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24636},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"541fadcc42ff9672e4f0184a4dbc76e0945acd5f","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.4.0-next.1299.541fadc","@flighthq/types":"0.4.0-next.1299.541fadc","@flighthq/textshaper":"0.4.0-next.1299.541fadc"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.4.0-next.1299.541fadc_1787033974732_0.40227850786582264","host":"s3://npm-registry-packages-npm-production"}},"0.4.0-next.1350.7431bb1":{"name":"@flighthq/textshaper-canvas","version":"0.4.0-next.1350.7431bb1","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.4.0-next.1350.7431bb1","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"83a86a242ae2a1d9236b3c20f94f27e479188988","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.4.0-next.1350.7431bb1.tgz","fileCount":14,"integrity":"sha512-qVx0Vw8h7v/JpqnUe2wvbOWs005B54bPeIu7FwKIfBviVweMUzX+rM+5y+/LG1h6sQUmL168O2SzfKe1gVWC1w==","signatures":[{"sig":"MEYCIQC7+yYxU3g3ctzjhkHc81sFWN4f+Q0kNp1hL7YfxTeLugIhAJmB06FdKcOfjDZ8STyFJ2R3f3kHR43KJ3bBSp+uabF1","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.4.0-next.1350.7431bb1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24636},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"7431bb1294fe823c7b7e59844e6a0f58b1ae3bc2","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.4.0-next.1350.7431bb1","@flighthq/types":"0.4.0-next.1350.7431bb1","@flighthq/textshaper":"0.4.0-next.1350.7431bb1"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.4.0-next.1350.7431bb1_1787067115577_0.6390634158714084","host":"s3://npm-registry-packages-npm-production"}},"0.4.0-next.1351.6ec45d6":{"name":"@flighthq/textshaper-canvas","version":"0.4.0-next.1351.6ec45d6","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.4.0-next.1351.6ec45d6","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"b6ab15175fb7312216d39e61a9a32e58ef0b049b","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.4.0-next.1351.6ec45d6.tgz","fileCount":14,"integrity":"sha512-RQo0DpANhIFqQ2sGUfFJbccUnaHCBUXYFmwLQNO2wS3uErr66Jbthl1QYvvfLtggRf5perMxwrkBAJmh3zh0vg==","signatures":[{"sig":"MEUCIDLNqwgmC22w4kFDY9jy+oQuUs4bC8ViRtOLwkYTE1i2AiEA47WzWbcYXrG8qHVCcPlaDbsQ3DmmFWlrl/M7K81ffHI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.4.0-next.1351.6ec45d6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24636},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"6ec45d6b31d6d287c2e8eba72b0c85fec7667c0c","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.4.0-next.1351.6ec45d6","@flighthq/types":"0.4.0-next.1351.6ec45d6","@flighthq/textshaper":"0.4.0-next.1351.6ec45d6"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.4.0-next.1351.6ec45d6_1787068116444_0.9370244666001903","host":"s3://npm-registry-packages-npm-production"}},"0.4.0-next.1354.5181c5f":{"name":"@flighthq/textshaper-canvas","version":"0.4.0-next.1354.5181c5f","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.4.0-next.1354.5181c5f","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"9266475969e2e2a7b4589d21fab501257bba32fc","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.4.0-next.1354.5181c5f.tgz","fileCount":14,"integrity":"sha512-LT6gbaCsIjBKycEMzSee41I0oxTfhzzeI7LjINlUXCry2TBTVnAhW28cv+OlZX8J8PySj7eAahcNvaqEREegpA==","signatures":[{"sig":"MEQCIGJzVGjCzy78EJ8S90TPpbepJDChyoIqXWCdGTstaykMAiAmAdHPVkjgaWRDVM04G2gkm2gypWFXr0SXJUKlqcUu5g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.4.0-next.1354.5181c5f","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24636},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"5181c5f1c469000694988e1f6e7dc37a98c6b28c","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.4.0-next.1354.5181c5f","@flighthq/types":"0.4.0-next.1354.5181c5f","@flighthq/textshaper":"0.4.0-next.1354.5181c5f"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.4.0-next.1354.5181c5f_1787076878630_0.3867770780377353","host":"s3://npm-registry-packages-npm-production"}},"0.4.0-next.1356.924bb91":{"name":"@flighthq/textshaper-canvas","version":"0.4.0-next.1356.924bb91","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.4.0-next.1356.924bb91","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"bca7d8b34e38d0ab6fa0a704ff9106796adc966f","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.4.0-next.1356.924bb91.tgz","fileCount":14,"integrity":"sha512-RGnvpp17ylVK2eYITOSN0XKSDpfSnDWtsKcTKdiHOe033uFBw4+3dl5qnJzCX2ZqB1gmBGlv02TeADFubNkl+Q==","signatures":[{"sig":"MEUCIFZBcEuiJ+R12lKyzjWZ0QZ8FggZj6BXTEfBy2afXCbZAiEAqKHVoJ6fMq91Qim9/lWebMd7iIEcTQbl7RcpYFTyeHk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.4.0-next.1356.924bb91","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24636},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"924bb91791102bc3cf5624441610ef3e2b335b68","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.4.0-next.1356.924bb91","@flighthq/types":"0.4.0-next.1356.924bb91","@flighthq/textshaper":"0.4.0-next.1356.924bb91"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.4.0-next.1356.924bb91_1787078159682_0.7803003939825592","host":"s3://npm-registry-packages-npm-production"}},"0.4.0-next.1357.b87b5c1":{"name":"@flighthq/textshaper-canvas","version":"0.4.0-next.1357.b87b5c1","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.4.0-next.1357.b87b5c1","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"d6a56fd2150a6cb83ffbd62f0176360b4bfbcbdb","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.4.0-next.1357.b87b5c1.tgz","fileCount":14,"integrity":"sha512-SvhGJcjL/yY+fq/AVC5MRAM0qJupvlxmFb4NfTo3hTmC/n4UobFVaeW7pRdogyHTaLoX98Z9D8SjIIlFwSWTPA==","signatures":[{"sig":"MEQCIArz0/NIDhvCr2a4X4ENIMDkBu0nszne6pUVhcG/J1A4AiAB74jYPuKNp8h7snWe9yRd9KFrha+nWnKaqDW2TRLrzA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.4.0-next.1357.b87b5c1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24636},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"b87b5c15158aa2898caff7f3e3c3867854d29d5f","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.4.0-next.1357.b87b5c1","@flighthq/types":"0.4.0-next.1357.b87b5c1","@flighthq/textshaper":"0.4.0-next.1357.b87b5c1"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.4.0-next.1357.b87b5c1_1787078301941_0.030498016075585888","host":"s3://npm-registry-packages-npm-production"}},"0.4.0-next.1362.3734bd4":{"name":"@flighthq/textshaper-canvas","version":"0.4.0-next.1362.3734bd4","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.4.0-next.1362.3734bd4","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"3e139a2c2514510fe273f6e86169342593c9ddd2","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.4.0-next.1362.3734bd4.tgz","fileCount":14,"integrity":"sha512-LEf6NNMZVzLdqJ3u+bsBA6svaduHI5gNuXUzA+G8N7bKGxyrGAXkXWpqNrxvUsY53N3lZC6bhAMMxZejbjbvIg==","signatures":[{"sig":"MEYCIQDO6wHLPpV+C88pwnvBG6TAEh8Vcx4G0jBSXxsNU23sPQIhALVATfcqfv5a3nOiibGwPxTA7MIUOHM6+u6jOYJ78hcd","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.4.0-next.1362.3734bd4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24636},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"3734bd4936d51eea42ddfd38f48b995d49e6657c","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.4.0-next.1362.3734bd4","@flighthq/types":"0.4.0-next.1362.3734bd4","@flighthq/textshaper":"0.4.0-next.1362.3734bd4"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.4.0-next.1362.3734bd4_1787078959284_0.5092964038888188","host":"s3://npm-registry-packages-npm-production"}},"0.4.0-next.1383.b8eb497":{"name":"@flighthq/textshaper-canvas","version":"0.4.0-next.1383.b8eb497","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.4.0-next.1383.b8eb497","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"fa1869b228390acb6848fea298957b0cd417c42d","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.4.0-next.1383.b8eb497.tgz","fileCount":14,"integrity":"sha512-dHHGjrafD/qn2JntzSKIgXSLoO+Cl/gNTuD3+PrneHRceKt/HVg1tS8EqjiLe4UVEsYD5wTFFO7U9hry5h9SIw==","signatures":[{"sig":"MEUCIQDxdYKq0JCd9iHzYoCHoweg6tlOeA9bhUyikysOMlogaAIgU6eZ2gy3wgytdRcL0kWeL7hIMSSwSA+lo33CAInyKkY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.4.0-next.1383.b8eb497","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24636},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"b8eb4977f0d1496e8c4b2f47f16c82c0710291d0","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.4.0-next.1383.b8eb497","@flighthq/types":"0.4.0-next.1383.b8eb497","@flighthq/textshaper":"0.4.0-next.1383.b8eb497"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.4.0-next.1383.b8eb497_1787080284912_0.7561776495836714","host":"s3://npm-registry-packages-npm-production"}},"0.4.0-next.1385.dc129fd":{"name":"@flighthq/textshaper-canvas","version":"0.4.0-next.1385.dc129fd","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.4.0-next.1385.dc129fd","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"8a0128a52d98404d15f0286442fde044180a613e","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.4.0-next.1385.dc129fd.tgz","fileCount":14,"integrity":"sha512-xNP1hzqnReBiyQxhZXdXvtDmdVoa7Kr6mZhTgdCYJgPGM9s9kKTg/IctqgO+E3mfilSxmOcxm3RDcn6RTubVtg==","signatures":[{"sig":"MEYCIQC0Pz6CoH6TYo1vlyZOlIImzcRzv1DPzSudSKqPc2KV6AIhALV8xS/Htj3jo33xOmAsDRI0r0wRp4JfXd24AIcbNHaA","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.4.0-next.1385.dc129fd","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24636},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"dc129fdaf5719e6fe6da44e8755cbc798806ee74","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.4.0-next.1385.dc129fd","@flighthq/types":"0.4.0-next.1385.dc129fd","@flighthq/textshaper":"0.4.0-next.1385.dc129fd"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.4.0-next.1385.dc129fd_1787082052391_0.3741996656065585","host":"s3://npm-registry-packages-npm-production"}},"0.4.0-next.1390.ca3ba2b":{"name":"@flighthq/textshaper-canvas","version":"0.4.0-next.1390.ca3ba2b","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.4.0-next.1390.ca3ba2b","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"7a67a04cfaf2f11c119de6662c0001e7c681fae2","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.4.0-next.1390.ca3ba2b.tgz","fileCount":14,"integrity":"sha512-aP1zZj0D5CGhUj3YPagyCktB0Hp/jZ7rko88y16x8fyLMuLQXLFGypmm6k2ekC+hjKUP2Z3cA9DWZxBBMKd83g==","signatures":[{"sig":"MEQCIBQw6rMJn+UhZQT64hbgJgQC8FYv/aazrNYB8HDIGMjXAiBJ6FaUNghCHG3eWnNkqto3FSo/aOS3xzrY4g3nD2fjRA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.4.0-next.1390.ca3ba2b","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24636},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"ca3ba2bc71b176e9f619cdfbee0d0fa5c59769bf","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.4.0-next.1390.ca3ba2b","@flighthq/types":"0.4.0-next.1390.ca3ba2b","@flighthq/textshaper":"0.4.0-next.1390.ca3ba2b"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.4.0-next.1390.ca3ba2b_1787084788072_0.5857071286046336","host":"s3://npm-registry-packages-npm-production"}},"0.4.0-next.1391.ef8547e":{"name":"@flighthq/textshaper-canvas","version":"0.4.0-next.1391.ef8547e","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.4.0-next.1391.ef8547e","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"00ffbcf9de887bf5ae8836beb0a129badfb63eae","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.4.0-next.1391.ef8547e.tgz","fileCount":14,"integrity":"sha512-yZ8J248+cxJlleUm/reW+B9ZTGSXSy2PpzToygJClZFjmQgkIBB9BZSPBC0SfxswDKDZK2BYwYJQUWLwgPbOLg==","signatures":[{"sig":"MEYCIQCM4AOLIah1xJo8Q71lRfn9nUx4/NxEwECvTM+0+57lggIhAO5WsG3rZ/s1ZS6HDZxdIwB1JrNriZII55DT1TdOdCUl","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.4.0-next.1391.ef8547e","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24636},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"ef8547e4f1d53ec2c0a70c3df10b9406d13096f9","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.4.0-next.1391.ef8547e","@flighthq/types":"0.4.0-next.1391.ef8547e","@flighthq/textshaper":"0.4.0-next.1391.ef8547e"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.4.0-next.1391.ef8547e_1787084938508_0.5881339747911134","host":"s3://npm-registry-packages-npm-production"}},"0.4.0-next.1392.ae73a44":{"name":"@flighthq/textshaper-canvas","version":"0.4.0-next.1392.ae73a44","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.4.0-next.1392.ae73a44","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"2ec2b15730c7955b109bd157a8cdaaf914e1ff59","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.4.0-next.1392.ae73a44.tgz","fileCount":14,"integrity":"sha512-jLNcoDG/Z4kNEwPFgqQiamUgYmjAfgA9J43MFmSa9Lmp5W1Jz4GwMfiZqnLMTRd8cBCwaVQsmf9GQ7Rs5OaGiQ==","signatures":[{"sig":"MEUCIGz6RXty3ZOcMQRmJa+2UcySN3aTiKGVGQCPScLfH00cAiEA+Zc1qgm33m7Na+vnCbKIuLGKqljW5/FToMTkwy6PBNk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.4.0-next.1392.ae73a44","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24636},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"ae73a4474c40d293f2ab2295ae932102668c6b04","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.4.0-next.1392.ae73a44","@flighthq/types":"0.4.0-next.1392.ae73a44","@flighthq/textshaper":"0.4.0-next.1392.ae73a44"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.4.0-next.1392.ae73a44_1787091076063_0.9793988625406427","host":"s3://npm-registry-packages-npm-production"}},"0.4.0-next.1396.66c9814":{"name":"@flighthq/textshaper-canvas","version":"0.4.0-next.1396.66c9814","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.4.0-next.1396.66c9814","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"b18ba77f3cc02c76db3372f57be2f0de60168ce1","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.4.0-next.1396.66c9814.tgz","fileCount":14,"integrity":"sha512-+B0i8lcRLvDg2UNqBDqv5QabAHN10APdvAoTh+uTO6EpfxmgPAnIHyBUeILQKXxsz+CNUfssSsqb0kJPLgnVGA==","signatures":[{"sig":"MEQCIHRndBqdmX3oGifPxnbhNqEgkZEXpVnHdSVuW64rzGs3AiBHb2shu3TEbo464iv9tsi8VbFOkwNE3bvz/1i2In/O7g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.4.0-next.1396.66c9814","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24636},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"66c9814f2387abf7cef7a334a4edf573110aadb8","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.4.0-next.1396.66c9814","@flighthq/types":"0.4.0-next.1396.66c9814","@flighthq/textshaper":"0.4.0-next.1396.66c9814"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.4.0-next.1396.66c9814_1787095765225_0.9095176326342969","host":"s3://npm-registry-packages-npm-production"}},"0.4.0-next.1398.776fd7a":{"name":"@flighthq/textshaper-canvas","version":"0.4.0-next.1398.776fd7a","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.4.0-next.1398.776fd7a","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"b60610c97c39affc6b0c544e9e7e19f87b159533","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.4.0-next.1398.776fd7a.tgz","fileCount":14,"integrity":"sha512-w57CuLOUVEjp1hx8kr6VEA4NWUB3xuAJXvUanS2hHl0jD+GeEsZoiVSyF488WqZ+s1MEtu9x5pwRVmvo/G4Xyw==","signatures":[{"sig":"MEUCIG2MX/ueEjbxMwQ/Dm5oSjglQInxu8h1YetT4Cy9zVzJAiEA92WfGZMwPxmxzvwjAM+av56K0W411OVoMq3Q2+75sxs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.4.0-next.1398.776fd7a","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24636},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"776fd7a25d706d45456f573331a1884c9b512827","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.4.0-next.1398.776fd7a","@flighthq/types":"0.4.0-next.1398.776fd7a","@flighthq/textshaper":"0.4.0-next.1398.776fd7a"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.4.0-next.1398.776fd7a_1787095891553_0.6908812509807176","host":"s3://npm-registry-packages-npm-production"}},"0.4.0-next.1399.9d20d2e":{"name":"@flighthq/textshaper-canvas","version":"0.4.0-next.1399.9d20d2e","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.4.0-next.1399.9d20d2e","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"8ac66ee2c15472f2c838c99fbdafcec9116a04b2","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.4.0-next.1399.9d20d2e.tgz","fileCount":14,"integrity":"sha512-qgNI+wl0K3xxcDB0/CatG7/UKEsk/6YoV+TZmttckD5YiD0fVLupLYyxplKQr6C89Zh0En4tdeRnjRabf+YnLQ==","signatures":[{"sig":"MEYCIQC0J8CH8sP+oR9OxDbYLGfK1XTi5gl7AKxnN7y4E7mOGgIhAMijvWUTmHCIbCba2GZrgLfDAqzsMS1smKYFEqzx+lDX","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.4.0-next.1399.9d20d2e","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24636},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"9d20d2e0317023af656379bb16f54f02cf43c97a","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.4.0-next.1399.9d20d2e","@flighthq/types":"0.4.0-next.1399.9d20d2e","@flighthq/textshaper":"0.4.0-next.1399.9d20d2e"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.4.0-next.1399.9d20d2e_1787097495794_0.45160065370361724","host":"s3://npm-registry-packages-npm-production"}},"0.4.0-next.1404.4936e90":{"name":"@flighthq/textshaper-canvas","version":"0.4.0-next.1404.4936e90","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.4.0-next.1404.4936e90","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"61ce0ac9eb943086312ceabe7d847f47af527694","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.4.0-next.1404.4936e90.tgz","fileCount":14,"integrity":"sha512-XUeujmsK85FIj+MMvnRow633gE0l62U2SojQgADZIYWVGfQlLZUbRBmwD4ulP63jnjyVGp2DACU3kU11JXPmMQ==","signatures":[{"sig":"MEUCIBk8Fenrmglk7GFaivahw0TLjmHYujQ70zh0FcemxB9GAiEAtvkwAFz/MWqeaXc55KIAXAZ0S8j7J8gqb/ozYix2+Z8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.4.0-next.1404.4936e90","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24636},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"4936e9049b9547aad61b9ae7febd4a41021b45a0","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.4.0-next.1404.4936e90","@flighthq/types":"0.4.0-next.1404.4936e90","@flighthq/textshaper":"0.4.0-next.1404.4936e90"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.4.0-next.1404.4936e90_1787102296774_0.9295405219888973","host":"s3://npm-registry-packages-npm-production"}},"0.4.0-next.1405.d7484cf":{"name":"@flighthq/textshaper-canvas","version":"0.4.0-next.1405.d7484cf","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.4.0-next.1405.d7484cf","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"3ac122d01226763408f66b5107adb25c685464e1","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.4.0-next.1405.d7484cf.tgz","fileCount":14,"integrity":"sha512-inmrXWvQgmVSkl/iUlOB4luLNFb1fnPq8o34RnUx3KHtSSbS92l/yDM2OOtUdk6e/2ZKRveP7C6IOLfGx3GoQw==","signatures":[{"sig":"MEQCIEKMTLekCILwjYD6fIFuogP/mCLNBbzUnu+iZszlZRHnAiBKUyUA50iwc+c5ERv50HHlJEkqBtyAdHf2quWEhd8gBw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.4.0-next.1405.d7484cf","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24636},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"d7484cfdaa0f9ef0b3e7fd92356d39208e74167f","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.4.0-next.1405.d7484cf","@flighthq/types":"0.4.0-next.1405.d7484cf","@flighthq/textshaper":"0.4.0-next.1405.d7484cf"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.4.0-next.1405.d7484cf_1787102433871_0.6416060749744996","host":"s3://npm-registry-packages-npm-production"}},"0.4.0-next.1410.a69907a":{"name":"@flighthq/textshaper-canvas","version":"0.4.0-next.1410.a69907a","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.4.0-next.1410.a69907a","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"e3ecc273be95e8bcbad83d6fc9a1851a8847e704","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.4.0-next.1410.a69907a.tgz","fileCount":14,"integrity":"sha512-2+j5Xu5YfAFfAjWXXvbCu7b6/YEfMJB18KqO6gwwmiE+1ho9dNcm/rOAZLUYpGrZ7NmkLIGweEDZ2/y922Xo8g==","signatures":[{"sig":"MEUCIQDZXGjB2MD5Fj7Fqq7KMxhNbvv2r+J8hN7lVn8BlvCetAIge4DIoitCUOARhwbZnOqSeuE+7hrDLldXWunvON5VMsQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.4.0-next.1410.a69907a","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24636},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"a69907a83c6ff3b3de8935e42c221b780c180296","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.4.0-next.1410.a69907a","@flighthq/types":"0.4.0-next.1410.a69907a","@flighthq/textshaper":"0.4.0-next.1410.a69907a"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.4.0-next.1410.a69907a_1787118563508_0.5532941867403176","host":"s3://npm-registry-packages-npm-production"}},"0.4.0-next.1412.05a7272":{"name":"@flighthq/textshaper-canvas","version":"0.4.0-next.1412.05a7272","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.4.0-next.1412.05a7272","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"989057f1bedfdf5e58494af40d30d1da47f43c6c","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.4.0-next.1412.05a7272.tgz","fileCount":14,"integrity":"sha512-S8jZvE9N30zakcEpR+iSLqh42U9UqXIR9O/u4K9dsLpvQ0tYeV3gS3t3L12/z5VZ8SSyaj5YPxpIsQTlb5+Zig==","signatures":[{"sig":"MEUCIFrsuwXiBKWkiOL+aZbur9wzfeZrIGrqZKjywZ4v1zcBAiEAqB8vqiwBptQ59xAUKsx2Ce53Op1fvdgr/9SVdG+ydI0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.4.0-next.1412.05a7272","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24636},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"05a72726f4579a5cdb44f886630d8f92480764d4","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.4.0-next.1412.05a7272","@flighthq/types":"0.4.0-next.1412.05a7272","@flighthq/textshaper":"0.4.0-next.1412.05a7272"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.4.0-next.1412.05a7272_1787120589330_0.8929155468591472","host":"s3://npm-registry-packages-npm-production"}},"0.4.0-next.1415.00028b0":{"name":"@flighthq/textshaper-canvas","version":"0.4.0-next.1415.00028b0","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.4.0-next.1415.00028b0","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"2549008455026fb7f363200bba32bc81dc0e8827","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.4.0-next.1415.00028b0.tgz","fileCount":14,"integrity":"sha512-Ra8xcyplooXLrfxZrgSxB30ipdSSXHgFXW485XYW42/5TjcBcv6jBobU4RDaaWMbq30lJKUHtp51YQWgsHLoaQ==","signatures":[{"sig":"MEQCIGU0/+Pu/7i2QBabXN8fkDiODVBlygEwWOogMEXJoDu4AiBPVXBm9/Z/r3ndhDgumUQCuk9m5ckvU20zkECDOzsH4w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.4.0-next.1415.00028b0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24636},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"00028b0f581f46010a9ba6f4d34a54cbfbe90ac0","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.4.0-next.1415.00028b0","@flighthq/types":"0.4.0-next.1415.00028b0","@flighthq/textshaper":"0.4.0-next.1415.00028b0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.4.0-next.1415.00028b0_1787121474144_0.23729929766984825","host":"s3://npm-registry-packages-npm-production"}},"0.4.0-next.1416.ef4fae7":{"name":"@flighthq/textshaper-canvas","version":"0.4.0-next.1416.ef4fae7","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.4.0-next.1416.ef4fae7","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"2acdb27253a268f754a13a11ea6ce150ff287780","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.4.0-next.1416.ef4fae7.tgz","fileCount":14,"integrity":"sha512-9HfQAaYKA2/VPWug76+nFn24yVqAuqMH01W21skByj9ZL5qKtIua8/Kmtpszr4UfHDakZ+/8dvBp50YVW3fxHA==","signatures":[{"sig":"MEQCIBZnRYwTQyxHSTmSwI49r+rrNUmjKMy9IRTyzQrnjbXDAiAC787MuPTD+e6ouu1f8Qi6Vi68s1REYLeOVsafWIRfcg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.4.0-next.1416.ef4fae7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24636},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"ef4fae7fcce4981f09353ef665113c0034491f34","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.4.0-next.1416.ef4fae7","@flighthq/types":"0.4.0-next.1416.ef4fae7","@flighthq/textshaper":"0.4.0-next.1416.ef4fae7"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.4.0-next.1416.ef4fae7_1787156010632_0.4354976041183187","host":"s3://npm-registry-packages-npm-production"}},"0.4.0-next.1487.e25e95d":{"name":"@flighthq/textshaper-canvas","version":"0.4.0-next.1487.e25e95d","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.4.0-next.1487.e25e95d","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"b9c105d2486cc829f3da218396169cf87fe8fa29","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.4.0-next.1487.e25e95d.tgz","fileCount":14,"integrity":"sha512-6JFdQAWw5nPzO6dyiizBNy3jQNAwGa3ZMQhLgZNc9OHB/0B36FjC6lKBVES/00eO9URtPAODIG6SqXEeupjssg==","signatures":[{"sig":"MEQCIBDXxyfbz8MA1uQBiyLM9+k7zhpJmy84Ar24Q9oEI1BJAiBbRaqwJOldejeWz9OSOpuwL1Co2Xh0dyzqMKmGOGlNYw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.4.0-next.1487.e25e95d","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24636},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"e25e95d60f7439c174b16b0c9c970d4aba8223bd","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.4.0-next.1487.e25e95d","@flighthq/types":"0.4.0-next.1487.e25e95d","@flighthq/textshaper":"0.4.0-next.1487.e25e95d"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.4.0-next.1487.e25e95d_1787182330622_0.6191747167321888","host":"s3://npm-registry-packages-npm-production"}},"0.4.0-next.1488.43bcb37":{"name":"@flighthq/textshaper-canvas","version":"0.4.0-next.1488.43bcb37","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.4.0-next.1488.43bcb37","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"6c5272143cc88fbcfda05b8c7125c02a3d0bcf1c","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.4.0-next.1488.43bcb37.tgz","fileCount":14,"integrity":"sha512-vHCAolvpbGN1mvu+QRNol303TUw+lG9sjnKAJIbohGamzTGzcJ+8mFBDH+7Z4/I+XEZ2NUvvMKo3YvqWZHcngg==","signatures":[{"sig":"MEUCIBIbsc8oY7YzdzBg4Kf0Y89Dw48w4orlv9y5tpTA2L2NAiEA4dNU3UpHnjq1nyOmSMyLrLBhfIXxXpAm/GVnt3A/YLs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.4.0-next.1488.43bcb37","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24636},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"43bcb37d9a5a44d81b8490439b9e43ac5d1e82f7","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.4.0-next.1488.43bcb37","@flighthq/types":"0.4.0-next.1488.43bcb37","@flighthq/textshaper":"0.4.0-next.1488.43bcb37"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.4.0-next.1488.43bcb37_1787201005544_0.5960835440296668","host":"s3://npm-registry-packages-npm-production"}},"0.4.0-next.1584.a8ddd61":{"name":"@flighthq/textshaper-canvas","version":"0.4.0-next.1584.a8ddd61","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.4.0-next.1584.a8ddd61","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"3aa9f82073e08881e57634e6dcd63dd84f3d4325","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.4.0-next.1584.a8ddd61.tgz","fileCount":14,"integrity":"sha512-M5CYuQq/oWlQIlWFA5ka5qx+2Ick7S1HYyHHz2oth1ORMmWg0UYmefGZd0x03Tzny7+5GYOVKaljOXyJhngjqg==","signatures":[{"sig":"MEQCIH0k+2Yk9x+TXEsYNA3PYbcgl71zs/iW/YbGqIq/TdgVAiBL3545+Dzi8co/WFc+SJdardZ/HpmVTMScOd2fxtTi9Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.4.0-next.1584.a8ddd61","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24636},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"a8ddd61739924a54b02ef606a8c16d7b66c66807","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.4.0-next.1584.a8ddd61","@flighthq/types":"0.4.0-next.1584.a8ddd61","@flighthq/textshaper":"0.4.0-next.1584.a8ddd61"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.4.0-next.1584.a8ddd61_1787250521257_0.11682754704696485","host":"s3://npm-registry-packages-npm-production"}},"0.4.0-next.1585.bf131c8":{"name":"@flighthq/textshaper-canvas","version":"0.4.0-next.1585.bf131c8","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.4.0-next.1585.bf131c8","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"f4ef2ff8840b1ffd2315bc2f28e74f484df8e1c2","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.4.0-next.1585.bf131c8.tgz","fileCount":14,"integrity":"sha512-LmVeK25WSQI7tNTAaJ46Acy/moPJ52NhAtT4uZ0zzMshxrMr720I0vVQzxjaa0GglUFWwkPJloNHXoc85kkcmg==","signatures":[{"sig":"MEUCIQD11+eDbxijbMlVv519QGo9Of3/Q7j+bLDXlX0vpOEF1QIgWOtsBMqFSxQwCamiVtzktF7kJF9NWEwnjmLA+r+V2Yk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.4.0-next.1585.bf131c8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24636},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"bf131c8abe61502de71895639d57db3e2e2c1ab0","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.4.0-next.1585.bf131c8","@flighthq/types":"0.4.0-next.1585.bf131c8","@flighthq/textshaper":"0.4.0-next.1585.bf131c8"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.4.0-next.1585.bf131c8_1787251183078_0.8473713439558646","host":"s3://npm-registry-packages-npm-production"}},"0.4.0-next.1602.af48ed1":{"name":"@flighthq/textshaper-canvas","version":"0.4.0-next.1602.af48ed1","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.4.0-next.1602.af48ed1","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"c4b54f6c1d8df13f6f86408ee1eee4645043295b","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.4.0-next.1602.af48ed1.tgz","fileCount":14,"integrity":"sha512-m0efrxn8UHdxcdOX1wl2mN3HLoOXO+Sint4UuQjnYgrmik1rM6soZpbmciMm5L6thGQGn9Lb2vIP2fUh3yrnwA==","signatures":[{"sig":"MEQCIB0VG/qB9maWEMKV9cYxzbDBEfTwI4kRp3Nykqo5XXMyAiBT2fLfgrQmWc2SCZqgyGFCBLSs2pqK5W/JcpbToYhp6A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.4.0-next.1602.af48ed1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24636},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"af48ed1ac05ae5fda74d63d9233f32a9ea8bbaf7","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.4.0-next.1602.af48ed1","@flighthq/types":"0.4.0-next.1602.af48ed1","@flighthq/textshaper":"0.4.0-next.1602.af48ed1"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.4.0-next.1602.af48ed1_1787267571822_0.274686127344687","host":"s3://npm-registry-packages-npm-production"}},"0.4.0-next.1652.39f08fd":{"name":"@flighthq/textshaper-canvas","version":"0.4.0-next.1652.39f08fd","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.4.0-next.1652.39f08fd","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"695433284596d50dd91870a5674fc4d7df665ca3","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.4.0-next.1652.39f08fd.tgz","fileCount":14,"integrity":"sha512-j4ERtV2QtmDLONvuz9J+3JvMH3IRt2kpbML5JJ5OilvXwGf7I7DFyyUw+YRirD131e9XxJ3Z/1x94rHPK9+aYw==","signatures":[{"sig":"MEUCIDySLFoOaifP0W3g8tvjmXE0GqiHovbld5rZdqU3s4Q/AiEA78bn5oiWsG87OdMHMtxFWRlh7WfiSdeiAoBIuNUcjuI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.4.0-next.1652.39f08fd","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24636},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"39f08fd3355ac957ef8965e70140e77c935b6c55","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.4.0-next.1652.39f08fd","@flighthq/types":"0.4.0-next.1652.39f08fd","@flighthq/textshaper":"0.4.0-next.1652.39f08fd"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.4.0-next.1652.39f08fd_1787280880361_0.26999548430508646","host":"s3://npm-registry-packages-npm-production"}},"0.4.0-next.1663.d9c5746":{"name":"@flighthq/textshaper-canvas","version":"0.4.0-next.1663.d9c5746","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.4.0-next.1663.d9c5746","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"4e6aded501623629c8dcad3eabb8998d8ec6a03b","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.4.0-next.1663.d9c5746.tgz","fileCount":14,"integrity":"sha512-yrVewx95cX47PUltQxf22EQZdZKF8Iz7/BDdrn9vrPGC5PbwradoyH6DsdK9OzwwMf0T8cXzkro8ajl6h43SOg==","signatures":[{"sig":"MEUCICfYSw4VR7G3n0VFaHOdyAGcKR2Cv1oKgEskj2U29r9rAiEA4+E35jri2g0utYZ1xpeGKZav5v1HMsN9Qztgnb/SuQU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.4.0-next.1663.d9c5746","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24636},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"d9c574612a1280ddc4f84bb3486a41579a068085","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.4.0-next.1663.d9c5746","@flighthq/types":"0.4.0-next.1663.d9c5746","@flighthq/textshaper":"0.4.0-next.1663.d9c5746"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.4.0-next.1663.d9c5746_1787287666358_0.02067073711878864","host":"s3://npm-registry-packages-npm-production"}},"0.4.0-next.1694.598ef6f":{"name":"@flighthq/textshaper-canvas","version":"0.4.0-next.1694.598ef6f","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.4.0-next.1694.598ef6f","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"0916d9ecc87c2d289750660395f87558de2c027c","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.4.0-next.1694.598ef6f.tgz","fileCount":14,"integrity":"sha512-5eOScJTz/gu7lxlK/Ov7qpaQ/xB/THcddiyHs4IkDILIWOKq6XpMDPsaBVHv8IlLmkvsjV0cUu/QbejVn//ddg==","signatures":[{"sig":"MEYCIQC4wKMwTldDDNcMf3DI2L4eEwnf2GjhcMM69EM+lKDf8QIhAONodXHSly1eCVRkDEqPfiFY07/cpbOxN+l2iObpKY9j","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.4.0-next.1694.598ef6f","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24636},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"598ef6f62b6f1ae2873956501069ed824699021a","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.4.0-next.1694.598ef6f","@flighthq/types":"0.4.0-next.1694.598ef6f","@flighthq/textshaper":"0.4.0-next.1694.598ef6f"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.4.0-next.1694.598ef6f_1787288502817_0.09883316422716981","host":"s3://npm-registry-packages-npm-production"}},"0.4.0-next.1695.181dea5":{"name":"@flighthq/textshaper-canvas","version":"0.4.0-next.1695.181dea5","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.4.0-next.1695.181dea5","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"f4f520ba84561032c48bf058ca167052b30ea076","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.4.0-next.1695.181dea5.tgz","fileCount":14,"integrity":"sha512-fc3Qow/bSgm2yzJezfQgm/Zx02MjzWJdGV5rIbEeYTjFjwPHpyivJvnlSkyXc368U7FcujB00EJ860I6Z/gwcg==","signatures":[{"sig":"MEUCIQDvEhx3Wn7EBwa7ReYALy0u+57SJ2fC1Ui7n4aT7VngzwIgf1DJD8+MJAw06xNR/79DSgs+yjYK2WEuPYcsWVjV2B8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.4.0-next.1695.181dea5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24636},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"181dea5e323d8b0845ede2fade7f67b2ce8d2554","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.4.0-next.1695.181dea5","@flighthq/types":"0.4.0-next.1695.181dea5","@flighthq/textshaper":"0.4.0-next.1695.181dea5"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.4.0-next.1695.181dea5_1787292981308_0.13596482715650615","host":"s3://npm-registry-packages-npm-production"}},"0.4.0-next.1696.93f6f63":{"name":"@flighthq/textshaper-canvas","version":"0.4.0-next.1696.93f6f63","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.4.0-next.1696.93f6f63","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"a643579e7c09454a90eefce0ef4f783de622a59b","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.4.0-next.1696.93f6f63.tgz","fileCount":14,"integrity":"sha512-sglCqQihy4wjDI3cp+ra7U+EZkfYK7N0C7ZTGtonVrDixT8d0M65DISFYpx0+VK+GIl3fuVpy/Ahu5GQHyjCfg==","signatures":[{"sig":"MEYCIQD8SzP9HaIAFlnuzFxPQwikphr2a95/DNcwnWdkn6ey/gIhAL9bB9BA4f9vcW+S5qJC3ySD9epiVRk01BM/PuZcUoym","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.4.0-next.1696.93f6f63","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24636},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"93f6f63eca2b6864dedc151c301be624236f131b","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.4.0-next.1696.93f6f63","@flighthq/types":"0.4.0-next.1696.93f6f63","@flighthq/textshaper":"0.4.0-next.1696.93f6f63"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.4.0-next.1696.93f6f63_1787293462607_0.4380544952351142","host":"s3://npm-registry-packages-npm-production"}},"0.4.0-next.1702.61a7a7c":{"name":"@flighthq/textshaper-canvas","version":"0.4.0-next.1702.61a7a7c","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.4.0-next.1702.61a7a7c","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"12d676c37ff510c8d36d34bcacea2791f3bd80a5","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.4.0-next.1702.61a7a7c.tgz","fileCount":14,"integrity":"sha512-NluyEkB5ZvN7N7E2TZtfz7ut2q3Y7omGcT+Aw7ABGZri2nzOTietBOCoGEa1JWrHe7xEGV4yiWdLoJ0wzU4bnA==","signatures":[{"sig":"MEUCIQC46pdJiLND2vHpxZCZrXryy2utSipgmHHnt4DWcwX+XwIgedoifFvJCgGt/8kg7QnW9AakMB4T5xvOITre9bLzxmw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.4.0-next.1702.61a7a7c","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24636},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"61a7a7cc67afb80f8df61975bac6404a7e480370","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.4.0-next.1702.61a7a7c","@flighthq/types":"0.4.0-next.1702.61a7a7c","@flighthq/textshaper":"0.4.0-next.1702.61a7a7c"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.4.0-next.1702.61a7a7c_1787296340123_0.20900508862422273","host":"s3://npm-registry-packages-npm-production"}},"0.4.0-next.1703.b82d313":{"name":"@flighthq/textshaper-canvas","version":"0.4.0-next.1703.b82d313","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.4.0-next.1703.b82d313","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"d80cc340d485e8e824b011e4bf52589ce55f4662","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.4.0-next.1703.b82d313.tgz","fileCount":14,"integrity":"sha512-mDujrvk6pUyhUdWXnXkWteRspDMYpuU5pDV8JxOvT108Yo4suPReD1XAwy6XUU0HSyDon86gRlOLkAWn30duLw==","signatures":[{"sig":"MEUCIQCX11aR9UjtOwN8NTRwpI7jD3eTVKUmTzsJOaJduuS+SwIgKgXEX/c8wxDuJ8ccdDUIQDV2zamR7xiY8EqDYOG9Ado=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.4.0-next.1703.b82d313","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24636},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"b82d313abae5abbfe0568f8a0ecf7e7cf834d269","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.4.0-next.1703.b82d313","@flighthq/types":"0.4.0-next.1703.b82d313","@flighthq/textshaper":"0.4.0-next.1703.b82d313"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.4.0-next.1703.b82d313_1787298167436_0.4682374894696886","host":"s3://npm-registry-packages-npm-production"}},"0.4.0-next.1704.9eb98e1":{"name":"@flighthq/textshaper-canvas","version":"0.4.0-next.1704.9eb98e1","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.4.0-next.1704.9eb98e1","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"55dea1f14760a7b4507440372a3935cf3be3fded","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.4.0-next.1704.9eb98e1.tgz","fileCount":14,"integrity":"sha512-bhKZPF1m2GxGriS2hYCR012KWkjPjxyDi7sCSvw95Gkt84AumqVM8WFjBWc8tLSg/jjITXlRPJ7377mkhV+gLw==","signatures":[{"sig":"MEUCIQCptT7umQmWM5phtf38W34to0kQdwWQQIJklaN2ZlEA9QIgAuajwnmJpCUe1gYB14XhLffhgOV6wH7hFNM832iASVE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.4.0-next.1704.9eb98e1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24636},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"9eb98e11caee246589365df812ece128264ef638","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.4.0-next.1704.9eb98e1","@flighthq/types":"0.4.0-next.1704.9eb98e1","@flighthq/textshaper":"0.4.0-next.1704.9eb98e1"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.4.0-next.1704.9eb98e1_1787300988766_0.002214296148750794","host":"s3://npm-registry-packages-npm-production"}},"0.4.0-next.1716.1979cc9":{"name":"@flighthq/textshaper-canvas","version":"0.4.0-next.1716.1979cc9","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.4.0-next.1716.1979cc9","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"25af79e74bdcee6b85c22ab99633cf0ea3e574de","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.4.0-next.1716.1979cc9.tgz","fileCount":14,"integrity":"sha512-8OmL6qcZnRu6/xngvzVbj2zBydK64kBR1FxVvy9biw1aweksmDJQUf/JMDEizBiBc5vxyD7VaLFFiQmMLL3QUQ==","signatures":[{"sig":"MEQCIEzS/Xz4pwVGYKytQUSFsqbNb8vEZ59t457FNMVAuRGAAiARPSi1nF7rHJJTrw1oS+wGd6xpYGqctRirSqQMqgeA6Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.4.0-next.1716.1979cc9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24636},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"1979cc9bfdae5161eeac594f0460968a65b852f6","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.4.0-next.1716.1979cc9","@flighthq/types":"0.4.0-next.1716.1979cc9","@flighthq/textshaper":"0.4.0-next.1716.1979cc9"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.4.0-next.1716.1979cc9_1787305323976_0.8916535946251618","host":"s3://npm-registry-packages-npm-production"}},"0.4.0-next.1717.9d6a20b":{"name":"@flighthq/textshaper-canvas","version":"0.4.0-next.1717.9d6a20b","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.4.0-next.1717.9d6a20b","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"156d09d3e9502f9979d18e68b4ac7e7fb9810784","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.4.0-next.1717.9d6a20b.tgz","fileCount":14,"integrity":"sha512-bT4jWBj49zfYzVL2unBCgquYy0XyqB74D64xkyI2woAjORv7GtU6lQdM58Nch7bYw/4RLBatMGrs6qaflpH9RQ==","signatures":[{"sig":"MEQCICLkr5oPRLqxgvjyZEyD13whpo7qzTsy6LmHrNIbiHN7AiB4ouylplczzRJ+ScE9RIqhJMOYB71MmilxJSKjj0TFTQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.4.0-next.1717.9d6a20b","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24636},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"9d6a20bc14f3fcb2ef914442e1092ef1711316a4","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.4.0-next.1717.9d6a20b","@flighthq/types":"0.4.0-next.1717.9d6a20b","@flighthq/textshaper":"0.4.0-next.1717.9d6a20b"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.4.0-next.1717.9d6a20b_1787307773826_0.6547875794263396","host":"s3://npm-registry-packages-npm-production"}},"0.4.0-next.1725.752ca79":{"name":"@flighthq/textshaper-canvas","version":"0.4.0-next.1725.752ca79","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.4.0-next.1725.752ca79","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"295f46619b384e16622c32fc64ee3361b8de08df","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.4.0-next.1725.752ca79.tgz","fileCount":14,"integrity":"sha512-utQezP6bX0ZGOEddrMZAyUb5ITBpOw2yHiSKBprpzdAKfHiIywcOGUrUtS5Rm2Hz6tOhuXL4a5cD4OfgjAYAGA==","signatures":[{"sig":"MEQCIGuZ+86WWbzOdnUXPfDYwuVh1uloOIMpvNZvmIDaUumYAiBqt/7LuSIapjOt/eJl8dr8uPat/0VcsgEtUZo6vvhEvQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.4.0-next.1725.752ca79","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24636},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"752ca79327a1e07f9d6c63d8704bb8d423500af6","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.4.0-next.1725.752ca79","@flighthq/types":"0.4.0-next.1725.752ca79","@flighthq/textshaper":"0.4.0-next.1725.752ca79"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.4.0-next.1725.752ca79_1787310790975_0.16523595687682335","host":"s3://npm-registry-packages-npm-production"}},"0.4.0-next.1728.f69160b":{"name":"@flighthq/textshaper-canvas","version":"0.4.0-next.1728.f69160b","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.4.0-next.1728.f69160b","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"ccb39f8fe97ce8391b884f568aa2262638e9c934","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.4.0-next.1728.f69160b.tgz","fileCount":14,"integrity":"sha512-6q7AFufR95JtRU3TIMwMiRMS3Th0dsdMAfBjV12Mmydo+XtMmNJ9SjCb/M9113o/k3mXNDCpbM3YduUQppeFPg==","signatures":[{"sig":"MEUCIBdrWQYm/5ud/CgS14Z7Sob74g3Sz1F+oQNTv+eB7CpUAiEA/6e+GuhoBqmETEVcvv3BlcW0iqNl9d0oGIszGpyJOg0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.4.0-next.1728.f69160b","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24636},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"f69160b30438f81d8ec0f7641b68cd1acef88df2","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.4.0-next.1728.f69160b","@flighthq/types":"0.4.0-next.1728.f69160b","@flighthq/textshaper":"0.4.0-next.1728.f69160b"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.4.0-next.1728.f69160b_1787313562889_0.7254574903500719","host":"s3://npm-registry-packages-npm-production"}},"0.4.0-next.1749.d81a21c":{"name":"@flighthq/textshaper-canvas","version":"0.4.0-next.1749.d81a21c","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.4.0-next.1749.d81a21c","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"19b1440e5631138ed2090aae8e4195b4cde4dee8","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.4.0-next.1749.d81a21c.tgz","fileCount":14,"integrity":"sha512-bMxoId6jX3rIqP8MRlr/6QcIpJTs0TPpeKjwx7wPg020hQbCL1dHMdpbUe/G3ohiYrSHf7F+DLb7aBJ2tSMgJw==","signatures":[{"sig":"MEUCIGw5eDdN5USJhpGnpqOYTRRgtralSYP2sHiiO7eITIkNAiEA0GJmIOyu8tpOSA6a3yRzls6sLt8dTi5PseO4SPvz7gI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.4.0-next.1749.d81a21c","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24636},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"d81a21c7a4f2ee48fe9eb1bdabae6365c8c8694f","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.4.0-next.1749.d81a21c","@flighthq/types":"0.4.0-next.1749.d81a21c","@flighthq/textshaper":"0.4.0-next.1749.d81a21c"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.4.0-next.1749.d81a21c_1787315837795_0.5393490589944949","host":"s3://npm-registry-packages-npm-production"}},"0.4.0-next.1750.13ec8b1":{"name":"@flighthq/textshaper-canvas","version":"0.4.0-next.1750.13ec8b1","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.4.0-next.1750.13ec8b1","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"38c5288e2053994fe5a16dcd1ac28d16a78e9f05","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.4.0-next.1750.13ec8b1.tgz","fileCount":14,"integrity":"sha512-rwmLnJXAzDV2keRJkDYXnqcTNbq9W6x3DOqK94GKvoeVb6ramjNCN9mD4BxHs3bAdEt1HDm2upjA+m153BWsNQ==","signatures":[{"sig":"MEUCIQCgLhVKC0A7WjzLrzdsn3bBdOcrqcXOC+IBLjSZDLB6xQIgVXTZ9vMmcaebWMJ/iLlAUayBU9lgfcUqO9yzxM7dyNA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.4.0-next.1750.13ec8b1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24636},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"13ec8b1cdbc0eb53efb9cafd805987c1259ddb03","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.4.0-next.1750.13ec8b1","@flighthq/types":"0.4.0-next.1750.13ec8b1","@flighthq/textshaper":"0.4.0-next.1750.13ec8b1"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.4.0-next.1750.13ec8b1_1787327001744_0.957507292929084","host":"s3://npm-registry-packages-npm-production"}},"0.4.0-next.1751.b3eea5f":{"name":"@flighthq/textshaper-canvas","version":"0.4.0-next.1751.b3eea5f","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.4.0-next.1751.b3eea5f","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"4f23923adcba1ae5eb45ab4087247d4c99340967","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.4.0-next.1751.b3eea5f.tgz","fileCount":14,"integrity":"sha512-ndjF2H43lYWGIBxFAOyW+urD41fLAyiYmlP3BEBC5WppMV2UZ6U159BrifE23yPivE7b7gmZNXPhJI0/2Fy8ig==","signatures":[{"sig":"MEQCIAKumfV76X3FQVUgj5P5YX0ykAejHkQ81c4A5iEYsxrdAiBIUzNqSTJ4ddz1T57mre6VzhJNfohqLxDY93B79qvcvQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.4.0-next.1751.b3eea5f","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24636},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"b3eea5f93b4df315e1bc80cc7af37a9fce30e49d","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.4.0-next.1751.b3eea5f","@flighthq/types":"0.4.0-next.1751.b3eea5f","@flighthq/textshaper":"0.4.0-next.1751.b3eea5f"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.4.0-next.1751.b3eea5f_1787327886921_0.3625270404416734","host":"s3://npm-registry-packages-npm-production"}},"0.4.0-next.1752.f250cb9":{"name":"@flighthq/textshaper-canvas","version":"0.4.0-next.1752.f250cb9","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.4.0-next.1752.f250cb9","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"1ecff2ce02a4f2cb5acdc57971eeedf8b6cb5e13","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.4.0-next.1752.f250cb9.tgz","fileCount":14,"integrity":"sha512-u9NZD6muXYFn7ZAKw0b+Z6IRR8tr9Qfge9xr7DtvSEAtn4lDteDnWYik5WGM5/sl0wpm87TIYfE3wxQZsL534w==","signatures":[{"sig":"MEQCIHcAExrxnbPuo2E/Qpf85brCDnynTY1fQviu9QCK0uFBAiAtF2OSOsans2QY+lK3KU8UqJECPUiDubQ52bx/GL7+pw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.4.0-next.1752.f250cb9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24636},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"f250cb9b2929c0c77b66ab527cb4ef52d08f95ef","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.4.0-next.1752.f250cb9","@flighthq/types":"0.4.0-next.1752.f250cb9","@flighthq/textshaper":"0.4.0-next.1752.f250cb9"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.4.0-next.1752.f250cb9_1787329896217_0.24184124648189642","host":"s3://npm-registry-packages-npm-production"}},"0.4.0-next.1763.f98ae25":{"name":"@flighthq/textshaper-canvas","version":"0.4.0-next.1763.f98ae25","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.4.0-next.1763.f98ae25","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"b05daef03a8a9c1f466316c7197835b68aeb921f","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.4.0-next.1763.f98ae25.tgz","fileCount":14,"integrity":"sha512-h5MrUdV98oLR1dfPGRlhJkrHeeII/X8cqc3Mitjrk23QO25XBRqBbE3H+nQeWYVQ3gVFPDz92jQZDmeEblrwRg==","signatures":[{"sig":"MEUCIQDcmpwn1zvVTY3GTh06ENGj/iW5IyFN1SpNeF7D6BYMygIgcZmqIF78V1CfFw1bxDGWTx0cmKKRkUbphdsnTShXL6k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.4.0-next.1763.f98ae25","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24636},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"f98ae2586aa1105186b57f1528e4260424194cfc","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.4.0-next.1763.f98ae25","@flighthq/types":"0.4.0-next.1763.f98ae25","@flighthq/textshaper":"0.4.0-next.1763.f98ae25"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.4.0-next.1763.f98ae25_1787330133529_0.1403465394969461","host":"s3://npm-registry-packages-npm-production"}},"0.4.0-next.1771.f4d15c3":{"name":"@flighthq/textshaper-canvas","version":"0.4.0-next.1771.f4d15c3","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.4.0-next.1771.f4d15c3","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"e8fb44c7ee07537b5041e60e57af0263a06f2e6b","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.4.0-next.1771.f4d15c3.tgz","fileCount":14,"integrity":"sha512-2e86tp+EQ9B9Enguay1zHDt5Z1bZ5SR9gYYICva+z9fU/TPpH9Up12E++XRRJjOdwlI9PQwc87EGpiIHI/oovg==","signatures":[{"sig":"MEYCIQD3k2Jw3PyssleNOkqt+IWPrtIoxUpqGlILY5fklcJb7AIhAPknzLcNeVz8P1wM3JgvZtAUmxR3TN62x2PFeo8yXRjL","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.4.0-next.1771.f4d15c3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24636},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"f4d15c39c3edf4ef1608dbc61e98cbe82d4cb49d","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.8.2","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"@flighthq/text":"0.4.0-next.1771.f4d15c3","@flighthq/types":"0.4.0-next.1771.f4d15c3","@flighthq/textshaper":"0.4.0-next.1771.f4d15c3"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.4.0-next.1771.f4d15c3_1787338103110_0.780471044881818","host":"s3://npm-registry-packages-npm-production"}},"0.4.0-next.1809.9b3b71b":{"name":"@flighthq/textshaper-canvas","version":"0.4.0-next.1809.9b3b71b","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.4.0-next.1809.9b3b71b","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"b29d8ef8d001dc3319bbaad3343e43946838035d","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.4.0-next.1809.9b3b71b.tgz","fileCount":14,"integrity":"sha512-09kO19QxNqaG1ExTD9MOPSmD1gRVEBrGyKuhYo6L9caU1RgIhs6FiSZ6zg6VPO68VSdW9f75zWNZRHSiwzOF1g==","signatures":[{"sig":"MEUCIHGCZcOKFpu1c18nmpfoh7ohfquGX4y1dRxPtMvIv/E3AiEA8qyIiTic35ksrMtsG0nu8FcNy+xYdfnoPIxIvB704J4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.4.0-next.1809.9b3b71b","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24636},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"9b3b71b019ff48ea6329c16020f37fb72c3123d1","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.4.0-next.1809.9b3b71b","@flighthq/types":"0.4.0-next.1809.9b3b71b","@flighthq/textshaper":"0.4.0-next.1809.9b3b71b"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.4.0-next.1809.9b3b71b_1787341165933_0.9179770900395872","host":"s3://npm-registry-packages-npm-production"}},"0.4.0-next.1811.dde7eb1":{"name":"@flighthq/textshaper-canvas","version":"0.4.0-next.1811.dde7eb1","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.4.0-next.1811.dde7eb1","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"a1182bb4280c8563a0578a5957df6997b646a310","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.4.0-next.1811.dde7eb1.tgz","fileCount":14,"integrity":"sha512-YJ8tgVi0NdG7H4laVmKUgGMEyzzW2ljO9wmI0XjNfRm0O9oXHsTpD7brDEpvr8hpHbTDnLthc664mnIZoX4Ovg==","signatures":[{"sig":"MEQCIG0vrW8tzSZEEnkOY365wF3/8shwHQnYVDoQ0I8qbA+eAiAiGoPfLSiv1jiE9TcVs0SsP5rh/Abl79LlwL1pWAN0pA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.4.0-next.1811.dde7eb1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24636},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"dde7eb194e4d6e17001a6ccc0e53aadfb93c7942","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.4.0-next.1811.dde7eb1","@flighthq/types":"0.4.0-next.1811.dde7eb1","@flighthq/textshaper":"0.4.0-next.1811.dde7eb1"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.4.0-next.1811.dde7eb1_1787341979008_0.32221184172815787","host":"s3://npm-registry-packages-npm-production"}},"0.4.0-next.1815.e47cc3c":{"name":"@flighthq/textshaper-canvas","version":"0.4.0-next.1815.e47cc3c","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.4.0-next.1815.e47cc3c","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"4537ba59c8b1629cf911b331d64f95cfd14d7853","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.4.0-next.1815.e47cc3c.tgz","fileCount":14,"integrity":"sha512-UZm4ku8kMqGMtAPMNj1k8cjFEqxF8NeJS/K5SAg2SDBPPFYfuwzCY/KDq5V6CYUfEZ8xxgqjynU32HUEYTJboA==","signatures":[{"sig":"MEQCICEpZXHsjrOSQ4X58t/QtJpeLGrbY+HIg+la1rZudShSAiBI67oKd/0NCiyYUHZc8oEToizWYRxTpKD2TT3d4RK04w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.4.0-next.1815.e47cc3c","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24636},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"e47cc3c212c55d19e1b46ced1fdc6c63de9e3916","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.4.0-next.1815.e47cc3c","@flighthq/types":"0.4.0-next.1815.e47cc3c","@flighthq/textshaper":"0.4.0-next.1815.e47cc3c"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.4.0-next.1815.e47cc3c_1787344157849_0.7820302037026019","host":"s3://npm-registry-packages-npm-production"}},"0.4.0-next.1821.efb1cbc":{"name":"@flighthq/textshaper-canvas","version":"0.4.0-next.1821.efb1cbc","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.4.0-next.1821.efb1cbc","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"043369e02b587e1201e6b4b89efd53bad8194ce4","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.4.0-next.1821.efb1cbc.tgz","fileCount":14,"integrity":"sha512-/fNt8jfSCfaP/e8psITQXChhIDAxdRg46F2/NxRNvzGdfK2zfnLOgGJWSWOw6prcFA6wGtBEIBqqJypmRQ69Ng==","signatures":[{"sig":"MEUCIFW5Qga4UlxWR2rs8CC780ZEbPNHCPcFGpoAEfYgWlkoAiEAuuMf+qg8SPlmEMhSyL9I6Aco0XX9ko2V9/zMuuRVFuo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.4.0-next.1821.efb1cbc","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24636},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"efb1cbc5b3ccef2f43d7cd2dee822b0d152f3f82","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.4.0-next.1821.efb1cbc","@flighthq/types":"0.4.0-next.1821.efb1cbc","@flighthq/textshaper":"0.4.0-next.1821.efb1cbc"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.4.0-next.1821.efb1cbc_1787351600263_0.21161659960366186","host":"s3://npm-registry-packages-npm-production"}},"0.4.0-next.1827.9db114b":{"name":"@flighthq/textshaper-canvas","version":"0.4.0-next.1827.9db114b","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.4.0-next.1827.9db114b","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"17d334f3f1f7f301ddce6423fffe7894a2be86ae","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.4.0-next.1827.9db114b.tgz","fileCount":14,"integrity":"sha512-JEXoOm/3Uk4gTCKlASOUzEGUYM4TYWcr8hpdhpLW+f9SpcNuxU9pZ3btrnn1DjCyYqk2X2Mnpl+j+DjmJbPpDg==","signatures":[{"sig":"MEQCIDCYJNd08ybIBs6Ri1IDz7c05m0xJYVM0Fd28ewjRRvfAiBeeWD+NXnxSkdcBuDQBIXw6V/J+brZnaP73e3zmf7YwQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.4.0-next.1827.9db114b","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24636},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"9db114b3fe1db90a90a11541649cb3af8bb5ca62","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.4.0-next.1827.9db114b","@flighthq/types":"0.4.0-next.1827.9db114b","@flighthq/textshaper":"0.4.0-next.1827.9db114b"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.4.0-next.1827.9db114b_1787356397332_0.17101994344363658","host":"s3://npm-registry-packages-npm-production"}},"0.4.0-next.1836.147ae1e":{"name":"@flighthq/textshaper-canvas","version":"0.4.0-next.1836.147ae1e","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.4.0-next.1836.147ae1e","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"38a16769bdbb52e58b7a292f92fca13234de5f27","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.4.0-next.1836.147ae1e.tgz","fileCount":14,"integrity":"sha512-r6mQRTKGRMON2OmB0Vuqw4Lheq9qxFiVBaTDG43z87nw0z+89zp1QtgooS24AZ+8pnlCdQbH5rX2aoUzU3xMog==","signatures":[{"sig":"MEUCIQDGmbh4hZnZNGJSyUPig5IYwKvT++ZcDSBTliBfQCCncwIgW3fdAKX9BnsvGfUrEHfYEtKN12P31zVgzQVZw7QpT54=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.4.0-next.1836.147ae1e","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24636},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"147ae1eaea356a2200495b80ae4e42b1101ae647","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.4.0-next.1836.147ae1e","@flighthq/types":"0.4.0-next.1836.147ae1e","@flighthq/textshaper":"0.4.0-next.1836.147ae1e"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.4.0-next.1836.147ae1e_1787362620844_0.31753462615450867","host":"s3://npm-registry-packages-npm-production"}},"0.4.0-next.1884.6a2d46f":{"name":"@flighthq/textshaper-canvas","version":"0.4.0-next.1884.6a2d46f","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.4.0-next.1884.6a2d46f","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"82c7522a2f362f3d51e1d6c3defa769d379aa0d6","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.4.0-next.1884.6a2d46f.tgz","fileCount":14,"integrity":"sha512-nVSW1vcaXReebkjInz/E7dP5Enr93XJQKUBT/OddN1Z5J94PNjbIU0KMo41NeEaovtW/bQz6YuDJtUy/Qtl9Lg==","signatures":[{"sig":"MEYCIQDBUhnlDjQuRafxgdak4cPe5dRiQ6JJQl+115gYYq++aQIhAI8SMPHPZ+m48BzV3ky6BELyezBTO4yiZIcrtueZmCkq","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.4.0-next.1884.6a2d46f","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24636},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"6a2d46f4e11232c5175ff79d306602e0378cb55e","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.4.0-next.1884.6a2d46f","@flighthq/types":"0.4.0-next.1884.6a2d46f","@flighthq/textshaper":"0.4.0-next.1884.6a2d46f"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.4.0-next.1884.6a2d46f_1787384833634_0.7808646085600834","host":"s3://npm-registry-packages-npm-production"}},"0.4.0-next.1888.e9e80b4":{"name":"@flighthq/textshaper-canvas","version":"0.4.0-next.1888.e9e80b4","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.4.0-next.1888.e9e80b4","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"0d17a7f51ca3b0b4a832422126f0bc1d11df1fc4","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.4.0-next.1888.e9e80b4.tgz","fileCount":14,"integrity":"sha512-byVGGOS5Rb/jIxUo+B5VBvTzKHiIa9dEoPT40W2pewV6H/JmxqxYIjWAkxURvUjjEdS1wRfbtu+/EVEMxaiwXw==","signatures":[{"sig":"MEYCIQCroh1o1p+53U+5RvSNSZS0etkMHWuih/kS0tJ9fFZrRwIhAMiozVrWdAuY0A3z1dtfPjcYZ/NMYM2FiHqm/pBnsq1H","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.4.0-next.1888.e9e80b4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24636},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"e9e80b4ab0f5a142c6554f577dfc8c640bb960c9","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.4.0-next.1888.e9e80b4","@flighthq/types":"0.4.0-next.1888.e9e80b4","@flighthq/textshaper":"0.4.0-next.1888.e9e80b4"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.4.0-next.1888.e9e80b4_1787549280939_0.9587725159426195","host":"s3://npm-registry-packages-npm-production"}},"0.4.0-next.1892.a0b519a":{"name":"@flighthq/textshaper-canvas","version":"0.4.0-next.1892.a0b519a","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.4.0-next.1892.a0b519a","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"381ce2d88ec3846b4862424dccbcfa90fd933d5b","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.4.0-next.1892.a0b519a.tgz","fileCount":14,"integrity":"sha512-BtZ+zwcprzJbhBkiZwy/no2X4rXl+DMBf1amlzRTn5CKFs11PkABTPlZMxy9VsTpwa8CiNx22xE9J/lNZW5cxA==","signatures":[{"sig":"MEQCIEHIzUpFltr3fnfPCQ7iqw6fDLN/mhNn0e1cMvu1GrKxAiA7L+OFaD+AvCxJcgiwAvDaYJfovK08DIYCOr8Pv2JfNw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.4.0-next.1892.a0b519a","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24636},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"a0b519a631890913faffe94d1d3ea3287a8c8241","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.4.0-next.1892.a0b519a","@flighthq/types":"0.4.0-next.1892.a0b519a","@flighthq/textshaper":"0.4.0-next.1892.a0b519a"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.4.0-next.1892.a0b519a_1787568695749_0.1672920263406068","host":"s3://npm-registry-packages-npm-production"}},"0.4.0-next.1896.60d766c":{"name":"@flighthq/textshaper-canvas","version":"0.4.0-next.1896.60d766c","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.4.0-next.1896.60d766c","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"46efa1e8e89031beeddda1433b4a5cf7f69aaf4b","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.4.0-next.1896.60d766c.tgz","fileCount":14,"integrity":"sha512-ZLu1l42qq4ExLC1f7eKS76e3fh6gBly/5MmewG8LDQggV92PeppL0kfbANHVStiJBbDDoLXfEVl/y937TxNUuA==","signatures":[{"sig":"MEUCIEQMg5SQEOa+mN+m27mCUsuSIHV8DbO0VbnhNoyD/WPyAiEA7AD5VAKka60EYn4tOJB2j15zOY5TzlhrP9JmlVaHsXg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.4.0-next.1896.60d766c","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24636},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"60d766ccbf3a4fbe07c603d8acfc13208d476e56","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.4.0-next.1896.60d766c","@flighthq/types":"0.4.0-next.1896.60d766c","@flighthq/textshaper":"0.4.0-next.1896.60d766c"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.4.0-next.1896.60d766c_1787571199598_0.21295704097593204","host":"s3://npm-registry-packages-npm-production"}},"0.4.0-next.1898.266773a":{"name":"@flighthq/textshaper-canvas","version":"0.4.0-next.1898.266773a","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.4.0-next.1898.266773a","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"f5cb384113ebda522e0be1f05f9d216bd99159fd","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.4.0-next.1898.266773a.tgz","fileCount":14,"integrity":"sha512-8rNlHPEB7XSB+Ns+mptyonuvnIC1qNE3G8dKyOEy0BByfj3OIGcw42Mmfh1Hd5OIh+WR2bZtnB9Lo1e5UwjuRg==","signatures":[{"sig":"MEUCIDlgdZhTAaJd7gDwBYtVauCznlfG5uZ7Uznm3RBGNbrcAiEA7SYQXbJD9OcfEkrVk5K86ez7vZr317o6yu/PtlnTH94=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.4.0-next.1898.266773a","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24636},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"266773a60a616a3630ef40a7f33737f0697311aa","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.4.0-next.1898.266773a","@flighthq/types":"0.4.0-next.1898.266773a","@flighthq/textshaper":"0.4.0-next.1898.266773a"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.4.0-next.1898.266773a_1787575086392_0.6908418160755934","host":"s3://npm-registry-packages-npm-production"}},"0.4.0-next.1903.50bfa67":{"name":"@flighthq/textshaper-canvas","version":"0.4.0-next.1903.50bfa67","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.4.0-next.1903.50bfa67","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"fd713daa73e5ce983e49911aa08d5c6328be3691","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.4.0-next.1903.50bfa67.tgz","fileCount":14,"integrity":"sha512-nte/mDVDVJQvyNPcnVZ4ePlA3jnhi+FMEpI2b5lHyzwPmJPLXGcfaGTI0Nx6aJPnCz/jJAQ4mTwmcePFw8TOnw==","signatures":[{"sig":"MEUCIQD32D8EjJvriUTdyKWJo9V2AzwxRrrWV0dekN9cV9+UfAIgLHmAmi0qzZQrk2q0UFJKjj3vgY68vRYH5ztMPRMwnVs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.4.0-next.1903.50bfa67","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24636},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"50bfa67f3f2a3be13410ae4eb2fa3300687b20d9","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.4.0-next.1903.50bfa67","@flighthq/types":"0.4.0-next.1903.50bfa67","@flighthq/textshaper":"0.4.0-next.1903.50bfa67"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.4.0-next.1903.50bfa67_1787587807905_0.9790302847175472","host":"s3://npm-registry-packages-npm-production"}},"0.4.0-next.1908.751021c":{"name":"@flighthq/textshaper-canvas","version":"0.4.0-next.1908.751021c","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.4.0-next.1908.751021c","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"b339bcb75c68a0143b3517b8a01dabe31ded6daa","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.4.0-next.1908.751021c.tgz","fileCount":14,"integrity":"sha512-mIPSviGlceKuyKV+h8U4ILgJ6EbiHkZ0ChCtzxFAQjqBcfWy+bf5MbleKeancIk78JXIBHGuWI8/lLQF44vgFQ==","signatures":[{"sig":"MEQCIE12lxmlHsosni28cTWNDNUa8bI4FKbMVL4TtqK1YCeXAiBJGye7ERaF5jJIx5QmQCpu0IqqOkGhUwl4Djp8hL2ZZw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.4.0-next.1908.751021c","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24636},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"751021c9e2e79e1445e8a5f4817d61fe375c344e","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.4.0-next.1908.751021c","@flighthq/types":"0.4.0-next.1908.751021c","@flighthq/textshaper":"0.4.0-next.1908.751021c"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.4.0-next.1908.751021c_1787607384602_0.8460619677049921","host":"s3://npm-registry-packages-npm-production"}},"0.4.0-edge.1908.751021c":{"name":"@flighthq/textshaper-canvas","version":"0.4.0-edge.1908.751021c","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.4.0-edge.1908.751021c","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"a7fd2d47e241275c9940c813ea190376341d1ca9","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.4.0-edge.1908.751021c.tgz","fileCount":14,"integrity":"sha512-YeAbwa/slWDDg6MYne3nTzl14Dw8qvfUGWWyKEgoo9A2ITK0+Ey+3RzaNWHRfv7/mkBil+BVdeoVu+Dp6zi3fw==","signatures":[{"sig":"MEUCIQChZtDKk++KzmdcOw5Wn6XrSMs2DbIbZOUF3gKRF22XkQIgT0QIyZD6h7oDPWDCKT+R7iFYC1fQoZY5V5NVUUNSaEQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.4.0-edge.1908.751021c","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24636},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"751021c9e2e79e1445e8a5f4817d61fe375c344e","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.4.0-edge.1908.751021c","@flighthq/types":"0.4.0-edge.1908.751021c","@flighthq/textshaper":"0.4.0-edge.1908.751021c"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.4.0-edge.1908.751021c_1787607735515_0.46589993449244926","host":"s3://npm-registry-packages-npm-production"}},"0.4.0-next.1909.c102f22":{"name":"@flighthq/textshaper-canvas","version":"0.4.0-next.1909.c102f22","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.4.0-next.1909.c102f22","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"13d764c724a3e00747930bc566638cb4e1553f49","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.4.0-next.1909.c102f22.tgz","fileCount":14,"integrity":"sha512-JMVldN6dca0yzVUt8Q9Bxu+vnZJkNrj9wPXEktWTysEH6pCV0G2avExY6AtZX+etJSdUE5AgqowIjMb9Ry1PiA==","signatures":[{"sig":"MEYCIQC3RtAYMpwtDY4uQumDtjO9xvkjyP7Xmh1wfTGh05tQTwIhAMq6g5nqlQpnKxFAVnsAdbJuY3t5OTDn6lQolJI2CizI","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.4.0-next.1909.c102f22","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24636},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"c102f22a421baa9ae0552573ded0c84f6bd98076","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.4.0-next.1909.c102f22","@flighthq/types":"0.4.0-next.1909.c102f22","@flighthq/textshaper":"0.4.0-next.1909.c102f22"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.4.0-next.1909.c102f22_1787607849204_0.6278978900265468","host":"s3://npm-registry-packages-npm-production"}},"0.4.0-edge.1909.c102f22":{"name":"@flighthq/textshaper-canvas","version":"0.4.0-edge.1909.c102f22","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.4.0-edge.1909.c102f22","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"7a3afbd5b95524c3d9456891294299322c7e15b1","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.4.0-edge.1909.c102f22.tgz","fileCount":14,"integrity":"sha512-b3aDCua01oUdPGHzLpRU876qcrDqKtL3sptbtVDOEzy8vipaL1oN8nF8amYLSpe2cd3DNQccWEMv32Jbc9DfFQ==","signatures":[{"sig":"MEQCIAiNbb+b49dgpZ8zBKw3WmS8OKsPpHC7mZEqkkI8BixCAiAE5avYaNsB42R/QpY86JsBFsewscBhOKBnfG80AWq4VA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.4.0-edge.1909.c102f22","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24636},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"c102f22a421baa9ae0552573ded0c84f6bd98076","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.4.0-edge.1909.c102f22","@flighthq/types":"0.4.0-edge.1909.c102f22","@flighthq/textshaper":"0.4.0-edge.1909.c102f22"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.4.0-edge.1909.c102f22_1787608327670_0.7676754724104748","host":"s3://npm-registry-packages-npm-production"}},"0.4.0-next.1917.1b88fee":{"name":"@flighthq/textshaper-canvas","version":"0.4.0-next.1917.1b88fee","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.4.0-next.1917.1b88fee","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"5afc5d419767c6ff2ef8e9af8b21b137018a4c91","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.4.0-next.1917.1b88fee.tgz","fileCount":14,"integrity":"sha512-z1fN9tVNyCHwooSdEViLGmqH8+hophep+7rh66JEDlgmme+PkRMQulS8XADvvfH/W9qVUwnxFge4DZcwQ13FQA==","signatures":[{"sig":"MEUCIQC+GDeOefRplM6Ik/wVijwI+wnvWClMMe59usOkobJMiQIgeMd1+GTjCWSx2xvkHnZGcz3c/0+T381qHMEipZnV/c0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.4.0-next.1917.1b88fee","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24636},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"1b88fee135e113e378973cb548aea45284f8add4","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.4.0-next.1917.1b88fee","@flighthq/types":"0.4.0-next.1917.1b88fee","@flighthq/textshaper":"0.4.0-next.1917.1b88fee"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.4.0-next.1917.1b88fee_1787691485262_0.03757228471234564","host":"s3://npm-registry-packages-npm-production"}},"0.4.0-next.1920.b93ad0f":{"name":"@flighthq/textshaper-canvas","version":"0.4.0-next.1920.b93ad0f","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.4.0-next.1920.b93ad0f","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"1b5781f580be9e3f06a0029f280b7b4cc2023783","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.4.0-next.1920.b93ad0f.tgz","fileCount":14,"integrity":"sha512-Il7eZvLIpKa3OqeOWLF6CxQqgr2Q+mX/2phhPiwJgHfuZe92iDxm99a08WUV0AlKZMmwj+8qE8ElvcA9tPCemw==","signatures":[{"sig":"MEUCIQCLhD248DsYBG+h97fz7reZwFBDdgdqrcTvI7YXSE9FcwIgOKHcgiJZ1smXdyCLLpoY9CfXp5BeEQaA1m39hEJe3IE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.4.0-next.1920.b93ad0f","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24636},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"b93ad0fa3532228e67f46d0d1842bc339b998c60","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.4.0-next.1920.b93ad0f","@flighthq/types":"0.4.0-next.1920.b93ad0f","@flighthq/textshaper":"0.4.0-next.1920.b93ad0f"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.4.0-next.1920.b93ad0f_1787699428474_0.7691230283038435","host":"s3://npm-registry-packages-npm-production"}},"0.4.0-edge.1920.b93ad0f":{"name":"@flighthq/textshaper-canvas","version":"0.4.0-edge.1920.b93ad0f","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.4.0-edge.1920.b93ad0f","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"3073e4739c12a124cf2e7d717d68903a51953793","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.4.0-edge.1920.b93ad0f.tgz","fileCount":14,"integrity":"sha512-Ldu0Ma58ac0HZmoMxGVbzwBzd610eyNCbmZnW5ZCV7OTMH3N0XkRbzKaoYDA5HPRLvST3HwnT6wt00ny+yLw7A==","signatures":[{"sig":"MEQCIC3LQ1z/1qXWMokuPgTTSINnpfqTOvCUsNOe27lUnGmuAiAU34XhRCRjNUpiWutaLkBOQVkVq/R7gsKs4zXQK2Z7ng==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.4.0-edge.1920.b93ad0f","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24636},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"b93ad0fa3532228e67f46d0d1842bc339b998c60","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.4.0-edge.1920.b93ad0f","@flighthq/types":"0.4.0-edge.1920.b93ad0f","@flighthq/textshaper":"0.4.0-edge.1920.b93ad0f"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.4.0-edge.1920.b93ad0f_1787699918290_0.266773573972124","host":"s3://npm-registry-packages-npm-production"}},"0.4.0-next.1921.0a61bdb":{"name":"@flighthq/textshaper-canvas","version":"0.4.0-next.1921.0a61bdb","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.4.0-next.1921.0a61bdb","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"99a339edcef09328931089ee655a1685ea702057","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.4.0-next.1921.0a61bdb.tgz","fileCount":14,"integrity":"sha512-4n/8sNiM828CY99/LozhqYj9IxFUfa7rmnZuZtgV6DRzUE/9AnZUejK5roKxhgy7lDw3Splv/ipm4Xb3Ljpd6w==","signatures":[{"sig":"MEUCIBo/C/oLhr57VhlN3rkh1yWoJRQ18LtCPGk3qNLs/TsGAiEAhyuZUWtXUYrYbM1AdFkDVFZOxLCPRjtIDogPpryEiXs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.4.0-next.1921.0a61bdb","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24636},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"0a61bdbaede36f96b016f9c6e70ed736ff3dd94c","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.4.0-next.1921.0a61bdb","@flighthq/types":"0.4.0-next.1921.0a61bdb","@flighthq/textshaper":"0.4.0-next.1921.0a61bdb"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.4.0-next.1921.0a61bdb_1787701326796_0.8677968462471122","host":"s3://npm-registry-packages-npm-production"}},"0.4.0-edge.1921.0a61bdb":{"name":"@flighthq/textshaper-canvas","version":"0.4.0-edge.1921.0a61bdb","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.4.0-edge.1921.0a61bdb","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"34c409050f924c3217cbcabf99fd66ab977c90b5","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.4.0-edge.1921.0a61bdb.tgz","fileCount":14,"integrity":"sha512-SWg1MRnpmrep2yIN1i8/pIQ/J3EGk7Lnl/c839qzIaA3iYdCOPxxtJUCryFCbLcY3C2o8IxbwvohOE26XNE63Q==","signatures":[{"sig":"MEUCIF0hIAmYq0G4TYcj5skuELW1vRhWfLI+BMTvjkB6VyVaAiEAlZrybTtx25MI+bM5+3xsiYkSzUA6fibue1cEnUYT3AU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.4.0-edge.1921.0a61bdb","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24636},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"0a61bdbaede36f96b016f9c6e70ed736ff3dd94c","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.4.0-edge.1921.0a61bdb","@flighthq/types":"0.4.0-edge.1921.0a61bdb","@flighthq/textshaper":"0.4.0-edge.1921.0a61bdb"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.4.0-edge.1921.0a61bdb_1787701818609_0.14530795942006836","host":"s3://npm-registry-packages-npm-production"}},"0.4.0-next.1932.1ef883a":{"name":"@flighthq/textshaper-canvas","version":"0.4.0-next.1932.1ef883a","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.4.0-next.1932.1ef883a","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"c18b4c7231dd01f4285406663e38b470ad332dcf","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.4.0-next.1932.1ef883a.tgz","fileCount":16,"integrity":"sha512-i3pOpNni/snojMZwsS6tn92NeOQRBlsmp7lRrHlbEqquYTnaNBovyqWyZbgga4iP77XIbq5RcshjLaSp5e+org==","signatures":[{"sig":"MEUCIFCAedP9n11huxrSVpbtYylR0RxEvsvZPW6h9HB7RI2BAiEA2TufajQBpgoBoB0/yYBQW/RMZoWb4ol10zIexe4bPIo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.4.0-next.1932.1ef883a","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":26609},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"1ef883a866729a9bc6f461111970f6377de1499f","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.4.0-next.1932.1ef883a","@flighthq/types":"0.4.0-next.1932.1ef883a","@flighthq/textshaper":"0.4.0-next.1932.1ef883a"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.4.0-next.1932.1ef883a_1787771401587_0.7187947705480486","host":"s3://npm-registry-packages-npm-production"}},"0.4.0-edge.1932.1ef883a":{"name":"@flighthq/textshaper-canvas","version":"0.4.0-edge.1932.1ef883a","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.4.0-edge.1932.1ef883a","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"b06ac445eacdf2d05ffa5c26586922f77a70d15b","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.4.0-edge.1932.1ef883a.tgz","fileCount":16,"integrity":"sha512-611EyrZ650Gc1HTKAaYZxYkcTGT9Af+IsppN6J6CLobwwe6OCgpPfRx3poOx2hrdfjAviTmGzFF4Fx4tqpPubQ==","signatures":[{"sig":"MEUCIBX9CwPqaeRN0B7w9oJhBRK+Id4C+TBKbTswakFf1uTXAiEA6MakAlK9Kno+j5T/uOiEkj7fbHSCRFrWxr/wZydUD5w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.4.0-edge.1932.1ef883a","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":26609},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"1ef883a866729a9bc6f461111970f6377de1499f","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.4.0-edge.1932.1ef883a","@flighthq/types":"0.4.0-edge.1932.1ef883a","@flighthq/textshaper":"0.4.0-edge.1932.1ef883a"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.4.0-edge.1932.1ef883a_1787771865485_0.03364627740138948","host":"s3://npm-registry-packages-npm-production"}},"0.4.0-next.1933.e4809f4":{"name":"@flighthq/textshaper-canvas","version":"0.4.0-next.1933.e4809f4","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.4.0-next.1933.e4809f4","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"c2ee76f58c4b8aa886d8cbe900a77e6b15398d92","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.4.0-next.1933.e4809f4.tgz","fileCount":16,"integrity":"sha512-IRh/Fre6dgl//rXXpIsnhsx0Kwxj2CM2vS2Nw/6Tma3LLL8mMpKzHQ9QjkTJ1BBvbS8/pJ+i7QRuw6/y4ZnWYg==","signatures":[{"sig":"MEYCIQC2FjOSpl92QKT7mPbr35C3FZbmghTbIxAeedCLcfabCgIhANy8Jq29oMJBMf+imeM0/PdbbwWe7u7k+QT7v+7uP28M","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.4.0-next.1933.e4809f4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":26609},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"e4809f40d738585d4eef938863717f46355ae430","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.4.0-next.1933.e4809f4","@flighthq/types":"0.4.0-next.1933.e4809f4","@flighthq/textshaper":"0.4.0-next.1933.e4809f4"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.4.0-next.1933.e4809f4_1787775089326_0.6635416863734511","host":"s3://npm-registry-packages-npm-production"}},"0.4.0-edge.1933.e4809f4":{"name":"@flighthq/textshaper-canvas","version":"0.4.0-edge.1933.e4809f4","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.4.0-edge.1933.e4809f4","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"e67f8587f37f488d3ff8f1c7b62b4207f0f1fa17","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.4.0-edge.1933.e4809f4.tgz","fileCount":16,"integrity":"sha512-ACJWDbVlZHeMeZq780rmU6flvtkNSPSljOtsS0fdbqql6Mvu5Z3bP+KOkDtny5fU7EmpDwHtuGvgn9Hn0RnJqQ==","signatures":[{"sig":"MEUCIBPLQut1Rddq+9rmLDcavhgBNbpMzRaSvGYUzO4R1lKKAiEAhPhNafnYHcKBxuASmNaXJhn1Sjp2npWQIoRBL72IvQ8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.4.0-edge.1933.e4809f4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":26609},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"e4809f40d738585d4eef938863717f46355ae430","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.4.0-edge.1933.e4809f4","@flighthq/types":"0.4.0-edge.1933.e4809f4","@flighthq/textshaper":"0.4.0-edge.1933.e4809f4"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.4.0-edge.1933.e4809f4_1787775515673_0.43710570884399425","host":"s3://npm-registry-packages-npm-production"}},"0.4.0-next.1935.74c34fe":{"name":"@flighthq/textshaper-canvas","version":"0.4.0-next.1935.74c34fe","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.4.0-next.1935.74c34fe","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"a00b1c5282d93b09bdef730da18a4cc8a6194e1d","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.4.0-next.1935.74c34fe.tgz","fileCount":16,"integrity":"sha512-PbJv+LxQBWbGkQ3h8shHMd8lfSNzxgSPBLDdyMq3daBdAavc+wO93Yn2CE4nMedTLMnP5QdyekdMSlCotLRLsg==","signatures":[{"sig":"MEUCIGscWS+SJep5J7vry+VzZ0SeOPudupujZXDcECMi04lcAiEAmmf19vlzVGgUYEdBMNY1YnSggSAvI9+Qf7iH47afOQ0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.4.0-next.1935.74c34fe","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":26609},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"74c34fe734f33f44e48dde5d12a402b0a834cae0","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.4.0-next.1935.74c34fe","@flighthq/types":"0.4.0-next.1935.74c34fe","@flighthq/textshaper":"0.4.0-next.1935.74c34fe"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.4.0-next.1935.74c34fe_1787777339049_0.570617211499316","host":"s3://npm-registry-packages-npm-production"}},"0.4.0-edge.1935.74c34fe":{"name":"@flighthq/textshaper-canvas","version":"0.4.0-edge.1935.74c34fe","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.4.0-edge.1935.74c34fe","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"d15c285ebaaffb3d38e9c6d6245c1eb3059c05b3","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.4.0-edge.1935.74c34fe.tgz","fileCount":16,"integrity":"sha512-07n/eXuTPrNFOdQkXjyaFugYcVBbbDBpW6fNmFbArQ2SDjZjB7q6Sia5LTbWtDx47QakdPBqBh90Z6NaYfw/rw==","signatures":[{"sig":"MEYCIQC1YFoPBTvvLUzh9z508GP+crVLuXqmwa5/9FYoJjn5CgIhAM+iPHwKV0o5+wnBtn7Ugk1/ygoWoX7KhN1DMQLSZrrC","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.4.0-edge.1935.74c34fe","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":26609},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"74c34fe734f33f44e48dde5d12a402b0a834cae0","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.4.0-edge.1935.74c34fe","@flighthq/types":"0.4.0-edge.1935.74c34fe","@flighthq/textshaper":"0.4.0-edge.1935.74c34fe"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.4.0-edge.1935.74c34fe_1787777773828_0.033878414813841795","host":"s3://npm-registry-packages-npm-production"}},"0.4.0-next.1936.bc924d7":{"name":"@flighthq/textshaper-canvas","version":"0.4.0-next.1936.bc924d7","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.4.0-next.1936.bc924d7","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"10f95078db5632cd7de1ef38ad6ed59d946625e1","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.4.0-next.1936.bc924d7.tgz","fileCount":16,"integrity":"sha512-i9UIZr5KR27jBVPE65FUrOaaHuhhzppCt68YyINBVN4Sb4a/YwUcxyDMJFxTddCylFWxNr0lfpGew6h3WKZm+Q==","signatures":[{"sig":"MEUCIQD8R1kHvGKGuOu890kWAMn22IBHN/6vZzE9hDtHE2aL5gIgPgzWIl4N7wXoUOT6z/duidx5FmBvix4uxEI85Q/1ntY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.4.0-next.1936.bc924d7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":26609},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"bc924d7bf9e0d88f0ffdff16f0094890448c6ba5","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.4.0-next.1936.bc924d7","@flighthq/types":"0.4.0-next.1936.bc924d7","@flighthq/textshaper":"0.4.0-next.1936.bc924d7"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.4.0-next.1936.bc924d7_1787779652079_0.8324712227374986","host":"s3://npm-registry-packages-npm-production"}},"0.4.0-edge.1936.bc924d7":{"name":"@flighthq/textshaper-canvas","version":"0.4.0-edge.1936.bc924d7","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.4.0-edge.1936.bc924d7","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"1ac9218d1f418b4f6add4ec10dc52dbee8de1bf8","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.4.0-edge.1936.bc924d7.tgz","fileCount":16,"integrity":"sha512-fuJpsSkjSYPwBB8FHLscEOsLB7/gQZwgKsi2btnIszVDuzPEp/Wuui8PnfhzedNuClZDVvRyNobc5RFmeJE52w==","signatures":[{"sig":"MEYCIQDGYONVf75X3pNakYZdedUkVuhqzXsgq8ZBJ4AAkwD0rgIhAOnsEtCvyOMzEU8esSXIdP8S7ygCkvoqQ9SyGpecstQd","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.4.0-edge.1936.bc924d7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":26609},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"bc924d7bf9e0d88f0ffdff16f0094890448c6ba5","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.4.0-edge.1936.bc924d7","@flighthq/types":"0.4.0-edge.1936.bc924d7","@flighthq/textshaper":"0.4.0-edge.1936.bc924d7"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.4.0-edge.1936.bc924d7_1787780082919_0.3225316579773789","host":"s3://npm-registry-packages-npm-production"}},"0.4.0-next.1937.0d089b3":{"name":"@flighthq/textshaper-canvas","version":"0.4.0-next.1937.0d089b3","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.4.0-next.1937.0d089b3","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"8a0896d290715e1784c8b95ea08c651fc33454a6","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.4.0-next.1937.0d089b3.tgz","fileCount":16,"integrity":"sha512-H2aO2jOwOUUzxSmt+VY65Aw7E0ta29sex/9TPKHW9EJxyfBcBFr56ZTFu7XuJznvgaLcp+Mxs8ycEOkygcL3GA==","signatures":[{"sig":"MEUCIBHqZoCZ+Qom8ITkph6q0TicYnE93fMq9ig2JkecjyB8AiEA49kTA2J2laFZGNxsdhxU1lmZ5Mg83OyccQGuZrtAaSk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.4.0-next.1937.0d089b3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":26609},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"0d089b3b3aeb9d68f93ed71d526ca4b1a073b948","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.4.0-next.1937.0d089b3","@flighthq/types":"0.4.0-next.1937.0d089b3","@flighthq/textshaper":"0.4.0-next.1937.0d089b3"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.4.0-next.1937.0d089b3_1787782973869_0.5912041936225827","host":"s3://npm-registry-packages-npm-production"}},"0.4.0-edge.1937.0d089b3":{"name":"@flighthq/textshaper-canvas","version":"0.4.0-edge.1937.0d089b3","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.4.0-edge.1937.0d089b3","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"2baf1f2bc87619d65c365c53ce0e75c668c139b2","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.4.0-edge.1937.0d089b3.tgz","fileCount":16,"integrity":"sha512-D+vXF38I8kV3gLDFBEOETAW7FCavp8lWOSV9M2o3ewmvWNboVFP53EjveKULI72HNfoTahLqcV7+N03ze7eysg==","signatures":[{"sig":"MEUCIQC1qljIiYolw6pjBEf+HwH3HHMzrFakiO3YW5gzfviHTQIgcWxIOx+n6aCRwDrwWtXcc5Le5tZ7Vtahg9DUBILb+po=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.4.0-edge.1937.0d089b3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":26609},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"0d089b3b3aeb9d68f93ed71d526ca4b1a073b948","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.4.0-edge.1937.0d089b3","@flighthq/types":"0.4.0-edge.1937.0d089b3","@flighthq/textshaper":"0.4.0-edge.1937.0d089b3"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.4.0-edge.1937.0d089b3_1787783408448_0.7611982199039582","host":"s3://npm-registry-packages-npm-production"}},"0.4.0-next.1939.481bde5":{"name":"@flighthq/textshaper-canvas","version":"0.4.0-next.1939.481bde5","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.4.0-next.1939.481bde5","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"9ebcbc8235e6a32d29c6e53c12643bcd5f97e86d","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.4.0-next.1939.481bde5.tgz","fileCount":16,"integrity":"sha512-A4JhtbPOKbzRwa92oxUmbmCQcY5NQ4Vh/kYWoszIzq4sfV83IZKBaXQcs4SUVVesnPGlyYRlAMqoroP9ZwbQNA==","signatures":[{"sig":"MEQCIFZJQFKWXw5bEVAlMDZc7gHqIM3Ve7YvNLmILONTubt5AiAM3qQMpxtGI4LLji7nBV0g4LzshwoLl7cLn2gKJHHlPw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.4.0-next.1939.481bde5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":26609},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"481bde5ee766ed84d7e6cc2f0d9e7f0ced06025d","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.4.0-next.1939.481bde5","@flighthq/types":"0.4.0-next.1939.481bde5","@flighthq/textshaper":"0.4.0-next.1939.481bde5"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.4.0-next.1939.481bde5_1787789830328_0.043116950053406766","host":"s3://npm-registry-packages-npm-production"}},"0.4.0-edge.1939.481bde5":{"name":"@flighthq/textshaper-canvas","version":"0.4.0-edge.1939.481bde5","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.4.0-edge.1939.481bde5","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"6a4a19c060b35d6b9044996deb108a4e56aa22b5","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.4.0-edge.1939.481bde5.tgz","fileCount":16,"integrity":"sha512-EgS1jaJVoFaM1wAXKcGYLcZjvvX+E3r4xFJ8nCuYDxnPqkxVj+h12rtcwWv7IfD88HaNYLw7jm5gjlfzeO8HxA==","signatures":[{"sig":"MEYCIQDSBkRRAnPpyucMYs3NoqTLhCTYM92f5TG8Jf4vL3PsOgIhANpcXjIg98WpIFEHqtKqiOKtbVazSsQvklw1LHLN5VTs","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.4.0-edge.1939.481bde5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":26609},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"481bde5ee766ed84d7e6cc2f0d9e7f0ced06025d","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.4.0-edge.1939.481bde5","@flighthq/types":"0.4.0-edge.1939.481bde5","@flighthq/textshaper":"0.4.0-edge.1939.481bde5"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.4.0-edge.1939.481bde5_1787790291632_0.3918917110321962","host":"s3://npm-registry-packages-npm-production"}},"0.4.0-next.1940.b8a4265":{"name":"@flighthq/textshaper-canvas","version":"0.4.0-next.1940.b8a4265","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.4.0-next.1940.b8a4265","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"970a8f3f95747cfe7ce7891de0b72654b01080c3","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.4.0-next.1940.b8a4265.tgz","fileCount":16,"integrity":"sha512-DwI8Q1HyzViPs6/hk1QBA4e+4qDk7p2LvOQ18nvnPatcqbX24blJS6HxZR8imx9Oq+vpZLcogSDLM8o/QRn6uA==","signatures":[{"sig":"MEUCIQCbkBW36WmH5J3X50jSEjkTy+qzH1coAhwjkkM4U3eq8wIgeozK5UORM7Ajqu/tlxRKQSvchWAQtluHrHduA18lVfQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.4.0-next.1940.b8a4265","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":26609},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"b8a4265e84fbd17f79cdfcb9197c61552d17389c","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.4.0-next.1940.b8a4265","@flighthq/types":"0.4.0-next.1940.b8a4265","@flighthq/textshaper":"0.4.0-next.1940.b8a4265"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.4.0-next.1940.b8a4265_1787792829509_0.09887237230147816","host":"s3://npm-registry-packages-npm-production"}},"0.4.0-next.1941.1d7f2bd":{"name":"@flighthq/textshaper-canvas","version":"0.4.0-next.1941.1d7f2bd","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.4.0-next.1941.1d7f2bd","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"d5bf9dd5c341965d79d6e805487e5174b6705d2d","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.4.0-next.1941.1d7f2bd.tgz","fileCount":16,"integrity":"sha512-TR7RSJ458/BV0o0S+wKHnNCTPBR7n3tHf3jehBEJNjqTx33sJ0W0wCgPEJpo/nqs4IGjemArclMAYodRfqiEkQ==","signatures":[{"sig":"MEYCIQCa9FduicVLgfHUtMrw2XkPU3tWpEGtEiQBzYjo9YbvXwIhAOC5jSxydViRlxpo1MkB/QOj6PY3PmC4BUZCqfktquaF","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.4.0-next.1941.1d7f2bd","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":26609},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"1d7f2bd9dc6fe0561ebd3833c0bf513486a4c768","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.4.0-next.1941.1d7f2bd","@flighthq/types":"0.4.0-next.1941.1d7f2bd","@flighthq/textshaper":"0.4.0-next.1941.1d7f2bd"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.4.0-next.1941.1d7f2bd_1787794077603_0.2655928924600812","host":"s3://npm-registry-packages-npm-production"}},"0.4.0-edge.1941.1d7f2bd":{"name":"@flighthq/textshaper-canvas","version":"0.4.0-edge.1941.1d7f2bd","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.4.0-edge.1941.1d7f2bd","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"a15b2422d53da0347174be1c1d3a1c5fe9e80386","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.4.0-edge.1941.1d7f2bd.tgz","fileCount":16,"integrity":"sha512-iX+0qdLflWl/RjG7buT7wdc1oy408WMVYTNBWW546jVWLzw7mr0NcZx0lvdJpDZHXOtiYWER9dGM6jj9sKYpHQ==","signatures":[{"sig":"MEUCIFLA3adr5c5GKjMweZtKfq/2yQyjt52HFp9N16EuO1nZAiEA48ldav9AEWGj4smMFMgsDZYjJavq8MC7yzgP1SeyN/o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.4.0-edge.1941.1d7f2bd","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":26609},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"1d7f2bd9dc6fe0561ebd3833c0bf513486a4c768","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.4.0-edge.1941.1d7f2bd","@flighthq/types":"0.4.0-edge.1941.1d7f2bd","@flighthq/textshaper":"0.4.0-edge.1941.1d7f2bd"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.4.0-edge.1941.1d7f2bd_1787794502687_0.4996419346024592","host":"s3://npm-registry-packages-npm-production"}},"0.4.0-next.1943.b4c3e61":{"name":"@flighthq/textshaper-canvas","version":"0.4.0-next.1943.b4c3e61","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.4.0-next.1943.b4c3e61","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"8b1c4608b39e2e2383fc25ef083aabbad92ca950","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.4.0-next.1943.b4c3e61.tgz","fileCount":16,"integrity":"sha512-AyDC+AsUUnQbDlCeDSI4Qs5oOd6lKqK3ibmdhPBCJU+Ipse8/4V5/wdHX63RtljhH0JjTq63xfer4cmI3vnBcw==","signatures":[{"sig":"MEQCICa+IB65xyzl0HRje97e7TvLlEhsimpbdVfoSrpFtnpQAiATNcG2la2IDiGiFN4BjkyVbLTG98C4ziCaToBowaz1hA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.4.0-next.1943.b4c3e61","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":26609},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"b4c3e61e891e0afe8c26204db16be794b9f41214","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.4.0-next.1943.b4c3e61","@flighthq/types":"0.4.0-next.1943.b4c3e61","@flighthq/textshaper":"0.4.0-next.1943.b4c3e61"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.4.0-next.1943.b4c3e61_1787795227752_0.5745615824831631","host":"s3://npm-registry-packages-npm-production"}},"0.5.0-next.1944.cd6b6e7":{"name":"@flighthq/textshaper-canvas","version":"0.5.0-next.1944.cd6b6e7","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.5.0-next.1944.cd6b6e7","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"eeaef9e35d6a8dd95e3315674a22ea90327fa709","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.5.0-next.1944.cd6b6e7.tgz","fileCount":16,"integrity":"sha512-S0g/rdYdxNTf+JEYrLcXtZrwt7fgg4Z/s+6aFb1edZOIyfEo8dpv218m6T1CmQfrvSLAFvyVfxF23R/ix/7P8Q==","signatures":[{"sig":"MEUCIQCFVCAlsNS1zxlN7iK3NICRJnvQkFqeF6BMihi3q39c1QIgPj1217agwqCjpd25eVZFydr+a+9kcYrYilp6YowZZOM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.5.0-next.1944.cd6b6e7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":26609},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"cd6b6e71eb472b3a4249830a7743333f019fa7b7","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.5.0-next.1944.cd6b6e7","@flighthq/types":"0.5.0-next.1944.cd6b6e7","@flighthq/textshaper":"0.5.0-next.1944.cd6b6e7"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.5.0-next.1944.cd6b6e7_1787795521705_0.1269211357504898","host":"s3://npm-registry-packages-npm-production"}},"0.4.0-edge.1943.b4c3e61":{"name":"@flighthq/textshaper-canvas","version":"0.4.0-edge.1943.b4c3e61","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.4.0-edge.1943.b4c3e61","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"639305127517de68a9754ddfc6093299ae087e55","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.4.0-edge.1943.b4c3e61.tgz","fileCount":16,"integrity":"sha512-VhaaExtrm0q7lrOxsVgyliHWz28ALAjTOdavxUeIW++KloSCsgUItQzAoGgrPWKFF1VXNZ25Hc4es1j9cV8a2A==","signatures":[{"sig":"MEUCIE4dFq0AIYMQLZKL1/oBMb7A6Ff2Iwj8gMaTUrqUThlqAiEAoeYryDsdhiU5lwvIQr9s4gQT7f3wY2HYfaoukWbvOIE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.4.0-edge.1943.b4c3e61","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":26609},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"b4c3e61e891e0afe8c26204db16be794b9f41214","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.4.0-edge.1943.b4c3e61","@flighthq/types":"0.4.0-edge.1943.b4c3e61","@flighthq/textshaper":"0.4.0-edge.1943.b4c3e61"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.4.0-edge.1943.b4c3e61_1787795688612_0.3879658196572271","host":"s3://npm-registry-packages-npm-production"}},"0.5.0-edge.1944.cd6b6e7":{"name":"@flighthq/textshaper-canvas","version":"0.5.0-edge.1944.cd6b6e7","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.5.0-edge.1944.cd6b6e7","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"b5d13cfe48c47fefeb927612961352bdda559662","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.5.0-edge.1944.cd6b6e7.tgz","fileCount":16,"integrity":"sha512-nNx+TMl+UsLjqFFBssFFktAyfhKKBqbyGYNSvGVYzablibSSFpC5jrKuyMRMaCzRNIz/pt5/LIKQJhB3SBHVhQ==","signatures":[{"sig":"MEQCIFM6FIepAMshICcUPdBnRN6bwCjn3PgCc2DQKxWJPQmdAiAGILVMV9OA8gmR0VX4z1vOdhj9lo6h9s/A2dyutwH79g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.5.0-edge.1944.cd6b6e7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":26609},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"cd6b6e71eb472b3a4249830a7743333f019fa7b7","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.5.0-edge.1944.cd6b6e7","@flighthq/types":"0.5.0-edge.1944.cd6b6e7","@flighthq/textshaper":"0.5.0-edge.1944.cd6b6e7"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.5.0-edge.1944.cd6b6e7_1787795966785_0.31161562416537003","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@flighthq/textshaper-canvas","version":"0.4.0","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.4.0","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"74906f10c5eee728724a362005ee04e46a4ba5d6","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.4.0.tgz","fileCount":16,"integrity":"sha512-hs7sIC6efzGPlgUi3Ay+cKb8YvNOwhrT+APdGl3ab1R7b8597RCphfXUacVvzUyQ6MIRBR/rVoauK1TnvtPINQ==","signatures":[{"sig":"MEQCIBIGAHelOOi2loI36Get4VXEEPC9rBieFG6oDmI9xu7PAiAUlwONXKYpG360IMXyY30NNgomk/wR434qotTQaq1vdA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":26519},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"cd6b6e71eb472b3a4249830a7743333f019fa7b7","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.4.0","@flighthq/types":"0.4.0","@flighthq/textshaper":"0.4.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.4.0_1787796001294_0.2950056680876727","host":"s3://npm-registry-packages-npm-production"}},"0.5.1-next.597.ab004dd":{"name":"@flighthq/textshaper-canvas","version":"0.5.1-next.597.ab004dd","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.5.1-next.597.ab004dd","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"a59ed70dea3cba9bb5e9521cb046eca039b20df5","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.5.1-next.597.ab004dd.tgz","fileCount":16,"integrity":"sha512-rQpILamPmpk3UtzKxCyNIz8jBkRHwhNcrfN9b8Re47yvj4xotMyP3DQRmvNzPIHjeZSqpKKK4OTTk0GHlDlaZw==","signatures":[{"sig":"MEQCICNYkjlP31jwUDwBLuF+ziLMtHdG5qL4QjaGPBlajiD0AiBHSNbja4YrnJZSQbMdWXQJPzU0OsoCfHwMmC7LSRAXtg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.5.1-next.597.ab004dd","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":26604},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"ab004ddc85b350cbd99a944e1e8108a016ae8af0","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.5.1-next.597.ab004dd","@flighthq/types":"0.5.1-next.597.ab004dd","@flighthq/textshaper":"0.5.1-next.597.ab004dd"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.5.1-next.597.ab004dd_1788159407134_0.649900287792915","host":"s3://npm-registry-packages-npm-production"}},"0.5.1-edge.597.ab004dd":{"name":"@flighthq/textshaper-canvas","version":"0.5.1-edge.597.ab004dd","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.5.1-edge.597.ab004dd","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"97047387ac8f3018e4ae80f914bc0dce028fd6a3","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.5.1-edge.597.ab004dd.tgz","fileCount":16,"integrity":"sha512-8MrDb6wO1Y6izoO6sUqqFzdfJjhbF9RZgl0vnD96+1hY0+pLyZrWKY5U/0cgMXT/vzfERt9tPnQjdGaqOvhITg==","signatures":[{"sig":"MEUCIQDFqYxgxAV3j2W32MN3qbxmQu+UyYiSrH7dsB5hx4aZrAIgZJFZ2gToESPn0qIHMFzYa5HrZgrGKUXAlgU/dH+ONbk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.5.1-edge.597.ab004dd","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":26604},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"ab004ddc85b350cbd99a944e1e8108a016ae8af0","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.5.1-edge.597.ab004dd","@flighthq/types":"0.5.1-edge.597.ab004dd","@flighthq/textshaper":"0.5.1-edge.597.ab004dd"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.5.1-edge.597.ab004dd_1788159849865_0.055279745010117454","host":"s3://npm-registry-packages-npm-production"}},"0.5.1-next.601.e6e16ba":{"name":"@flighthq/textshaper-canvas","version":"0.5.1-next.601.e6e16ba","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.5.1-next.601.e6e16ba","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"12a522eb4d496d31cb21f0bdb14cdb9718058ee5","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.5.1-next.601.e6e16ba.tgz","fileCount":16,"integrity":"sha512-LnENWlw2qOh8Ddn7lr9xRHUj8o5VFT0t8iUuq4CfmYiuqagy1f3g9r3eyP4BGBIzzIazi4xMXm2HUSLZQozKGg==","signatures":[{"sig":"MEUCIQDcuIgGAyUEZgE8EGGdZ99Thc9RZtTNcO2HhjEZpmnQqwIgSB2fummtjY5BSvQhloSDfHKbDkVCYrliRbCtnfAYTyQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.5.1-next.601.e6e16ba","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":26604},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"e6e16ba4e02530d9579d14d496d5df29f0784c68","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.5.1-next.601.e6e16ba","@flighthq/types":"0.5.1-next.601.e6e16ba","@flighthq/textshaper":"0.5.1-next.601.e6e16ba"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.5.1-next.601.e6e16ba_1788163088211_0.9272823514380484","host":"s3://npm-registry-packages-npm-production"}},"0.5.1-next.638.d4dbd4e":{"name":"@flighthq/textshaper-canvas","version":"0.5.1-next.638.d4dbd4e","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.5.1-next.638.d4dbd4e","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"87ac11a6b8d95bdbfcbaac838f0243b36ab5663f","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.5.1-next.638.d4dbd4e.tgz","fileCount":16,"integrity":"sha512-THK7qhmY5zm+ywtGjoENjeDsgeGOae7/q9EKYSziV3kNMhG7ZDM8CKI/PA13xEkGlx8k0faQiUHpytnAHEUQQg==","signatures":[{"sig":"MEQCIEkJcK8HUN48QN+KftRzGgVUOqpNi6tJ6X1k0hC6XVYWAiAfkMsx0dK3JtairKwdlqdyNVkp9UqIj4ohojB1wEDEVA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.5.1-next.638.d4dbd4e","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":26604},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"d4dbd4e347dc8be10b180c85a766ab50333dcb51","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.5.1-next.638.d4dbd4e","@flighthq/types":"0.5.1-next.638.d4dbd4e","@flighthq/textshaper":"0.5.1-next.638.d4dbd4e"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.5.1-next.638.d4dbd4e_1788193898159_0.44240860840392604","host":"s3://npm-registry-packages-npm-production"}},"0.5.1-edge.638.d4dbd4e":{"name":"@flighthq/textshaper-canvas","version":"0.5.1-edge.638.d4dbd4e","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.5.1-edge.638.d4dbd4e","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"98245a3bfe4de096e5bea5b408361bedbbf33331","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.5.1-edge.638.d4dbd4e.tgz","fileCount":16,"integrity":"sha512-Qhkytx3rkmTmFP1EWS7kjhWowOupK07ZnQNfEfHysIYgLW7bJz9kx4thGF+7XaiDBEtqJ7V3Oj4cVBzecJNfhQ==","signatures":[{"sig":"MEUCIH7AfRaCdbwsWr31GIdkUlvMsHQ6nbEAnAp/KxixiYBqAiEAs4+4qReKlGOH89hhkpVPtTMF6BYppwQFgdLh0l5PycI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.5.1-edge.638.d4dbd4e","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":26604},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"d4dbd4e347dc8be10b180c85a766ab50333dcb51","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.5.1-edge.638.d4dbd4e","@flighthq/types":"0.5.1-edge.638.d4dbd4e","@flighthq/textshaper":"0.5.1-edge.638.d4dbd4e"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.5.1-edge.638.d4dbd4e_1788194410341_0.6410441757526508","host":"s3://npm-registry-packages-npm-production"}},"0.5.1-next.640.24b4c62":{"name":"@flighthq/textshaper-canvas","version":"0.5.1-next.640.24b4c62","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.5.1-next.640.24b4c62","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"863568aee1d1219b1cd636c10c81331b2163847f","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.5.1-next.640.24b4c62.tgz","fileCount":16,"integrity":"sha512-MHJPU9dNq4FZ5cYSGW5YIH1Lf60Q2Lu1fCmUgNbyWTfHNZmyjnOnWNOC/VTCQva/Ia6VOXhJqn/l04s0OtFH1A==","signatures":[{"sig":"MEUCIASWgk98Nt+fe4o5vuoFPVYJT5193EaTanGqGVzBTHdgAiEAh6fCt78J6PW0dh0WAUtJvgXltWmbkdLWjtjOfM5am2U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.5.1-next.640.24b4c62","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":26604},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"24b4c624056b5bbe9efac4e229f95754c500f5ec","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.5.1-next.640.24b4c62","@flighthq/types":"0.5.1-next.640.24b4c62","@flighthq/textshaper":"0.5.1-next.640.24b4c62"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.5.1-next.640.24b4c62_1788200065303_0.42575119437824105","host":"s3://npm-registry-packages-npm-production"}},"0.5.1-edge.640.24b4c62":{"name":"@flighthq/textshaper-canvas","version":"0.5.1-edge.640.24b4c62","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.5.1-edge.640.24b4c62","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"22ad5bb5d9dc3914e32fb53f41406f2c521df28f","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.5.1-edge.640.24b4c62.tgz","fileCount":16,"integrity":"sha512-Igsaxmj7APbYCzHxEP1ZRz5StH8kq+bxz07GixxiSLRAQlpEko8nOagl4LJxPCdD/uQNZwQ2j/hD8MJ4LEN8CA==","signatures":[{"sig":"MEYCIQCok67oPqVIWKqhVKfEbti0wQrhihvf8lVNL7utXJTC+AIhAJ6+SMjTSYzOIZ1f4cYqvCXYJGm+D1L/f3WmZaHvwLR3","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.5.1-edge.640.24b4c62","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":26604},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"24b4c624056b5bbe9efac4e229f95754c500f5ec","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.5.1-edge.640.24b4c62","@flighthq/types":"0.5.1-edge.640.24b4c62","@flighthq/textshaper":"0.5.1-edge.640.24b4c62"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.5.1-edge.640.24b4c62_1788200533550_0.3221790247073093","host":"s3://npm-registry-packages-npm-production"}},"0.5.1-next.650.5d3df0b":{"name":"@flighthq/textshaper-canvas","version":"0.5.1-next.650.5d3df0b","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.5.1-next.650.5d3df0b","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"99618686912e365db7526035160618c15f07eee4","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.5.1-next.650.5d3df0b.tgz","fileCount":16,"integrity":"sha512-QoIsDyuY66HjWi72bhBP6FvPDTjTjNBGSpKq/p9HYzQsDus0Bkuqfd6zClnxDCBd3iwEcaK9SD4K1+f5sW8yRw==","signatures":[{"sig":"MEQCIH9IHHt5qgqBRJEk9/hZIJdBU+ToS+XWRS97ST9PwZ28AiATsl806nnZZhOXulOQAWW93sQzehQClfVxg5yM7BW4ag==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.5.1-next.650.5d3df0b","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":26604},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"5d3df0b3bd7071e51898ec6ca5f733b81cb94a54","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.5.1-next.650.5d3df0b","@flighthq/types":"0.5.1-next.650.5d3df0b","@flighthq/textshaper":"0.5.1-next.650.5d3df0b"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.5.1-next.650.5d3df0b_1788220756431_0.3285926107172392","host":"s3://npm-registry-packages-npm-production"}},"0.5.1-edge.650.5d3df0b":{"name":"@flighthq/textshaper-canvas","version":"0.5.1-edge.650.5d3df0b","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.5.1-edge.650.5d3df0b","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"d32054ed99e42fd17f547e5631d16a79e7d5d8ab","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.5.1-edge.650.5d3df0b.tgz","fileCount":16,"integrity":"sha512-TeQD7JSYgRRMxt7aUzyzuU8kHRc3hHPxWSv7Z0G2nTln684/VuG27B+ztGkyCxZRp/tUtDwNdsRfouCFlEYBKQ==","signatures":[{"sig":"MEQCIDkaXrYc3JuVN4OdwMuQmKMN2fqnD6qlRotMwJdam2fHAiB6RPspEttlXqDi66Rr2ANvRAmxnA21l8q9hcx3doit7g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.5.1-edge.650.5d3df0b","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":26604},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"5d3df0b3bd7071e51898ec6ca5f733b81cb94a54","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.5.1-edge.650.5d3df0b","@flighthq/types":"0.5.1-edge.650.5d3df0b","@flighthq/textshaper":"0.5.1-edge.650.5d3df0b"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.5.1-edge.650.5d3df0b_1788221293778_0.1240582576624285","host":"s3://npm-registry-packages-npm-production"}},"0.5.1-next.654.b54779d":{"name":"@flighthq/textshaper-canvas","version":"0.5.1-next.654.b54779d","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.5.1-next.654.b54779d","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"5ff4d75b611607522a7ca677a6c8094e5f3c1423","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.5.1-next.654.b54779d.tgz","fileCount":16,"integrity":"sha512-ObQ9KSt/tvT2gkP/4XAELgpi0SSubvZjr+BFPRgblr72qR6ZKhzg55aN11K9bAsA/GngrmNdak7JWjQoQnRQOA==","signatures":[{"sig":"MEUCIDpLulem6xBJe6S32LQGmTNGrGLbFN07UAJCEaAn+tE1AiEA4SVJZm7xIWYO+9ZAhSFaLiKssdHDzhZxm6MfVken22o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.5.1-next.654.b54779d","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":26604},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"b54779d8e000aedff716f72779c6a2a77aeabefe","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.5.1-next.654.b54779d","@flighthq/types":"0.5.1-next.654.b54779d","@flighthq/textshaper":"0.5.1-next.654.b54779d"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.5.1-next.654.b54779d_1788233826073_0.5319662794753541","host":"s3://npm-registry-packages-npm-production"}},"0.5.1-edge.654.b54779d":{"name":"@flighthq/textshaper-canvas","version":"0.5.1-edge.654.b54779d","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.5.1-edge.654.b54779d","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"eb52424c42da5ba3e40b80017ef9391e5dfc6545","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.5.1-edge.654.b54779d.tgz","fileCount":16,"integrity":"sha512-5VQ5Z8fYGdrkmJ2pmKliHfZzb/nS5YJC6ptxI7zQLJf9mym0wKJoICMRvNcIUy/ZdX5UsB3/H9UJw43r3rUI7g==","signatures":[{"sig":"MEQCIA6pruj3y6PP5QhDxWUCsxXYhi2pNJvn27NojJPSDj5fAiAJt0SkVwEl3++HzNY//pVEaJB2rIxuXvi1K3CywCVEWQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.5.1-edge.654.b54779d","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":26604},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"b54779d8e000aedff716f72779c6a2a77aeabefe","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.5.1-edge.654.b54779d","@flighthq/types":"0.5.1-edge.654.b54779d","@flighthq/textshaper":"0.5.1-edge.654.b54779d"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.5.1-edge.654.b54779d_1788234309862_0.10493479890797364","host":"s3://npm-registry-packages-npm-production"}},"0.5.1-next.658.9cb44d7":{"name":"@flighthq/textshaper-canvas","version":"0.5.1-next.658.9cb44d7","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.5.1-next.658.9cb44d7","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"8754e0740340003a5c85d83ae498ba5f7b5a6a5a","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.5.1-next.658.9cb44d7.tgz","fileCount":16,"integrity":"sha512-EWwQ7x8HBflPQiPC4JQ4KRAFnQX6U099kirC63oOM5h+XWgqEMSVL33UBKbTx40mzlRD1BCIZt7lwf1IggEitQ==","signatures":[{"sig":"MEYCIQCy3YwYsKIhgN4IJV176p3zxoHcMtZNyWmsCNF8Gpf8pQIhAPlmaNnh2LY2TLVYTAsCqQNfetGanpjBM9EHrAZR2mQU","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.5.1-next.658.9cb44d7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":26604},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"9cb44d76b981adad2503d5e62207be99adb35c55","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.5.1-next.658.9cb44d7","@flighthq/types":"0.5.1-next.658.9cb44d7","@flighthq/textshaper":"0.5.1-next.658.9cb44d7"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.5.1-next.658.9cb44d7_1788290139479_0.2864919373785111","host":"s3://npm-registry-packages-npm-production"}},"0.5.1-edge.658.9cb44d7":{"name":"@flighthq/textshaper-canvas","version":"0.5.1-edge.658.9cb44d7","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.5.1-edge.658.9cb44d7","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"e6fda10c72fa82b8687e0802bfb2bd722c419d78","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.5.1-edge.658.9cb44d7.tgz","fileCount":16,"integrity":"sha512-K7GrcfvWmkfAYKRoORDErYPgPCrtxbJjp19cqLUzxz2xqDsnSnn9+u9OXr1vXzfeUNwCsixNeSqjagz471I9Tw==","signatures":[{"sig":"MEUCIQDl69PId8OczCNoxTpZjn0CtQDtp89pcAqhhWBKEZXxlAIgEyfmVOBC37Gf+2ufEYjWLNdNaK8YclFga2rao4COy8o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.5.1-edge.658.9cb44d7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":26604},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"9cb44d76b981adad2503d5e62207be99adb35c55","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.5.1-edge.658.9cb44d7","@flighthq/types":"0.5.1-edge.658.9cb44d7","@flighthq/textshaper":"0.5.1-edge.658.9cb44d7"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.5.1-edge.658.9cb44d7_1788290615506_0.5077376738522972","host":"s3://npm-registry-packages-npm-production"}},"0.5.1-next.685.f72fc7f":{"name":"@flighthq/textshaper-canvas","version":"0.5.1-next.685.f72fc7f","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.5.1-next.685.f72fc7f","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"72d4ef867d42badbc33e7c74f09dde75ac670d51","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.5.1-next.685.f72fc7f.tgz","fileCount":16,"integrity":"sha512-6P5PkZ+1W5ag/Uo7Q8PIcnsrHX9dHzdTwfFFSJYvXbPwhUFskX4oAn2WFMvpQwRQtjv0mt01FVNsSv3Iv3sEWQ==","signatures":[{"sig":"MEUCIQDbKBJhlvujWMz+ma1oOHKB+NJeRR7HiZ+TecP4PuK2bQIgZxMxhp+KzOG0GwF6bO/DGt1LoTyt0ir3yJUR74PsgiE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.5.1-next.685.f72fc7f","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":26604},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"f72fc7feaa9653d950f39c7d2fe6365f48e82e51","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.5.1-next.685.f72fc7f","@flighthq/types":"0.5.1-next.685.f72fc7f","@flighthq/textshaper":"0.5.1-next.685.f72fc7f"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.5.1-next.685.f72fc7f_1788311383372_0.5837896303783645","host":"s3://npm-registry-packages-npm-production"}},"0.5.1-edge.685.f72fc7f":{"name":"@flighthq/textshaper-canvas","version":"0.5.1-edge.685.f72fc7f","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.5.1-edge.685.f72fc7f","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"d29bd1a4fe6c6ff5e4bc410c368734b43d472681","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.5.1-edge.685.f72fc7f.tgz","fileCount":16,"integrity":"sha512-URpZNJqaozZGgIFMOagzQABo8Zz0mNLXCkGrancOvIpj7JwcsACmwa2mxsGEhByRr9IG2h5z1fxQx8N03X8CLw==","signatures":[{"sig":"MEQCIGZL274dPYPR03Jy0hsQrjsA77LGeA6zcGaV/wtH/qeJAiAHPD/bW2sjNnv4R4HpDSfXpAkZi3hMFewwAC/X/0MqLQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.5.1-edge.685.f72fc7f","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":26604},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"f72fc7feaa9653d950f39c7d2fe6365f48e82e51","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.5.1-edge.685.f72fc7f","@flighthq/types":"0.5.1-edge.685.f72fc7f","@flighthq/textshaper":"0.5.1-edge.685.f72fc7f"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.5.1-edge.685.f72fc7f_1788311942429_0.8832074984829417","host":"s3://npm-registry-packages-npm-production"}},"0.5.1-next.693.478551c":{"name":"@flighthq/textshaper-canvas","version":"0.5.1-next.693.478551c","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.5.1-next.693.478551c","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"6e462b2659d92c22e8578d747446bd9b77bebee2","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.5.1-next.693.478551c.tgz","fileCount":16,"integrity":"sha512-CmdAg+i7ZV3XIodHV7+rtNb1XJrSxk0sBShASKPTv75ex1dR94Uc5F4F8fBsSKGBNipFR8/0ULcubK63P6BfAA==","signatures":[{"sig":"MEYCIQCIc6zMCtns2zFuU+/8o+7cBcpyjd8oh+S2dxGAb4MH8AIhAKyjlEOr5vV0NFL8DpzkNP+E1Rw34zuF1B/5w+GrpZSS","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.5.1-next.693.478551c","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":26604},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"478551cf7887f05c42c11f75e59034c715c8495f","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.5.1-next.693.478551c","@flighthq/types":"0.5.1-next.693.478551c","@flighthq/textshaper":"0.5.1-next.693.478551c"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.5.1-next.693.478551c_1788320615916_0.5321926280125469","host":"s3://npm-registry-packages-npm-production"}},"0.5.1-edge.693.478551c":{"name":"@flighthq/textshaper-canvas","version":"0.5.1-edge.693.478551c","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.5.1-edge.693.478551c","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"7433b94278e8064f7ab2f919cac2f4791e9be9df","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.5.1-edge.693.478551c.tgz","fileCount":16,"integrity":"sha512-ZD4p3aguCpqPNn4fD46/AT5fMpwEr80zgHhFwpBRSr6ASDzQaN7RqWqa5DRB+PizkJWSOe+OXSIBRQeS8eMJbg==","signatures":[{"sig":"MEYCIQCmflJGJEiQc5SO+T2X/FHr2DpAYknrvLLmYYlEN5hGKgIhAN6xzo9+dVfKcGdGnkPZ+pJRyR3Y/lFWTUq/G5uJuGGM","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.5.1-edge.693.478551c","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":26604},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"478551cf7887f05c42c11f75e59034c715c8495f","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.5.1-edge.693.478551c","@flighthq/types":"0.5.1-edge.693.478551c","@flighthq/textshaper":"0.5.1-edge.693.478551c"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.5.1-edge.693.478551c_1788321155085_0.8199181894326839","host":"s3://npm-registry-packages-npm-production"}},"0.5.1-next.704.19c91ec":{"name":"@flighthq/textshaper-canvas","version":"0.5.1-next.704.19c91ec","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.5.1-next.704.19c91ec","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"ae94554c34f93aee5bbfcfdf911669e1262e4b6d","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.5.1-next.704.19c91ec.tgz","fileCount":16,"integrity":"sha512-AZFZceGeg2b3vzeLRQBBh9x6byrZWB5UpLRbLgSmpx+gRv0mXsjBVz83Ls+aelK9VeWArbsH9xVW2SNnpVF3Yg==","signatures":[{"sig":"MEQCIDVBmu6YIZxHVhkv4//dZsYDr3SiT041OwR/QE5rE+2gAiAPxouVTIq9enwTN60AlePCSqCwiquNoTsJJKYfmBxvBg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.5.1-next.704.19c91ec","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":26604},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"19c91ec3e569d6b3b471682726465a79fba9f8cb","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.5.1-next.704.19c91ec","@flighthq/types":"0.5.1-next.704.19c91ec","@flighthq/textshaper":"0.5.1-next.704.19c91ec"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.5.1-next.704.19c91ec_1788384424455_0.3662207530436903","host":"s3://npm-registry-packages-npm-production"}},"0.5.1-next.729.2aeb707":{"name":"@flighthq/textshaper-canvas","version":"0.5.1-next.729.2aeb707","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.5.1-next.729.2aeb707","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"a633f0924e487e44d4feddbac64302123cf64a08","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.5.1-next.729.2aeb707.tgz","fileCount":16,"integrity":"sha512-ITPoSkXYhODf5gRu/vVSFX+8CTxICB7fNfVodHZVpDGBEwE4YBT4o46clFS8GolZPN3CzhFKzBlKd84X/4NFAw==","signatures":[{"sig":"MEUCIFfFBsNVhZegv/ojDihXAtfiqD83SAoRyB+c7H04p016AiEAwUV17i0bBKpS1AjJv0AfBwARKqHcNyCMUUOmWcvmt1Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.5.1-next.729.2aeb707","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":26604},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"2aeb707259007d61c5aaf2e31fe47447a260fe2a","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.5.1-next.729.2aeb707","@flighthq/types":"0.5.1-next.729.2aeb707","@flighthq/textshaper":"0.5.1-next.729.2aeb707"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.5.1-next.729.2aeb707_1788400542963_0.23473846046261393","host":"s3://npm-registry-packages-npm-production"}},"0.5.1-next.730.f29a5aa":{"name":"@flighthq/textshaper-canvas","version":"0.5.1-next.730.f29a5aa","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.5.1-next.730.f29a5aa","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"f9697bebd467a0d80f55a25c9f9a0b47482131d4","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.5.1-next.730.f29a5aa.tgz","fileCount":16,"integrity":"sha512-doVt4uB9zdIvEA6WoGWLIseXNY0hdna1fIdJhiJeynEid/2pxaRpbUCzse0EIzvwxTNixjTh78L6BNHxC2JpIA==","signatures":[{"sig":"MEYCIQCrJ1j1Q21hMsx4QvIZmlGwwDoCNa+UiDqkqSIvt7k90QIhAN8x2QKSTTIMtVhJxGs4lGN8b98/l6Oxr7HP76omHq7D","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.5.1-next.730.f29a5aa","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":26604},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"f29a5aab5db192284ce5cadf08ffae2649a598ea","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.5.1-next.730.f29a5aa","@flighthq/types":"0.5.1-next.730.f29a5aa","@flighthq/textshaper":"0.5.1-next.730.f29a5aa"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.5.1-next.730.f29a5aa_1788404745874_0.26256118170207743","host":"s3://npm-registry-packages-npm-production"}},"0.5.1-edge.730.f29a5aa":{"name":"@flighthq/textshaper-canvas","version":"0.5.1-edge.730.f29a5aa","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.5.1-edge.730.f29a5aa","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"119b62fad268e24160bb1ca25283ff18d481b6c4","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.5.1-edge.730.f29a5aa.tgz","fileCount":16,"integrity":"sha512-+7fa1Uu+QhFyGQFtNY71kbz4ej+Ug0tlKkw7mcRr3bPZf2zkmCDngvvHZGUin8G/j5c/VV2xo5D09AzNqPN8/A==","signatures":[{"sig":"MEUCIDuv6iSq0Jj6YJgbEiofojsDg1+olY7uRjv+9awbis/xAiEAmZB/hPTbCeu+9urPHba63tTvO0MkaTML3E5Awn12ZVI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.5.1-edge.730.f29a5aa","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":26604},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"f29a5aab5db192284ce5cadf08ffae2649a598ea","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.5.1-edge.730.f29a5aa","@flighthq/types":"0.5.1-edge.730.f29a5aa","@flighthq/textshaper":"0.5.1-edge.730.f29a5aa"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.5.1-edge.730.f29a5aa_1788405287978_0.7941908669084388","host":"s3://npm-registry-packages-npm-production"}},"0.5.1-next.731.0ae0aa4":{"name":"@flighthq/textshaper-canvas","version":"0.5.1-next.731.0ae0aa4","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.5.1-next.731.0ae0aa4","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"ea0c921f56218c7766e633ede51ef06d74384191","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.5.1-next.731.0ae0aa4.tgz","fileCount":16,"integrity":"sha512-F1nGj/IdUvp2S+j42vo/liJ37dR0JuWpWDDKF2hW99uIINq441wIZ5nHcBXXbgM3WG4HwygaidtyfEnYOtk0pg==","signatures":[{"sig":"MEYCIQCeDNdgon4FzBQlFaI5aNGS6yjcJI2DTxCMG+nlkUSEVgIhAJr+HsqNxdKzfKFzCYkGYczX1NgwMq5w6rNnpGYaEVMB","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.5.1-next.731.0ae0aa4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":26604},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"0ae0aa49d8251d23b546f64bc242f3ad59a98dcb","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.5.1-next.731.0ae0aa4","@flighthq/types":"0.5.1-next.731.0ae0aa4","@flighthq/textshaper":"0.5.1-next.731.0ae0aa4"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.5.1-next.731.0ae0aa4_1788405445957_0.06965788139522622","host":"s3://npm-registry-packages-npm-production"}},"0.5.1-edge.731.0ae0aa4":{"name":"@flighthq/textshaper-canvas","version":"0.5.1-edge.731.0ae0aa4","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.5.1-edge.731.0ae0aa4","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"7f15ae1b1c0d48c0a851da2b47304d3d5eede9ff","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.5.1-edge.731.0ae0aa4.tgz","fileCount":16,"integrity":"sha512-hPwckdJOrP05QRzaMnCv9oBzcwVvIURWBiaanJu/MdJz5ujIAZEJ8JMSPoBaUf6X14lbd/b3JUeGI9Hy2m9oYw==","signatures":[{"sig":"MEUCIQDY1hFbiE9cN1HloIrvxTWZ06Fa3lsQeAKgsAzNRSOymQIgVS/0NWtpmYH52Qqe9WDMTgmbE31dm/Fl5LfN0b4smso=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.5.1-edge.731.0ae0aa4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":26604},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"0ae0aa49d8251d23b546f64bc242f3ad59a98dcb","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.5.1-edge.731.0ae0aa4","@flighthq/types":"0.5.1-edge.731.0ae0aa4","@flighthq/textshaper":"0.5.1-edge.731.0ae0aa4"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.5.1-edge.731.0ae0aa4_1788405990629_0.6370783898690677","host":"s3://npm-registry-packages-npm-production"}},"0.5.1-next.743.8d09db1":{"name":"@flighthq/textshaper-canvas","version":"0.5.1-next.743.8d09db1","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.5.1-next.743.8d09db1","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"45f81403ea894d5414da58afb433c8d4d41295fb","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.5.1-next.743.8d09db1.tgz","fileCount":16,"integrity":"sha512-Sj/8iBBz9ZEdLnN6ESO2O78PmbZvcj1FTw/iKf2LXUJ5CwQEmHUp7xe4nTRWEdu2rPB4o2FH1hWUhkBF6N5aIw==","signatures":[{"sig":"MEQCIBPrGPG+n4LoBQANyPctbpI5+8zeyY13iOdIvO8tR1DuAiA0pLZzEdcyXotjg5UvLdkvQsdBdC3UEZqweF5NcLOkCg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.5.1-next.743.8d09db1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":26604},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"8d09db125a0afd3b73ca6e039a7dd25bcb9737d0","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.5.1-next.743.8d09db1","@flighthq/types":"0.5.1-next.743.8d09db1","@flighthq/textshaper":"0.5.1-next.743.8d09db1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.5.1-next.743.8d09db1_1788426637061_0.8186014257450369","host":"s3://npm-registry-packages-npm-production"}},"0.5.1-edge.743.8d09db1":{"name":"@flighthq/textshaper-canvas","version":"0.5.1-edge.743.8d09db1","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.5.1-edge.743.8d09db1","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"87808e3b636a33c8d024176436892473f5011a38","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.5.1-edge.743.8d09db1.tgz","fileCount":16,"integrity":"sha512-WYfZG1r6qLVTANvfgKYUm4ofHpBpMmKy0WTlxtgTP5cW+hIgKanPT7GSKDFFPTq+ikByQCi9ajf5D+3++tmd6g==","signatures":[{"sig":"MEUCIQC3NVAeMT9GPi5V5L+URD5QJhsXw6yoP86C9QMKO2yvRQIgCQ9H/C6KIInfL9S9QDqKSvFBxODS4mroUMrNKspiwdY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.5.1-edge.743.8d09db1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":26604},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"8d09db125a0afd3b73ca6e039a7dd25bcb9737d0","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.5.1-edge.743.8d09db1","@flighthq/types":"0.5.1-edge.743.8d09db1","@flighthq/textshaper":"0.5.1-edge.743.8d09db1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.5.1-edge.743.8d09db1_1788427156776_0.9845090070829188","host":"s3://npm-registry-packages-npm-production"}},"0.5.1-next.799.62ef0c7":{"name":"@flighthq/textshaper-canvas","version":"0.5.1-next.799.62ef0c7","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.5.1-next.799.62ef0c7","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"e862dbe023302dd1c9fc84ad5aec48ad845b6fa6","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.5.1-next.799.62ef0c7.tgz","fileCount":16,"integrity":"sha512-SOh8DbF/14CV2lpKZC4o0QAZTZ0UTBVx1M8ifywkArp2r/FxCvuHu6yDG3DvMdJZgAj8tISGon04JTPV2xt/aw==","signatures":[{"sig":"MEUCIQDabHqZl9At2pWokRWyRIIlhUOWqOLcuDrJLgHAwOLFYwIgGTfa+GJi9/vwYvufeLHMjHKtOXm6sbdM0N7GjL+9Cak=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.5.1-next.799.62ef0c7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":26875},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"62ef0c74f09f24177aac3695b2487b2d743d4fe6","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.5.1-next.799.62ef0c7","@flighthq/types":"0.5.1-next.799.62ef0c7","@flighthq/entity":"0.5.1-next.799.62ef0c7","@flighthq/textshaper":"0.5.1-next.799.62ef0c7"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.5.1-next.799.62ef0c7_1788447292223_0.29062135707770675","host":"s3://npm-registry-packages-npm-production"}},"0.5.1-edge.799.62ef0c7":{"name":"@flighthq/textshaper-canvas","version":"0.5.1-edge.799.62ef0c7","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.5.1-edge.799.62ef0c7","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"7280943a6a03379244361152be4bc6a2526b143b","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.5.1-edge.799.62ef0c7.tgz","fileCount":16,"integrity":"sha512-yvQo7HDQ21NzjvQmSe2fOn6UwVYzV5+kme1KQQ7AAXuhsDYI3Z7r6eZmHFEHyTIq4hK//KknbsOIonJPJCizIg==","signatures":[{"sig":"MEYCIQCF/6f4kce9T0KdCeIEfIb9krrHLl3bniUous3pWS7yHwIhAKpeeLCvKJcasWtK600R+g9E7PxTMcJixqFbvjqdy0Mm","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.5.1-edge.799.62ef0c7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":26875},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"62ef0c74f09f24177aac3695b2487b2d743d4fe6","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.5.1-edge.799.62ef0c7","@flighthq/types":"0.5.1-edge.799.62ef0c7","@flighthq/entity":"0.5.1-edge.799.62ef0c7","@flighthq/textshaper":"0.5.1-edge.799.62ef0c7"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.5.1-edge.799.62ef0c7_1788447788527_0.4101943552927325","host":"s3://npm-registry-packages-npm-production"}},"0.5.1-next.815.cc08b93":{"name":"@flighthq/textshaper-canvas","version":"0.5.1-next.815.cc08b93","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.5.1-next.815.cc08b93","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"97321d014ed7219cad652e96cd897bd05e62064a","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.5.1-next.815.cc08b93.tgz","fileCount":16,"integrity":"sha512-mqI49F9GOvrjyA3ZFgZCVnU8usribGQnEbz02YFyaQFXHLdiwRvHjcv6oQV2/rfZTDvLgyy40PorTuGM78eLyw==","signatures":[{"sig":"MEYCIQDQ9jc8uv5HW75WS42yh3K4J/OWdikmnySNqmtML70FawIhAJH9OCD2P9mG+52XXDW3EKJ+0Ud0Uld5hpRxP47VvR0g","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.5.1-next.815.cc08b93","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":26875},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"cc08b93ef981080fa86bdd5143dc61dbdbf2665b","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.5.1-next.815.cc08b93","@flighthq/types":"0.5.1-next.815.cc08b93","@flighthq/entity":"0.5.1-next.815.cc08b93","@flighthq/textshaper":"0.5.1-next.815.cc08b93"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.5.1-next.815.cc08b93_1788461104238_0.16752896881940038","host":"s3://npm-registry-packages-npm-production"}},"0.5.1-next.820.97b3830":{"name":"@flighthq/textshaper-canvas","version":"0.5.1-next.820.97b3830","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.5.1-next.820.97b3830","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"56191569bf4e1a9a1d778ed5c6a0eb30f815ea25","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.5.1-next.820.97b3830.tgz","fileCount":16,"integrity":"sha512-+h0P9Gb2teIZHnuLCWV/2slWffhdIhQ8cdiwuXssmH2WqFcY/8v1W9d+ne/Jfba8Jn+TftBwP3Dkarm8EB3mhw==","signatures":[{"sig":"MEUCIBC7/dy/YXEl/+L205z/JZ86NoV/sPwxxcquBQbtCcRSAiEAkjrO6EvBthdA751cTQD2EDdXq4fWAH3BFi1cH32eYTU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.5.1-next.820.97b3830","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":26875},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"97b3830e843209d92da169e02a52c0574efe5c09","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.5.1-next.820.97b3830","@flighthq/types":"0.5.1-next.820.97b3830","@flighthq/entity":"0.5.1-next.820.97b3830","@flighthq/textshaper":"0.5.1-next.820.97b3830"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.5.1-next.820.97b3830_1788469632827_0.5073261057360423","host":"s3://npm-registry-packages-npm-production"}},"0.5.1-next.903.f434bc2":{"name":"@flighthq/textshaper-canvas","version":"0.5.1-next.903.f434bc2","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.5.1-next.903.f434bc2","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"ef4277a6907095f96534e97381e6cffc78672862","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.5.1-next.903.f434bc2.tgz","fileCount":16,"integrity":"sha512-FyXgG/mg7GulIyKyJEr77VgT2r3YuOuAAoHiKpqkCE6ySBB9r1YqLgj/p5YDD8bqUd8TDdIfdLgK/wHKhT23QA==","signatures":[{"sig":"MEUCIBSnXQljtdOK7AUIxMQ4UTG7zTlXCM5/xqLMDlZLhCRZAiEA74rd8Pb1NOStcE3iIK0uWehyiHL+jSMuVuT5LtsrjhQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.5.1-next.903.f434bc2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":27760},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"f434bc233778d75aeea61995df3a8cfaec459a85","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.5.1-next.903.f434bc2","@flighthq/types":"0.5.1-next.903.f434bc2","@flighthq/entity":"0.5.1-next.903.f434bc2","@flighthq/textshaper":"0.5.1-next.903.f434bc2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.5.1-next.903.f434bc2_1788551057033_0.9137004253428165","host":"s3://npm-registry-packages-npm-production"}},"0.5.1-next.904.b545d9c":{"name":"@flighthq/textshaper-canvas","version":"0.5.1-next.904.b545d9c","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.5.1-next.904.b545d9c","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"4862378693011a471da914c9045e5415b95f5914","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.5.1-next.904.b545d9c.tgz","fileCount":16,"integrity":"sha512-MCSUKcVo6KIUlQus9e+hSkpFw1lxa37ljLHABfXibCs/KSe0HHkQIPXwMHGV4C1QZmHJBT1yEcCSr6rAgn/JyA==","signatures":[{"sig":"MEQCIB2D/HqINdQviz4YrWQbmokhKx9SxrggZIXgkXvFnpe4AiA/d3Vj6l/0GxCVbDXD8cccV7Co02zcDOYBORFE7XHogg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.5.1-next.904.b545d9c","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":27760},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"b545d9cfe622400923a81685c78547f2be54eff5","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.5.1-next.904.b545d9c","@flighthq/types":"0.5.1-next.904.b545d9c","@flighthq/entity":"0.5.1-next.904.b545d9c","@flighthq/textshaper":"0.5.1-next.904.b545d9c"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.5.1-next.904.b545d9c_1788554705640_0.4436327626898473","host":"s3://npm-registry-packages-npm-production"}},"0.5.1-next.905.5fbf787":{"name":"@flighthq/textshaper-canvas","version":"0.5.1-next.905.5fbf787","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.5.1-next.905.5fbf787","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"73b9ed3c51a780ace8bed9ce56b9053414615095","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.5.1-next.905.5fbf787.tgz","fileCount":16,"integrity":"sha512-nTKNSk2A+w4tnzOuF8l92VfnNIrMT5s/cMSHaqxbykb3LgELoSonwh4GesKKDn9kJotMy+07SnOqWFso3rzUpg==","signatures":[{"sig":"MEUCIQD/uun/Lt6ez1QamcXmm6/HWTepEJDhSUMkM8sIoYkDSwIgFBpYq7+RG9flwXN6Cn5C3v8j5R7cQHeeuMJMrmpj60E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.5.1-next.905.5fbf787","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":28018},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"5fbf7874064c384307542d68b4dcb6a895ff0dcf","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.5.1-next.905.5fbf787","@flighthq/types":"0.5.1-next.905.5fbf787","@flighthq/entity":"0.5.1-next.905.5fbf787","@flighthq/textshaper":"0.5.1-next.905.5fbf787"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.5.1-next.905.5fbf787_1788555978847_0.4564738185918904","host":"s3://npm-registry-packages-npm-production"}},"0.5.1-next.906.419e5c9":{"name":"@flighthq/textshaper-canvas","version":"0.5.1-next.906.419e5c9","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.5.1-next.906.419e5c9","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"8feee092ef0bf3ee781be38040d9c388d4ba023d","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.5.1-next.906.419e5c9.tgz","fileCount":16,"integrity":"sha512-cYw3hTbx8vflJTUS1Du8gHb1250r/dhiLxeoTRNtbIHvS2ONxbnMeEqvIMCwfvsMIFftZcnY92yc0E06vzmIgQ==","signatures":[{"sig":"MEUCIE6BgNC4VeRakrIpjpNheN1aOmG9k8MM/d1qH1zL0yklAiEAxBySLFJQCvLU6gyckWTpu/jdrGuKKBlpWVDVsu0rxTs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.5.1-next.906.419e5c9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":28018},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"419e5c925b366b5053ed7711ce371eee89dc31e7","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.5.1-next.906.419e5c9","@flighthq/types":"0.5.1-next.906.419e5c9","@flighthq/entity":"0.5.1-next.906.419e5c9","@flighthq/textshaper":"0.5.1-next.906.419e5c9"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.5.1-next.906.419e5c9_1788559660537_0.7573806645580012","host":"s3://npm-registry-packages-npm-production"}},"0.5.1-next.908.b072fbc":{"name":"@flighthq/textshaper-canvas","version":"0.5.1-next.908.b072fbc","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.5.1-next.908.b072fbc","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"4d2f364a1d4425251ab54f6cf4c4384fb533fdcb","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.5.1-next.908.b072fbc.tgz","fileCount":16,"integrity":"sha512-s7lQVntSBMoA9MVuVCKMquWK8vX9tOgfeEZTP7umGhvH0pZGAhiRk4kh4yyTCXHfMZ3bdrxEo9jg124rPLjDJw==","signatures":[{"sig":"MEUCID3FsTmNxvRcvEZLZiwPHHph8pYGBW7SXNJ0P3ZIPC3SAiEAtbTeTVhORm2BfG8rK5PKq+DgI2cqhR37Xb6a2+pjlh0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.5.1-next.908.b072fbc","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":28018},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"b072fbc49d0745bb96842601b864551b37ab3ca1","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.5.1-next.908.b072fbc","@flighthq/types":"0.5.1-next.908.b072fbc","@flighthq/entity":"0.5.1-next.908.b072fbc","@flighthq/textshaper":"0.5.1-next.908.b072fbc"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.5.1-next.908.b072fbc_1788564319806_0.7158880026761569","host":"s3://npm-registry-packages-npm-production"}},"0.5.1-next.909.a5d1857":{"name":"@flighthq/textshaper-canvas","version":"0.5.1-next.909.a5d1857","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.5.1-next.909.a5d1857","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"867dde4ac47ec0a61979ddf6297acd0cd4453ca2","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.5.1-next.909.a5d1857.tgz","fileCount":16,"integrity":"sha512-sFhjILmRa0bjqqNqIFgqxD584QkumKe6KPcs5knxlWxRtwN5Va3SpcBLKiH3WKzNuCAyWzC/A6YjzJkThErTqQ==","signatures":[{"sig":"MEUCIDL3cLklE8t2tv5CrTBo/I/SDfCI3d9A7rr+MD8opF7zAiEA5kSw9tglN4QqjkbSZnqAiyaYM9H7XxpsTu2aUW1ZPOo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.5.1-next.909.a5d1857","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":28018},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"a5d18571cd3176400ab4dd8e03a2ed880037b213","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.5.1-next.909.a5d1857","@flighthq/types":"0.5.1-next.909.a5d1857","@flighthq/entity":"0.5.1-next.909.a5d1857","@flighthq/textshaper":"0.5.1-next.909.a5d1857"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.5.1-next.909.a5d1857_1788564867668_0.033732808574786555","host":"s3://npm-registry-packages-npm-production"}},"0.5.1-edge.909.a5d1857":{"name":"@flighthq/textshaper-canvas","version":"0.5.1-edge.909.a5d1857","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.5.1-edge.909.a5d1857","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"15b1177b04ce59623f20bd73b87e70e86b5fa40e","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.5.1-edge.909.a5d1857.tgz","fileCount":16,"integrity":"sha512-paP+Tt6mNmatx2t+GfsWouarIN05TcOJdzVwP6l8/S6WtOJyqVf78T+0TrYZmp+1jF3rmtbhkwzP2TBtw+wLLg==","signatures":[{"sig":"MEYCIQCgtZ1QL8wi+xsOkyc3BzCa59IOI2HekqrTR2/sO2k0owIhANmxOCII6CAx5j2xcQuY9jO5Sy6a723IYz5sODJOd6PE","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.5.1-edge.909.a5d1857","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":28018},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"a5d18571cd3176400ab4dd8e03a2ed880037b213","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.5.1-edge.909.a5d1857","@flighthq/types":"0.5.1-edge.909.a5d1857","@flighthq/entity":"0.5.1-edge.909.a5d1857","@flighthq/textshaper":"0.5.1-edge.909.a5d1857"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.5.1-edge.909.a5d1857_1788565434389_0.18324211012033653","host":"s3://npm-registry-packages-npm-production"}},"0.5.1-next.911.32a089f":{"name":"@flighthq/textshaper-canvas","version":"0.5.1-next.911.32a089f","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.5.1-next.911.32a089f","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"24d36062a1e2bf5480060528f93d4980820132bd","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.5.1-next.911.32a089f.tgz","fileCount":16,"integrity":"sha512-rWU8wX2qZCZEiIvW7EnNXjkHK1qa/S4yRHXSaGBHQUwRhpPrrAyq8qLFzB1RbRt4srW/HbLQqOwh+vAc4xdtRg==","signatures":[{"sig":"MEUCIQDZS5euB727Grsp+4maH5/ZJ3C1v3ceK7mO8/p6BjK7AQIge9nK7xuVCjBf3QFhfLh+x8cxm3bnhSiMK4mDzhbZUnw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.5.1-next.911.32a089f","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":28018},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"32a089f1342d08547fc2359dfd5e8fe9f7e3c12e","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.5.1-next.911.32a089f","@flighthq/types":"0.5.1-next.911.32a089f","@flighthq/entity":"0.5.1-next.911.32a089f","@flighthq/textshaper":"0.5.1-next.911.32a089f"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.5.1-next.911.32a089f_1788585378722_0.6910379117002867","host":"s3://npm-registry-packages-npm-production"}},"0.5.1-edge.911.32a089f":{"name":"@flighthq/textshaper-canvas","version":"0.5.1-edge.911.32a089f","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.5.1-edge.911.32a089f","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"d989affe4fe7346952c5f59191fd1a316759a00c","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.5.1-edge.911.32a089f.tgz","fileCount":16,"integrity":"sha512-vblj+2+QK7KcIl9c056kDzZZbyZoCi1N1AxR0FtJWXxep613qF5y1xqOZGtPKVupJFJ4oco1VDMJExhy4M2JNg==","signatures":[{"sig":"MEUCIQCZSenB2LwiCplnGpXRDVB6MRO+GJV9mthaD7uaUuXojAIgAf+Q+sNL0KIEPbtGuH9TXiCvBuZMsA9toAXtHyd9Tg0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.5.1-edge.911.32a089f","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":28018},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"32a089f1342d08547fc2359dfd5e8fe9f7e3c12e","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.5.1-edge.911.32a089f","@flighthq/types":"0.5.1-edge.911.32a089f","@flighthq/entity":"0.5.1-edge.911.32a089f","@flighthq/textshaper":"0.5.1-edge.911.32a089f"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.5.1-edge.911.32a089f_1788585767158_0.1718085472563089","host":"s3://npm-registry-packages-npm-production"}},"0.5.1-next.912.289aaa0":{"name":"@flighthq/textshaper-canvas","version":"0.5.1-next.912.289aaa0","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.5.1-next.912.289aaa0","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"f7d0890cd3875064044e687f6c1ad08e734cc822","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.5.1-next.912.289aaa0.tgz","fileCount":16,"integrity":"sha512-MCARVDr1aVXX4q5G34ABLPAqilbeZgtRGrKOPO6w36BzMiyDjkS2fZs2u/enG70kUUL++38jJ/uA0s+oWdlKJw==","signatures":[{"sig":"MEQCIG06fPOQFV60GLzwZjmO59pU1n7S1tWLez9SLcq/AGsIAiBn9ygCK12U2kLrthVYTysE/X8vnJDQx0agoZZjERhkKQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.5.1-next.912.289aaa0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":28018},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"289aaa01f9bb829f06c361b687b6c15a4ba4f9db","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.5.1-next.912.289aaa0","@flighthq/types":"0.5.1-next.912.289aaa0","@flighthq/entity":"0.5.1-next.912.289aaa0","@flighthq/textshaper":"0.5.1-next.912.289aaa0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.5.1-next.912.289aaa0_1788587277375_0.6257032901015127","host":"s3://npm-registry-packages-npm-production"}},"0.5.1-edge.912.289aaa0":{"name":"@flighthq/textshaper-canvas","version":"0.5.1-edge.912.289aaa0","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.5.1-edge.912.289aaa0","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"8dae5aaa675a73602dd01bfd245994222a149608","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.5.1-edge.912.289aaa0.tgz","fileCount":16,"integrity":"sha512-+5bhIMJ2BER+B6/WFvhlKPT4LBdqhfJEpWnrs0IMEZ93k/ODq5z3X2bM+2MHSd06unZz8IAS8IomAMzEvOAkDQ==","signatures":[{"sig":"MEUCIFa/NlpcNAQHNrviXhJml4XIAdtc896UTC8f8fh0xSRBAiEAhjE/Q2e2WgA0rw/4U3WBk+C8yrO6ZeMtq9n9/1V9wJs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.5.1-edge.912.289aaa0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":28018},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"289aaa01f9bb829f06c361b687b6c15a4ba4f9db","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.5.1-edge.912.289aaa0","@flighthq/types":"0.5.1-edge.912.289aaa0","@flighthq/entity":"0.5.1-edge.912.289aaa0","@flighthq/textshaper":"0.5.1-edge.912.289aaa0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.5.1-edge.912.289aaa0_1788587586898_0.1261640935405517","host":"s3://npm-registry-packages-npm-production"}},"0.5.1-next.914.ed01add":{"name":"@flighthq/textshaper-canvas","version":"0.5.1-next.914.ed01add","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.5.1-next.914.ed01add","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"54b1b642c37fb32dc8a572f04b253e2f90e5de39","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.5.1-next.914.ed01add.tgz","fileCount":16,"integrity":"sha512-t79QsJjJ6r7FE0iitLLESNIpePBCQ6Tcc9ccuduRX5rSlWYxrKaFFTbOulyI5J7+/yyGnf2BpkV9bGkqSZbHxw==","signatures":[{"sig":"MEQCIEZlnZsCv88Hwr/VkaggCZ21RNOB+3BBSVpOFfTEP/n1AiAsfVDBkGWxYbgOfFLLfKZiquStbO2Ly267UszgoqqBxw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.5.1-next.914.ed01add","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":28018},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"ed01addb10f223ccc2cf89a73d3150ebc84d0b01","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.5.1-next.914.ed01add","@flighthq/types":"0.5.1-next.914.ed01add","@flighthq/entity":"0.5.1-next.914.ed01add","@flighthq/textshaper":"0.5.1-next.914.ed01add"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.5.1-next.914.ed01add_1788630728464_0.13800526432882898","host":"s3://npm-registry-packages-npm-production"}},"0.5.1-edge.914.ed01add":{"name":"@flighthq/textshaper-canvas","version":"0.5.1-edge.914.ed01add","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.5.1-edge.914.ed01add","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"221d0faf30175a387205979bd6905435c0dfd00f","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.5.1-edge.914.ed01add.tgz","fileCount":16,"integrity":"sha512-iaXEouBryciOM/Og0RHT05+2a0SHXia2SLnMgOjiMJKM4Hjli27PFGhNRsbhAZ0cpmAiQkLjrB+q47XBrHib9w==","signatures":[{"sig":"MEYCIQCg/b9yEBhkzB+YKmQ8yv3JQ/dktqasL8AOpUjd2jXb2QIhAMJm/KjGpyLpRvHBjdOJnJf33a9/5d2Gn1hAI8Tdn66b","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.5.1-edge.914.ed01add","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":28018},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"ed01addb10f223ccc2cf89a73d3150ebc84d0b01","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.5.1-edge.914.ed01add","@flighthq/types":"0.5.1-edge.914.ed01add","@flighthq/entity":"0.5.1-edge.914.ed01add","@flighthq/textshaper":"0.5.1-edge.914.ed01add"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.5.1-edge.914.ed01add_1788631275239_0.14105846989824733","host":"s3://npm-registry-packages-npm-production"}},"0.5.1-next.915.d4da7e7":{"name":"@flighthq/textshaper-canvas","version":"0.5.1-next.915.d4da7e7","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.5.1-next.915.d4da7e7","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"57682d8d413effaaeb8e6ba8172687dd4cc00999","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.5.1-next.915.d4da7e7.tgz","fileCount":16,"integrity":"sha512-iGnX7AeXoA2jn14JZjTqdZpWM+2Z/KElY1Ih4V92ZPFPLny3ZPKDIJjwy82GtVdtxGZSJB9bB2EVQNXQYz4tCg==","signatures":[{"sig":"MEUCIQCLjZt06m+PXdu0TfsRxzS9QqUHNKwDQbwA4+4m1y7+UQIgC44/6nACXW2wlL1vrrYbEJqHI3PEqe1TFGgjCYHfncQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.5.1-next.915.d4da7e7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":28018},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"d4da7e7eaf7e58b0a32c4c4098023b670ac1e76b","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.5.1-next.915.d4da7e7","@flighthq/types":"0.5.1-next.915.d4da7e7","@flighthq/entity":"0.5.1-next.915.d4da7e7","@flighthq/textshaper":"0.5.1-next.915.d4da7e7"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.5.1-next.915.d4da7e7_1788632426298_0.1726091747374654","host":"s3://npm-registry-packages-npm-production"}},"0.5.1-edge.915.d4da7e7":{"name":"@flighthq/textshaper-canvas","version":"0.5.1-edge.915.d4da7e7","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.5.1-edge.915.d4da7e7","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"c7a135fe8f5161e566dc96f46a2252fad6633e25","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.5.1-edge.915.d4da7e7.tgz","fileCount":16,"integrity":"sha512-H21W/GEf0FaqFMgojg4zy7/2arPsBZlsB/ZBeC05hYcqecAX/71w09G2P62hVBleI/i9LzXdT0oDXaWgmN/XEw==","signatures":[{"sig":"MEUCIQD1oyqG/ckto9tApf/cyB5WLUc5/sgJvYJMJUBSBrfOhgIgW8/Xw6I5U56eQf7i5eL65+WsvUCRk+cOddaD7MGHzww=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.5.1-edge.915.d4da7e7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":28018},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"d4da7e7eaf7e58b0a32c4c4098023b670ac1e76b","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.5.1-edge.915.d4da7e7","@flighthq/types":"0.5.1-edge.915.d4da7e7","@flighthq/entity":"0.5.1-edge.915.d4da7e7","@flighthq/textshaper":"0.5.1-edge.915.d4da7e7"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.5.1-edge.915.d4da7e7_1788632817903_0.2104847263024956","host":"s3://npm-registry-packages-npm-production"}},"0.5.1-next.919.354c575":{"name":"@flighthq/textshaper-canvas","version":"0.5.1-next.919.354c575","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.5.1-next.919.354c575","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"7187f27c5f35cc6776ae52924ad6062099b58c42","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.5.1-next.919.354c575.tgz","fileCount":16,"integrity":"sha512-YUP7Ys1Aa8TMwuX7BBW95AR7Lnf71j3dSU4qtM0lbZCqecDtNyEYh4cs6WQkSvQjJ/UiaSlWlhNoeTxxDav1lw==","signatures":[{"sig":"MEYCIQCtdhRe706eSYeevhNq0mgFaA8AGZYfV+1rMh+2DECv+wIhAOxCK7vtZkx7+VgChs08WtZ/J+uzownts8cRVz6vy4Dq","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.5.1-next.919.354c575","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":28018},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"354c575656605d83e51b525716705b91317a5dd9","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.5.1-next.919.354c575","@flighthq/types":"0.5.1-next.919.354c575","@flighthq/entity":"0.5.1-next.919.354c575","@flighthq/textshaper":"0.5.1-next.919.354c575"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.5.1-next.919.354c575_1788649832317_0.786802653743746","host":"s3://npm-registry-packages-npm-production"}},"0.5.1-edge.919.354c575":{"name":"@flighthq/textshaper-canvas","version":"0.5.1-edge.919.354c575","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.5.1-edge.919.354c575","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"3bfbdccbc30d96f9e9e829778b25af6b198c69db","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.5.1-edge.919.354c575.tgz","fileCount":16,"integrity":"sha512-fMURglu9vnpmrLwrfIJdzIk5bR+fUjFLA8WY65Jm3OeJOeQBuCQhtEmDvXy8M7+tHuoz1JSJeRltMYQrYuEOUg==","signatures":[{"sig":"MEUCIQCT4mmh2I6tuMm/7/aXOckf9v6oUGN7fwqtWBlKkO5v5AIgKxDeYDPW1xOKPH0ZXg63XhO25CFrfbShaIeOwThDo1U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.5.1-edge.919.354c575","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":28018},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"354c575656605d83e51b525716705b91317a5dd9","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.5.1-edge.919.354c575","@flighthq/types":"0.5.1-edge.919.354c575","@flighthq/entity":"0.5.1-edge.919.354c575","@flighthq/textshaper":"0.5.1-edge.919.354c575"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.5.1-edge.919.354c575_1788650378752_0.46347903273846747","host":"s3://npm-registry-packages-npm-production"}},"0.5.1-next.920.da8f530":{"name":"@flighthq/textshaper-canvas","version":"0.5.1-next.920.da8f530","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.5.1-next.920.da8f530","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"ee0d8a94e310b2620cb7571c3375434111ec58f0","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.5.1-next.920.da8f530.tgz","fileCount":16,"integrity":"sha512-yZpEfbKJSUIZaMc4Nk131U0+GDi1Ufpnml8DEchs7+cT8BNsK9hLb5HucsPPA/DdkbMn/OttnjwcMMvg2iC9NQ==","signatures":[{"sig":"MEYCIQCxAaBOK8CqOQ1XU1tQvtQZb+jz/T3aWjnF8bXUV3wTNAIhAKHyqhsOfg8Tzm0pIyeMdJBEnyh4DaYEQas2tR6KcLjp","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.5.1-next.920.da8f530","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":28018},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"da8f530894916f9baa6a9f6822b4f393b9e70a85","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.5.1-next.920.da8f530","@flighthq/types":"0.5.1-next.920.da8f530","@flighthq/entity":"0.5.1-next.920.da8f530","@flighthq/textshaper":"0.5.1-next.920.da8f530"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.5.1-next.920.da8f530_1788726155531_0.6061383174207335","host":"s3://npm-registry-packages-npm-production"}},"0.5.1-edge.920.da8f530":{"name":"@flighthq/textshaper-canvas","version":"0.5.1-edge.920.da8f530","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.5.1-edge.920.da8f530","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"9b9ac86938054eed17b45c51cf6624bbef650e3b","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.5.1-edge.920.da8f530.tgz","fileCount":16,"integrity":"sha512-3YgyBUWchM4L2MAvHAbbIe4tvFSCIIhYVfqQJPVkVWu2BFnv4U0DoFh9ad4naVY8TIFt1N9kOqpnbp6+LvYcYg==","signatures":[{"sig":"MEQCIGcKh4SqUmMpRLyF9CY104Ca6x7aoMT5ccy/my0NEl+2AiBRCpQCSNHMQRRrzOpG0BlOwEatDfcFeHmWjhubuE+MWw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.5.1-edge.920.da8f530","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":28018},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"da8f530894916f9baa6a9f6822b4f393b9e70a85","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.5.1-edge.920.da8f530","@flighthq/types":"0.5.1-edge.920.da8f530","@flighthq/entity":"0.5.1-edge.920.da8f530","@flighthq/textshaper":"0.5.1-edge.920.da8f530"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.5.1-edge.920.da8f530_1788726702259_0.3769218050419454","host":"s3://npm-registry-packages-npm-production"}},"0.5.1-next.973.788d3d7":{"name":"@flighthq/textshaper-canvas","version":"0.5.1-next.973.788d3d7","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.5.1-next.973.788d3d7","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"09d1414993a5a6136acc9aec69027470eb910d8a","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.5.1-next.973.788d3d7.tgz","fileCount":16,"integrity":"sha512-talVQXGBf8WOLzPdCUg2YIVEV/7d8zlSq9lS/JH2ZAeIyvvIPXIl1Xd/cLwxdM1FJO8WrHDE/uswPgNT/Igcfg==","signatures":[{"sig":"MEUCIQCxdiG9u8baad9fvIKCd7anRgEO1O9N8Dl+DFj6/iNxTgIgHE3Z54S8c3FMW7xbmRn2/tSWlOjIU+lPDCTFUwDpIrM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.5.1-next.973.788d3d7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":28018},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"788d3d7375cca3a0233cecedda1a4e031bd26dec","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.5.1-next.973.788d3d7","@flighthq/types":"0.5.1-next.973.788d3d7","@flighthq/entity":"0.5.1-next.973.788d3d7","@flighthq/textshaper":"0.5.1-next.973.788d3d7"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.5.1-next.973.788d3d7_1788898648692_0.6619213527606029","host":"s3://npm-registry-packages-npm-production"}},"0.5.1-next.1017.13841a8":{"name":"@flighthq/textshaper-canvas","version":"0.5.1-next.1017.13841a8","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.5.1-next.1017.13841a8","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"e5760c2feaae4acec6e2fb41d2398e07e982b612","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.5.1-next.1017.13841a8.tgz","fileCount":16,"integrity":"sha512-Cwhx7JuCpkii1le8nP/md3g+3Yy+ylKByRSYDFip8a1reOUZaxFf1hYEC/5TVv1rYmkaFRlrIynWCh6a9Jyilw==","signatures":[{"sig":"MEQCIAnboODXLATuRB+2ISj5H8LtdAitzWf4Vu2YZStHiuC7AiBa4eqG0Ha5S/30B+DfZh797hZKSCkdhHAcTkbJuaR0Mw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.5.1-next.1017.13841a8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":28024},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"13841a81e0ac1421eae7411a678d38d72b3e358f","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.5.1-next.1017.13841a8","@flighthq/types":"0.5.1-next.1017.13841a8","@flighthq/entity":"0.5.1-next.1017.13841a8","@flighthq/textshaper":"0.5.1-next.1017.13841a8"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.5.1-next.1017.13841a8_1788927285004_0.8689057671113649","host":"s3://npm-registry-packages-npm-production"}},"0.5.1-next.1019.1274ec5":{"name":"@flighthq/textshaper-canvas","version":"0.5.1-next.1019.1274ec5","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.5.1-next.1019.1274ec5","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"a0fb9bd30f5b776a39c989dd80e058d336fe7424","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.5.1-next.1019.1274ec5.tgz","fileCount":16,"integrity":"sha512-AA/iNH4kDftV51vGKuSRrT0ZyqF3p7OLqRAus8I8CFCUUvlQehXgmEcG7MeCUplpUB2h2Xv82ZeehakCR1dTOQ==","signatures":[{"sig":"MEQCIG8cGGc+hFGQw+5Ak4nM6Z9h3rn2YuMbiM9ueCKjIXaBAiAag1TLh6nIXRaKi6iVue4RVxCanAqb+fhUFUqbpcZHOg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.5.1-next.1019.1274ec5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":28024},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"1274ec5c923947dc64d5ffedcbd8169fc758cd9f","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.5.1-next.1019.1274ec5","@flighthq/types":"0.5.1-next.1019.1274ec5","@flighthq/entity":"0.5.1-next.1019.1274ec5","@flighthq/textshaper":"0.5.1-next.1019.1274ec5"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.5.1-next.1019.1274ec5_1788934468106_0.4962967308892585","host":"s3://npm-registry-packages-npm-production"}},"0.5.1-edge.1019.1274ec5":{"name":"@flighthq/textshaper-canvas","version":"0.5.1-edge.1019.1274ec5","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.5.1-edge.1019.1274ec5","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"3562f50165fc9746baaebc2f84a6668f365ecf9f","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.5.1-edge.1019.1274ec5.tgz","fileCount":16,"integrity":"sha512-tY5QDtn61q7JiYfxbNUMcztEux4qWme3Is0P+bW8qg7/FkmBgqXYM6lcu7z5KqLAKZrA/iG+lpDL2Yqxu8UjZA==","signatures":[{"sig":"MEQCIG3o9TVvQmkBYQ2jzv6xEz03rfrVSb0KGauilLzvAWcpAiBsacvfLlYackwdN0OqNnqBCQjFXWrVJ4RlCrKEGTOY7A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.5.1-edge.1019.1274ec5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":28024},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"1274ec5c923947dc64d5ffedcbd8169fc758cd9f","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.5.1-edge.1019.1274ec5","@flighthq/types":"0.5.1-edge.1019.1274ec5","@flighthq/entity":"0.5.1-edge.1019.1274ec5","@flighthq/textshaper":"0.5.1-edge.1019.1274ec5"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.5.1-edge.1019.1274ec5_1788934881056_0.6652451099341223","host":"s3://npm-registry-packages-npm-production"}},"0.5.1-next.1047.858b9b6":{"name":"@flighthq/textshaper-canvas","version":"0.5.1-next.1047.858b9b6","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.5.1-next.1047.858b9b6","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"defca0cc80ffdae8e5f8b4bdbd463f74a85becf5","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.5.1-next.1047.858b9b6.tgz","fileCount":16,"integrity":"sha512-ma4dNwW6ni4EGPlBFYR819CI9PvxpyzV6tj/3/RclOapb79xgjVJbINJjNQi7BWzhxVpedS75fNTN8oCIq407w==","signatures":[{"sig":"MEUCIQD0TxXuxmSv4azZPDpVMnAkN8Lt4YRoZSJ68U8yId5FEgIgVN+FnZQ9kf6wMt6CleOavp1EM4uwjLz3iJc83JA5Was=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.5.1-next.1047.858b9b6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":28024},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"858b9b601de814f6b6940cbb1ffff0916b903268","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.5.1-next.1047.858b9b6","@flighthq/types":"0.5.1-next.1047.858b9b6","@flighthq/entity":"0.5.1-next.1047.858b9b6","@flighthq/textshaper":"0.5.1-next.1047.858b9b6"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.5.1-next.1047.858b9b6_1788973132265_0.11814963194455164","host":"s3://npm-registry-packages-npm-production"}},"0.5.1-edge.1047.858b9b6":{"name":"@flighthq/textshaper-canvas","version":"0.5.1-edge.1047.858b9b6","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.5.1-edge.1047.858b9b6","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"7be688f294e08a874e60eea6dfa60446a0641f76","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.5.1-edge.1047.858b9b6.tgz","fileCount":16,"integrity":"sha512-Y6W+puDviNPWl5LQg9xSYEFcwMJMP+hBdZ2G9uF8ZUMbkNB+5vmkl1kB1Y19vluqDrMC9O45vDM+b2E5Wu9YiA==","signatures":[{"sig":"MEUCIFQ6Tu7nfXUTV7AKfK8mO5Fh7sV30+cXJSduSfcgvOhDAiEApNlxSuVWZkax6g209W0c8LT9NLqXX26pZqiQeWLmDMk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.5.1-edge.1047.858b9b6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":28024},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"858b9b601de814f6b6940cbb1ffff0916b903268","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.5.1-edge.1047.858b9b6","@flighthq/types":"0.5.1-edge.1047.858b9b6","@flighthq/entity":"0.5.1-edge.1047.858b9b6","@flighthq/textshaper":"0.5.1-edge.1047.858b9b6"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.5.1-edge.1047.858b9b6_1788973472284_0.5735578196421209","host":"s3://npm-registry-packages-npm-production"}},"0.5.1-next.1050.0bd43cc":{"name":"@flighthq/textshaper-canvas","version":"0.5.1-next.1050.0bd43cc","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.5.1-next.1050.0bd43cc","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"50d10ede1262c3ae9edfedf3b8c6021d8d58f2fa","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.5.1-next.1050.0bd43cc.tgz","fileCount":16,"integrity":"sha512-WnQhY1W7x/FTY2J14cnHWK3xEhVCb/rNPxMVnu9C/WC3qlM+L7CLhY8t0OXbyagaO5Z1v6Yrf7WWDpEn+P1AHg==","signatures":[{"sig":"MEYCIQCAJXRJbjU1/l1MpSNv3oSXpTYT8Jp3jZ0RjQQK1rXqwwIhAO8X3v5H1A7DP5aP/3VANIF6RBIzKAsXPdOxB309EuFh","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.5.1-next.1050.0bd43cc","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":28024},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"0bd43ccdf62d9977512bf6c0fd6dc3ec177a8c8f","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.5.1-next.1050.0bd43cc","@flighthq/types":"0.5.1-next.1050.0bd43cc","@flighthq/entity":"0.5.1-next.1050.0bd43cc","@flighthq/textshaper":"0.5.1-next.1050.0bd43cc"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.5.1-next.1050.0bd43cc_1788988369503_0.91710549141069","host":"s3://npm-registry-packages-npm-production"}},"0.5.1-next.1051.65889a1":{"name":"@flighthq/textshaper-canvas","version":"0.5.1-next.1051.65889a1","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.5.1-next.1051.65889a1","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"6cf6961ac98a412738423dc10413a7226bcfd151","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.5.1-next.1051.65889a1.tgz","fileCount":16,"integrity":"sha512-OIGvWMzLJNVHu+V39Vhw6hCrQkWT4ZO1z3ytyYxxNNH7bqvPHY8x8K7ajGPhSf1PajjgYmFq/ZsGTbLU9WSI4w==","signatures":[{"sig":"MEUCIFU0uIFY/sMHnaCVu8cyiCSD3YRupYab4ikgqYaMPmoEAiEAo/qu3/mu492xEFKvQ+klB1R+aOjmqxpjk/N1X7iE/Ak=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.5.1-next.1051.65889a1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":28024},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"65889a191bb0d2f5f2f95148590874f3e49bf9d4","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.5.1-next.1051.65889a1","@flighthq/types":"0.5.1-next.1051.65889a1","@flighthq/entity":"0.5.1-next.1051.65889a1","@flighthq/textshaper":"0.5.1-next.1051.65889a1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.5.1-next.1051.65889a1_1788990905996_0.13484343108568342","host":"s3://npm-registry-packages-npm-production"}},"0.5.1-edge.1051.65889a1":{"name":"@flighthq/textshaper-canvas","version":"0.5.1-edge.1051.65889a1","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.5.1-edge.1051.65889a1","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"323842e690f5956ffa998332e2cb852ff2eb18dc","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.5.1-edge.1051.65889a1.tgz","fileCount":16,"integrity":"sha512-EKeajC7XTWRGp5agNrKxtXcSUjUj4eA+TjPwUK4yq4CBSmv26lp3/w6khtpfiz0UIjOclg0u0R2cML1+3iwAYA==","signatures":[{"sig":"MEYCIQD9Mj4+FERlSJ5gpmfpzBdpoCWQ/T8LYO9b76LW/stbBgIhAOt9wfNMMFdydYH37acLWxURJ4lba3unX/tSKPElOqX5","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.5.1-edge.1051.65889a1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":28024},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"65889a191bb0d2f5f2f95148590874f3e49bf9d4","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.5.1-edge.1051.65889a1","@flighthq/types":"0.5.1-edge.1051.65889a1","@flighthq/entity":"0.5.1-edge.1051.65889a1","@flighthq/textshaper":"0.5.1-edge.1051.65889a1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.5.1-edge.1051.65889a1_1788991409871_0.05004608708668923","host":"s3://npm-registry-packages-npm-production"}},"0.5.1-next.1052.ea38f97":{"name":"@flighthq/textshaper-canvas","version":"0.5.1-next.1052.ea38f97","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.5.1-next.1052.ea38f97","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"f629dde740dd7935092ef3eeea3bc8a8746e58de","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.5.1-next.1052.ea38f97.tgz","fileCount":16,"integrity":"sha512-naFgxjLNH1DbXDpxE3BKD1KV6TZhDdTgGUDV3gKTyrIjpx5MNxR8Ud4jJc1Ls3rOqa8NnEhK6Hl8MZLhb6tafQ==","signatures":[{"sig":"MEQCIDyEoGv/fTELypvI3KqAbMqnZvNcjpfLsGcAQtF7qvVBAiBLtqlz6oL3qUj0TgcdkpfUV9EB5VLRiM7h2cdhgqXOiA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.5.1-next.1052.ea38f97","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":28024},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"ea38f9774bbb5b1696c25c9ba02dfae381db021d","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.5.1-next.1052.ea38f97","@flighthq/types":"0.5.1-next.1052.ea38f97","@flighthq/entity":"0.5.1-next.1052.ea38f97","@flighthq/textshaper":"0.5.1-next.1052.ea38f97"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.5.1-next.1052.ea38f97_1789013649712_0.33934595133519485","host":"s3://npm-registry-packages-npm-production"}},"0.5.1-edge.1052.ea38f97":{"name":"@flighthq/textshaper-canvas","version":"0.5.1-edge.1052.ea38f97","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.5.1-edge.1052.ea38f97","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"7c19942cdf8959ff2ed43b600ab563fc790e4a70","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.5.1-edge.1052.ea38f97.tgz","fileCount":16,"integrity":"sha512-hcKeECG/RPejJgo3ZU22cknYxIndjMTqJNSjn2oXS8JTsyXGwYUeWkR5M7KWdSUQcQz9GWJhu32okgw7rWdmWg==","signatures":[{"sig":"MEYCIQDoAyd7spvUXI9b1x3seKDE1S6vh6zF8Xww8S4BUBE+wwIhAP3wjqEuMfqrF2joyqlyi4nm6ZBI2OfdfeP8I2yRNRIM","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.5.1-edge.1052.ea38f97","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":28024},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"ea38f9774bbb5b1696c25c9ba02dfae381db021d","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.5.1-edge.1052.ea38f97","@flighthq/types":"0.5.1-edge.1052.ea38f97","@flighthq/entity":"0.5.1-edge.1052.ea38f97","@flighthq/textshaper":"0.5.1-edge.1052.ea38f97"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.5.1-edge.1052.ea38f97_1789013965248_0.14685515682042882","host":"s3://npm-registry-packages-npm-production"}},"0.5.1-next.1056.4945b81":{"name":"@flighthq/textshaper-canvas","version":"0.5.1-next.1056.4945b81","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.5.1-next.1056.4945b81","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"cf02103247fab2728bde036f0c99707b7c7c5e6c","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.5.1-next.1056.4945b81.tgz","fileCount":16,"integrity":"sha512-AJ5J8FiL0e4DgT4o6CiuajnciwysSRjUrZiriABrdIaj7CHAT9KLYR40kfB89uk9nsWp6p4oKGmgrsDnXo7YKQ==","signatures":[{"sig":"MEYCIQCDA7QVVk+UIyCw8zVIPYjuMLn464/I/iijJEB0gypnbwIhAOOVrUMvBTshQ18JW/XuzDTyDJtKWNumbt63Z/imLitw","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.5.1-next.1056.4945b81","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":28024},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"4945b81fd2d8dc61f234442ef77169e0f3ae2316","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.5.1-next.1056.4945b81","@flighthq/types":"0.5.1-next.1056.4945b81","@flighthq/entity":"0.5.1-next.1056.4945b81","@flighthq/textshaper":"0.5.1-next.1056.4945b81"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.5.1-next.1056.4945b81_1789060551324_0.6316459560385881","host":"s3://npm-registry-packages-npm-production"}},"0.5.1-edge.1056.4945b81":{"name":"@flighthq/textshaper-canvas","version":"0.5.1-edge.1056.4945b81","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.5.1-edge.1056.4945b81","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"99a744bc8d2690fada4904d653842758f6b2b709","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.5.1-edge.1056.4945b81.tgz","fileCount":16,"integrity":"sha512-H9jf93Wezoekuz60bMwvGjwssFBi3d94qyFgE7xM/XH8s8ulHY/QrLJPNz3klPgxC6teWACZHpDlFzGTbuF3vA==","signatures":[{"sig":"MEQCIH1J6pySvFcl62IbxKdKt+6GIU9znZ9BC1qe/aOXk04hAiAiBiIPxHq4ZPcVitvnw7yedc1KdO2gwvOp3+z2oF1aCw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.5.1-edge.1056.4945b81","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":28024},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"4945b81fd2d8dc61f234442ef77169e0f3ae2316","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.5.1-edge.1056.4945b81","@flighthq/types":"0.5.1-edge.1056.4945b81","@flighthq/entity":"0.5.1-edge.1056.4945b81","@flighthq/textshaper":"0.5.1-edge.1056.4945b81"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.5.1-edge.1056.4945b81_1789061044183_0.9057650025160637","host":"s3://npm-registry-packages-npm-production"}},"0.5.1-next.1058.751c53a":{"name":"@flighthq/textshaper-canvas","version":"0.5.1-next.1058.751c53a","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.5.1-next.1058.751c53a","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"7eabd283e558eb02c8f32077346f1ec8df40de35","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.5.1-next.1058.751c53a.tgz","fileCount":16,"integrity":"sha512-pR4U3Qr3BVBdcUcKaAmx/vrtvMxMSUnsDythkO/A9v6OBSGPUhVabxxX6kL6h2YKim3xGZjQimvTO96JVpm3jw==","signatures":[{"sig":"MEUCIAoqVvFmo0bsKPcAsZ/kK8tvrUF53P0FYfPSYYOlJt0zAiEA7bqgYW0sE4JvI80+4+Fof9hbmeEcTT4PGYuulE7QEp8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.5.1-next.1058.751c53a","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":28024},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"751c53a7765e345d4c3e29d3a6089601b35c2bad","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.5.1-next.1058.751c53a","@flighthq/types":"0.5.1-next.1058.751c53a","@flighthq/entity":"0.5.1-next.1058.751c53a","@flighthq/textshaper":"0.5.1-next.1058.751c53a"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.5.1-next.1058.751c53a_1789079809916_0.6290916637623074","host":"s3://npm-registry-packages-npm-production"}},"0.5.1-next.1059.c56d3cd":{"name":"@flighthq/textshaper-canvas","version":"0.5.1-next.1059.c56d3cd","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.5.1-next.1059.c56d3cd","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"3f64e387a2e0e4aaf2c5d9da3537fbf0ebc6c73b","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.5.1-next.1059.c56d3cd.tgz","fileCount":16,"integrity":"sha512-+ma14NOa/I5XAYYDihPXVHVMOt2uXvo9friVe1wT/gH6+ivHrzrTaQEY+GivuQB8VtK9ZZSxzm6ImTnLa+4zRA==","signatures":[{"sig":"MEQCIG++ayWmL0ly3yTPoOlNUJXTpx7zEIrsy/vN7JpffuoiAiAIfCtMhdNpqczCw6RmNYAL52VEHsMFj+KMkdm/MV6Vzw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.5.1-next.1059.c56d3cd","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":28024},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"c56d3cda9aa3602334632ba5110c8ff1279391d5","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.5.1-next.1059.c56d3cd","@flighthq/types":"0.5.1-next.1059.c56d3cd","@flighthq/entity":"0.5.1-next.1059.c56d3cd","@flighthq/textshaper":"0.5.1-next.1059.c56d3cd"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.5.1-next.1059.c56d3cd_1789079937839_0.8004445911596292","host":"s3://npm-registry-packages-npm-production"}},"0.5.1-edge.1058.751c53a":{"name":"@flighthq/textshaper-canvas","version":"0.5.1-edge.1058.751c53a","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.5.1-edge.1058.751c53a","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"d6fdee5eabad2b6214f86d4625e73460fcf88980","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.5.1-edge.1058.751c53a.tgz","fileCount":16,"integrity":"sha512-Zz4ViYsSQ9wouwVunHsZpUniSlcgT03iI+6gzdFcYkog5FLcNI59DWY3OxdcnrT3VLwNgzkziJmAW0Asucig5A==","signatures":[{"sig":"MEQCIBatlJoNu1A+wLAC345y637YiskjcIOJh+UC82Y/lLCiAiB/R3yy8uV4ieWBYL6qzp0FRwDM0HTZAKypcjqyhSeoVQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.5.1-edge.1058.751c53a","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":28024},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"751c53a7765e345d4c3e29d3a6089601b35c2bad","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.5.1-edge.1058.751c53a","@flighthq/types":"0.5.1-edge.1058.751c53a","@flighthq/entity":"0.5.1-edge.1058.751c53a","@flighthq/textshaper":"0.5.1-edge.1058.751c53a"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.5.1-edge.1058.751c53a_1789080213328_0.8161182458058402","host":"s3://npm-registry-packages-npm-production"}},"0.5.1-edge.1059.c56d3cd":{"name":"@flighthq/textshaper-canvas","version":"0.5.1-edge.1059.c56d3cd","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.5.1-edge.1059.c56d3cd","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"60f6a86b1bc34a4dd035b96b8030ad9d9165166d","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.5.1-edge.1059.c56d3cd.tgz","fileCount":16,"integrity":"sha512-I9sdDKmwq7NPcQ8XQIGLC+Pt/u1o2vtHb+zwbkBgTzoqZoPEEjSePQywt5mAPzZwZnPfNNEBNU7773b2QbfA6g==","signatures":[{"sig":"MEYCIQCY17ao27H/zBHbJNtTDlFrGxVnewiZjfCLsldXzCx22QIhAOFl6tKPZirgO0mbQ1GJnjbIpsjlpaTKlw7okk8zY0Ik","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.5.1-edge.1059.c56d3cd","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":28024},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"c56d3cda9aa3602334632ba5110c8ff1279391d5","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.5.1-edge.1059.c56d3cd","@flighthq/types":"0.5.1-edge.1059.c56d3cd","@flighthq/entity":"0.5.1-edge.1059.c56d3cd","@flighthq/textshaper":"0.5.1-edge.1059.c56d3cd"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.5.1-edge.1059.c56d3cd_1789080404552_0.907168108723706","host":"s3://npm-registry-packages-npm-production"}},"0.5.1-next.1066.36fe89b":{"name":"@flighthq/textshaper-canvas","version":"0.5.1-next.1066.36fe89b","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.5.1-next.1066.36fe89b","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"426c09403b4595fe0b2aa86954df583efd765819","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.5.1-next.1066.36fe89b.tgz","fileCount":16,"integrity":"sha512-EoHVm5eVRVfGkcbNRnjwV4pMXGS4QnwfM+xxhvEJq8f0avsY1PNw7ATT6xAxcHQ078kn1R71X+YwZjpSSVm2hg==","signatures":[{"sig":"MEQCIGOrpLy77w7K5LA51KwquWogqt8skt3w5jMIs2bgUly9AiB849M5CL1GKNhUbmKMQvpniyYka2vMm0EK0+LdReQWaw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.5.1-next.1066.36fe89b","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":28024},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"36fe89ba6c64ce8afd3d789f17c5d9730a46f50f","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.5.1-next.1066.36fe89b","@flighthq/types":"0.5.1-next.1066.36fe89b","@flighthq/entity":"0.5.1-next.1066.36fe89b","@flighthq/textshaper":"0.5.1-next.1066.36fe89b"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.5.1-next.1066.36fe89b_1789109389625_0.28733826258415096","host":"s3://npm-registry-packages-npm-production"}},"0.5.1-next.1069.554a2ac":{"name":"@flighthq/textshaper-canvas","version":"0.5.1-next.1069.554a2ac","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.5.1-next.1069.554a2ac","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"9b8eb37c2e9588271e77a0692d82224979d2580e","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.5.1-next.1069.554a2ac.tgz","fileCount":16,"integrity":"sha512-y6Lodu0K+Z5zD8PTwoo5+JZb7xOWnvgexy5caCZUAyIk+zfUK5KN1WaV3tqDIb/nnar7CopIITGY/cGMEqoIMw==","signatures":[{"sig":"MEYCIQCOCMu59OVVEWADUyrCm1q9Vv1jgcRXyBtMyHeGg4zf/QIhAPLgIurgPHwZSFKGMouHp4hxTkPZ9memA/D7x4Lgi1VN","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.5.1-next.1069.554a2ac","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":28024},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"554a2acc3fecf189b89b0729308ff890a15c21cc","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.5.1-next.1069.554a2ac","@flighthq/types":"0.5.1-next.1069.554a2ac","@flighthq/entity":"0.5.1-next.1069.554a2ac","@flighthq/textshaper":"0.5.1-next.1069.554a2ac"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.5.1-next.1069.554a2ac_1789112079339_0.29801286578002695","host":"s3://npm-registry-packages-npm-production"}},"0.5.1-next.1197.6a425ce":{"name":"@flighthq/textshaper-canvas","version":"0.5.1-next.1197.6a425ce","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.5.1-next.1197.6a425ce","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"17d365eadcf34863f0b395e91914caf83c45e36b","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.5.1-next.1197.6a425ce.tgz","fileCount":16,"integrity":"sha512-NnDQEPZWGP169UpxwOm9t19QlTgPuQSheC2Q4/YqGA6lYisJwL1PBGxrEHFYpboMzwrccOr1OSQ0mBA4brc73w==","signatures":[{"sig":"MEUCIFRkAed69cy6hQ1BYT4482J1P3m4oYulSctA0lNbOWenAiEAh2gncuRD4kFoFFxqbw4tr/aelFi48wsGVwyUSnDo8Qs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.5.1-next.1197.6a425ce","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":28073},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","flight":{"environment":"web"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"6a425ce64e6d501dac8218fe625e73d58da88639","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.5.1-next.1197.6a425ce","@flighthq/types":"0.5.1-next.1197.6a425ce","@flighthq/entity":"0.5.1-next.1197.6a425ce","@flighthq/textshaper":"0.5.1-next.1197.6a425ce"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.5.1-next.1197.6a425ce_1789241061973_0.8511772967451907","host":"s3://npm-registry-packages-npm-production"}},"0.5.1-next.1201.9b49dee":{"name":"@flighthq/textshaper-canvas","version":"0.5.1-next.1201.9b49dee","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.5.1-next.1201.9b49dee","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"57a6fe7e9342174aa110db3bcabc71402a2f1ae6","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.5.1-next.1201.9b49dee.tgz","fileCount":16,"integrity":"sha512-uws0yS+vaTiOegiEg/MjNjTKGY9RuVjG/q2HN21eN0yJLMfgs6RHnSLhWvPX2Mlxu9JStfvo05yCt20MKDCteg==","signatures":[{"sig":"MEQCIHUg0Hlhk8uheJ5rDvl+lhs28he7MT8zxdRB6SRmrZL6AiAszRJUsm/IVi4ThCSYrFmQkVkjtjbZTX9MvQTDH8208A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.5.1-next.1201.9b49dee","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":28073},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","flight":{"environment":"web"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"9b49dee3f22f6b2838c3d237edcc77bca65734f2","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.5.1-next.1201.9b49dee","@flighthq/types":"0.5.1-next.1201.9b49dee","@flighthq/entity":"0.5.1-next.1201.9b49dee","@flighthq/textshaper":"0.5.1-next.1201.9b49dee"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.5.1-next.1201.9b49dee_1789245667710_0.5055921221974342","host":"s3://npm-registry-packages-npm-production"}},"0.5.1-next.1202.e31f126":{"name":"@flighthq/textshaper-canvas","version":"0.5.1-next.1202.e31f126","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.5.1-next.1202.e31f126","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"d70b95c3b3b441633fe71306c0354624e6de07b0","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.5.1-next.1202.e31f126.tgz","fileCount":16,"integrity":"sha512-ICGYO26r/tdjmXGWpSEWJ+nI40MloxmzRxsOVAR3eBn7roLl9tiDf3SMBc/xoBVpg4StphGwgXPTeex+rdncIQ==","signatures":[{"sig":"MEQCIGYbZ7F1fGWWxGqg0LFFg2s2XJWMyonxdoHZ5HTj9oUMAiA40wUTJDe5H0WUJemCy1CDk/SlceVEm6FR8iYHjDp4/Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.5.1-next.1202.e31f126","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":28073},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","flight":{"environment":"web"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"e31f12600309de6161f5523f2b3c17698a5ff664","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.5.1-next.1202.e31f126","@flighthq/types":"0.5.1-next.1202.e31f126","@flighthq/entity":"0.5.1-next.1202.e31f126","@flighthq/textshaper":"0.5.1-next.1202.e31f126"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.5.1-next.1202.e31f126_1789249435097_0.29241256063117604","host":"s3://npm-registry-packages-npm-production"}},"0.5.1-next.1204.e33a1ac":{"name":"@flighthq/textshaper-canvas","version":"0.5.1-next.1204.e33a1ac","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.5.1-next.1204.e33a1ac","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"702079534b95a530b68fc76e242e6510a6dd6b77","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.5.1-next.1204.e33a1ac.tgz","fileCount":16,"integrity":"sha512-Z4zXMmli28tMwH5JqZjSMHJzp8nwrtyDOyxFvOxZM6Sd1sScmYcZCPJnhZfBF14EWI/hPT9Uvl0CHkI/T4JiSg==","signatures":[{"sig":"MEQCICXtqZUgd2lSPr25tXe0ynAMAQSF8MaSzQ6edR4FmeC6AiAicuwfVW0P4oG/wlbMchej0Jwx/shHLzDzAg3i/ojG7A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.5.1-next.1204.e33a1ac","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":28073},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","flight":{"environment":"web"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"e33a1acd62afea4078e3aae31f675f8ed642b3a1","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.5.1-next.1204.e33a1ac","@flighthq/types":"0.5.1-next.1204.e33a1ac","@flighthq/entity":"0.5.1-next.1204.e33a1ac","@flighthq/textshaper":"0.5.1-next.1204.e33a1ac"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.5.1-next.1204.e33a1ac_1789256049319_0.31065063108756874","host":"s3://npm-registry-packages-npm-production"}},"0.5.1-next.1225.129b76d":{"name":"@flighthq/textshaper-canvas","version":"0.5.1-next.1225.129b76d","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.5.1-next.1225.129b76d","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"29faf1cc8bc83708f885d33dacbcb2bf9c0dcba8","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.5.1-next.1225.129b76d.tgz","fileCount":16,"integrity":"sha512-kBErMiRhSAtgHl0UkP4xdxqZQU5Eed3sys/wrH9KMtQBvHn13Trl3rAL0dq8GAJykgceXmQVtKqRqHaQYKlD+Q==","signatures":[{"sig":"MEUCIB1+13xvpe0Fd/Q/ANJk4zKk3JFAsonEY8/uMo1zHzylAiEAlez3FK4aFa7UnTaJXNgkKBirF8hYZsIVYwzRSall2Q4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.5.1-next.1225.129b76d","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":28073},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","flight":{"environment":"web"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"129b76d4025138e3fbbe6fcdccc31a89f6bfd500","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.5.1-next.1225.129b76d","@flighthq/types":"0.5.1-next.1225.129b76d","@flighthq/entity":"0.5.1-next.1225.129b76d","@flighthq/textshaper":"0.5.1-next.1225.129b76d"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.5.1-next.1225.129b76d_1789269742174_0.7380974687718158","host":"s3://npm-registry-packages-npm-production"}},"0.5.1-next.1244.12290e1":{"name":"@flighthq/textshaper-canvas","version":"0.5.1-next.1244.12290e1","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.5.1-next.1244.12290e1","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"a4e5c85190853e66b2b8d28c45f3384894832c17","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.5.1-next.1244.12290e1.tgz","fileCount":16,"integrity":"sha512-Ignky2YH/3DVymwxUycKN+0QZzIz+J/Wgb4it3lWAlqW20cHndSMX4iaNX3NvaIIlGRR8Xw7dCjhhfc2NZmi3g==","signatures":[{"sig":"MEYCIQC5zWA3v5+B+/ujpYmYBWkBZtElmpDUUM5bl7ITL8xDewIhAMlDblzdbCavZeKYZFlhxFQjAZQ+2ypr68kX9nLRFKPb","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.5.1-next.1244.12290e1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":28073},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","flight":{"environment":"web"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"12290e1f9b322ecdc5d521dc3c3597796c75045a","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.5.1-next.1244.12290e1","@flighthq/types":"0.5.1-next.1244.12290e1","@flighthq/entity":"0.5.1-next.1244.12290e1","@flighthq/textshaper":"0.5.1-next.1244.12290e1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.5.1-next.1244.12290e1_1789288202653_0.3902888934715534","host":"s3://npm-registry-packages-npm-production"}},"0.5.1-next.1251.918ea64":{"name":"@flighthq/textshaper-canvas","version":"0.5.1-next.1251.918ea64","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.5.1-next.1251.918ea64","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"9b5391afc070c9dec2a92a53493567913f20eb01","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.5.1-next.1251.918ea64.tgz","fileCount":16,"integrity":"sha512-82r2cebZnmpKxLmEe/Xpnw6YgJQWpfjVYNof1zMq9JIuvj1tQkNOwJ+7Tj3APkbcr841u8hgBiBbuFI20ocXeQ==","signatures":[{"sig":"MEUCIQCVbL/38JfF12Uhb+P3PvsqyL8ABwft8XtCztiZBQNPogIgIB95Jofwm2OGpguM5LVINEgbf5rBAGqxQldaGU7amEA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.5.1-next.1251.918ea64","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":28073},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","flight":{"environment":"web"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"918ea648938b20a45e9c7ba1a5ae1f002d6f8931","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.5.1-next.1251.918ea64","@flighthq/types":"0.5.1-next.1251.918ea64","@flighthq/entity":"0.5.1-next.1251.918ea64","@flighthq/textshaper":"0.5.1-next.1251.918ea64"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.5.1-next.1251.918ea64_1789314008731_0.39011960613326613","host":"s3://npm-registry-packages-npm-production"}},"0.5.1-next.1252.15e4611":{"name":"@flighthq/textshaper-canvas","version":"0.5.1-next.1252.15e4611","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.5.1-next.1252.15e4611","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"a6fcfc9b2c64c6e5234b681f265d1edbf8820255","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.5.1-next.1252.15e4611.tgz","fileCount":16,"integrity":"sha512-+wMEmaPEYKpbRYEvtBPPRytkapaZQqhKFfSGRuPJ5dvw2emhgZ285lWPbKyerfzD1XCpvEr5XYEJYo4yvH28Dw==","signatures":[{"sig":"MEQCIHup94qqLQ/C02oykHQHvDXXNUh0mHwntnFmrPtzrD8RAiAL4QqGPncM2ezGzmdbdiZiYGe2SQCwgiWtUHkKjsfI+g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.5.1-next.1252.15e4611","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":28073},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","flight":{"environment":"web"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"15e4611773b9704eb3965924ef12a0a8d99c4a77","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.5.1-next.1252.15e4611","@flighthq/types":"0.5.1-next.1252.15e4611","@flighthq/entity":"0.5.1-next.1252.15e4611","@flighthq/textshaper":"0.5.1-next.1252.15e4611"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.5.1-next.1252.15e4611_1789315088574_0.19297584022932246","host":"s3://npm-registry-packages-npm-production"}},"0.5.1-next.1253.6fe252c":{"name":"@flighthq/textshaper-canvas","version":"0.5.1-next.1253.6fe252c","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.5.1-next.1253.6fe252c","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"4f18e2741dfb23274a6ccc145e6ec29e9f439e10","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.5.1-next.1253.6fe252c.tgz","fileCount":16,"integrity":"sha512-pizXz+xxJ4C7ibuEO30XqtMrz3Y+SrijNc7o0vmjnbhUBjdQrMFDvaZHpgT/j14qDQaNBvpq6SlCEM+7sYzdLg==","signatures":[{"sig":"MEYCIQDclzeT5okyJWu7fyuVslFF3qVh6N/xFKMuNip3xdeTowIhALWL/C+KzYRKqWkL3b0cQfcOXi1r6K+vR/srcYlo/CPx","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.5.1-next.1253.6fe252c","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":28073},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","flight":{"environment":"web"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"6fe252ca721620db74125e4efd624bdf0fc88c04","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.5.1-next.1253.6fe252c","@flighthq/types":"0.5.1-next.1253.6fe252c","@flighthq/entity":"0.5.1-next.1253.6fe252c","@flighthq/textshaper":"0.5.1-next.1253.6fe252c"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.5.1-next.1253.6fe252c_1789334595432_0.05789439697787668","host":"s3://npm-registry-packages-npm-production"}},"0.5.1-next.1254.2ab4a06":{"name":"@flighthq/textshaper-canvas","version":"0.5.1-next.1254.2ab4a06","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.5.1-next.1254.2ab4a06","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"f9c51be8673abf8b6781735fc56c71ee1e1575cd","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.5.1-next.1254.2ab4a06.tgz","fileCount":16,"integrity":"sha512-e/vImhCbnI3JKRT+FfeOHZAKBbyjIv97cc0gVKajvCB3S6w7Q08GPFsYuCfTbAmYvzjA4N0gg5jKaCGNElHzfQ==","signatures":[{"sig":"MEUCIBIaTi3UHqfBPnTQPshMqGmsDuxcqpYbE4RZh6uyU++uAiEAwIF9lEc0NOvOSR+fjZwRNSqvSwDNrsDu9zPJyTGgv7w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.5.1-next.1254.2ab4a06","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":28073},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","flight":{"environment":"web"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"2ab4a06667b0db0751b848e22fd7999f391b29b2","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.5.1-next.1254.2ab4a06","@flighthq/types":"0.5.1-next.1254.2ab4a06","@flighthq/entity":"0.5.1-next.1254.2ab4a06","@flighthq/textshaper":"0.5.1-next.1254.2ab4a06"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.5.1-next.1254.2ab4a06_1789341111121_0.06958290414378387","host":"s3://npm-registry-packages-npm-production"}},"0.5.1-next.1257.b2a4509":{"name":"@flighthq/textshaper-canvas","version":"0.5.1-next.1257.b2a4509","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.5.1-next.1257.b2a4509","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"f2339f88bccf0e40006565ab9b1fb8ea219646a8","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.5.1-next.1257.b2a4509.tgz","fileCount":16,"integrity":"sha512-6AZfWipR0vrurRzaO1/MeX4kC6xrMabYd1riZYYx3aWqOxKC12pN0MCH031BhyqTeopHtPxrcZz87yL70FeiuQ==","signatures":[{"sig":"MEQCICNZfh+AvyJzTt06YknnW9OheZLPrCKeI8QmUU0vp3G4AiBmXjx54p816szjRuoCpep8AY/JapED6l/CztIhJBDrng==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.5.1-next.1257.b2a4509","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":28073},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","flight":{"environment":"web"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"b2a45090723e9546e5620ee9984c9c4c0340143c","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.5.1-next.1257.b2a4509","@flighthq/types":"0.5.1-next.1257.b2a4509","@flighthq/entity":"0.5.1-next.1257.b2a4509","@flighthq/textshaper":"0.5.1-next.1257.b2a4509"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.5.1-next.1257.b2a4509_1789363727529_0.9661934476887646","host":"s3://npm-registry-packages-npm-production"}},"0.5.1-next.1295.2b6bfa3":{"name":"@flighthq/textshaper-canvas","version":"0.5.1-next.1295.2b6bfa3","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.5.1-next.1295.2b6bfa3","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"8d6acc18d6c8547638199c19a3f4a31995702897","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.5.1-next.1295.2b6bfa3.tgz","fileCount":16,"integrity":"sha512-k/TgpIhOgu1cisvzWYqFQg4B8p42huHbZZIr1uEWCtNWpIsgM5BAH9tOxWfUzF2Gc9+PRZWBdNclXW/QyXla5A==","signatures":[{"sig":"MEQCID2WltRySFXFR0qXCA6CMcw1PQXR43q3x4qA46Q+xgycAiBPBtnJueMPW3gjPck6Zb+anfO39bdD5/c7u2CY1sJL4w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.5.1-next.1295.2b6bfa3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":28073},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","flight":{"environment":"web"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"2b6bfa33110e26cbdd959441a6c36a4c78109ab8","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.5.1-next.1295.2b6bfa3","@flighthq/types":"0.5.1-next.1295.2b6bfa3","@flighthq/entity":"0.5.1-next.1295.2b6bfa3","@flighthq/textshaper":"0.5.1-next.1295.2b6bfa3"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.5.1-next.1295.2b6bfa3_1789417170259_0.3780831937754494","host":"s3://npm-registry-packages-npm-production"}},"0.5.1-next.1344.b88acc1":{"name":"@flighthq/textshaper-canvas","version":"0.5.1-next.1344.b88acc1","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.5.1-next.1344.b88acc1","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"738f6547728507e06b40741e714e066ac6aef753","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.5.1-next.1344.b88acc1.tgz","fileCount":16,"integrity":"sha512-aUedOXqPvS/E2MppraS7nokrGDHBJxEp5+nFItnOijGzp0BCnYAN25HEJ5JSh3kuNdbXKZgilfYETKPquxvmPg==","signatures":[{"sig":"MEUCIQDoeSt6aUiLkyXNXiRTGz2DNKrBWOXJDQ6IpPEPc80qMgIgceEANmFkDXRthSgizg596WNQRYTgxwKGx8SuMYZRtE0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.5.1-next.1344.b88acc1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":28073},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","flight":{"environment":"web"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"b88acc1d080c49af69bcc979eb38073d63c72ba2","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.5.1-next.1344.b88acc1","@flighthq/types":"0.5.1-next.1344.b88acc1","@flighthq/entity":"0.5.1-next.1344.b88acc1","@flighthq/textshaper":"0.5.1-next.1344.b88acc1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.5.1-next.1344.b88acc1_1789452547776_0.6495038260273711","host":"s3://npm-registry-packages-npm-production"}},"0.5.1-next.1345.0995dc5":{"name":"@flighthq/textshaper-canvas","version":"0.5.1-next.1345.0995dc5","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.5.1-next.1345.0995dc5","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"b39fba5889ae5f40d5c2834d426d990056ce2849","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.5.1-next.1345.0995dc5.tgz","fileCount":16,"integrity":"sha512-HBNb4BEgV0py+FXeOmgYODTPl8RokOZPXgsKi/A06xxJ3dyMd4zlYdEliRRWXb0ckKTRO3xvQZX7u0xXp9eP3g==","signatures":[{"sig":"MEUCICpLwPnLcfeaF9adY96HraXdAy1qR3w7V10MwLRXm3DsAiEA/IY2jyyDl6Wr6pvBEqKdmTGN461yQVoeep1OOliBoo8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.5.1-next.1345.0995dc5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":28073},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","flight":{"environment":"web"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"0995dc5f840e6b57c3e85ecd2123aa798cf60b29","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.5.1-next.1345.0995dc5","@flighthq/types":"0.5.1-next.1345.0995dc5","@flighthq/entity":"0.5.1-next.1345.0995dc5","@flighthq/textshaper":"0.5.1-next.1345.0995dc5"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.5.1-next.1345.0995dc5_1789454530385_0.8784209259905158","host":"s3://npm-registry-packages-npm-production"}},"0.5.1-next.1347.54f97d8":{"name":"@flighthq/textshaper-canvas","version":"0.5.1-next.1347.54f97d8","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.5.1-next.1347.54f97d8","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"3f580a02e24e18aadb3263e7fdc1e3e965c634f0","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.5.1-next.1347.54f97d8.tgz","fileCount":16,"integrity":"sha512-J9v27Z52N2/6ZEJAWqTiJs8fi3wVzuKtrgC0M3Sor2DrmY1lBGOC8nhj2k97qAzQbGpnZ2LkEHFrrfMxFA8IMw==","signatures":[{"sig":"MEUCIQD3kkHe4q0e/XEYGhdumZl62ET9Qm15S2pgyEPnFe9+qgIgKxYNmPXy5iRhT7nRe0kP0RQ7ZKhLHiL4i1nVni9YYUs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.5.1-next.1347.54f97d8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":28073},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","flight":{"environment":"web"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"54f97d868253fefb8e74e59b3d615ea9df99d8d5","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.5.1-next.1347.54f97d8","@flighthq/types":"0.5.1-next.1347.54f97d8","@flighthq/entity":"0.5.1-next.1347.54f97d8","@flighthq/textshaper":"0.5.1-next.1347.54f97d8"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.5.1-next.1347.54f97d8_1789460906129_0.8810727976356325","host":"s3://npm-registry-packages-npm-production"}},"0.5.1-next.1348.e71a747":{"name":"@flighthq/textshaper-canvas","version":"0.5.1-next.1348.e71a747","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.5.1-next.1348.e71a747","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"6ef4bd2fbef53b7ae5566f8ac7023ee2501fdeb8","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.5.1-next.1348.e71a747.tgz","fileCount":16,"integrity":"sha512-kxqzNHKU4mnn6vWLYn4McbAmNvV5KP03vD1zyJSKBASZzTA7TXRxFgvD3UxO/LEFU/g4c1yUxl3x12snB9wkfw==","signatures":[{"sig":"MEUCIFtNJw7xPxciDRSOVHsSEXa+zZnBh+fTmHE9S6Pa3iPOAiEA7fKFPM0TIZPebTfAjtZH/sJUuFDOzlyxgO4mEU1V1gE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.5.1-next.1348.e71a747","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":28073},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","flight":{"environment":"web"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"e71a74762e2d9d7f9a9b28927e2fa19f0f8d83b8","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.5.1-next.1348.e71a747","@flighthq/types":"0.5.1-next.1348.e71a747","@flighthq/entity":"0.5.1-next.1348.e71a747","@flighthq/textshaper":"0.5.1-next.1348.e71a747"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.5.1-next.1348.e71a747_1789464659059_0.172440737821836","host":"s3://npm-registry-packages-npm-production"}},"0.5.1-next.1349.05b053d":{"name":"@flighthq/textshaper-canvas","version":"0.5.1-next.1349.05b053d","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.5.1-next.1349.05b053d","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"849a0a01f795ab5a7bc62b8691ee27e54928234b","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.5.1-next.1349.05b053d.tgz","fileCount":16,"integrity":"sha512-WkMBjL3aC+fob48M+wmVYgu92x1OthJZLeqtYJvNtuDX9X5r2PJdd3UlNUouJywl96Uyz9aNqLfU6HmB57ZD9w==","signatures":[{"sig":"MEQCIE92w5JF7np129jnagyKzBnDgcpDiOCnvbEQ2B4QzES5AiAVI5rJAi0Ewb2ozZ21BFEYwl22JJF6I7gw18NgbXnq8w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.5.1-next.1349.05b053d","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":28073},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","flight":{"environment":"web"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"05b053d22f5f4864112afbed6f0d255d360c783f","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.5.1-next.1349.05b053d","@flighthq/types":"0.5.1-next.1349.05b053d","@flighthq/entity":"0.5.1-next.1349.05b053d","@flighthq/textshaper":"0.5.1-next.1349.05b053d"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.5.1-next.1349.05b053d_1789468922525_0.5532458974983265","host":"s3://npm-registry-packages-npm-production"}},"0.5.1-edge.1349.05b053d":{"name":"@flighthq/textshaper-canvas","version":"0.5.1-edge.1349.05b053d","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.5.1-edge.1349.05b053d","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"92009e1444a8c6b40a91af5145c60d0a4ff030ba","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.5.1-edge.1349.05b053d.tgz","fileCount":16,"integrity":"sha512-KbjRmkMCYryGS95KmYiuJZbuoqqoOx79spW5fIbj3fO85UlVQa1DC45WX3yok7iVtj0p3x8k2vWmovSgTRjOsA==","signatures":[{"sig":"MEYCIQC7H2KF0mYRpXii1xzAuGbLVlRskLja+U/Bi8ldEycauwIhAJroKvphUSVbW0M5b5SwfflHla3goWXMiEQgtn+eGTzY","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.5.1-edge.1349.05b053d","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":28073},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","flight":{"environment":"web"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"05b053d22f5f4864112afbed6f0d255d360c783f","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.5.1-edge.1349.05b053d","@flighthq/types":"0.5.1-edge.1349.05b053d","@flighthq/entity":"0.5.1-edge.1349.05b053d","@flighthq/textshaper":"0.5.1-edge.1349.05b053d"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.5.1-edge.1349.05b053d_1789469298598_0.44260537140810685","host":"s3://npm-registry-packages-npm-production"}},"0.5.1-next.1350.8ce488b":{"name":"@flighthq/textshaper-canvas","version":"0.5.1-next.1350.8ce488b","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.5.1-next.1350.8ce488b","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"564f89dea24cb2f8d344892d78b75d92c8454f1d","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.5.1-next.1350.8ce488b.tgz","fileCount":16,"integrity":"sha512-x/NUj55FaWKz7Z4neh99hASL1ISePkPZca+oU8itcOlamcH+jkzVtjqE7ucZ+dsVK0K7iULnApRyUB62rkSDEw==","signatures":[{"sig":"MEQCIEH3OBWUlkGenD/0dLyhZur63nV5uCz8VhTUfE/T2JaeAiB5kLsC6+XBctu2u03iYAhpRgMNatDeRBW+5+LTEpOzBA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.5.1-next.1350.8ce488b","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":28073},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","flight":{"environment":"web"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"8ce488bfe444eded2fb281e7b9696e5ce7fabdc0","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.5.1-next.1350.8ce488b","@flighthq/types":"0.5.1-next.1350.8ce488b","@flighthq/entity":"0.5.1-next.1350.8ce488b","@flighthq/textshaper":"0.5.1-next.1350.8ce488b"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.5.1-next.1350.8ce488b_1789489608722_0.8451756007334206","host":"s3://npm-registry-packages-npm-production"}},"0.5.1-edge.1350.8ce488b":{"name":"@flighthq/textshaper-canvas","version":"0.5.1-edge.1350.8ce488b","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.5.1-edge.1350.8ce488b","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"a3da1bcc3c1b88472b78181ee49ae39c3d64f446","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.5.1-edge.1350.8ce488b.tgz","fileCount":16,"integrity":"sha512-gWTkIMg8DyuWw5ZTowZPEq8AZTqXztaa+PeYSG/Q0hQYbs836Ny9XKmKQvsvnjTPXZwMpb/Kf7tSSvxtdr8NYg==","signatures":[{"sig":"MEQCIGhxi97ym5ZGs6SvUrOiZzHubxKaGaYowkxnOsrMg/t0AiBXLV0Gl0JhOUkRQMLZtHRjRm4PTLoq4NL4qhafVd/WMg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.5.1-edge.1350.8ce488b","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":28073},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","flight":{"environment":"web"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"8ce488bfe444eded2fb281e7b9696e5ce7fabdc0","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.5.1-edge.1350.8ce488b","@flighthq/types":"0.5.1-edge.1350.8ce488b","@flighthq/entity":"0.5.1-edge.1350.8ce488b","@flighthq/textshaper":"0.5.1-edge.1350.8ce488b"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.5.1-edge.1350.8ce488b_1789490096311_0.33009638815643316","host":"s3://npm-registry-packages-npm-production"}},"0.5.1-next.1370.903f328":{"name":"@flighthq/textshaper-canvas","version":"0.5.1-next.1370.903f328","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.5.1-next.1370.903f328","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"861b85c8a1ae2ef08824898023b006a77e9a526b","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.5.1-next.1370.903f328.tgz","fileCount":16,"integrity":"sha512-ksPUsrcqQwe7/UDMfWkXgbJnzzaJnTipnaKt0cAkeVWKUYsTliOArYNRcb3HE8fFLxL1A06WcBBNSHrFDRMXGA==","signatures":[{"sig":"MEUCIEr3yQRbQGnOg/j7evseqlLrP07kFWjeIEip/9r5zqF9AiEAx/kU8J2iOlM29CHlweWvXHlLZxTTEbt1IjhNB0sOGls=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.5.1-next.1370.903f328","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":27811},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","flight":{"environment":"web"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"903f3289590358eacc20698525e6982da2ab0e9d","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.5.1-next.1370.903f328","@flighthq/types":"0.5.1-next.1370.903f328","@flighthq/entity":"0.5.1-next.1370.903f328","@flighthq/textshaper":"0.5.1-next.1370.903f328"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.5.1-next.1370.903f328_1789537705430_0.9678752443089658","host":"s3://npm-registry-packages-npm-production"}},"0.5.1-edge.1370.903f328":{"name":"@flighthq/textshaper-canvas","version":"0.5.1-edge.1370.903f328","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.5.1-edge.1370.903f328","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"6616e96dbc1029d6c5bda9efe6e0ae1e77a2b702","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.5.1-edge.1370.903f328.tgz","fileCount":16,"integrity":"sha512-vDkeX9RTNiB85Z2LPsXRli9lDksvex3r5o+cXFgKXd0C5IyaQB1pJx/8Fey9XjTMQwSkunsl2PKaE+SDVEn8PA==","signatures":[{"sig":"MEYCIQCPpT7V9yF06zUPcC9IFLZfqzHGWuO8oKo6kKyRue+BJgIhANhFO35T1YCsx/8x5pmGyUPfYsJv1tV2jQUzYAjf4BNP","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.5.1-edge.1370.903f328","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":27811},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","flight":{"environment":"web"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"903f3289590358eacc20698525e6982da2ab0e9d","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.5.1-edge.1370.903f328","@flighthq/types":"0.5.1-edge.1370.903f328","@flighthq/entity":"0.5.1-edge.1370.903f328","@flighthq/textshaper":"0.5.1-edge.1370.903f328"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.5.1-edge.1370.903f328_1789538279135_0.16695902290277065","host":"s3://npm-registry-packages-npm-production"}},"0.5.1-next.1404.457d1da":{"name":"@flighthq/textshaper-canvas","version":"0.5.1-next.1404.457d1da","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.5.1-next.1404.457d1da","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"a2c00bd6464ce7f3a29d446898906a29231f4aaa","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.5.1-next.1404.457d1da.tgz","fileCount":16,"integrity":"sha512-0brT3tLpEr/DDRGRT6WXJ+SqGII5rO1hKEnaNJmjfnLBDAMyIWAIygyK6XPvZ67+HUlSRKensQGNU7wrgd0FKA==","signatures":[{"sig":"MEYCIQDJQpSl5Qj+vjNNyd7GADmm6lZknK+tc1237rZ62qRyZQIhAPFTvW5QY5ohgbKizLqB2fgiFI3tRp6yge5Hf5Ux/q/W","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.5.1-next.1404.457d1da","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":27817},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","flight":{"environment":"web"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"457d1da918a60be5853b84eb6c25530a66662cef","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.5.1-next.1404.457d1da","@flighthq/types":"0.5.1-next.1404.457d1da","@flighthq/entity":"0.5.1-next.1404.457d1da","@flighthq/textshaper":"0.5.1-next.1404.457d1da"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.5.1-next.1404.457d1da_1789625941272_0.11323527907225839","host":"s3://npm-registry-packages-npm-production"}},"0.5.1-next.1405.69d9356":{"name":"@flighthq/textshaper-canvas","version":"0.5.1-next.1405.69d9356","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.5.1-next.1405.69d9356","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"2f925da725ccb33562bfebc16ce00772f76eb489","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.5.1-next.1405.69d9356.tgz","fileCount":16,"integrity":"sha512-2voZ/ODalQFFoAQSID3pYqM1gydMRlYkb3m587g7bsppUVCR6xFjgdIlDj8JhFEZzbS7YnvBknQxy2JE2EX8Tg==","signatures":[{"sig":"MEUCIQCua9wnKDXL3wJogqdhnr4y2Zr0RjdgmRMYndGZu83XrgIgHDe69s51FS1OSVcav+dFmnh0CSFthl3bp93BCVFJw9k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.5.1-next.1405.69d9356","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":27817},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","flight":{"environment":"web"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"69d9356a1305e2930dafb82973aba2dd640600a1","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.5.1-next.1405.69d9356","@flighthq/types":"0.5.1-next.1405.69d9356","@flighthq/entity":"0.5.1-next.1405.69d9356","@flighthq/textshaper":"0.5.1-next.1405.69d9356"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.5.1-next.1405.69d9356_1789627607045_0.6211295179419438","host":"s3://npm-registry-packages-npm-production"}},"0.5.1-edge.1405.69d9356":{"name":"@flighthq/textshaper-canvas","version":"0.5.1-edge.1405.69d9356","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.5.1-edge.1405.69d9356","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"561983720805410cfa46b5c9c9b42af0c41243b8","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.5.1-edge.1405.69d9356.tgz","fileCount":16,"integrity":"sha512-lBZYoO0OVKRa1GtiABCu/DyMv/dq6tLOXIyFsf6ZCSCGRvUqI6r3ejfRs2p06AhtOudPkqPio/wwaSP7KIUHmg==","signatures":[{"sig":"MEQCIHmW1lm9L+vB8yYsJ2FFfH8XY/ORdGz8iNYu1pEsw0X6AiAkZGPBKyC/1lwy7hvdYOsbxpegOZD4Kloysq7evR4jjQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.5.1-edge.1405.69d9356","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":27817},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","flight":{"environment":"web"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"69d9356a1305e2930dafb82973aba2dd640600a1","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.5.1-edge.1405.69d9356","@flighthq/types":"0.5.1-edge.1405.69d9356","@flighthq/entity":"0.5.1-edge.1405.69d9356","@flighthq/textshaper":"0.5.1-edge.1405.69d9356"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.5.1-edge.1405.69d9356_1789659641190_0.7697203430662964","host":"s3://npm-registry-packages-npm-production"}},"0.5.1-next.1410.b534771":{"name":"@flighthq/textshaper-canvas","version":"0.5.1-next.1410.b534771","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.5.1-next.1410.b534771","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"4c593d08dc8f67f2c461aa8b4eac821f3fb63198","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.5.1-next.1410.b534771.tgz","fileCount":16,"integrity":"sha512-C1K9Kj38M5NAmwi2ERCXTfjJ+ng5leaajOb0cLeYytcU7JBKh0NkhgI3Y/7gg+ue7ytzI1ngb4eKkvgdq9o8pA==","signatures":[{"sig":"MEYCIQC2PT9mIVUj3LvozCQ6CP08CiqpUZ6ZCrk2fvSYmEql7wIhAJWa6Eh3pkGd1LepUeoq8wV2cJxT0XfzYlB3wW3OxVgH","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCLnf14OGmpegR/OVflipLpvSMvsUS9IWMw6hXnVTbIZwIgYU2uggIMBAMg3jvrroWHSwzMs4cR/8j6O+awozwNG4c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.5.1-next.1410.b534771","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":27817},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","flight":{"environment":"web"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"b53477179b2672048eb54d134f94ee8af050d130","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.5.1-next.1410.b534771","@flighthq/types":"0.5.1-next.1410.b534771","@flighthq/entity":"0.5.1-next.1410.b534771","@flighthq/textshaper":"0.5.1-next.1410.b534771"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.5.1-next.1410.b534771_1789670507363_0.13286531946403812","host":"s3://npm-registry-packages-npm-production"}},"0.5.1-edge.1410.b534771":{"name":"@flighthq/textshaper-canvas","version":"0.5.1-edge.1410.b534771","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.5.1-edge.1410.b534771","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"6a3f863aefaae2deca8aad9137f14a74e112ca3c","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.5.1-edge.1410.b534771.tgz","fileCount":16,"integrity":"sha512-BGZUcVLLAFjzeSnCu1Nl5wmlVIERc85bx3EF6/z5LT4CPQx7Zjyr2jMmKinOfSoV/vcnst7V224mzHc1IdJKVA==","signatures":[{"sig":"MEUCIGdCeYEaPwZ0QQf6w8s8M1eCzGP1VW5M51FzC0BDYZVEAiEAhMTcGsiY9AU6uQ3vVHnsbS/yfFZqWptjkPYzx+GFWAw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCQe2SCJErom4O9XW11pQu853gwzlVbYV9Mzelow6GIOQIhAI9MZtmWUv+F3rewLk2pKw4MAcnwkPwZ3i/bdSIA+Erx","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.5.1-edge.1410.b534771","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":27817},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","flight":{"environment":"web"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"b53477179b2672048eb54d134f94ee8af050d130","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.5.1-edge.1410.b534771","@flighthq/types":"0.5.1-edge.1410.b534771","@flighthq/entity":"0.5.1-edge.1410.b534771","@flighthq/textshaper":"0.5.1-edge.1410.b534771"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.5.1-edge.1410.b534771_1789671089728_0.9427980652618904","host":"s3://npm-registry-packages-npm-production"}},"0.5.1-next.1450.5738463":{"name":"@flighthq/textshaper-canvas","version":"0.5.1-next.1450.5738463","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.5.1-next.1450.5738463","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"d33d5a4e7ff1abc85467d59ea16f0d09474f337d","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.5.1-next.1450.5738463.tgz","fileCount":16,"integrity":"sha512-xyk9zKfFwHlGQ0DqfzhDFUE0lwAom9Fb0z+j4cFYD3D7i7g+S4ss1sQuG0jq3g2u5lcnekEeB9h/df1hmGIINw==","signatures":[{"sig":"MEUCIQDkTWO1xg9SOroPRDzzwXIRh2alvLjQAcA8DqBOfh3/WwIgNBEPmqA6w94bW1dUDIGzPdapTCCVylnMbKuljvBUbpU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIHo3te5T5p5MjdxkqBKhmhU58kw3FOzmXt5WGzZNlAk4AiBEty2OuGUp4mydvZ7cYvuHz2ziBhJ++FB1RtCLAmwThQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.5.1-next.1450.5738463","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":27817},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","flight":{"environment":"web"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"5738463479690d1fd0a89839d92fcc6164a3d23b","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.5.1-next.1450.5738463","@flighthq/types":"0.5.1-next.1450.5738463","@flighthq/entity":"0.5.1-next.1450.5738463","@flighthq/textshaper":"0.5.1-next.1450.5738463"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.5.1-next.1450.5738463_1789779677567_0.40871412450160305","host":"s3://npm-registry-packages-npm-production"}},"0.5.1-next.1462.5a251b6":{"name":"@flighthq/textshaper-canvas","version":"0.5.1-next.1462.5a251b6","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.5.1-next.1462.5a251b6","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"9ae9b5b953b8c09ac350ac3a10ba1f3a781e3e8f","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.5.1-next.1462.5a251b6.tgz","fileCount":16,"integrity":"sha512-7rpeKfPB1cP6sjH/cIzaJXDS0Q+1TjTxX0KrmxJ4e+4Hr+5PvVJRvDA5a9apJ8O191NT6kWhZIsotXUeEnbMRw==","signatures":[{"sig":"MEQCHyKVuEfWgn0f6/Tz4hpH3NC8kX4IAT1VBAzDBUV+BOwCIQDB52+pj26Nnjq8W9VAYjCjjJRHLbxeAWs8ccIfErAiww==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQChZlvCpsKh9T3elBfRAunFps8m4hnkPQNqwr87c7OCNAIgcRQ2ByUWTKcmwlqHOQEeDyQrdu+NQx313Iuv0XmOMUk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.5.1-next.1462.5a251b6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":27817},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","flight":{"environment":"web"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"5a251b69a59b84e26ddf36ecfc42ffc0e1be8a9a","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.5.1-next.1462.5a251b6","@flighthq/types":"0.5.1-next.1462.5a251b6","@flighthq/entity":"0.5.1-next.1462.5a251b6","@flighthq/textshaper":"0.5.1-next.1462.5a251b6"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.5.1-next.1462.5a251b6_1789840256455_0.03659677878792267","host":"s3://npm-registry-packages-npm-production"}},"0.5.1-edge.1462.5a251b6":{"name":"@flighthq/textshaper-canvas","version":"0.5.1-edge.1462.5a251b6","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.5.1-edge.1462.5a251b6","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"dc36fa05dca4ac38f22d02b2f68c57bd1b5bd9b4","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.5.1-edge.1462.5a251b6.tgz","fileCount":16,"integrity":"sha512-2J/BcDQZtbHlLIC90NM6Z/OIaUAJsrvVtKLhvUOyYRtTnpFfq6DALmOFeSdmu9IIeVAo/uIo0r8V1aiBCfSlCg==","signatures":[{"sig":"MEYCIQC/dhzLB4ka9BKNjaUDJoJ0d5xAybgPZDwVgI30nr06ewIhAJvDxfvJvRrZe7yhf0I8FDBxwIcLoQF1D1sIYMLXleSq","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIBQBmYRYwl4tYmBl1Zq/Mbb+zrydfUGJH4BxL+aP/NDbAiEA65eqB6sOEy/cuRI6rbkkd9BjWSpF0EAxV4mK6CAmiNo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.5.1-edge.1462.5a251b6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":27817},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","flight":{"environment":"web"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"5a251b69a59b84e26ddf36ecfc42ffc0e1be8a9a","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.5.1-edge.1462.5a251b6","@flighthq/types":"0.5.1-edge.1462.5a251b6","@flighthq/entity":"0.5.1-edge.1462.5a251b6","@flighthq/textshaper":"0.5.1-edge.1462.5a251b6"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.5.1-edge.1462.5a251b6_1789840885526_0.7851963178850909","host":"s3://npm-registry-packages-npm-production"}},"0.5.1-next.1467.7e2fc7d":{"name":"@flighthq/textshaper-canvas","version":"0.5.1-next.1467.7e2fc7d","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.5.1-next.1467.7e2fc7d","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"8be78e53d6e9e24831e17f08b568253686da0ded","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.5.1-next.1467.7e2fc7d.tgz","fileCount":16,"integrity":"sha512-1F/JckRklQdzBNCBJCSXW1WubGZS0+2agGsxtmO3rix6bRhCPXgypxUif/YvgoaJAnHawnXxmCfmXfrLrQzVzg==","signatures":[{"sig":"MEQCIArWCHreZbouXoj3KxEhGI/x+JIWCGqpoBIY9H3OprjQAiAuFgBO0oL7OjkT2q64S8JIp3fRoQCHMo+JLpoRE3U6Ww==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDKdh0F5IkycFDobI2L11Pd8VTOXhQByXND1ZEYiB3Z3QIhALi79VlD09iOc57h1g6iTPnufmJAbBDnhhepXgegTeom","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.5.1-next.1467.7e2fc7d","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":27817},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","flight":{"environment":"web"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"7e2fc7df5378313ceaf21ba8d6ef39cc18a6f4ad","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.5.1-next.1467.7e2fc7d","@flighthq/types":"0.5.1-next.1467.7e2fc7d","@flighthq/entity":"0.5.1-next.1467.7e2fc7d","@flighthq/textshaper":"0.5.1-next.1467.7e2fc7d"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.5.1-next.1467.7e2fc7d_1789850299248_0.7907740557408383","host":"s3://npm-registry-packages-npm-production"}},"0.5.1-edge.1467.7e2fc7d":{"name":"@flighthq/textshaper-canvas","version":"0.5.1-edge.1467.7e2fc7d","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.5.1-edge.1467.7e2fc7d","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"8adb89f32dd75d53812a42952fd5463967cbb427","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.5.1-edge.1467.7e2fc7d.tgz","fileCount":16,"integrity":"sha512-+k/qA4ElCxPfllbLrVIIciJDFqulCYx8RTNsC+C1UDmQJnoC/LQugmvlNzOX85gPs1mnay4aaOECCAfi4Qaz8w==","signatures":[{"sig":"MEYCIQDtAUba2I4nQ4O7VK7i9QfloZ+ki4t11lSIYF5KGRiOsgIhAM9UoWJKEYYIZ7lnaKRpyUSqD27jElh4BzC5DcV7+A3d","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCTOAJ8rXgM1KzERkKFGGYABu0pz0g9H6KtQ31zQsXaswIhAPxK4WmhnvMyWyRgWtjgdCkMsksRFZVUy9f7ahWc9xYe","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.5.1-edge.1467.7e2fc7d","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":27817},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","flight":{"environment":"web"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"7e2fc7df5378313ceaf21ba8d6ef39cc18a6f4ad","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.5.1-edge.1467.7e2fc7d","@flighthq/types":"0.5.1-edge.1467.7e2fc7d","@flighthq/entity":"0.5.1-edge.1467.7e2fc7d","@flighthq/textshaper":"0.5.1-edge.1467.7e2fc7d"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.5.1-edge.1467.7e2fc7d_1789850973563_0.012485858224941193","host":"s3://npm-registry-packages-npm-production"}},"0.5.1-next.1468.61b1d9d":{"name":"@flighthq/textshaper-canvas","version":"0.5.1-next.1468.61b1d9d","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.5.1-next.1468.61b1d9d","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"484196dfc6d7e8e3251449d1219e9cc1a5737368","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.5.1-next.1468.61b1d9d.tgz","fileCount":16,"integrity":"sha512-qDiPfI/kswj+4k2P81BYCN8UuDd0QvbgVwxjL2v1kdfrSKFp4KwjKD8PquOkqE5KdbQSKiM5GqMJ5fkgDPIyyg==","signatures":[{"sig":"MEUCIGtYa+FA2wm+3ja7pAaieBX8rWJHjCq3RnwKB4GJ1tYfAiEA/5SsZFJZF2gc9OVnubO2sZDAt+OknxPE2qsusw+T7JI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIACxd1ZY2UphtiYs8Stl9uMM17EwyNFWtec88O7keobyAiEAyuFpb4l2KH0VgbF7wWQKAKQ1wbF7m+pNpzWpgHLGSyc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.5.1-next.1468.61b1d9d","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":27817},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","flight":{"environment":"web"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"61b1d9ddaae8549afd9487e4be09aab718eccf10","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.5.1-next.1468.61b1d9d","@flighthq/types":"0.5.1-next.1468.61b1d9d","@flighthq/entity":"0.5.1-next.1468.61b1d9d","@flighthq/textshaper":"0.5.1-next.1468.61b1d9d"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.5.1-next.1468.61b1d9d_1789852908231_0.005442126114020063","host":"s3://npm-registry-packages-npm-production"}},"0.5.1-edge.1468.61b1d9d":{"name":"@flighthq/textshaper-canvas","version":"0.5.1-edge.1468.61b1d9d","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.5.1-edge.1468.61b1d9d","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"5b21b5a0427786c1e3259bd5bf63d4d582103533","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.5.1-edge.1468.61b1d9d.tgz","fileCount":16,"integrity":"sha512-H6VducMDat1caXhY3plpxxHmg04PQV8qfeLPViwQE7QXB0zKuPKUZf1ReZpqLbedkYBm6KIM3fhunJL3A0YNNg==","signatures":[{"sig":"MEUCICHNd1LucZxXNQ5t1OTusGBn44sxO3cDlxx4COsB2JFvAiEA5lcnQHQ8TQ+eqGLJu7O5SNugB5XHJ81XsobaxewRJPg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIH04PQ5xa29u0HyeUew7H7G7pd8fXIVg29EMhbzzaWilAiEAiMCmJzzlqtmsx3Oq7eDehP5NWNmiAeW9Uj096r3xEYU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.5.1-edge.1468.61b1d9d","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":27817},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","flight":{"environment":"web"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"61b1d9ddaae8549afd9487e4be09aab718eccf10","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.5.1-edge.1468.61b1d9d","@flighthq/types":"0.5.1-edge.1468.61b1d9d","@flighthq/entity":"0.5.1-edge.1468.61b1d9d","@flighthq/textshaper":"0.5.1-edge.1468.61b1d9d"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.5.1-edge.1468.61b1d9d_1789853634742_0.7308756015121038","host":"s3://npm-registry-packages-npm-production"}},"0.5.1-next.1471.4e82419":{"name":"@flighthq/textshaper-canvas","version":"0.5.1-next.1471.4e82419","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.5.1-next.1471.4e82419","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"05bb3fce6078c89b0b223c71d96fef9d45af2980","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.5.1-next.1471.4e82419.tgz","fileCount":16,"integrity":"sha512-8G6MbYX2VGmSP90pq1NIDndXCGaGCZi1JEJjsAEuISeA7/5U4JlcoMmZZXHkuSlcB37pdmY9WyTr4vJ1+ytxdw==","signatures":[{"sig":"MEYCIQCiH/hjgqxPWTdJNCwGsicqgk6ONFNU6Sx3o9gMyuyNgQIhAITiEieQoyO9HVUKr2U1Elw9e9lZNnAQ6Ue7yO+79297","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIC7IXsBoSLgmZThjc90PnocBtealNVRm7gJV3XR0cfU3AiEAka4eUBHBiojDJkGwonpe2BwuS+ouGy5Tci1u/lU9Sa4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.5.1-next.1471.4e82419","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":27817},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","flight":{"environment":"web"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"4e82419a6322f8a673da169994c79fa561016515","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.5.1-next.1471.4e82419","@flighthq/types":"0.5.1-next.1471.4e82419","@flighthq/entity":"0.5.1-next.1471.4e82419","@flighthq/textshaper":"0.5.1-next.1471.4e82419"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.5.1-next.1471.4e82419_1789886212832_0.9583711173046943","host":"s3://npm-registry-packages-npm-production"}},"0.5.1-edge.1471.4e82419":{"name":"@flighthq/textshaper-canvas","version":"0.5.1-edge.1471.4e82419","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.5.1-edge.1471.4e82419","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"aa40cd5c14681fe1106f9d5dbae0754e74a38168","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.5.1-edge.1471.4e82419.tgz","fileCount":16,"integrity":"sha512-GMkiPt31qMhgOppa1NRBD1WyoQ02ApnG1EsYJq/h7OSbeX4gss2IRu/d9a5KpINIpNXDuZDjyTmefyqYLGEXFQ==","signatures":[{"sig":"MEYCIQCKh8bApP98DE+1cqjL+LWtxSJMATA7hzS6gJZ2nfC06wIhAKSWBQCjy2RVGN/+vC54GD8IJkw9XGVt4Xs0HzzLzAhn","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQD8m7DafmEILd2OCOPBAwvxGaxv7ZKxjR00EBLLVMRbCgIhALOPm2aPhK0At/EKjc5do4OC2Mxtmpz4Hv3WIhmuan4n","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.5.1-edge.1471.4e82419","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":27817},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","flight":{"environment":"web"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"4e82419a6322f8a673da169994c79fa561016515","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.5.1-edge.1471.4e82419","@flighthq/types":"0.5.1-edge.1471.4e82419","@flighthq/entity":"0.5.1-edge.1471.4e82419","@flighthq/textshaper":"0.5.1-edge.1471.4e82419"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.5.1-edge.1471.4e82419_1789886892492_0.6619805098939873","host":"s3://npm-registry-packages-npm-production"}},"0.5.1-next.1505.5790c72":{"name":"@flighthq/textshaper-canvas","version":"0.5.1-next.1505.5790c72","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.5.1-next.1505.5790c72","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"1a1d42a26f998291ff40106ad7159b03df527729","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.5.1-next.1505.5790c72.tgz","fileCount":16,"integrity":"sha512-TRVKWrLMwoEP//YXCl77PF5rgtyOHeYmVD6e5mAw3Cxgyp/mDsn7eAlUvIEHm7kB0tgg8WV8fQSqU6VX3w92rw==","signatures":[{"sig":"MEQCIBkmJPefCM5q8xzapX+6/JD922iplaOAzCsbDEPWGRGKAiAERYmJzbApgvsw4hjTC9qjGM04nHDr0eAQ+RLI3jgCsQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDR7yKDb69n0Ch5MqyfyLYG2tm5bmqOylYQSBsMVcTrPwIgcin4jc/t+GcOwvpH4/sW2ECVFreVArfGYa86sYtkUuQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.5.1-next.1505.5790c72","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":28064},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","flight":{"environment":"web"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"5790c722bf2e004f1af3f1d1f9a8fa7469a0a449","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.5.1-next.1505.5790c72","@flighthq/types":"0.5.1-next.1505.5790c72","@flighthq/entity":"0.5.1-next.1505.5790c72","@flighthq/textshaper":"0.5.1-next.1505.5790c72"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.5.1-next.1505.5790c72_1789901762925_0.6031107136935359","host":"s3://npm-registry-packages-npm-production"}},"0.5.1-next.1520.4887418":{"name":"@flighthq/textshaper-canvas","version":"0.5.1-next.1520.4887418","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.5.1-next.1520.4887418","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"25011463b3a963f0867e7b51852c507de091be61","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.5.1-next.1520.4887418.tgz","fileCount":16,"integrity":"sha512-jxxCfvwGAxhrbse1pQbxCkMKF7edulSo6J/K88RoJ/HBNNPJrTcagfiXnzG0HjdWfKDtOUSi7yd+J525rJYG0Q==","signatures":[{"sig":"MEUCIHbAWwbCo/P6woe+jfnCmciKim2WBW3XZKNXiMK4qO05AiEAmAJKbRd95SdP7tgUgMtsriWPOltBV6J/KN/UM1ozork=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIHmj42uf4W/tvkq79uDSYsDDbpycgxWLcmQVKNz5xBGhAiEAxLqw5Lj+GVSf5HubT2fvGBn8ouZocCZRgvkVtoXITJE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.5.1-next.1520.4887418","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":28064},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","flight":{"environment":"web"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"4887418ca29a53ac811258c3112aead6594c343f","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.5.1-next.1520.4887418","@flighthq/types":"0.5.1-next.1520.4887418","@flighthq/entity":"0.5.1-next.1520.4887418","@flighthq/textshaper":"0.5.1-next.1520.4887418"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.5.1-next.1520.4887418_1789918255621_0.7932198096773697","host":"s3://npm-registry-packages-npm-production"}},"0.5.1-next.1523.c47f79f":{"name":"@flighthq/textshaper-canvas","version":"0.5.1-next.1523.c47f79f","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.5.1-next.1523.c47f79f","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"fc86099eb95d20d9a8ee6a2ea4f688c833e38019","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.5.1-next.1523.c47f79f.tgz","fileCount":16,"integrity":"sha512-KZp6rznpVpHVcymCxgCoEX/2M41atm8thgOiEEkAx0y5eUZYjQGEpU8YK/h+Rfa1xFmuLvIJSE8JDv616KYSdA==","signatures":[{"sig":"MEYCIQC78bT85N0vbxvwqh2RdzsUG1xdvEZNUXrRlzY8uG6fKgIhAM+7HQnU9l8zGAo8qbxKJIXIyf2bW0edyqWMZBJxxDpS","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDOUTz57zT8eEZnZSm+9I5pqpKpX5DkqEzDkT6cocj2mQIgW0M/V6RCzFk/1Q7BZVTWk+UjzIEv9FG/a3bneaFhoyU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.5.1-next.1523.c47f79f","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":28064},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","flight":{"environment":"web"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"c47f79f8248faeab7069d097e2c2bd6a94e053a9","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.5.1-next.1523.c47f79f","@flighthq/types":"0.5.1-next.1523.c47f79f","@flighthq/entity":"0.5.1-next.1523.c47f79f","@flighthq/textshaper":"0.5.1-next.1523.c47f79f"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.5.1-next.1523.c47f79f_1789921763143_0.6759313298522307","host":"s3://npm-registry-packages-npm-production"}},"0.5.1-next.1533.2910b54":{"name":"@flighthq/textshaper-canvas","version":"0.5.1-next.1533.2910b54","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.5.1-next.1533.2910b54","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"cf002daf89c8d2f9cdc81dc9c4651352b45c08af","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.5.1-next.1533.2910b54.tgz","fileCount":16,"integrity":"sha512-VoZz5xWoEdKVMC/yARyi0MuMc/zXquYQc+xXmUP5NivUa3xIp5m4moMgpKF8EIdK5uh5Ey0/M33RO7m7zZtPJA==","signatures":[{"sig":"MEUCIEyMWaT7uQlR8Ag3/FFpzmJ7lK5ljlBF/YNfKSVNyRLZAiEAg95i1DHO4wvYtq+Pji/osMd5dz41TpYlxM1djgaHV4E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIF96GQUKieF8nHkLZhqU1+5jiu3k6441ct6+yz4FalmHAiEAqnmklGNAefwb0Uk3lwrzQLj+FZj94muIgE77aN8os8s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.5.1-next.1533.2910b54","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":28064},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","flight":{"environment":"web"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"2910b54a4525a2830906ebd551dfc64576a7d650","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.5.1-next.1533.2910b54","@flighthq/types":"0.5.1-next.1533.2910b54","@flighthq/entity":"0.5.1-next.1533.2910b54","@flighthq/textshaper":"0.5.1-next.1533.2910b54"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.5.1-next.1533.2910b54_1789930268473_0.26309573795788643","host":"s3://npm-registry-packages-npm-production"}},"0.5.1-next.1538.09885fb":{"name":"@flighthq/textshaper-canvas","version":"0.5.1-next.1538.09885fb","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.5.1-next.1538.09885fb","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"373b7c31d9001c3eadb0039144741e52e51baf11","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.5.1-next.1538.09885fb.tgz","fileCount":16,"integrity":"sha512-56a1YeOu472p6uXo3wL/Zqw7nbPJKULf2F0T0oSBP5wRJDYdB6R/0CP9QySrzm65v32v4Cx4zjFKcFQ+8TTDNw==","signatures":[{"sig":"MEQCIEMn/UOFuI4risOhaVXgT1Uv+DFVGSj3CcSUosp0z4jJAiB49ECI0gVlS2qIEs4bd4DkAC69CS5nUSop2FgJy1bXzg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDeKwtibahmvn4ghDDaDFK+qegtRGmHeDBB/7zMLWe6dQIgJLvBFfYOdL9aGdKxs6gaBCvTlQqlQed96N4HTenoMhE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.5.1-next.1538.09885fb","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":28064},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","flight":{"environment":"web"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"09885fb5711fcfd0841b52d59d24bd568ebdb284","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.5.1-next.1538.09885fb","@flighthq/types":"0.5.1-next.1538.09885fb","@flighthq/entity":"0.5.1-next.1538.09885fb","@flighthq/textshaper":"0.5.1-next.1538.09885fb"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.5.1-next.1538.09885fb_1789973343936_0.6835671846424893","host":"s3://npm-registry-packages-npm-production"}},"0.5.1-next.1541.b94031c":{"name":"@flighthq/textshaper-canvas","version":"0.5.1-next.1541.b94031c","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.5.1-next.1541.b94031c","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"7fd9ca56d08121139ee19c21195a866362b44029","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.5.1-next.1541.b94031c.tgz","fileCount":16,"integrity":"sha512-R4eQHNRT1UFapv/0kvEKKYjtH0qSYJH41m1pQeXYPJISkTPU7Dm12+rS+8EEH2rIm/eRhgbz+frzrKcrE/qKNg==","signatures":[{"sig":"MEUCIQDL7DxOOnDTADe7hxA/ugGAWLgRABYLKpXDgkURlCMw0gIgNqNeXtQYRnaszrbg4eBoSkasU+iUSrzYnNfX35VE7Iw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQD5KqcdFDHiFdlTyvnvZn8Wa+mJsTi5d1gqaAfeJPIfpgIhAMs919gHVM7O+1lENYKVkDfk1Xzf0SDtZPpnRvVaIpVT","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.5.1-next.1541.b94031c","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":28064},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","flight":{"environment":"web"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"b94031c0a2d146c3a17b00fb3c830387d43730ab","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.5.1-next.1541.b94031c","@flighthq/types":"0.5.1-next.1541.b94031c","@flighthq/entity":"0.5.1-next.1541.b94031c","@flighthq/textshaper":"0.5.1-next.1541.b94031c"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.5.1-next.1541.b94031c_1789974639513_0.6344801205683395","host":"s3://npm-registry-packages-npm-production"}},"0.5.1-next.1543.41f4a99":{"name":"@flighthq/textshaper-canvas","version":"0.5.1-next.1543.41f4a99","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.5.1-next.1543.41f4a99","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"1a9d75aa1aeb95fc188a4b276139ab441f973acd","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.5.1-next.1543.41f4a99.tgz","fileCount":16,"integrity":"sha512-fcBUvRrvDSNz9u7+HOO4tC6ZWe6YVsYiFCGpkp5Xqi//4dih90lgKsePN/rRHHCw5sMqCmWvq+iXVrcmDpH/iQ==","signatures":[{"sig":"MEUCIQDFoMqiennoUlqdfDVnagIb5ec9ZH4wn6bXStDHeEa7SgIgPKB4q/JNEt5BDOWvbdrVpoVpRk5xLCc5zr4aU9QLzB4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIGoiI7lDnoB8KSE6DY7Fw0YYfGAG6GQmFE+A1WWXmM4KAiB7FyreBuAWgxIk8HbzeJWEWgGIkOo5skyiZHB5D52gkA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.5.1-next.1543.41f4a99","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":28064},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","flight":{"environment":"web"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"41f4a99526099b604048da7bb63aaaa5563d252b","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.5.1-next.1543.41f4a99","@flighthq/types":"0.5.1-next.1543.41f4a99","@flighthq/entity":"0.5.1-next.1543.41f4a99","@flighthq/textshaper":"0.5.1-next.1543.41f4a99"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.5.1-next.1543.41f4a99_1789975312980_0.028745962952307913","host":"s3://npm-registry-packages-npm-production"}},"0.5.1-next.1545.a3a19e0":{"name":"@flighthq/textshaper-canvas","version":"0.5.1-next.1545.a3a19e0","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.5.1-next.1545.a3a19e0","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"0a1b81a83a2ca3cf4509bc26f7863ccaec4fea14","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.5.1-next.1545.a3a19e0.tgz","fileCount":16,"integrity":"sha512-D5lzfX/vrIVuo6KHnd12wYuC1a9zkzdvnvlWlooLXDRJH6lH/Ff2oNYq0jzuAqj7371jNGXk5U01eje0SoFuag==","signatures":[{"sig":"MEQCICUUPH+B7MSUgvilyVhnSWlv3jnalp79GZQ2PSd408uVAiAPHn9i4Hp6AFPlfMpwkbMLkYfDJTIFwp2maMZagwHzaA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIB3yyOCsR33SysoGnl7e38SHiggb6gsWNMI2ASRmsL2dAiEAtiouCmS34iV67b5sXtKbvym2KakcVfjbmD5mzYq+X6c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.5.1-next.1545.a3a19e0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":28064},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","flight":{"environment":"web"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"a3a19e0bfd5f8f90503930e951dcb891ff31c674","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.5.1-next.1545.a3a19e0","@flighthq/types":"0.5.1-next.1545.a3a19e0","@flighthq/entity":"0.5.1-next.1545.a3a19e0","@flighthq/textshaper":"0.5.1-next.1545.a3a19e0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.5.1-next.1545.a3a19e0_1789976475900_0.0758660187386917","host":"s3://npm-registry-packages-npm-production"}},"0.5.1-edge.1545.a3a19e0":{"name":"@flighthq/textshaper-canvas","version":"0.5.1-edge.1545.a3a19e0","author":{"name":"Joshua Granick and other contributors"},"license":"MIT","_id":"@flighthq/textshaper-canvas@0.5.1-edge.1545.a3a19e0","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"homepage":"https://github.com/flighthq/flight#readme","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"0a68324eb17a6b7d2568968de07726fb55daadd8","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.5.1-edge.1545.a3a19e0.tgz","fileCount":16,"integrity":"sha512-RrTg8TqoBjGbRKatIBl6XAqwUnxu80B7AUWNTsfWK9oEiqKbCIQKThqZolsrISBvyfvbS5e5X21/3ojsSkzdPw==","signatures":[{"sig":"MEUCIG+IUhiW8QV92ASII1HwrJkbER0wa0oGm8TbTodfes7VAiEA3QwE/jxTZhpupAeZZanLsmAwrAj9PB1bc9dUW3ZkJlM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDhekY8yTHd+fR8WP4ts0gvyqMDcRsAC+GxMOD6MWAdDAIgJN+dNGq2PWDtFvh2azGCltN8ohqthZ+zIBds7NXR4Lw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.5.1-edge.1545.a3a19e0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":28064},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","flight":{"environment":"web"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"a3a19e0bfd5f8f90503930e951dcb891ff31c674","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.5.1-edge.1545.a3a19e0","@flighthq/types":"0.5.1-edge.1545.a3a19e0","@flighthq/entity":"0.5.1-edge.1545.a3a19e0","@flighthq/textshaper":"0.5.1-edge.1545.a3a19e0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/textshaper-canvas_0.5.1-edge.1545.a3a19e0_1789977052674_0.08664934741026964","host":"s3://npm-registry-packages-npm-production"}},"0.5.1-next.1556.ff9e615":{"_id":"@flighthq/textshaper-canvas@0.5.1-next.1556.ff9e615","bugs":{"url":"https://github.com/flighthq/flight/issues"},"dist":{"shasum":"8b413438d3deb27b1dcd7ca0032a6849c08c468d","tarball":"https://registry.npmjs.org/@flighthq/textshaper-canvas/-/textshaper-canvas-0.5.1-next.1556.ff9e615.tgz","fileCount":16,"integrity":"sha512-1wjspqN7b1WSNbKfVoUqDZ8hao6h3G8s+vOMojcAB7ue5rl5ZfebfclxSCmzVxYsmbF6lWUtMVfaBRV/ILIirQ==","signatures":[{"sig":"MEUCIFU3sd0uv4FhLEnlpytnLvteylj8QPim6XDmNUfV5Vx7AiEAjCx5g1uzFa25ZyxFlBUgkq/AiWilea7LPbpjVs4TAVA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQC1F82WCWbla1FcmpL3BGgeQ5EjVkOMmzCe7C1EbZT60gIhAMR1QbAoSsrfBfUAwjT5NGal+vRKNX8TVDkfQZzju5zr"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@flighthq%2ftextshaper-canvas@0.5.1-next.1556.ff9e615","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":28064},"main":"dist/index.js","name":"@flighthq/textshaper-canvas","type":"module","types":"dist/index.d.ts","author":{"name":"Joshua Granick and other contributors"},"flight":{"environment":"web"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./contract":{"types":"./dist/contract.d.ts","default":"./dist/contract.js"}},"gitHead":"ff9e615c3b9df79b718bc750dc04e1cb5f39e5cd","license":"MIT","scripts":{"test":"vitest run --config vitest.config.ts","build":"tsc -b","clean":"tsc -b --clean","prepack":"npm run clean && npm run clean:dist && npm run build","clean:dist":"tsx ../../scripts/clean-package-dist.ts","test:watch":"vitest --watch --config vitest.config.ts"},"version":"0.5.1-next.1556.ff9e615","_npmUser":{"name":"jgranick","email":"noreply@joshuagranick.com"},"homepage":"https://github.com/flighthq/flight#readme","repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"_npmVersion":"10.9.8","description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","directories":{},"maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@flighthq/text":"0.5.1-next.1556.ff9e615","@flighthq/types":"0.5.1-next.1556.ff9e615","@flighthq/entity":"0.5.1-next.1556.ff9e615","@flighthq/textshaper":"0.5.1-next.1556.ff9e615"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^5.3.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/textshaper-canvas_0.5.1-next.1556.ff9e615_1790028162712_0.867471853902104"}}},"time":{"created":"2026-07-10T06:06:34.321Z","modified":"2026-09-21T22:02:43.142Z","0.1.0":"2026-07-10T06:06:34.721Z","0.2.0":"2026-07-13T20:15:32.234Z","0.2.1-next.410.a23f189":"2026-07-20T19:54:53.950Z","0.2.1-next.423.3350e53":"2026-07-21T06:32:10.105Z","0.2.1-next.444.a313478":"2026-07-21T15:56:13.658Z","0.2.1-next.448.afbdd31":"2026-07-21T19:55:36.038Z","0.2.1-next.449.355834c":"2026-07-21T20:04:33.222Z","0.2.1-next.451.d9a4a4e":"2026-07-21T21:32:59.117Z","0.2.1-next.459.fb59cc5":"2026-07-21T21:41:38.651Z","0.2.1-next.530.a223ca9":"2026-07-23T14:29:48.412Z","0.2.1-next.585.c7219b8":"2026-07-23T21:33:08.558Z","0.2.1-next.624.d23e6a9":"2026-07-24T07:29:33.565Z","0.2.1-next.640.ec2ea9a":"2026-07-24T15:05:35.272Z","0.2.1-next.647.2252e02":"2026-07-24T17:31:56.864Z","0.2.1-next.652.c550eaa":"2026-07-24T18:05:07.119Z","0.2.1-next.666.4af7f8b":"2026-07-24T19:08:07.637Z","0.2.1-next.701.409c279":"2026-07-25T03:56:09.517Z","0.2.1-next.738.07b221d":"2026-07-25T05:19:37.323Z","0.2.1-next.840.857425c":"2026-07-26T00:54:34.456Z","0.2.1-next.841.373388f":"2026-07-26T06:08:00.366Z","0.3.0-next.906.07cea63":"2026-07-28T06:30:35.492Z","0.3.0-next.1021.f5f1ee0":"2026-07-30T15:29:51.045Z","0.3.0-next.1032.e2b99fc":"2026-07-30T18:37:23.783Z","0.3.0-next.1162.e90e518":"2026-07-30T23:20:32.644Z","0.3.0-next.1220.6982c21":"2026-07-31T13:56:14.045Z","0.3.0-next.1248.f867198":"2026-07-31T15:41:40.898Z","0.3.0-next.1272.222de94":"2026-07-31T17:12:11.329Z","0.3.0-next.1280.6369398":"2026-07-31T18:14:10.992Z","0.3.0-next.1297.43a5ef8":"2026-07-31T20:32:31.365Z","0.3.0-next.1299.b32cbdc":"2026-07-31T20:57:33.001Z","0.3.0-next.1315.1d4eb64":"2026-07-31T22:54:01.232Z","0.3.0-next.1383.c61de17":"2026-07-31T23:45:29.077Z","0.3.0-next.1392.f0bd0cc":"2026-08-01T00:48:21.149Z","0.3.0-next.1422.b585c0c":"2026-08-01T02:00:19.902Z","0.3.0-next.1435.f870241":"2026-08-01T03:03:17.178Z","0.3.0-next.1436.388ef5e":"2026-08-01T03:12:28.890Z","0.3.0-next.1445.14ca01c":"2026-08-01T03:57:00.178Z","0.3.0-next.1452.011a16e":"2026-08-01T05:25:11.730Z","0.3.0-next.1454.b17f8a5":"2026-08-01T06:01:17.284Z","0.3.0-next.1456.ace2107":"2026-08-01T14:21:12.114Z","0.3.0-next.1458.0c01b63":"2026-08-01T15:02:12.412Z","0.3.0-edge.1458.0c01b63":"2026-08-01T15:22:30.827Z","0.3.0-next.1460.2c18805":"2026-08-01T16:07:37.348Z","0.3.0-next.1463.b454aa8":"2026-08-02T00:01:32.477Z","0.3.0-next.1466.e0866d4":"2026-08-02T01:37:53.653Z","0.3.0-next.1473.098a860":"2026-08-02T04:29:12.306Z","0.3.0-next.1494.7333e82":"2026-08-02T05:39:43.011Z","0.3.0-next.1498.065f223":"2026-08-02T06:54:47.092Z","0.3.0-next.1511.9977321":"2026-08-02T16:26:34.983Z","0.3.0-next.1512.edc0fee":"2026-08-02T16:48:53.716Z","0.3.0-next.1514.a24d43f":"2026-08-02T17:01:43.778Z","0.3.0-next.1515.d4dc88e":"2026-08-02T17:04:47.836Z","0.3.0-next.1516.1b4fb2b":"2026-08-02T17:36:37.876Z","0.3.0-edge.1516.1b4fb2b":"2026-08-02T17:58:53.486Z","0.3.0-next.1529.90e58ad":"2026-08-02T18:22:13.152Z","0.3.0-next.1530.70058bd":"2026-08-02T18:51:57.489Z","0.3.0-next.1543.f490ae8":"2026-08-02T20:13:26.850Z","0.3.0-next.1560.03a2b36":"2026-08-02T20:28:17.332Z","0.3.0-next.1562.75af469":"2026-08-02T20:41:07.693Z","0.3.0-next.1566.dcdf1d3":"2026-08-02T20:53:57.509Z","0.3.0-next.1584.a68fe91":"2026-08-02T21:56:21.146Z","0.3.0-next.1585.17d10c4":"2026-08-02T22:28:55.288Z","0.3.0-next.1593.a47f94a":"2026-08-02T22:34:32.349Z","0.3.0-next.1595.4d49b41":"2026-08-02T22:43:55.639Z","0.3.0-next.1601.12b771e":"2026-08-02T23:26:04.298Z","0.3.0-next.1665.6235922":"2026-08-03T03:47:51.102Z","0.3.0-next.1669.5808974":"2026-08-03T04:25:32.311Z","0.3.0-next.1689.2810c05":"2026-08-03T05:57:28.681Z","0.3.0-next.1692.f1a7a9a":"2026-08-03T06:32:19.870Z","0.3.0-next.1702.8973fda":"2026-08-03T06:39:15.067Z","0.3.0-next.1704.8557784":"2026-08-03T06:50:11.994Z","0.3.0-next.1714.3bd86f1":"2026-08-04T18:55:36.428Z","0.3.0-next.1728.26853f6":"2026-08-04T19:53:58.825Z","0.3.0-next.1729.f927a3b":"2026-08-04T20:30:29.033Z","0.3.0-next.1781.5d072ef":"2026-08-05T00:02:06.342Z","0.3.0-next.1783.cd11ab1":"2026-08-05T00:24:55.589Z","0.3.0-next.1848.58f06fb":"2026-08-05T01:10:22.604Z","0.3.0-next.1849.a370765":"2026-08-05T01:16:13.445Z","0.3.0-next.1872.c2b1f7c":"2026-08-05T19:29:09.423Z","0.3.0-next.1883.9cd374b":"2026-08-06T00:13:28.746Z","0.3.0-next.1887.cad72aa":"2026-08-06T15:07:30.757Z","0.3.0":"2026-08-06T20:47:51.855Z","0.3.1-next.209.43ef1bc":"2026-08-07T21:03:10.058Z","0.3.1-next.320.fe56fc2":"2026-08-08T03:10:03.738Z","0.3.1-next.348.8115937":"2026-08-08T05:11:30.978Z","0.3.1-next.385.e32d957":"2026-08-08T08:56:44.087Z","0.3.1-next.401.5d59659":"2026-08-08T09:58:57.776Z","0.3.1-next.407.d03a0bb":"2026-08-09T17:50:20.317Z","0.3.1-next.409.5c00b00":"2026-08-10T04:14:17.738Z","0.3.1-next.425.a3192ab":"2026-08-10T04:28:35.212Z","0.3.1-next.493.539802d":"2026-08-10T20:01:10.989Z","0.3.1-next.509.c235802":"2026-08-10T20:41:41.072Z","0.3.1-next.575.c1f8e01":"2026-08-11T02:43:04.031Z","0.3.1-next.616.aa7ae7f":"2026-08-11T15:08:32.195Z","0.3.1-next.617.89baf58":"2026-08-11T15:12:30.204Z","0.3.1-next.625.675880d":"2026-08-11T15:30:54.207Z","0.3.1-next.703.e259040":"2026-08-12T18:34:07.957Z","0.3.1-next.704.69286f6":"2026-08-12T18:49:30.872Z","0.3.1-next.733.f1845ac":"2026-08-12T19:31:29.521Z","0.3.1-next.780.12e6944":"2026-08-12T23:29:57.759Z","0.3.1-next.794.0bfc53e":"2026-08-13T00:41:28.673Z","0.3.1-next.836.609b031":"2026-08-13T01:20:12.164Z","0.3.1-next.837.46a9259":"2026-08-13T02:24:39.242Z","0.3.1-next.845.b5a7c82":"2026-08-13T03:02:39.775Z","0.3.1-next.847.2e6f8bf":"2026-08-13T03:59:51.416Z","0.3.1-next.861.5a56d7a":"2026-08-13T04:02:20.767Z","0.3.1-next.887.9f59a84":"2026-08-13T06:23:00.296Z","0.3.1-next.948.85d9f30":"2026-08-13T15:34:52.702Z","0.3.1-next.970.9691e7b":"2026-08-13T15:51:36.760Z","0.3.1-next.971.33e20ba":"2026-08-13T16:02:24.974Z","0.3.1-next.975.01aea94":"2026-08-13T16:45:54.402Z","0.3.1-next.996.06087b5":"2026-08-13T20:32:05.413Z","0.3.1-next.1041.35b950c":"2026-08-14T00:06:08.709Z","0.3.1-next.1050.9114695":"2026-08-14T01:42:08.459Z","0.3.1-next.1055.12501ae":"2026-08-14T03:49:29.515Z","0.3.1-next.1076.4f48950":"2026-08-14T16:04:09.407Z","0.3.1-next.1079.38fd007":"2026-08-14T18:09:22.669Z","0.3.1-next.1084.04b8d9a":"2026-08-14T19:03:24.656Z","0.3.1-next.1086.d0d073b":"2026-08-14T19:52:27.486Z","0.3.1-next.1088.2bde749":"2026-08-14T20:28:01.322Z","0.3.1-next.1090.6e79e6c":"2026-08-14T20:33:07.614Z","0.3.1-next.1091.b7aa6f2":"2026-08-14T20:37:08.828Z","0.3.1-next.1095.16f1704":"2026-08-14T20:55:48.501Z","0.3.1-next.1096.4ddf1ab":"2026-08-14T21:08:56.939Z","0.3.1-next.1097.b8126d8":"2026-08-14T21:14:26.128Z","0.3.1-next.1099.671eaf4":"2026-08-14T21:18:57.605Z","0.3.1-next.1104.8453d3d":"2026-08-14T21:53:50.409Z","0.3.1-next.1107.0b5d347":"2026-08-14T22:41:08.103Z","0.3.1-next.1108.66cc86c":"2026-08-14T22:59:40.983Z","0.3.1-next.1112.dea9723":"2026-08-15T01:50:33.779Z","0.3.1-next.1113.9cffbdf":"2026-08-15T02:22:57.231Z","0.3.1-next.1114.3ce681d":"2026-08-15T03:15:22.252Z","0.3.1-next.1116.866c771":"2026-08-15T05:47:53.641Z","0.3.1-next.1162.1c7f42e":"2026-08-16T15:16:09.686Z","0.3.1-next.1165.285e507":"2026-08-16T21:38:32.434Z","0.3.1-next.1170.8a733e4":"2026-08-16T23:19:19.844Z","0.3.1-next.1191.e999f6c":"2026-08-17T09:45:01.242Z","0.3.1-next.1217.5f07972":"2026-08-17T18:28:36.711Z","0.3.1-next.1240.e41e1f0":"2026-08-17T20:45:41.587Z","0.4.0-next.1261.f361161":"2026-08-17T22:36:23.860Z","0.4.0-next.1263.aa14a22":"2026-08-17T22:54:13.506Z","0.4.0-next.1287.1dae9df":"2026-08-18T01:00:44.007Z","0.4.0-next.1290.99fd889":"2026-08-18T01:23:12.405Z","0.4.0-next.1294.03b2010":"2026-08-18T02:33:29.704Z","0.4.0-next.1296.dfa990a":"2026-08-18T04:22:22.880Z","0.4.0-next.1299.541fadc":"2026-08-18T06:19:34.898Z","0.4.0-next.1350.7431bb1":"2026-08-18T15:31:55.741Z","0.4.0-next.1351.6ec45d6":"2026-08-18T15:48:36.587Z","0.4.0-next.1354.5181c5f":"2026-08-18T18:14:38.773Z","0.4.0-next.1356.924bb91":"2026-08-18T18:35:59.805Z","0.4.0-next.1357.b87b5c1":"2026-08-18T18:38:22.077Z","0.4.0-next.1362.3734bd4":"2026-08-18T18:49:19.435Z","0.4.0-next.1383.b8eb497":"2026-08-18T19:11:25.060Z","0.4.0-next.1385.dc129fd":"2026-08-18T19:40:52.539Z","0.4.0-next.1390.ca3ba2b":"2026-08-18T20:26:28.308Z","0.4.0-next.1391.ef8547e":"2026-08-18T20:28:58.772Z","0.4.0-next.1392.ae73a44":"2026-08-18T22:11:16.204Z","0.4.0-next.1396.66c9814":"2026-08-18T23:29:25.369Z","0.4.0-next.1398.776fd7a":"2026-08-18T23:31:31.692Z","0.4.0-next.1399.9d20d2e":"2026-08-18T23:58:15.950Z","0.4.0-next.1404.4936e90":"2026-08-19T01:18:16.922Z","0.4.0-next.1405.d7484cf":"2026-08-19T01:20:34.020Z","0.4.0-next.1410.a69907a":"2026-08-19T05:49:23.639Z","0.4.0-next.1412.05a7272":"2026-08-19T06:23:09.482Z","0.4.0-next.1415.00028b0":"2026-08-19T06:37:54.340Z","0.4.0-next.1416.ef4fae7":"2026-08-19T16:13:30.759Z","0.4.0-next.1487.e25e95d":"2026-08-19T23:32:10.768Z","0.4.0-next.1488.43bcb37":"2026-08-20T04:43:25.684Z","0.4.0-next.1584.a8ddd61":"2026-08-20T18:28:41.402Z","0.4.0-next.1585.bf131c8":"2026-08-20T18:39:43.238Z","0.4.0-next.1602.af48ed1":"2026-08-20T23:12:51.973Z","0.4.0-next.1652.39f08fd":"2026-08-21T02:54:40.495Z","0.4.0-next.1663.d9c5746":"2026-08-21T04:47:46.497Z","0.4.0-next.1694.598ef6f":"2026-08-21T05:01:42.984Z","0.4.0-next.1695.181dea5":"2026-08-21T06:16:21.489Z","0.4.0-next.1696.93f6f63":"2026-08-21T06:24:22.766Z","0.4.0-next.1702.61a7a7c":"2026-08-21T07:12:20.279Z","0.4.0-next.1703.b82d313":"2026-08-21T07:42:47.571Z","0.4.0-next.1704.9eb98e1":"2026-08-21T08:29:48.902Z","0.4.0-next.1716.1979cc9":"2026-08-21T09:42:04.110Z","0.4.0-next.1717.9d6a20b":"2026-08-21T10:22:53.972Z","0.4.0-next.1725.752ca79":"2026-08-21T11:13:11.130Z","0.4.0-next.1728.f69160b":"2026-08-21T11:59:23.049Z","0.4.0-next.1749.d81a21c":"2026-08-21T12:37:17.963Z","0.4.0-next.1750.13ec8b1":"2026-08-21T15:43:21.888Z","0.4.0-next.1751.b3eea5f":"2026-08-21T15:58:07.062Z","0.4.0-next.1752.f250cb9":"2026-08-21T16:31:36.362Z","0.4.0-next.1763.f98ae25":"2026-08-21T16:35:33.695Z","0.4.0-next.1771.f4d15c3":"2026-08-21T18:48:23.241Z","0.4.0-next.1809.9b3b71b":"2026-08-21T19:39:26.052Z","0.4.0-next.1811.dde7eb1":"2026-08-21T19:52:59.143Z","0.4.0-next.1815.e47cc3c":"2026-08-21T20:29:18.001Z","0.4.0-next.1821.efb1cbc":"2026-08-21T22:33:20.417Z","0.4.0-next.1827.9db114b":"2026-08-21T23:53:17.472Z","0.4.0-next.1836.147ae1e":"2026-08-22T01:37:01.036Z","0.4.0-next.1884.6a2d46f":"2026-08-22T07:47:13.776Z","0.4.0-next.1888.e9e80b4":"2026-08-24T05:28:01.059Z","0.4.0-next.1892.a0b519a":"2026-08-24T10:51:35.895Z","0.4.0-next.1896.60d766c":"2026-08-24T11:33:19.741Z","0.4.0-next.1898.266773a":"2026-08-24T12:38:06.536Z","0.4.0-next.1903.50bfa67":"2026-08-24T16:10:08.053Z","0.4.0-next.1908.751021c":"2026-08-24T21:36:24.731Z","0.4.0-edge.1908.751021c":"2026-08-24T21:42:15.650Z","0.4.0-next.1909.c102f22":"2026-08-24T21:44:09.352Z","0.4.0-edge.1909.c102f22":"2026-08-24T21:52:07.811Z","0.4.0-next.1917.1b88fee":"2026-08-25T20:58:05.390Z","0.4.0-next.1920.b93ad0f":"2026-08-25T23:10:28.617Z","0.4.0-edge.1920.b93ad0f":"2026-08-25T23:18:38.436Z","0.4.0-next.1921.0a61bdb":"2026-08-25T23:42:06.926Z","0.4.0-edge.1921.0a61bdb":"2026-08-25T23:50:18.755Z","0.4.0-next.1932.1ef883a":"2026-08-26T19:10:01.735Z","0.4.0-edge.1932.1ef883a":"2026-08-26T19:17:45.616Z","0.4.0-next.1933.e4809f4":"2026-08-26T20:11:29.486Z","0.4.0-edge.1933.e4809f4":"2026-08-26T20:18:35.810Z","0.4.0-next.1935.74c34fe":"2026-08-26T20:48:59.190Z","0.4.0-edge.1935.74c34fe":"2026-08-26T20:56:13.964Z","0.4.0-next.1936.bc924d7":"2026-08-26T21:27:32.218Z","0.4.0-edge.1936.bc924d7":"2026-08-26T21:34:43.045Z","0.4.0-next.1937.0d089b3":"2026-08-26T22:22:54.024Z","0.4.0-edge.1937.0d089b3":"2026-08-26T22:30:08.587Z","0.4.0-next.1939.481bde5":"2026-08-27T00:17:10.463Z","0.4.0-edge.1939.481bde5":"2026-08-27T00:24:51.826Z","0.4.0-next.1940.b8a4265":"2026-08-27T01:07:09.681Z","0.4.0-next.1941.1d7f2bd":"2026-08-27T01:27:57.776Z","0.4.0-edge.1941.1d7f2bd":"2026-08-27T01:35:02.823Z","0.4.0-next.1943.b4c3e61":"2026-08-27T01:47:07.913Z","0.5.0-next.1944.cd6b6e7":"2026-08-27T01:52:01.854Z","0.4.0-edge.1943.b4c3e61":"2026-08-27T01:54:48.750Z","0.5.0-edge.1944.cd6b6e7":"2026-08-27T01:59:26.915Z","0.4.0":"2026-08-27T02:00:01.436Z","0.5.1-next.597.ab004dd":"2026-08-31T06:56:47.284Z","0.5.1-edge.597.ab004dd":"2026-08-31T07:04:10.004Z","0.5.1-next.601.e6e16ba":"2026-08-31T07:58:08.327Z","0.5.1-next.638.d4dbd4e":"2026-08-31T16:31:38.285Z","0.5.1-edge.638.d4dbd4e":"2026-08-31T16:40:10.473Z","0.5.1-next.640.24b4c62":"2026-08-31T18:14:25.450Z","0.5.1-edge.640.24b4c62":"2026-08-31T18:22:13.706Z","0.5.1-next.650.5d3df0b":"2026-08-31T23:59:16.572Z","0.5.1-edge.650.5d3df0b":"2026-09-01T00:08:13.921Z","0.5.1-next.654.b54779d":"2026-09-01T03:37:06.207Z","0.5.1-edge.654.b54779d":"2026-09-01T03:45:09.987Z","0.5.1-next.658.9cb44d7":"2026-09-01T19:15:39.624Z","0.5.1-edge.658.9cb44d7":"2026-09-01T19:23:35.626Z","0.5.1-next.685.f72fc7f":"2026-09-02T01:09:43.539Z","0.5.1-edge.685.f72fc7f":"2026-09-02T01:19:02.578Z","0.5.1-next.693.478551c":"2026-09-02T03:43:36.166Z","0.5.1-edge.693.478551c":"2026-09-02T03:52:35.222Z","0.5.1-next.704.19c91ec":"2026-09-02T21:27:04.569Z","0.5.1-next.729.2aeb707":"2026-09-03T01:55:43.099Z","0.5.1-next.730.f29a5aa":"2026-09-03T03:05:46.015Z","0.5.1-edge.730.f29a5aa":"2026-09-03T03:14:48.121Z","0.5.1-next.731.0ae0aa4":"2026-09-03T03:17:26.094Z","0.5.1-edge.731.0ae0aa4":"2026-09-03T03:26:30.756Z","0.5.1-next.743.8d09db1":"2026-09-03T09:10:37.241Z","0.5.1-edge.743.8d09db1":"2026-09-03T09:19:16.905Z","0.5.1-next.799.62ef0c7":"2026-09-03T14:54:52.353Z","0.5.1-edge.799.62ef0c7":"2026-09-03T15:03:08.710Z","0.5.1-next.815.cc08b93":"2026-09-03T18:45:04.382Z","0.5.1-next.820.97b3830":"2026-09-03T21:07:12.979Z","0.5.1-next.903.f434bc2":"2026-09-04T19:44:17.209Z","0.5.1-next.904.b545d9c":"2026-09-04T20:45:05.794Z","0.5.1-next.905.5fbf787":"2026-09-04T21:06:19.003Z","0.5.1-next.906.419e5c9":"2026-09-04T22:07:40.671Z","0.5.1-next.908.b072fbc":"2026-09-04T23:25:19.968Z","0.5.1-next.909.a5d1857":"2026-09-04T23:34:27.820Z","0.5.1-edge.909.a5d1857":"2026-09-04T23:43:54.520Z","0.5.1-next.911.32a089f":"2026-09-05T05:16:18.845Z","0.5.1-edge.911.32a089f":"2026-09-05T05:22:47.307Z","0.5.1-next.912.289aaa0":"2026-09-05T05:47:57.526Z","0.5.1-edge.912.289aaa0":"2026-09-05T05:53:07.050Z","0.5.1-next.914.ed01add":"2026-09-05T17:52:08.591Z","0.5.1-edge.914.ed01add":"2026-09-05T18:01:15.368Z","0.5.1-next.915.d4da7e7":"2026-09-05T18:20:26.446Z","0.5.1-edge.915.d4da7e7":"2026-09-05T18:26:58.045Z","0.5.1-next.919.354c575":"2026-09-05T23:10:32.439Z","0.5.1-edge.919.354c575":"2026-09-05T23:19:38.891Z","0.5.1-next.920.da8f530":"2026-09-06T20:22:35.662Z","0.5.1-edge.920.da8f530":"2026-09-06T20:31:42.394Z","0.5.1-next.973.788d3d7":"2026-09-08T20:17:28.917Z","0.5.1-next.1017.13841a8":"2026-09-09T04:14:45.136Z","0.5.1-next.1019.1274ec5":"2026-09-09T06:14:28.240Z","0.5.1-edge.1019.1274ec5":"2026-09-09T06:21:21.213Z","0.5.1-next.1047.858b9b6":"2026-09-09T16:58:52.401Z","0.5.1-edge.1047.858b9b6":"2026-09-09T17:04:32.415Z","0.5.1-next.1050.0bd43cc":"2026-09-09T21:12:49.687Z","0.5.1-next.1051.65889a1":"2026-09-09T21:55:06.134Z","0.5.1-edge.1051.65889a1":"2026-09-09T22:03:30.025Z","0.5.1-next.1052.ea38f97":"2026-09-10T04:14:09.907Z","0.5.1-edge.1052.ea38f97":"2026-09-10T04:19:25.386Z","0.5.1-next.1056.4945b81":"2026-09-10T17:15:51.465Z","0.5.1-edge.1056.4945b81":"2026-09-10T17:24:04.346Z","0.5.1-next.1058.751c53a":"2026-09-10T22:36:50.057Z","0.5.1-next.1059.c56d3cd":"2026-09-10T22:38:57.976Z","0.5.1-edge.1058.751c53a":"2026-09-10T22:43:33.455Z","0.5.1-edge.1059.c56d3cd":"2026-09-10T22:46:44.686Z","0.5.1-next.1066.36fe89b":"2026-09-11T06:49:49.758Z","0.5.1-next.1069.554a2ac":"2026-09-11T07:34:39.479Z","0.5.1-next.1197.6a425ce":"2026-09-12T19:24:22.107Z","0.5.1-next.1201.9b49dee":"2026-09-12T20:41:07.856Z","0.5.1-next.1202.e31f126":"2026-09-12T21:43:55.206Z","0.5.1-next.1204.e33a1ac":"2026-09-12T23:34:09.473Z","0.5.1-next.1225.129b76d":"2026-09-13T03:22:22.310Z","0.5.1-next.1244.12290e1":"2026-09-13T08:30:02.786Z","0.5.1-next.1251.918ea64":"2026-09-13T15:40:08.904Z","0.5.1-next.1252.15e4611":"2026-09-13T15:58:08.705Z","0.5.1-next.1253.6fe252c":"2026-09-13T21:23:15.571Z","0.5.1-next.1254.2ab4a06":"2026-09-13T23:11:51.256Z","0.5.1-next.1257.b2a4509":"2026-09-14T05:28:47.659Z","0.5.1-next.1295.2b6bfa3":"2026-09-14T20:19:30.393Z","0.5.1-next.1344.b88acc1":"2026-09-15T06:09:07.908Z","0.5.1-next.1345.0995dc5":"2026-09-15T06:42:10.509Z","0.5.1-next.1347.54f97d8":"2026-09-15T08:28:26.259Z","0.5.1-next.1348.e71a747":"2026-09-15T09:30:59.198Z","0.5.1-next.1349.05b053d":"2026-09-15T10:42:02.661Z","0.5.1-edge.1349.05b053d":"2026-09-15T10:48:18.751Z","0.5.1-next.1350.8ce488b":"2026-09-15T16:26:48.859Z","0.5.1-edge.1350.8ce488b":"2026-09-15T16:34:56.442Z","0.5.1-next.1370.903f328":"2026-09-16T05:48:25.549Z","0.5.1-edge.1370.903f328":"2026-09-16T05:57:59.280Z","0.5.1-next.1404.457d1da":"2026-09-17T06:19:01.403Z","0.5.1-next.1405.69d9356":"2026-09-17T06:46:47.172Z","0.5.1-edge.1405.69d9356":"2026-09-17T15:40:41.328Z","0.5.1-next.1410.b534771":"2026-09-17T18:41:47.446Z","0.5.1-edge.1410.b534771":"2026-09-17T18:51:29.813Z","0.5.1-next.1450.5738463":"2026-09-19T01:01:17.671Z","0.5.1-next.1462.5a251b6":"2026-09-19T17:50:56.531Z","0.5.1-edge.1462.5a251b6":"2026-09-19T18:01:25.637Z","0.5.1-next.1467.7e2fc7d":"2026-09-19T20:38:19.328Z","0.5.1-edge.1467.7e2fc7d":"2026-09-19T20:49:33.644Z","0.5.1-next.1468.61b1d9d":"2026-09-19T21:21:48.330Z","0.5.1-edge.1468.61b1d9d":"2026-09-19T21:33:54.830Z","0.5.1-next.1471.4e82419":"2026-09-20T06:36:52.908Z","0.5.1-edge.1471.4e82419":"2026-09-20T06:48:12.591Z","0.5.1-next.1505.5790c72":"2026-09-20T10:56:03.000Z","0.5.1-next.1520.4887418":"2026-09-20T15:30:55.705Z","0.5.1-next.1523.c47f79f":"2026-09-20T16:29:23.235Z","0.5.1-next.1533.2910b54":"2026-09-20T18:51:08.551Z","0.5.1-next.1538.09885fb":"2026-09-21T06:49:04.012Z","0.5.1-next.1541.b94031c":"2026-09-21T07:10:39.599Z","0.5.1-next.1543.41f4a99":"2026-09-21T07:21:53.080Z","0.5.1-next.1545.a3a19e0":"2026-09-21T07:41:16.209Z","0.5.1-edge.1545.a3a19e0":"2026-09-21T07:50:52.761Z","0.5.1-next.1556.ff9e615":"2026-09-21T22:02:42.800Z"},"bugs":{"url":"https://github.com/flighthq/flight/issues"},"author":{"name":"Joshua Granick and other contributors"},"license":"MIT","homepage":"https://github.com/flighthq/flight#readme","repository":{"url":"git+https://github.com/flighthq/flight.git","type":"git","directory":"packages/textshaper-canvas"},"description":"Canvas 2D text-shaper backend: advances-only shaping via measureText","maintainers":[{"name":"jgranick","email":"noreply@joshuagranick.com"}],"readme":"","readmeFilename":""}