{"_id":"boneyard-js","_rev":"37-b63d290a28b184ec15a923bd42f2fc5a","name":"boneyard-js","dist-tags":{"latest":"1.10.0"},"versions":{"1.0.0":{"name":"boneyard-js","version":"1.0.0","keywords":["skeleton","skeleton-screen","loading","placeholder","react","zero-layout-shift"],"license":"MIT","_id":"boneyard-js@1.0.0","maintainers":[{"name":"0xgf","email":"goodfutureofficial@gmail.com"}],"homepage":"https://github.com/0xGF/boneyard","bugs":{"url":"https://github.com/0xGF/boneyard/issues"},"bin":{"boneyard":"bin/cli.js"},"dist":{"shasum":"22256e01122b09134358e4da8057744c395badcd","tarball":"https://registry.npmjs.org/boneyard-js/-/boneyard-js-1.0.0.tgz","fileCount":17,"integrity":"sha512-0B06NpCk5fj+BI959OY+rD3w9VYENAnnP44kyTaPE5Ty4NsJp6YzK2pCM2mLxP02nQnfbS8+SHjgt7VUDOPPSA==","signatures":[{"sig":"MEUCIQDM2Z4jU/s04ePozgd0mbthJ24pMZhzM1GqxqfaXU43lQIgDI7ZJXuWnHgvyiOuI8W5xuh19IJVX8102A+kCi64kEw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":65913},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js"},"./layout":{"types":"./dist/layout.d.ts","import":"./dist/layout.js"}},"gitHead":"30e4318a8e673ecb45fd751180e47467bf810c2d","scripts":{"test":"bun test","build":"tsc","prepublishOnly":"tsc"},"_npmUser":{"name":"0xgf","email":"goodfutureofficial@gmail.com"},"repository":{"url":"git+https://github.com/0xGF/boneyard.git","type":"git"},"_npmVersion":"11.6.2","description":"Pixel-perfect skeleton loading screens. Wrap your component in <Skeleton> and boneyard snapshots the real DOM layout — no manual descriptors, no configuration.","directories":{},"_nodeVersion":"25.2.1","dependencies":{"playwright":"^1.58.2"},"_hasShrinkwrap":false,"devDependencies":{"react":"^19.0.0","canvas":"^3.2.2","typescript":"^5.7.0","@types/node":"^22.19.15","@types/react":"^19.0.0"},"peerDependencies":{"react":">=18"},"optionalDependencies":{"@chenglou/pretext":"^0.0.3"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boneyard-js_1.0.0_1775077136527_0.8499567400863071","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"boneyard-js","version":"1.0.1","keywords":["skeleton","skeleton-screen","loading","placeholder","react","zero-layout-shift"],"license":"MIT","_id":"boneyard-js@1.0.1","maintainers":[{"name":"0xgf","email":"goodfutureofficial@gmail.com"}],"homepage":"https://github.com/0xGF/boneyard","bugs":{"url":"https://github.com/0xGF/boneyard/issues"},"bin":{"boneyard":"bin/cli.js"},"dist":{"shasum":"adf91323a1a9f024080418f4b26d8458e4aeeb99","tarball":"https://registry.npmjs.org/boneyard-js/-/boneyard-js-1.0.1.tgz","fileCount":17,"integrity":"sha512-UhfT96+hk7iJ0Lgco776WrxuWlrDt4GF5KdAzjybTNZgAP+oEDf77bn0tT+/TYcDqA15hU8Ds4KauBoH5y5PwA==","signatures":[{"sig":"MEUCIQCNSrE2YTcqzdFK1m83hHZT84OD0A8gVpEe1bNrRTurowIgQlNdEht5sMYray4iYW2hzI6PJSghofHoqeMzt3gw520=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":66066},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js"},"./layout":{"types":"./dist/layout.d.ts","import":"./dist/layout.js"}},"gitHead":"30e4318a8e673ecb45fd751180e47467bf810c2d","scripts":{"test":"bun test","build":"tsc","prepublishOnly":"tsc"},"_npmUser":{"name":"0xgf","email":"goodfutureofficial@gmail.com"},"repository":{"url":"git+https://github.com/0xGF/boneyard.git","type":"git"},"_npmVersion":"11.6.2","description":"Pixel-perfect skeleton loading screens. Wrap your component in <Skeleton> and boneyard snapshots the real DOM layout — no manual descriptors, no configuration.","directories":{},"_nodeVersion":"25.2.1","dependencies":{"playwright":"^1.58.2"},"_hasShrinkwrap":false,"devDependencies":{"react":"^19.0.0","canvas":"^3.2.2","typescript":"^5.7.0","@types/node":"^22.19.15","@types/react":"^19.0.0"},"peerDependencies":{"react":">=18"},"optionalDependencies":{"@chenglou/pretext":"^0.0.3"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boneyard-js_1.0.1_1775077280201_0.3375130468673462","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"boneyard-js","version":"1.0.2","keywords":["skeleton","skeleton-screen","loading","placeholder","react","zero-layout-shift"],"license":"MIT","_id":"boneyard-js@1.0.2","maintainers":[{"name":"0xgf","email":"goodfutureofficial@gmail.com"}],"homepage":"https://github.com/0xGF/boneyard","bugs":{"url":"https://github.com/0xGF/boneyard/issues"},"bin":{"boneyard":"bin/cli.js"},"dist":{"shasum":"e55b1575bcdb76bf23a8ecf887e703a2b19cd627","tarball":"https://registry.npmjs.org/boneyard-js/-/boneyard-js-1.0.2.tgz","fileCount":17,"integrity":"sha512-/qOB1oBDXnHseOj/ikPQNvz0vSZysrjw8FCA3n6px4qCD0iOdcFSvPjIOkQzxC1eo1HtsZT4Hi3i52r/QsHuYA==","signatures":[{"sig":"MEQCIEAtSsrFnBKf7AbTKOlH3l8vZHKYqGiG8HBOpZ20rhXDAiBNPMS1Oc2aBjiEmc8fJGil8+wnK8ehsx7o3fCW12dPlw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":66191},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js"},"./layout":{"types":"./dist/layout.d.ts","import":"./dist/layout.js"}},"gitHead":"30e4318a8e673ecb45fd751180e47467bf810c2d","scripts":{"test":"bun test","build":"tsc","prepublishOnly":"tsc"},"_npmUser":{"name":"0xgf","email":"goodfutureofficial@gmail.com"},"repository":{"url":"git+https://github.com/0xGF/boneyard.git","type":"git"},"_npmVersion":"11.6.2","description":"Pixel-perfect skeleton loading screens. Wrap your component in <Skeleton> and boneyard snapshots the real DOM layout — no manual descriptors, no configuration.","directories":{},"_nodeVersion":"25.2.1","dependencies":{"playwright":"^1.58.2"},"_hasShrinkwrap":false,"devDependencies":{"react":"^19.0.0","canvas":"^3.2.2","typescript":"^5.7.0","@types/node":"^22.19.15","@types/react":"^19.0.0"},"peerDependencies":{"react":">=18"},"optionalDependencies":{"@chenglou/pretext":"^0.0.3"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boneyard-js_1.0.2_1775077552841_0.9213031695677674","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"boneyard-js","version":"1.1.0","keywords":["skeleton","skeleton-screen","loading","placeholder","react","zero-layout-shift"],"license":"MIT","_id":"boneyard-js@1.1.0","maintainers":[{"name":"0xgf","email":"goodfutureofficial@gmail.com"}],"homepage":"https://github.com/0xGF/boneyard","bugs":{"url":"https://github.com/0xGF/boneyard/issues"},"bin":{"boneyard":"bin/cli.js"},"dist":{"shasum":"deff4b78c55ae2d4a50520ce4cb71c5bca51c1d5","tarball":"https://registry.npmjs.org/boneyard-js/-/boneyard-js-1.1.0.tgz","fileCount":17,"integrity":"sha512-GIf1yvgFPClgD02+Y9dlvd0kVYrzNNhKYcamJVuG80r5AbHg3fm/5d1yN+XbkWgueA/QPLeCWwhSvZeaeFgsXQ==","signatures":[{"sig":"MEYCIQCIF8DJ/0JrrzydD74PhJ6ZOKupPzKBcmR1VJ2Hs/VkSgIhAMKv8FA8/2H+yBx9SK7gfWUDbq25DsLFQbzZaQWvYYH4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":68491},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js"},"./layout":{"types":"./dist/layout.d.ts","import":"./dist/layout.js"}},"gitHead":"9720023b8fcdb9912d1c61daad40724d6234ef31","scripts":{"test":"bun test","build":"tsc","prepublishOnly":"tsc"},"_npmUser":{"name":"0xgf","email":"goodfutureofficial@gmail.com"},"repository":{"url":"git+https://github.com/0xGF/boneyard.git","type":"git"},"_npmVersion":"11.6.2","description":"Pixel-perfect skeleton loading screens. Wrap your component in <Skeleton> and boneyard snapshots the real DOM layout — no manual descriptors, no configuration.","directories":{},"_nodeVersion":"25.2.1","dependencies":{"playwright":"^1.58.2"},"_hasShrinkwrap":false,"devDependencies":{"react":"^19.0.0","canvas":"^3.2.2","typescript":"^5.7.0","@types/node":"^22.19.15","@types/react":"^19.0.0"},"peerDependencies":{"react":">=18"},"optionalDependencies":{"@chenglou/pretext":"^0.0.3"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boneyard-js_1.1.0_1775079229227_0.6917124727091546","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"boneyard-js","version":"1.1.1","keywords":["skeleton","skeleton-screen","loading","placeholder","react","zero-layout-shift"],"license":"MIT","_id":"boneyard-js@1.1.1","maintainers":[{"name":"0xgf","email":"goodfutureofficial@gmail.com"}],"homepage":"https://github.com/0xGF/boneyard","bugs":{"url":"https://github.com/0xGF/boneyard/issues"},"bin":{"boneyard-js":"bin/cli.js"},"dist":{"shasum":"1b7c23d1d7813b9953fc7ea8856f4125274da473","tarball":"https://registry.npmjs.org/boneyard-js/-/boneyard-js-1.1.1.tgz","fileCount":17,"integrity":"sha512-eHqT/QoID3lCQyqjqD/UYtmnoXzpJOvfmUPT/R/VOquLFWi/9MS97QYcPygc4LqEI7f33i1ri0W33QNPHL0/HA==","signatures":[{"sig":"MEUCID9H3YSaVxn8UK3xzN3z7ewRcfJIAz4R6Ioj9iqZMPKgAiEA6D19af8/bZ4fpgYxCWmRRLHvzOKesdb7mDXzmm79B54=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":68494},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js"},"./layout":{"types":"./dist/layout.d.ts","import":"./dist/layout.js"}},"gitHead":"9720023b8fcdb9912d1c61daad40724d6234ef31","scripts":{"test":"bun test","build":"tsc","prepublishOnly":"tsc"},"_npmUser":{"name":"0xgf","email":"goodfutureofficial@gmail.com"},"repository":{"url":"git+https://github.com/0xGF/boneyard.git","type":"git"},"_npmVersion":"11.6.2","description":"Pixel-perfect skeleton loading screens. Wrap your component in <Skeleton> and boneyard snapshots the real DOM layout — no manual descriptors, no configuration.","directories":{},"_nodeVersion":"25.2.1","dependencies":{"playwright":"^1.58.2"},"_hasShrinkwrap":false,"devDependencies":{"react":"^19.0.0","canvas":"^3.2.2","typescript":"^5.7.0","@types/node":"^22.19.15","@types/react":"^19.0.0"},"peerDependencies":{"react":">=18"},"optionalDependencies":{"@chenglou/pretext":"^0.0.3"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boneyard-js_1.1.1_1775088867684_0.0074151450545945075","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"boneyard-js","version":"1.2.0","keywords":["skeleton","skeleton-screen","loading","placeholder","react","zero-layout-shift"],"license":"MIT","_id":"boneyard-js@1.2.0","maintainers":[{"name":"0xgf","email":"goodfutureofficial@gmail.com"}],"homepage":"https://github.com/0xGF/boneyard","bugs":{"url":"https://github.com/0xGF/boneyard/issues"},"bin":{"boneyard-js":"bin/cli.js"},"dist":{"shasum":"9ec01bebed083b6bc9fada4274c8f61fc7f674db","tarball":"https://registry.npmjs.org/boneyard-js/-/boneyard-js-1.2.0.tgz","fileCount":17,"integrity":"sha512-3oJlSOireXpu/ZRYQyIvcvJum+8PbTqek5RF+iBYvHms37uwwRtD1R0+sc3KSSqtikm81nNqvCy14oM8lQ2zdg==","signatures":[{"sig":"MEQCIHqV7hDITpUf2UOb8/M223fcPUZVYdGnraIkuUgxINVYAiAccGVAIU8Mll70ah491UkyR2vGJi+g+RLXp7v0HmtS7A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":68945},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js"},"./layout":{"types":"./dist/layout.d.ts","import":"./dist/layout.js"}},"gitHead":"9720023b8fcdb9912d1c61daad40724d6234ef31","scripts":{"test":"bun test","build":"tsc","prepublishOnly":"tsc"},"_npmUser":{"name":"0xgf","email":"goodfutureofficial@gmail.com"},"repository":{"url":"git+https://github.com/0xGF/boneyard.git","type":"git"},"_npmVersion":"11.6.2","description":"Pixel-perfect skeleton loading screens. Wrap your component in <Skeleton> and boneyard snapshots the real DOM layout — no manual descriptors, no configuration.","directories":{},"_nodeVersion":"25.2.1","dependencies":{"playwright":"^1.58.2"},"_hasShrinkwrap":false,"devDependencies":{"react":"^19.0.0","canvas":"^3.2.2","typescript":"^5.7.0","@types/node":"^22.19.15","@types/react":"^19.0.0"},"peerDependencies":{"react":">=18"},"optionalDependencies":{"@chenglou/pretext":"^0.0.3"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boneyard-js_1.2.0_1775089826495_0.019655843232092574","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"boneyard-js","version":"1.3.0","keywords":["skeleton","skeleton-screen","loading","placeholder","react","zero-layout-shift"],"license":"MIT","_id":"boneyard-js@1.3.0","maintainers":[{"name":"0xgf","email":"goodfutureofficial@gmail.com"}],"homepage":"https://github.com/0xGF/boneyard","bugs":{"url":"https://github.com/0xGF/boneyard/issues"},"bin":{"boneyard-js":"bin/cli.js"},"dist":{"shasum":"533aead12db9105b096d94be49e9e8d3e3fc21eb","tarball":"https://registry.npmjs.org/boneyard-js/-/boneyard-js-1.3.0.tgz","fileCount":17,"integrity":"sha512-kKMPWz+zb9UjhG0m8bTHu5PnB7ACpr3GMa7ChSfP51tNuMQfjHxeCbt5ir60+96rlaoZJpeOSpxxqYdXt984kQ==","signatures":[{"sig":"MEUCIQCmzDB/dQ/vR5tAoCGpKmlxnhAnEMMTUuINqZ+ZsOlDEgIgNvZ0tqTdaaVid5XULLZYnXYLFcgK/we4wdA02/bos70=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":69859},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js"},"./layout":{"types":"./dist/layout.d.ts","import":"./dist/layout.js"}},"gitHead":"9720023b8fcdb9912d1c61daad40724d6234ef31","scripts":{"test":"bun test","build":"tsc","prepublishOnly":"tsc"},"_npmUser":{"name":"0xgf","email":"goodfutureofficial@gmail.com"},"repository":{"url":"git+https://github.com/0xGF/boneyard.git","type":"git"},"_npmVersion":"11.6.2","description":"Pixel-perfect skeleton loading screens. Wrap your component in <Skeleton> and boneyard snapshots the real DOM layout — no manual descriptors, no configuration.","directories":{},"_nodeVersion":"25.2.1","dependencies":{"playwright":"^1.58.2"},"_hasShrinkwrap":false,"devDependencies":{"react":"^19.0.0","canvas":"^3.2.2","typescript":"^5.7.0","@types/node":"^22.19.15","@types/react":"^19.0.0"},"peerDependencies":{"react":">=18"},"optionalDependencies":{"@chenglou/pretext":"^0.0.3"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boneyard-js_1.3.0_1775090808366_0.12246880747557864","host":"s3://npm-registry-packages-npm-production"}},"1.3.1":{"name":"boneyard-js","version":"1.3.1","keywords":["skeleton","skeleton-screen","loading","placeholder","react","zero-layout-shift"],"license":"MIT","_id":"boneyard-js@1.3.1","maintainers":[{"name":"0xgf","email":"goodfutureofficial@gmail.com"}],"homepage":"https://github.com/0xGF/boneyard","bugs":{"url":"https://github.com/0xGF/boneyard/issues"},"bin":{"boneyard-js":"bin/cli.js"},"dist":{"shasum":"c795184fe05fe823dc068c462822fd9e93746e99","tarball":"https://registry.npmjs.org/boneyard-js/-/boneyard-js-1.3.1.tgz","fileCount":17,"integrity":"sha512-AXD7RCuSv4IwLNVHsb3laatxoSaQVQ6oYqiREK0vJz/7NbpPziMPw2HmQHWPHj9dyQM8jkMiuZ+GFqhJuP8Ohg==","signatures":[{"sig":"MEYCIQCHZGzo/m0IILCm69ZI8D7Lsx66hMBlfn4KWLF4dhDsNwIhAMcdIQu6EHnZz+Eq9m5vMbGaE7s7aiqx4szx3DFw85Ti","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":69859},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js"},"./layout":{"types":"./dist/layout.d.ts","import":"./dist/layout.js"}},"gitHead":"9720023b8fcdb9912d1c61daad40724d6234ef31","scripts":{"test":"bun test","build":"tsc","prepublishOnly":"tsc"},"_npmUser":{"name":"0xgf","email":"goodfutureofficial@gmail.com"},"repository":{"url":"git+https://github.com/0xGF/boneyard.git","type":"git"},"_npmVersion":"11.6.2","description":"Pixel-perfect skeleton loading screens. Wrap your component in <Skeleton> and boneyard snapshots the real DOM layout — no manual descriptors, no configuration.","directories":{},"_nodeVersion":"25.2.1","dependencies":{"playwright":"^1.58.2"},"_hasShrinkwrap":false,"devDependencies":{"react":"^19.0.0","canvas":"^3.2.2","typescript":"^5.7.0","@types/node":"^22.19.15","@types/react":"^19.0.0"},"peerDependencies":{"react":">=18"},"optionalDependencies":{"@chenglou/pretext":"^0.0.3"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boneyard-js_1.3.1_1775091142406_0.19201526537460434","host":"s3://npm-registry-packages-npm-production"}},"1.3.2":{"name":"boneyard-js","version":"1.3.2","keywords":["skeleton","skeleton-screen","loading","placeholder","react","zero-layout-shift"],"license":"MIT","_id":"boneyard-js@1.3.2","maintainers":[{"name":"0xgf","email":"goodfutureofficial@gmail.com"}],"homepage":"https://github.com/0xGF/boneyard","bugs":{"url":"https://github.com/0xGF/boneyard/issues"},"bin":{"boneyard-js":"bin/cli.js"},"dist":{"shasum":"7e50fe43a0f813795a9f6064e98ed6a70ec379f7","tarball":"https://registry.npmjs.org/boneyard-js/-/boneyard-js-1.3.2.tgz","fileCount":17,"integrity":"sha512-ZtaMnouhbllcUM1fh/MUph7wHI+Vuh2Olagz8ZWVD+HhW0rJGwDd5pH+x1XMro/hrSKo6pnbTXX4BYufUSigcQ==","signatures":[{"sig":"MEYCIQC9GAhoGAITw6fEzFFg0ukNdiKdJbBrG/R42omfgHEx2gIhAIpywpb2C839dBICv759Qlmix68omXMNkAkKcB5Veb+X","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":69859},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js"},"./layout":{"types":"./dist/layout.d.ts","import":"./dist/layout.js"}},"gitHead":"9720023b8fcdb9912d1c61daad40724d6234ef31","scripts":{"test":"bun test","build":"tsc","prepublishOnly":"tsc"},"_npmUser":{"name":"0xgf","email":"goodfutureofficial@gmail.com"},"repository":{"url":"git+https://github.com/0xGF/boneyard.git","type":"git"},"_npmVersion":"11.6.2","description":"Pixel-perfect skeleton loading screens. Wrap your component in <Skeleton> and boneyard snapshots the real DOM layout — no manual descriptors, no configuration.","directories":{},"_nodeVersion":"25.2.1","dependencies":{"playwright":"^1.58.2"},"_hasShrinkwrap":false,"devDependencies":{"react":"^19.0.0","canvas":"^3.2.2","typescript":"^5.7.0","@types/node":"^22.19.15","@types/react":"^19.0.0"},"peerDependencies":{"react":">=18"},"optionalDependencies":{"@chenglou/pretext":"^0.0.3"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boneyard-js_1.3.2_1775091452137_0.6460121884201009","host":"s3://npm-registry-packages-npm-production"}},"1.3.3":{"name":"boneyard-js","version":"1.3.3","keywords":["skeleton","skeleton-screen","loading","placeholder","react","zero-layout-shift"],"license":"MIT","_id":"boneyard-js@1.3.3","maintainers":[{"name":"0xgf","email":"goodfutureofficial@gmail.com"}],"homepage":"https://github.com/0xGF/boneyard","bugs":{"url":"https://github.com/0xGF/boneyard/issues"},"bin":{"boneyard-js":"bin/cli.js"},"dist":{"shasum":"0555a671191e6ce240574a66d354a51a1e0b1cd8","tarball":"https://registry.npmjs.org/boneyard-js/-/boneyard-js-1.3.3.tgz","fileCount":17,"integrity":"sha512-1jZPsfc49RNw6CWh/uTvI1FTffn+TvUOZwANkH6AcWJSv2QVAROQTmgssKZv8PH6G3jnLK/4n8Epcu/NQEG9Mg==","signatures":[{"sig":"MEYCIQCTR2x0cbcXsXs9qyykMcfmTzkJ3gAOTO/MOTxGMH7OggIhAKzWLDhh+vT135TGIrVHjwzPoEZuwktbCCoZ+WMXV0TM","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":69857},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js"},"./layout":{"types":"./dist/layout.d.ts","import":"./dist/layout.js"}},"gitHead":"105fe60bbaf25fb1a263b6ed80a5cb943b6b8d87","scripts":{"test":"bun test","build":"tsc","prepublishOnly":"tsc"},"_npmUser":{"name":"0xgf","email":"goodfutureofficial@gmail.com"},"repository":{"url":"git+https://github.com/0xGF/boneyard.git","type":"git"},"_npmVersion":"11.6.2","description":"Pixel-perfect skeleton loading screens. Wrap your component in <Skeleton> and boneyard snapshots the real DOM layout — no manual descriptors, no configuration.","directories":{},"_nodeVersion":"25.2.1","dependencies":{"playwright":"^1.58.2"},"_hasShrinkwrap":false,"devDependencies":{"react":"^19.0.0","canvas":"^3.2.2","typescript":"^5.7.0","@types/node":"^22.19.15","@types/react":"^19.0.0"},"peerDependencies":{"react":">=18"},"optionalDependencies":{"@chenglou/pretext":"^0.0.3"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boneyard-js_1.3.3_1775098460974_0.6441973221369492","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"boneyard-js","version":"1.4.0","keywords":["skeleton","skeleton-screen","loading","placeholder","react","zero-layout-shift"],"license":"MIT","_id":"boneyard-js@1.4.0","maintainers":[{"name":"0xgf","email":"goodfutureofficial@gmail.com"}],"homepage":"https://github.com/0xGF/boneyard","bugs":{"url":"https://github.com/0xGF/boneyard/issues"},"bin":{"boneyard-js":"bin/cli.js"},"dist":{"shasum":"5b3b98151cabe58cae18819a4277bc5b2f9f4aeb","tarball":"https://registry.npmjs.org/boneyard-js/-/boneyard-js-1.4.0.tgz","fileCount":17,"integrity":"sha512-r1ckI6/vSlmWmyr8jOeX7TTaBg7PRX3r/wyOVOlIcEQpXOH8acvOQj1A1+kFMRVpGmRdxAl22kFRL+jKYrupjg==","signatures":[{"sig":"MEYCIQCuJDBDyf+lJiCV4FDGvIytds0GlQksoVL3QE6CfKYs4gIhAPotdAiehzrES/KYBy20eq3Mva95coEqzwOiABh/ASG0","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":70058},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js"},"./layout":{"types":"./dist/layout.d.ts","import":"./dist/layout.js"}},"gitHead":"105fe60bbaf25fb1a263b6ed80a5cb943b6b8d87","scripts":{"test":"bun test","build":"tsc","prepublishOnly":"tsc"},"_npmUser":{"name":"0xgf","email":"goodfutureofficial@gmail.com"},"repository":{"url":"git+https://github.com/0xGF/boneyard.git","type":"git"},"_npmVersion":"11.6.2","description":"Pixel-perfect skeleton loading screens. Wrap your component in <Skeleton> and boneyard snapshots the real DOM layout — no manual descriptors, no configuration.","directories":{},"_nodeVersion":"25.2.1","dependencies":{"playwright":"^1.58.2"},"_hasShrinkwrap":false,"devDependencies":{"react":"^19.0.0","canvas":"^3.2.2","typescript":"^5.7.0","@types/node":"^22.19.15","@types/react":"^19.0.0"},"peerDependencies":{"react":">=18"},"optionalDependencies":{"@chenglou/pretext":"^0.0.3"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boneyard-js_1.4.0_1775099545778_0.022618880596922075","host":"s3://npm-registry-packages-npm-production"}},"1.4.1":{"name":"boneyard-js","version":"1.4.1","keywords":["skeleton","skeleton-screen","loading","placeholder","react","zero-layout-shift"],"license":"MIT","_id":"boneyard-js@1.4.1","maintainers":[{"name":"0xgf","email":"goodfutureofficial@gmail.com"}],"homepage":"https://github.com/0xGF/boneyard","bugs":{"url":"https://github.com/0xGF/boneyard/issues"},"bin":{"boneyard-js":"bin/cli.js"},"dist":{"shasum":"b2eaa3618b0cd94ae7475f143f96d2787e3a0f6e","tarball":"https://registry.npmjs.org/boneyard-js/-/boneyard-js-1.4.1.tgz","fileCount":17,"integrity":"sha512-og/BoRhk9M2n6M1YKgDAoYo38U1blor1xyjJi22Rdt6WEKBUU7DKcyfNksYeCY0dgDamdHMwDb0wmxmCvCuiPw==","signatures":[{"sig":"MEUCIEM1IcYJ2v0341voYwD0tvHGWJiASK1+8BkT/TGZR44xAiEA5ldoCHnId6TDDi62CviqgVHbtgtjlH1HSq4PMi7FkgA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":71065},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js"},"./layout":{"types":"./dist/layout.d.ts","import":"./dist/layout.js"}},"gitHead":"53f642f67c5e1a5e44d331100d80427b05a750d7","scripts":{"test":"bun test","build":"tsc","prepublishOnly":"tsc"},"_npmUser":{"name":"0xgf","email":"goodfutureofficial@gmail.com"},"repository":{"url":"git+https://github.com/0xGF/boneyard.git","type":"git"},"_npmVersion":"11.6.2","description":"Pixel-perfect skeleton loading screens. Wrap your component in <Skeleton> and boneyard snapshots the real DOM layout — no manual descriptors, no configuration.","directories":{},"_nodeVersion":"25.2.1","dependencies":{"playwright":"^1.58.2"},"_hasShrinkwrap":false,"devDependencies":{"react":"^19.0.0","canvas":"^3.2.2","typescript":"^5.7.0","@types/node":"^22.19.15","@types/react":"^19.0.0"},"peerDependencies":{"react":">=18"},"optionalDependencies":{"@chenglou/pretext":"^0.0.3"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boneyard-js_1.4.1_1775162743958_0.5154112914824247","host":"s3://npm-registry-packages-npm-production"}},"1.5.0":{"name":"boneyard-js","version":"1.5.0","keywords":["skeleton","skeleton-screen","loading","placeholder","react","zero-layout-shift"],"license":"MIT","_id":"boneyard-js@1.5.0","maintainers":[{"name":"0xgf","email":"goodfutureofficial@gmail.com"}],"homepage":"https://github.com/0xGF/boneyard","bugs":{"url":"https://github.com/0xGF/boneyard/issues"},"bin":{"boneyard-js":"bin/cli.js"},"dist":{"shasum":"11312aae9ba7e6c8b9918a30fb84d27329a48bb8","tarball":"https://registry.npmjs.org/boneyard-js/-/boneyard-js-1.5.0.tgz","fileCount":17,"integrity":"sha512-D2dNnnfYMUFMGQhXzuCYs/f7wX4b8mR+BhVbLeOcJpKx7W053eA5T2UogOwDV0JwjbKqTmtk0120GUdBCV9ucg==","signatures":[{"sig":"MEYCIQC8XFBBOk9rgCASP29R8S9VWK/kt6h7mfcq9Daln6GT7wIhAL2jCJWT3SmtDHduWxkIROXisqnffsTSUoFKw/xN9vAw","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":70967},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js"},"./layout":{"types":"./dist/layout.d.ts","import":"./dist/layout.js"}},"gitHead":"53f642f67c5e1a5e44d331100d80427b05a750d7","scripts":{"test":"bun test","build":"tsc","prepublishOnly":"tsc"},"_npmUser":{"name":"0xgf","email":"goodfutureofficial@gmail.com"},"repository":{"url":"git+https://github.com/0xGF/boneyard.git","type":"git"},"_npmVersion":"11.6.2","description":"Pixel-perfect skeleton loading screens. Wrap your component in <Skeleton> and boneyard snapshots the real DOM layout — no manual descriptors, no configuration.","directories":{},"_nodeVersion":"25.2.1","dependencies":{"playwright":"^1.58.2"},"_hasShrinkwrap":false,"devDependencies":{"react":"^19.0.0","canvas":"^3.2.2","typescript":"^5.7.0","@types/node":"^22.19.15","@types/react":"^19.0.0"},"peerDependencies":{"react":">=18"},"optionalDependencies":{"@chenglou/pretext":"^0.0.3"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boneyard-js_1.5.0_1775163351143_0.13665005682307618","host":"s3://npm-registry-packages-npm-production"}},"1.5.1":{"name":"boneyard-js","version":"1.5.1","keywords":["skeleton","skeleton-screen","loading","placeholder","react","zero-layout-shift"],"license":"MIT","_id":"boneyard-js@1.5.1","maintainers":[{"name":"0xgf","email":"goodfutureofficial@gmail.com"}],"homepage":"https://github.com/0xGF/boneyard","bugs":{"url":"https://github.com/0xGF/boneyard/issues"},"bin":{"boneyard-js":"bin/cli.js"},"dist":{"shasum":"e77293d0d621d59e9936346aca8c87dfe36b0751","tarball":"https://registry.npmjs.org/boneyard-js/-/boneyard-js-1.5.1.tgz","fileCount":17,"integrity":"sha512-L6BYo+6xlcGV+bKiYhaj2yGgCM5ESKwGj+z/2xjG3PXHtKQiBpH2CfqoXiLjF9ZPPlzoHxw3RYPK/+a0PIlwQw==","signatures":[{"sig":"MEYCIQC03evd+u08d1fvJhDQW12fGWTxvvzRvkN/oWGYaVIOowIhALC6fRYXucoGhY38RNSJJhbq+eQfp/vhKeAacP/GM9io","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":72554},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js"},"./layout":{"types":"./dist/layout.d.ts","import":"./dist/layout.js"}},"gitHead":"4d60603acc10f83ab73de02b0a3657d258441cf7","scripts":{"test":"bun test","build":"tsc","prepublishOnly":"tsc"},"_npmUser":{"name":"0xgf","email":"goodfutureofficial@gmail.com"},"repository":{"url":"git+https://github.com/0xGF/boneyard.git","type":"git"},"_npmVersion":"11.6.2","description":"Pixel-perfect skeleton loading screens. Wrap your component in <Skeleton> and boneyard snapshots the real DOM layout — no manual descriptors, no configuration.","directories":{},"_nodeVersion":"25.2.1","dependencies":{"playwright":"^1.58.2"},"_hasShrinkwrap":false,"devDependencies":{"react":"^19.0.0","canvas":"^3.2.2","typescript":"^5.7.0","@types/node":"^22.19.15","@types/react":"^19.0.0"},"peerDependencies":{"react":">=18"},"optionalDependencies":{"@chenglou/pretext":"^0.0.3"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boneyard-js_1.5.1_1775185035049_0.4481890516659437","host":"s3://npm-registry-packages-npm-production"}},"1.5.2":{"name":"boneyard-js","version":"1.5.2","keywords":["skeleton","skeleton-screen","loading","placeholder","react","zero-layout-shift"],"license":"MIT","_id":"boneyard-js@1.5.2","maintainers":[{"name":"0xgf","email":"goodfutureofficial@gmail.com"}],"homepage":"https://github.com/0xGF/boneyard","bugs":{"url":"https://github.com/0xGF/boneyard/issues"},"bin":{"boneyard-js":"bin/cli.js"},"dist":{"shasum":"f6546a5c9676b952772d1fd5e36c4ba021b5f55c","tarball":"https://registry.npmjs.org/boneyard-js/-/boneyard-js-1.5.2.tgz","fileCount":17,"integrity":"sha512-dWL3cp4zcaL+B3zN+p6caHHlNU6AsfCkkUvn67/2D2y5DW0pCKk0wBMp+2tj1DHOsVO3HWThbmJ5dK3rcVTDKA==","signatures":[{"sig":"MEYCIQCsXOTaSF0iDbnwL95Cf9KEBGQBgLU3n9oSFWwI+CPQjwIhAKDXu0avBg3xPf0if4GaFv4zxDMpxRaUBTDjjg5Zdf+g","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":73452},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js"},"./layout":{"types":"./dist/layout.d.ts","import":"./dist/layout.js"}},"gitHead":"9ebd7b381e050b588d33938aebfc332aa7392d2b","scripts":{"test":"bun test","build":"tsc","prepublishOnly":"tsc"},"_npmUser":{"name":"0xgf","email":"goodfutureofficial@gmail.com"},"repository":{"url":"git+https://github.com/0xGF/boneyard.git","type":"git"},"_npmVersion":"11.6.2","description":"Pixel-perfect skeleton loading screens. Wrap your component in <Skeleton> and boneyard snapshots the real DOM layout — no manual descriptors, no configuration.","directories":{},"_nodeVersion":"25.2.1","dependencies":{"playwright":"^1.58.2"},"_hasShrinkwrap":false,"devDependencies":{"react":"^19.0.0","canvas":"^3.2.2","typescript":"^5.7.0","@types/node":"^22.19.15","@types/react":"^19.0.0"},"peerDependencies":{"react":">=18"},"optionalDependencies":{"@chenglou/pretext":"^0.0.3"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boneyard-js_1.5.2_1775229788198_0.7576688521623962","host":"s3://npm-registry-packages-npm-production"}},"1.6.0":{"name":"boneyard-js","version":"1.6.0","keywords":["skeleton","skeleton-screen","loading","placeholder","react","zero-layout-shift"],"license":"MIT","_id":"boneyard-js@1.6.0","maintainers":[{"name":"0xgf","email":"goodfutureofficial@gmail.com"}],"homepage":"https://github.com/0xGF/boneyard","bugs":{"url":"https://github.com/0xGF/boneyard/issues"},"bin":{"boneyard-js":"bin/cli.js"},"dist":{"shasum":"dd250682727454945f1d5548406ae3553d72cc2f","tarball":"https://registry.npmjs.org/boneyard-js/-/boneyard-js-1.6.0.tgz","fileCount":17,"integrity":"sha512-sL4vCggO6THLPnHhY1TpgVDgCx3/+bN7a6UGX6S8IRV1iKZXRyeuz4zsdGXuqx3HikAyOVPAqcCcc722CdWGJw==","signatures":[{"sig":"MEQCIDQvOMZCq6NMAY0tBV+enMjFVdCgj3JOu9/z9qMzYPwzAiAY8OMkJRU3eIlkbTFMsZf33rK/yCtaiptNj35M6j/2sQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":75748},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js"},"./layout":{"types":"./dist/layout.d.ts","import":"./dist/layout.js"}},"gitHead":"5774b75c8cb0c88cd681eae864818cab0f09623f","scripts":{"test":"bun test","build":"tsc","prepublishOnly":"tsc"},"_npmUser":{"name":"0xgf","email":"goodfutureofficial@gmail.com"},"repository":{"url":"git+https://github.com/0xGF/boneyard.git","type":"git"},"_npmVersion":"11.6.2","description":"Pixel-perfect skeleton loading screens. Wrap your component in <Skeleton> and boneyard snapshots the real DOM layout — no manual descriptors, no configuration.","directories":{},"_nodeVersion":"25.2.1","dependencies":{"playwright":"^1.58.2"},"_hasShrinkwrap":false,"devDependencies":{"react":"^19.0.0","canvas":"^3.2.2","typescript":"^5.7.0","@types/node":"^22.19.15","@types/react":"^19.0.0"},"peerDependencies":{"react":">=18"},"optionalDependencies":{"@chenglou/pretext":"^0.0.3"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boneyard-js_1.6.0_1775231894383_0.9307158761791074","host":"s3://npm-registry-packages-npm-production"}},"1.6.1":{"name":"boneyard-js","version":"1.6.1","keywords":["skeleton","skeleton-screen","loading","placeholder","react","zero-layout-shift"],"license":"MIT","_id":"boneyard-js@1.6.1","maintainers":[{"name":"0xgf","email":"goodfutureofficial@gmail.com"}],"homepage":"https://github.com/0xGF/boneyard","bugs":{"url":"https://github.com/0xGF/boneyard/issues"},"bin":{"boneyard-js":"bin/cli.js"},"dist":{"shasum":"8ad536350a8276c26206ab82039a517f3cf00af9","tarball":"https://registry.npmjs.org/boneyard-js/-/boneyard-js-1.6.1.tgz","fileCount":17,"integrity":"sha512-tF5p/m9WtXrnIoNH3aZjw6QiRsWPrR7wfd9uUj2gzhdLXMA2zfjh9u2mHILkdPp43nIV3+D+t6ZzAoVdkwUN/w==","signatures":[{"sig":"MEUCIQDHfz5dnyByNk6N6le0DyWtesuUb2RVtWnIgReFWZHhtwIgIYDzfnhcDncuKq0HIRot5yuIBBuavvbid61ZuqazjTs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":81856},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js"},"./layout":{"types":"./dist/layout.d.ts","import":"./dist/layout.js"}},"gitHead":"ed791b8833663b57a7c475b575a3396d38beda71","scripts":{"test":"bun test","build":"tsc","prepublishOnly":"tsc"},"_npmUser":{"name":"0xgf","email":"goodfutureofficial@gmail.com"},"repository":{"url":"git+https://github.com/0xGF/boneyard.git","type":"git"},"_npmVersion":"11.6.2","description":"Pixel-perfect skeleton loading screens. Wrap your component in <Skeleton> and boneyard snapshots the real DOM layout — no manual descriptors, no configuration.","directories":{},"_nodeVersion":"25.2.1","dependencies":{"playwright":"^1.58.2"},"_hasShrinkwrap":false,"devDependencies":{"react":"^19.0.0","canvas":"^3.2.2","typescript":"^5.7.0","@types/node":"^22.19.15","@types/react":"^19.0.0"},"peerDependencies":{"react":">=18"},"optionalDependencies":{"@chenglou/pretext":"^0.0.3"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boneyard-js_1.6.1_1775320320383_0.03259878512679659","host":"s3://npm-registry-packages-npm-production"}},"1.6.2":{"name":"boneyard-js","version":"1.6.2","keywords":["skeleton","skeleton-screen","loading","placeholder","react","zero-layout-shift"],"license":"MIT","_id":"boneyard-js@1.6.2","maintainers":[{"name":"0xgf","email":"goodfutureofficial@gmail.com"}],"homepage":"https://github.com/0xGF/boneyard","bugs":{"url":"https://github.com/0xGF/boneyard/issues"},"bin":{"boneyard-js":"bin/cli.js"},"dist":{"shasum":"ea72de1047e2d84c315a02a2abad25d92a7456f0","tarball":"https://registry.npmjs.org/boneyard-js/-/boneyard-js-1.6.2.tgz","fileCount":17,"integrity":"sha512-J6YPHbFioU3Hy2lO3uzoDd+6+FnGo2EYS4s287RY8nA84+THsYHnLVo6B56QZ2VgBNs5xl0hLUDGZ+jrnldeAg==","signatures":[{"sig":"MEMCH0kOV95Nxvrbsk88khu34vud7HVRMGNsHfU37qBVGx4CIATQtE7/6Wv7aY297XtV2YCWvX1bnlZMvd5VEmWX6KOK","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":81853},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js"},"./layout":{"types":"./dist/layout.d.ts","import":"./dist/layout.js"}},"gitHead":"0d243a996072d14f9358f3ed814e0f481c3c86f9","scripts":{"test":"bun test","build":"tsc","prepublishOnly":"tsc"},"_npmUser":{"name":"0xgf","email":"goodfutureofficial@gmail.com"},"repository":{"url":"git+https://github.com/0xGF/boneyard.git","type":"git"},"_npmVersion":"11.6.2","description":"Pixel-perfect skeleton loading screens. Wrap your component in <Skeleton> and boneyard snapshots the real DOM layout — no manual descriptors, no configuration.","directories":{},"_nodeVersion":"25.2.1","dependencies":{"playwright":"^1.58.2"},"_hasShrinkwrap":false,"devDependencies":{"react":"^19.0.0","canvas":"^3.2.2","typescript":"^5.7.0","@types/node":"^22.19.15","@types/react":"^19.0.0"},"peerDependencies":{"react":">=18"},"optionalDependencies":{"@chenglou/pretext":"^0.0.3"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boneyard-js_1.6.2_1775330698747_0.07211355964252997","host":"s3://npm-registry-packages-npm-production"}},"1.6.3":{"name":"boneyard-js","version":"1.6.3","keywords":["skeleton","skeleton-screen","loading","placeholder","react","react-native","zero-layout-shift"],"license":"MIT","_id":"boneyard-js@1.6.3","maintainers":[{"name":"0xgf","email":"goodfutureofficial@gmail.com"}],"homepage":"https://github.com/0xGF/boneyard","bugs":{"url":"https://github.com/0xGF/boneyard/issues"},"bin":{"boneyard-js":"bin/cli.js"},"dist":{"shasum":"b5b718f40b50c7b78f5e38f88bdc2d7bd81b4336","tarball":"https://registry.npmjs.org/boneyard-js/-/boneyard-js-1.6.3.tgz","fileCount":29,"integrity":"sha512-7Sd1ikFO1NQeRqt8Wq00JL8DbSrzboQlh1jKSYHPreoY3dWSKmCgEF+irdJ9gdxCVqwbpPim3Zb171f7fpF9Wg==","signatures":[{"sig":"MEUCIGZrrOrgbIfOggy4eR/0s6qLJ1kaPC1zSpmdh7nkrawxAiEA8cVRpRcmz5EuSiA4ONQCGW7XFQBq4BicdnPlLB8oIgI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":130747},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js"},"./layout":{"types":"./dist/layout.d.ts","import":"./dist/layout.js"},"./native":{"types":"./dist/native.d.ts","default":"./dist/native.tsx"},"./svelte":{"types":"./dist/svelte.d.ts","svelte":"./dist/Skeleton.svelte","default":"./dist/Skeleton.svelte"},"./react-native":{"types":"./dist/native.d.ts","default":"./dist/native.tsx"}},"gitHead":"fdcd6012a99d56887b74b4ede2d81e0678303e91","scripts":{"test":"bun test","build":"tsc && npm run copy-svelte && npm run copy-native","benchmark":"bun run scripts/benchmark-layout.ts","copy-native":"cp src/native.tsx dist/native.tsx && cp src/react-native.tsx dist/react-native.tsx","copy-svelte":"cp src/Skeleton.svelte dist/Skeleton.svelte && cp src/svelte.d.ts dist/svelte.d.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"0xgf","email":"goodfutureofficial@gmail.com"},"repository":{"url":"git+https://github.com/0xGF/boneyard.git","type":"git"},"_npmVersion":"11.6.2","description":"Pixel-perfect skeleton loading screens. Wrap your component in <Skeleton> and boneyard snapshots the real DOM layout — no manual descriptors, no configuration.","directories":{},"_nodeVersion":"25.2.1","dependencies":{"playwright":"^1.58.2"},"typesVersions":{">4.0":{"index":["./dist/index.d.ts"],"react":["./dist/react.d.ts"],"layout":["./dist/layout.d.ts"],"svelte":["./dist/svelte.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"react":"^19.0.0","canvas":"^3.2.2","svelte":"^5.39.6","react-dom":"^19.0.0","typescript":"^5.7.0","@types/node":"^22.19.15","@types/react":"^19.0.0","@types/react-dom":"^19.0.0","@types/react-native":"^0.73.0"},"peerDependencies":{"react":">=18","svelte":">=5","react-native":">=0.71"},"optionalDependencies":{"@chenglou/pretext":"^0.0.3"},"peerDependenciesMeta":{"react":{"optional":true},"svelte":{"optional":true},"react-native":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boneyard-js_1.6.3_1775433407087_0.5158417638611494","host":"s3://npm-registry-packages-npm-production"}},"1.6.4":{"name":"boneyard-js","version":"1.6.4","keywords":["skeleton","skeleton-screen","loading","placeholder","react","react-native","vue","zero-layout-shift"],"license":"MIT","_id":"boneyard-js@1.6.4","maintainers":[{"name":"0xgf","email":"goodfutureofficial@gmail.com"}],"homepage":"https://github.com/0xGF/boneyard","bugs":{"url":"https://github.com/0xGF/boneyard/issues"},"bin":{"boneyard-js":"bin/cli.js"},"dist":{"shasum":"69edc6bb149e2233aab153c28017972a08542b82","tarball":"https://registry.npmjs.org/boneyard-js/-/boneyard-js-1.6.4.tgz","fileCount":36,"integrity":"sha512-/oNbPrfMyxdZQENW6PLlPTHBG0kPrk3b9xrua0rjk6LuKFrSHlIHVyjP93sEYVhLxeDpevqxtau4iYMHT30Xwg==","signatures":[{"sig":"MEQCIHTV+tKpzWsMqClGthVMlnfaUYUrTaVCnoLXwDLDQtdKAiAClSf89iZS3ttKd14BP5e9yrS1BNu6bXpkCZJXQIOoVg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":194927},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./vue":{"types":"./dist/vue.d.ts","import":"./dist/Skeleton.vue","default":"./dist/Skeleton.vue"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js"},"./layout":{"types":"./dist/layout.d.ts","import":"./dist/layout.js"},"./native":{"types":"./dist/native.d.ts","default":"./dist/native.tsx"},"./svelte":{"types":"./dist/svelte.d.ts","svelte":"./dist/Skeleton.svelte","default":"./dist/Skeleton.svelte"},"./native-scan":{"types":"./dist/native-scan.d.ts","default":"./dist/native-scan.tsx"},"./react-native":{"types":"./dist/native.d.ts","default":"./dist/native.tsx"}},"gitHead":"4af5f9d9c08e5311c91dbb88e08a709d32da807c","scripts":{"test":"bun test","build":"tsc && npm run copy-svelte && npm run copy-native && npm run copy-vue","copy-vue":"cp src/Skeleton.vue dist/Skeleton.vue && cp src/vue.d.ts dist/vue.d.ts","benchmark":"bun run scripts/benchmark-layout.ts","copy-native":"cp src/native.tsx dist/native.tsx && cp src/react-native.tsx dist/react-native.tsx && cp src/native-scan.tsx dist/native-scan.tsx","copy-svelte":"cp src/Skeleton.svelte dist/Skeleton.svelte && cp src/svelte.d.ts dist/svelte.d.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"0xgf","email":"goodfutureofficial@gmail.com"},"repository":{"url":"git+https://github.com/0xGF/boneyard.git","type":"git"},"_npmVersion":"11.6.2","description":"Pixel-perfect skeleton loading screens. Wrap your component in <Skeleton> and boneyard snapshots the real DOM layout — no manual descriptors, no configuration.","directories":{},"_nodeVersion":"25.2.1","dependencies":{"playwright":"^1.58.2"},"typesVersions":{">4.0":{"vue":["./dist/vue.d.ts"],"index":["./dist/index.d.ts"],"react":["./dist/react.d.ts"],"layout":["./dist/layout.d.ts"],"svelte":["./dist/svelte.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"react":"^19.0.0","canvas":"^3.2.2","svelte":"^5.39.6","happy-dom":"^20.8.9","react-dom":"^19.0.0","typescript":"^5.7.0","@types/node":"^22.19.15","@types/react":"^19.0.0","@vue/test-utils":"^2.4.6","@types/react-dom":"^19.0.0","@vue/compiler-sfc":"^3.5.32","@types/react-native":"^0.73.0","@vue/server-renderer":"^3.5.32"},"peerDependencies":{"vue":">=3","react":">=18","svelte":">=5","react-native":">=0.71"},"optionalDependencies":{"@chenglou/pretext":"^0.0.3"},"peerDependenciesMeta":{"vue":{"optional":true},"react":{"optional":true},"svelte":{"optional":true},"react-native":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boneyard-js_1.6.4_1775500446605_0.23885107646561932","host":"s3://npm-registry-packages-npm-production"}},"1.6.5":{"name":"boneyard-js","version":"1.6.5","keywords":["skeleton","skeleton-screen","loading","placeholder","react","react-native","vue","angular","zero-layout-shift"],"license":"MIT","_id":"boneyard-js@1.6.5","maintainers":[{"name":"0xgf","email":"goodfutureofficial@gmail.com"}],"homepage":"https://github.com/0xGF/boneyard","bugs":{"url":"https://github.com/0xGF/boneyard/issues"},"bin":{"boneyard-js":"bin/cli.js"},"dist":{"shasum":"1779c199ed4f2adcff6f5767dbacdc3afa60ec1d","tarball":"https://registry.npmjs.org/boneyard-js/-/boneyard-js-1.6.5.tgz","fileCount":38,"integrity":"sha512-JEgnWlMDvDoSG7CKPRc2amnOmeTGu6MWOyW70TsG6o9VZLbsZdbJyB8HyH7BKLlcxvWYZKgO5jK93S2BSZ7v2g==","signatures":[{"sig":"MEUCIQCrYv/go96EumP4h1fY/Stf5hZ0LgR/A1k4mKstuYXmeQIgI2/ADFB9irZklKKMFk96rOse07ADTP4rtlANMSybxxg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":218629},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./vue":{"types":"./dist/vue.d.ts","import":"./dist/Skeleton.vue","default":"./dist/Skeleton.vue"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js"},"./layout":{"types":"./dist/layout.d.ts","import":"./dist/layout.js"},"./native":{"types":"./dist/native.d.ts","default":"./dist/native.tsx"},"./svelte":{"types":"./dist/svelte.d.ts","svelte":"./dist/Skeleton.svelte","default":"./dist/Skeleton.svelte"},"./angular":{"types":"./dist/angular.d.ts","default":"./dist/angular.ts"},"./native-scan":{"types":"./dist/native-scan.d.ts","default":"./dist/native-scan.tsx"},"./react-native":{"types":"./dist/native.d.ts","default":"./dist/native.tsx"}},"gitHead":"6a6e91f037d062a24146defd688808da5a1baa77","scripts":{"test":"bun test","build":"tsc && npm run copy-svelte && npm run copy-native && npm run copy-vue && npm run copy-angular","copy-vue":"cp src/Skeleton.vue dist/Skeleton.vue && cp src/vue.d.ts dist/vue.d.ts","benchmark":"bun run scripts/benchmark-layout.ts","copy-native":"cp src/native.tsx dist/native.tsx && cp src/react-native.tsx dist/react-native.tsx && cp src/native-scan.tsx dist/native-scan.tsx","copy-svelte":"cp src/Skeleton.svelte dist/Skeleton.svelte && cp src/svelte.d.ts dist/svelte.d.ts","copy-angular":"cp src/angular.ts dist/angular.ts && cp src/angular.d.ts dist/angular.d.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"0xgf","email":"goodfutureofficial@gmail.com"},"repository":{"url":"git+https://github.com/0xGF/boneyard.git","type":"git"},"_npmVersion":"11.6.2","description":"Pixel-perfect skeleton loading screens. Wrap your component in <Skeleton> and boneyard snapshots the real DOM layout — no manual descriptors, no configuration.","directories":{},"_nodeVersion":"25.2.1","dependencies":{"playwright":"^1.58.2"},"typesVersions":{">4.0":{"vue":["./dist/vue.d.ts"],"index":["./dist/index.d.ts"],"react":["./dist/react.d.ts"],"layout":["./dist/layout.d.ts"],"svelte":["./dist/svelte.d.ts"],"angular":["./dist/angular.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"react":"^19.0.0","canvas":"^3.2.2","svelte":"^5.39.6","happy-dom":"^20.8.9","react-dom":"^19.0.0","typescript":"^5.7.0","@types/node":"^22.19.15","@types/react":"^19.0.0","@vue/test-utils":"^2.4.6","@types/react-dom":"^19.0.0","@vue/compiler-sfc":"^3.5.32","@types/react-native":"^0.73.0","@vue/server-renderer":"^3.5.32"},"peerDependencies":{"vue":">=3","react":">=18","svelte":">=5.29","react-native":">=0.71","@angular/core":">=14"},"optionalDependencies":{"@chenglou/pretext":"^0.0.3"},"peerDependenciesMeta":{"vue":{"optional":true},"react":{"optional":true},"svelte":{"optional":true},"react-native":{"optional":true},"@angular/core":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boneyard-js_1.6.5_1775574286794_0.0490241241414362","host":"s3://npm-registry-packages-npm-production"}},"1.6.6":{"name":"boneyard-js","version":"1.6.6","keywords":["skeleton","skeleton-screen","loading","placeholder","react","react-native","vue","angular","zero-layout-shift"],"license":"MIT","_id":"boneyard-js@1.6.6","maintainers":[{"name":"0xgf","email":"goodfutureofficial@gmail.com"}],"homepage":"https://github.com/0xGF/boneyard","bugs":{"url":"https://github.com/0xGF/boneyard/issues"},"bin":{"boneyard-js":"bin/cli.js"},"dist":{"shasum":"b4deaf5815f0b3a292a93925fb26e94fcb6f8996","tarball":"https://registry.npmjs.org/boneyard-js/-/boneyard-js-1.6.6.tgz","fileCount":38,"integrity":"sha512-q/UMjUHjEvf+L4c7Zy3loaQtbT6fvnPFAhyyRn/t61F2jlYXlO0Eo1iXjbNyG3zQraBQVA3KiDpsfIdYbI3jBA==","signatures":[{"sig":"MEQCICzLcBFbUBq0iojTb4bQcDPOU1eugb9rSsFhEF3K6lSPAiAsTZsxQwbtJtTjpwsaEiyt2zmqbICzM6DgIHTnGfCi+A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":219844},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./vue":{"types":"./dist/vue.d.ts","import":"./dist/Skeleton.vue","default":"./dist/Skeleton.vue"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js"},"./layout":{"types":"./dist/layout.d.ts","import":"./dist/layout.js"},"./native":{"types":"./dist/native.d.ts","default":"./dist/native.tsx"},"./svelte":{"types":"./dist/svelte.d.ts","svelte":"./dist/Skeleton.svelte","default":"./dist/Skeleton.svelte"},"./angular":{"types":"./dist/angular.d.ts","default":"./dist/angular.ts"},"./native-scan":{"types":"./dist/native-scan.d.ts","default":"./dist/native-scan.tsx"},"./react-native":{"types":"./dist/native.d.ts","default":"./dist/native.tsx"}},"gitHead":"437d92bedc268c839c1f0b125e1da7ae66ecf96f","scripts":{"test":"bun test","build":"tsc && npm run copy-svelte && npm run copy-native && npm run copy-vue && npm run copy-angular","copy-vue":"cp src/Skeleton.vue dist/Skeleton.vue && cp src/vue.d.ts dist/vue.d.ts","benchmark":"bun run scripts/benchmark-layout.ts","copy-native":"cp src/native.tsx dist/native.tsx && cp src/react-native.tsx dist/react-native.tsx && cp src/native-scan.tsx dist/native-scan.tsx","copy-svelte":"cp src/Skeleton.svelte dist/Skeleton.svelte && cp src/svelte.d.ts dist/svelte.d.ts","copy-angular":"cp src/angular.ts dist/angular.ts && cp src/angular.d.ts dist/angular.d.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"0xgf","email":"goodfutureofficial@gmail.com"},"repository":{"url":"git+https://github.com/0xGF/boneyard.git","type":"git"},"_npmVersion":"11.6.2","description":"Pixel-perfect skeleton loading screens. Wrap your component in <Skeleton> and boneyard snapshots the real DOM layout — no manual descriptors, no configuration.","directories":{},"_nodeVersion":"25.2.1","dependencies":{"playwright":"^1.58.2"},"typesVersions":{">4.0":{"vue":["./dist/vue.d.ts"],"index":["./dist/index.d.ts"],"react":["./dist/react.d.ts"],"layout":["./dist/layout.d.ts"],"svelte":["./dist/svelte.d.ts"],"angular":["./dist/angular.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"react":"^19.0.0","canvas":"^3.2.2","svelte":"^5.39.6","happy-dom":"^20.8.9","react-dom":"^19.0.0","typescript":"^5.7.0","@types/node":"^22.19.15","@types/react":"^19.0.0","@vue/test-utils":"^2.4.6","@types/react-dom":"^19.0.0","@vue/compiler-sfc":"^3.5.32","@types/react-native":"^0.73.0","@vue/server-renderer":"^3.5.32"},"peerDependencies":{"vue":">=3","react":">=18","svelte":">=5.29","react-native":">=0.71","@angular/core":">=14"},"optionalDependencies":{"@chenglou/pretext":"^0.0.3"},"peerDependenciesMeta":{"vue":{"optional":true},"react":{"optional":true},"svelte":{"optional":true},"react-native":{"optional":true},"@angular/core":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boneyard-js_1.6.6_1775574798721_0.05743623323782332","host":"s3://npm-registry-packages-npm-production"}},"1.6.7":{"name":"boneyard-js","version":"1.6.7","keywords":["skeleton","skeleton-screen","loading","placeholder","react","react-native","vue","angular","zero-layout-shift"],"license":"MIT","_id":"boneyard-js@1.6.7","maintainers":[{"name":"0xgf","email":"goodfutureofficial@gmail.com"}],"homepage":"https://github.com/0xGF/boneyard","bugs":{"url":"https://github.com/0xGF/boneyard/issues"},"bin":{"boneyard-js":"bin/cli.js"},"dist":{"shasum":"8347d5b19a0a2213d18c8ddb1c44b60aa6895f7f","tarball":"https://registry.npmjs.org/boneyard-js/-/boneyard-js-1.6.7.tgz","fileCount":38,"integrity":"sha512-ClzI7uF4cAaSBQOtwChjNQhIzOUIWofYBBN8Q0bY/b7+i3Ik6o/ykd0SZp4XaRMt7z9BDwE7Ir/U6IxDV9cGqw==","signatures":[{"sig":"MEQCICxnpTbVzC3cD0FkfhPElv8DjD697l1Qs2TQDRjnubSuAiA2fuh7Xu1tNvdMwNBxZU79yFff5UEhw/PUUbWbZN+kkg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":219850},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./vue":{"types":"./dist/vue.d.ts","import":"./dist/Skeleton.vue","default":"./dist/Skeleton.vue"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js"},"./layout":{"types":"./dist/layout.d.ts","import":"./dist/layout.js"},"./native":{"types":"./dist/native.d.ts","default":"./dist/native.tsx"},"./svelte":{"types":"./dist/svelte.d.ts","svelte":"./dist/Skeleton.svelte","default":"./dist/Skeleton.svelte"},"./angular":{"types":"./dist/angular.d.ts","default":"./dist/angular.ts"},"./native-scan":{"types":"./dist/native-scan.d.ts","default":"./dist/native-scan.tsx"},"./react-native":{"types":"./dist/native.d.ts","default":"./dist/native.tsx"}},"gitHead":"7e22c77798a4a37a6684d19cc7d6601becf94abc","scripts":{"test":"bun test","build":"tsc && npm run copy-svelte && npm run copy-native && npm run copy-vue && npm run copy-angular","copy-vue":"cp src/Skeleton.vue dist/Skeleton.vue && cp src/vue.d.ts dist/vue.d.ts","benchmark":"bun run scripts/benchmark-layout.ts","copy-native":"cp src/native.tsx dist/native.tsx && cp src/react-native.tsx dist/react-native.tsx && cp src/native-scan.tsx dist/native-scan.tsx","copy-svelte":"cp src/Skeleton.svelte dist/Skeleton.svelte && cp src/svelte.d.ts dist/svelte.d.ts","copy-angular":"cp src/angular.ts dist/angular.ts && cp src/angular.d.ts dist/angular.d.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"0xgf","email":"goodfutureofficial@gmail.com"},"repository":{"url":"git+https://github.com/0xGF/boneyard.git","type":"git"},"_npmVersion":"11.6.2","description":"Pixel-perfect skeleton loading screens. Wrap your component in <Skeleton> and boneyard snapshots the real DOM layout — no manual descriptors, no configuration.","directories":{},"_nodeVersion":"25.2.1","dependencies":{"playwright":"^1.58.2"},"typesVersions":{">4.0":{"vue":["./dist/vue.d.ts"],"index":["./dist/index.d.ts"],"react":["./dist/react.d.ts"],"layout":["./dist/layout.d.ts"],"svelte":["./dist/svelte.d.ts"],"angular":["./dist/angular.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"react":"^19.0.0","canvas":"^3.2.2","svelte":"^5.39.6","happy-dom":"^20.8.9","react-dom":"^19.0.0","typescript":"^5.7.0","@types/node":"^22.19.15","@types/react":"^19.0.0","@vue/test-utils":"^2.4.6","@types/react-dom":"^19.0.0","@vue/compiler-sfc":"^3.5.32","@types/react-native":"^0.73.0","@vue/server-renderer":"^3.5.32"},"peerDependencies":{"vue":">=3","react":">=18","svelte":">=5.29","react-native":">=0.71","@angular/core":">=14"},"optionalDependencies":{"@chenglou/pretext":"^0.0.3"},"peerDependenciesMeta":{"vue":{"optional":true},"react":{"optional":true},"svelte":{"optional":true},"react-native":{"optional":true},"@angular/core":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boneyard-js_1.6.7_1775575766359_0.597779079357879","host":"s3://npm-registry-packages-npm-production"}},"1.7.0":{"name":"boneyard-js","version":"1.7.0","keywords":["skeleton","skeleton-screen","loading","placeholder","react","react-native","vue","angular","vite","vite-plugin","zero-layout-shift"],"license":"MIT","_id":"boneyard-js@1.7.0","maintainers":[{"name":"0xgf","email":"goodfutureofficial@gmail.com"}],"homepage":"https://github.com/0xGF/boneyard","bugs":{"url":"https://github.com/0xGF/boneyard/issues"},"bin":{"boneyard-js":"bin/cli.js"},"dist":{"shasum":"4bc3887536d6ddae3693e100b4499a54a6a61afb","tarball":"https://registry.npmjs.org/boneyard-js/-/boneyard-js-1.7.0.tgz","fileCount":40,"integrity":"sha512-yhTr0KR14VdZplkrZfePOm1kF6MpXbuYRuSPx4XgPw19W3z7dRYPhBwf3GinEr1mJ42gURZwN/QKxBPpkVRPNg==","signatures":[{"sig":"MEYCIQC+hFqaWGxCVuudffaZLM7iWW8b5nuDZqkdB66xVvMXeQIhAPNnew40LeG41uWK7bizjnd1NZ/l5i4x5HFRTkWBzrQY","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":241028},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./vue":{"types":"./dist/vue.d.ts","import":"./dist/Skeleton.vue","default":"./dist/Skeleton.vue"},"./vite":{"types":"./dist/vite.d.ts","import":"./dist/vite.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js"},"./layout":{"types":"./dist/layout.d.ts","import":"./dist/layout.js"},"./native":{"types":"./dist/native.d.ts","default":"./dist/native.tsx"},"./svelte":{"types":"./dist/svelte.d.ts","svelte":"./dist/Skeleton.svelte","default":"./dist/Skeleton.svelte"},"./angular":{"types":"./dist/angular.d.ts","default":"./dist/angular.ts"},"./native-scan":{"types":"./dist/native-scan.d.ts","default":"./dist/native-scan.tsx"},"./react-native":{"types":"./dist/native.d.ts","default":"./dist/native.tsx"}},"gitHead":"c79964492a6f8283be013900a6025930905904ca","scripts":{"test":"bun test","build":"tsc && npm run copy-svelte && npm run copy-native && npm run copy-vue && npm run copy-angular","copy-vue":"cp src/Skeleton.vue dist/Skeleton.vue && cp src/vue.d.ts dist/vue.d.ts","benchmark":"bun run scripts/benchmark-layout.ts","copy-native":"cp src/native.tsx dist/native.tsx && cp src/react-native.tsx dist/react-native.tsx && cp src/native-scan.tsx dist/native-scan.tsx","copy-svelte":"cp src/Skeleton.svelte dist/Skeleton.svelte && cp src/svelte.d.ts dist/svelte.d.ts","copy-angular":"cp src/angular.ts dist/angular.ts && cp src/angular.d.ts dist/angular.d.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"0xgf","email":"goodfutureofficial@gmail.com"},"repository":{"url":"git+https://github.com/0xGF/boneyard.git","type":"git"},"_npmVersion":"11.6.2","description":"Pixel-perfect skeleton loading screens. Wrap your component in <Skeleton> and boneyard snapshots the real DOM layout — no manual descriptors, no configuration.","directories":{},"_nodeVersion":"25.2.1","dependencies":{"playwright":"^1.58.2"},"typesVersions":{">4.0":{"vue":["./dist/vue.d.ts"],"vite":["./dist/vite.d.ts"],"index":["./dist/index.d.ts"],"react":["./dist/react.d.ts"],"layout":["./dist/layout.d.ts"],"svelte":["./dist/svelte.d.ts"],"angular":["./dist/angular.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"vite":"^6.0.0","react":"^19.0.0","canvas":"^3.2.2","svelte":"^5.39.6","happy-dom":"^20.8.9","react-dom":"^19.0.0","typescript":"^5.7.0","@types/node":"^22.19.15","@types/react":"^19.0.0","@vue/test-utils":"^2.4.6","@types/react-dom":"^19.0.0","@vue/compiler-sfc":"^3.5.32","@types/react-native":"^0.73.0","@vue/server-renderer":"^3.5.32"},"peerDependencies":{"vue":">=3","vite":">=5","react":">=18","svelte":">=5.29","react-native":">=0.71","@angular/core":">=14"},"optionalDependencies":{"@chenglou/pretext":"^0.0.3"},"peerDependenciesMeta":{"vue":{"optional":true},"vite":{"optional":true},"react":{"optional":true},"svelte":{"optional":true},"react-native":{"optional":true},"@angular/core":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boneyard-js_1.7.0_1775666747479_0.8542074682348191","host":"s3://npm-registry-packages-npm-production"}},"1.7.1":{"name":"boneyard-js","version":"1.7.1","keywords":["skeleton","skeleton-screen","loading","placeholder","react","react-native","vue","preact","angular","vite","vite-plugin","zero-layout-shift"],"license":"MIT","_id":"boneyard-js@1.7.1","maintainers":[{"name":"0xgf","email":"goodfutureofficial@gmail.com"}],"homepage":"https://boneyard.vercel.app","bugs":{"url":"https://github.com/0xGF/boneyard/issues"},"bin":{"boneyard-js":"bin/cli.js"},"dist":{"shasum":"08eeebcf6249f4b0b9533d37e2f056c79c5d10e3","tarball":"https://registry.npmjs.org/boneyard-js/-/boneyard-js-1.7.1.tgz","fileCount":42,"integrity":"sha512-LIWTVWPRf1uIgqGrK9Fio+saQtaqykGqp7yMNcicCkHpSS1YjBt6zRPKWR+lfrdziAXEGVBqtuSa5GWbV1H4mg==","signatures":[{"sig":"MEUCIFlq61rVLBEUFzthjTZw1Q8RqfezqLdVDZfzOQq5vFg4AiEA7OcIFFuqebKKGdKaIZuweSDIQRTlM9/nL0tyiKjwX04=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":259450},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./vue":{"types":"./dist/vue.d.ts","import":"./dist/Skeleton.vue","default":"./dist/Skeleton.vue"},"./vite":{"types":"./dist/vite.d.ts","import":"./dist/vite.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js"},"./layout":{"types":"./dist/layout.d.ts","import":"./dist/layout.js"},"./native":{"types":"./dist/native.d.ts","default":"./dist/native.tsx"},"./preact":{"types":"./dist/preact.d.ts","import":"./dist/preact.tsx","default":"./dist/preact.tsx"},"./svelte":{"types":"./dist/svelte.d.ts","svelte":"./dist/Skeleton.svelte","default":"./dist/Skeleton.svelte"},"./angular":{"types":"./dist/angular.d.ts","import":"./dist/angular.ts","default":"./dist/angular.ts"},"./native-scan":{"types":"./dist/native-scan.d.ts","default":"./dist/native-scan.tsx"},"./react-native":{"types":"./dist/native.d.ts","default":"./dist/native.tsx"}},"gitHead":"c39751ad14bc1a534a23cd520f7f77cb5a63927f","scripts":{"test":"bun test","build":"tsc && npm run copy-svelte && npm run copy-native && npm run copy-vue && npm run copy-preact && npm run copy-angular","copy-vue":"cp src/Skeleton.vue dist/Skeleton.vue && cp src/vue.d.ts dist/vue.d.ts","benchmark":"bun run scripts/benchmark-layout.ts","copy-native":"cp src/native.tsx dist/native.tsx && cp src/native.d.ts dist/native.d.ts && cp src/react-native.tsx dist/react-native.tsx && cp src/native-scan.tsx dist/native-scan.tsx","copy-preact":"cp src/preact.tsx dist/preact.tsx && cp src/preact.d.ts dist/preact.d.ts","copy-svelte":"cp src/Skeleton.svelte dist/Skeleton.svelte && cp src/svelte.d.ts dist/svelte.d.ts","copy-angular":"cp src/angular.ts dist/angular.ts && cp src/angular.d.ts dist/angular.d.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"0xgf","email":"goodfutureofficial@gmail.com"},"repository":{"url":"git+https://github.com/0xGF/boneyard.git","type":"git"},"_npmVersion":"11.6.2","description":"Pixel-perfect skeleton loading screens. Wrap your component in <Skeleton> and boneyard snapshots the real DOM layout — no manual descriptors, no configuration.","directories":{},"_nodeVersion":"25.2.1","dependencies":{"playwright":"^1.58.2"},"typesVersions":{">4.0":{"vue":["./dist/vue.d.ts"],"vite":["./dist/vite.d.ts"],"index":["./dist/index.d.ts"],"react":["./dist/react.d.ts"],"layout":["./dist/layout.d.ts"],"preact":["./dist/preact.d.ts"],"svelte":["./dist/svelte.d.ts"],"angular":["./dist/angular.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"vite":"^6.0.0","react":"^19.0.0","canvas":"^3.2.2","svelte":"^5.39.6","happy-dom":"^20.8.9","react-dom":"^19.0.0","typescript":"^5.7.0","@types/node":"^22.19.15","@types/react":"^19.0.0","@vue/test-utils":"^2.4.6","@types/react-dom":"^19.0.0","@vue/compiler-sfc":"^3.5.32","@types/react-native":"^0.73.0","@vue/server-renderer":"^3.5.32"},"peerDependencies":{"vue":">=3","vite":">=5","react":">=18","preact":">=10","svelte":">=5.29","react-native":">=0.71","@angular/core":">=14"},"optionalDependencies":{"@chenglou/pretext":"^0.0.5"},"peerDependenciesMeta":{"vue":{"optional":true},"vite":{"optional":true},"react":{"optional":true},"preact":{"optional":true},"svelte":{"optional":true},"react-native":{"optional":true},"@angular/core":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boneyard-js_1.7.1_1775749287381_0.55390337983632","host":"s3://npm-registry-packages-npm-production"}},"1.7.2":{"name":"boneyard-js","version":"1.7.2","keywords":["skeleton","skeleton-screen","loading","placeholder","react","react-native","vue","preact","angular","vite","vite-plugin","zero-layout-shift"],"license":"MIT","_id":"boneyard-js@1.7.2","maintainers":[{"name":"0xgf","email":"goodfutureofficial@gmail.com"}],"homepage":"https://boneyard.vercel.app","bugs":{"url":"https://github.com/0xGF/boneyard/issues"},"bin":{"boneyard-js":"bin/cli.js"},"dist":{"shasum":"c8735a221ff507ac867979c5a3869106da722781","tarball":"https://registry.npmjs.org/boneyard-js/-/boneyard-js-1.7.2.tgz","fileCount":42,"integrity":"sha512-tjLNS8DNVraGe7WcokFO0x5juOisO9mqSywklYt/FznLcX7aY4738cQX0fbxxpbZ4YSmPDhPyOsirB5nQm9T0w==","signatures":[{"sig":"MEUCICjlzycmy1EGAwRqUOnbzw66AwOBGZCUt6bKXFyACbB6AiEAgLmSYKvLu9gHDxSG9V31+bHW4uQpF8TdRPd30Pm4lg8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":261686},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./vue":{"types":"./dist/vue.d.ts","import":"./dist/Skeleton.vue","default":"./dist/Skeleton.vue"},"./vite":{"types":"./dist/vite.d.ts","import":"./dist/vite.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js"},"./layout":{"types":"./dist/layout.d.ts","import":"./dist/layout.js"},"./native":{"types":"./dist/native.d.ts","default":"./dist/native.tsx"},"./preact":{"types":"./dist/preact.d.ts","import":"./dist/preact.tsx","default":"./dist/preact.tsx"},"./svelte":{"types":"./dist/svelte.d.ts","svelte":"./dist/Skeleton.svelte","default":"./dist/Skeleton.svelte"},"./angular":{"types":"./dist/angular.d.ts","import":"./dist/angular.ts","default":"./dist/angular.ts"},"./native-scan":{"types":"./dist/native-scan.d.ts","default":"./dist/native-scan.tsx"},"./react-native":{"types":"./dist/native.d.ts","default":"./dist/native.tsx"}},"gitHead":"aac81f6a1d59260cc1b29231731ede5f3a4b2b52","scripts":{"test":"bun test","build":"tsc && npm run copy-svelte && npm run copy-native && npm run copy-vue && npm run copy-preact && npm run copy-angular","copy-vue":"cp src/Skeleton.vue dist/Skeleton.vue && cp src/vue.d.ts dist/vue.d.ts","benchmark":"bun run scripts/benchmark-layout.ts","copy-native":"cp src/native.tsx dist/native.tsx && cp src/native.d.ts dist/native.d.ts && cp src/react-native.tsx dist/react-native.tsx && cp src/native-scan.tsx dist/native-scan.tsx","copy-preact":"cp src/preact.tsx dist/preact.tsx && cp src/preact.d.ts dist/preact.d.ts","copy-svelte":"cp src/Skeleton.svelte dist/Skeleton.svelte && cp src/svelte.d.ts dist/svelte.d.ts","copy-angular":"cp src/angular.ts dist/angular.ts && cp src/angular.d.ts dist/angular.d.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"0xgf","email":"goodfutureofficial@gmail.com"},"repository":{"url":"git+https://github.com/0xGF/boneyard.git","type":"git"},"_npmVersion":"11.6.2","description":"Pixel-perfect skeleton loading screens. Wrap your component in <Skeleton> and boneyard snapshots the real DOM layout — no manual descriptors, no configuration.","directories":{},"_nodeVersion":"25.2.1","dependencies":{"playwright":"^1.58.2"},"typesVersions":{">4.0":{"vue":["./dist/vue.d.ts"],"vite":["./dist/vite.d.ts"],"index":["./dist/index.d.ts"],"react":["./dist/react.d.ts"],"layout":["./dist/layout.d.ts"],"preact":["./dist/preact.d.ts"],"svelte":["./dist/svelte.d.ts"],"angular":["./dist/angular.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"vite":"^6.0.0","react":"^19.0.0","canvas":"^3.2.2","svelte":"^5.39.6","happy-dom":"^20.8.9","react-dom":"^19.0.0","typescript":"^5.7.0","@types/node":"^22.19.15","@types/react":"^19.0.0","@vue/test-utils":"^2.4.6","@types/react-dom":"^19.0.0","@vue/compiler-sfc":"^3.5.32","@types/react-native":"^0.73.0","@vue/server-renderer":"^3.5.32"},"peerDependencies":{"vue":">=3","vite":">=5","react":">=18","preact":">=10","svelte":">=5.29","react-native":">=0.71","@angular/core":">=14"},"optionalDependencies":{"@chenglou/pretext":"^0.0.5"},"peerDependenciesMeta":{"vue":{"optional":true},"vite":{"optional":true},"react":{"optional":true},"preact":{"optional":true},"svelte":{"optional":true},"react-native":{"optional":true},"@angular/core":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boneyard-js_1.7.2_1775847224806_0.25720047961737413","host":"s3://npm-registry-packages-npm-production"}},"1.7.3":{"name":"boneyard-js","version":"1.7.3","keywords":["skeleton","skeleton-screen","loading","placeholder","react","react-native","vue","preact","angular","vite","vite-plugin","zero-layout-shift"],"license":"MIT","_id":"boneyard-js@1.7.3","maintainers":[{"name":"0xgf","email":"goodfutureofficial@gmail.com"}],"homepage":"https://boneyard.vercel.app","bugs":{"url":"https://github.com/0xGF/boneyard/issues"},"bin":{"boneyard-js":"bin/cli.js"},"dist":{"shasum":"c793e7b3afcffae82fba2c8c2a8daa7ab5744e40","tarball":"https://registry.npmjs.org/boneyard-js/-/boneyard-js-1.7.3.tgz","fileCount":42,"integrity":"sha512-tBGP4B+tkN3iCFkvbuqYDfmYF7DuHpy0X5jGYZpcufyBiYqW8YBmG2G2kdvpM0DmeNyJHYIS917cNbQabe5h5Q==","signatures":[{"sig":"MEUCIQCfUNA/lQT8+5SnVE1h0qZ5+kyUYUltzSL5HnRFeb7ufwIgb/E9wjb/BFN79DXh/O1DOCQA1E/iNCrFvlWo504ZJIg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":261788},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./vue":{"types":"./dist/vue.d.ts","import":"./dist/Skeleton.vue","default":"./dist/Skeleton.vue"},"./vite":{"types":"./dist/vite.d.ts","import":"./dist/vite.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js"},"./layout":{"types":"./dist/layout.d.ts","import":"./dist/layout.js"},"./native":{"types":"./dist/native.d.ts","default":"./dist/native.tsx"},"./preact":{"types":"./dist/preact.d.ts","import":"./dist/preact.tsx","default":"./dist/preact.tsx"},"./svelte":{"types":"./dist/svelte.d.ts","svelte":"./dist/Skeleton.svelte","default":"./dist/Skeleton.svelte"},"./angular":{"types":"./dist/angular.d.ts","import":"./dist/angular.ts","default":"./dist/angular.ts"},"./native-scan":{"types":"./dist/native-scan.d.ts","default":"./dist/native-scan.tsx"},"./react-native":{"types":"./dist/native.d.ts","default":"./dist/native.tsx"}},"gitHead":"a24287873ad4fd02b3227148b27dd4a266e221e9","scripts":{"test":"bun test","build":"tsc && npm run copy-svelte && npm run copy-native && npm run copy-vue && npm run copy-preact && npm run copy-angular","copy-vue":"cp src/Skeleton.vue dist/Skeleton.vue && cp src/vue.d.ts dist/vue.d.ts","benchmark":"bun run scripts/benchmark-layout.ts","copy-native":"cp src/native.tsx dist/native.tsx && cp src/native.d.ts dist/native.d.ts && cp src/react-native.tsx dist/react-native.tsx && cp src/native-scan.tsx dist/native-scan.tsx","copy-preact":"cp src/preact.tsx dist/preact.tsx && cp src/preact.d.ts dist/preact.d.ts","copy-svelte":"cp src/Skeleton.svelte dist/Skeleton.svelte && cp src/svelte.d.ts dist/svelte.d.ts","copy-angular":"cp src/angular.ts dist/angular.ts && cp src/angular.d.ts dist/angular.d.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"0xgf","email":"goodfutureofficial@gmail.com"},"repository":{"url":"git+https://github.com/0xGF/boneyard.git","type":"git"},"_npmVersion":"11.6.2","description":"Pixel-perfect skeleton loading screens. Wrap your component in <Skeleton> and boneyard snapshots the real DOM layout — no manual descriptors, no configuration.","directories":{},"_nodeVersion":"25.2.1","dependencies":{"playwright":"^1.58.2"},"typesVersions":{">4.0":{"vue":["./dist/vue.d.ts"],"vite":["./dist/vite.d.ts"],"index":["./dist/index.d.ts"],"react":["./dist/react.d.ts"],"layout":["./dist/layout.d.ts"],"preact":["./dist/preact.d.ts"],"svelte":["./dist/svelte.d.ts"],"angular":["./dist/angular.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"vite":"^6.0.0","react":"^19.0.0","canvas":"^3.2.2","svelte":"^5.39.6","happy-dom":"^20.8.9","react-dom":"^19.0.0","typescript":"^5.7.0","@types/node":"^22.19.15","@types/react":"^19.0.0","@vue/test-utils":"^2.4.6","@types/react-dom":"^19.0.0","@vue/compiler-sfc":"^3.5.32","@types/react-native":"^0.73.0","@vue/server-renderer":"^3.5.32"},"peerDependencies":{"vue":">=3","vite":">=5","react":">=18","preact":">=10","svelte":">=5.29","react-native":">=0.71","@angular/core":">=14"},"optionalDependencies":{"@chenglou/pretext":"^0.0.5"},"peerDependenciesMeta":{"vue":{"optional":true},"vite":{"optional":true},"react":{"optional":true},"preact":{"optional":true},"svelte":{"optional":true},"react-native":{"optional":true},"@angular/core":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boneyard-js_1.7.3_1775963313111_0.5476944622642923","host":"s3://npm-registry-packages-npm-production"}},"1.7.4":{"name":"boneyard-js","version":"1.7.4","keywords":["skeleton","skeleton-screen","loading","placeholder","react","react-native","vue","preact","angular","vite","vite-plugin","zero-layout-shift"],"license":"MIT","_id":"boneyard-js@1.7.4","maintainers":[{"name":"0xgf","email":"goodfutureofficial@gmail.com"}],"homepage":"https://boneyard.vercel.app","bugs":{"url":"https://github.com/0xGF/boneyard/issues"},"bin":{"boneyard-js":"bin/cli.js"},"dist":{"shasum":"5fefe31a99bacecc8b7cb2411abd267e7dc29a38","tarball":"https://registry.npmjs.org/boneyard-js/-/boneyard-js-1.7.4.tgz","fileCount":42,"integrity":"sha512-H93W+CpfOEJrRGqUXsP7xSWjUEkI8qjGw2OAo20fK2AKGKVd5yhsLWwAFJHJ3I1I/TBhgSxUZdx0P6r1wji1uw==","signatures":[{"sig":"MEQCIEvY5CvXs7NokWneubVvx+ttkwewO1Pu2Mc2LzZXrMv9AiBB3TycC5o39Hlv0M+qOdoujDW173wndTJdguaK9a7KeQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":263807},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./vue":{"types":"./dist/vue.d.ts","import":"./dist/Skeleton.vue","default":"./dist/Skeleton.vue"},"./vite":{"types":"./dist/vite.d.ts","import":"./dist/vite.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js"},"./layout":{"types":"./dist/layout.d.ts","import":"./dist/layout.js"},"./native":{"types":"./dist/native.d.ts","default":"./dist/native.tsx"},"./preact":{"types":"./dist/preact.d.ts","import":"./dist/preact.tsx","default":"./dist/preact.tsx"},"./svelte":{"types":"./dist/svelte.d.ts","svelte":"./dist/Skeleton.svelte","default":"./dist/Skeleton.svelte"},"./angular":{"types":"./dist/angular.d.ts","import":"./dist/angular.ts","default":"./dist/angular.ts"},"./native-scan":{"types":"./dist/native-scan.d.ts","default":"./dist/native-scan.tsx"},"./react-native":{"types":"./dist/native.d.ts","default":"./dist/native.tsx"}},"gitHead":"7afd9fef9d0cffe9e9840d082d6e01fb569a6a1a","scripts":{"test":"bun test","build":"tsc && npm run copy-svelte && npm run copy-native && npm run copy-vue && npm run copy-preact && npm run copy-angular","copy-vue":"cp src/Skeleton.vue dist/Skeleton.vue && cp src/vue.d.ts dist/vue.d.ts","benchmark":"bun run scripts/benchmark-layout.ts","copy-native":"cp src/native.tsx dist/native.tsx && cp src/native.d.ts dist/native.d.ts && cp src/react-native.tsx dist/react-native.tsx && cp src/native-scan.tsx dist/native-scan.tsx","copy-preact":"cp src/preact.tsx dist/preact.tsx && cp src/preact.d.ts dist/preact.d.ts","copy-svelte":"cp src/Skeleton.svelte dist/Skeleton.svelte && cp src/svelte.d.ts dist/svelte.d.ts","copy-angular":"cp src/angular.ts dist/angular.ts && cp src/angular.d.ts dist/angular.d.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"0xgf","email":"goodfutureofficial@gmail.com"},"repository":{"url":"git+https://github.com/0xGF/boneyard.git","type":"git"},"_npmVersion":"11.6.2","description":"Pixel-perfect skeleton loading screens. Wrap your component in <Skeleton> and boneyard snapshots the real DOM layout — no manual descriptors, no configuration.","directories":{},"_nodeVersion":"25.2.1","dependencies":{"playwright":"^1.58.2"},"typesVersions":{">4.0":{"vue":["./dist/vue.d.ts"],"vite":["./dist/vite.d.ts"],"index":["./dist/index.d.ts"],"react":["./dist/react.d.ts"],"layout":["./dist/layout.d.ts"],"preact":["./dist/preact.d.ts"],"svelte":["./dist/svelte.d.ts"],"angular":["./dist/angular.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"vite":"^6.0.0","react":"^19.0.0","canvas":"^3.2.2","svelte":"^5.39.6","happy-dom":"^20.8.9","react-dom":"^19.0.0","typescript":"^5.7.0","@types/node":"^22.19.15","@types/react":"^19.0.0","@vue/test-utils":"^2.4.6","@types/react-dom":"^19.0.0","@vue/compiler-sfc":"^3.5.32","@types/react-native":"^0.73.0","@vue/server-renderer":"^3.5.32"},"peerDependencies":{"vue":">=3","vite":">=5","react":">=18","preact":">=10","svelte":">=5.29","react-native":">=0.71","@angular/core":">=14"},"optionalDependencies":{"@chenglou/pretext":"^0.0.5"},"peerDependenciesMeta":{"vue":{"optional":true},"vite":{"optional":true},"react":{"optional":true},"preact":{"optional":true},"svelte":{"optional":true},"react-native":{"optional":true},"@angular/core":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boneyard-js_1.7.4_1776016293243_0.40694279913044085","host":"s3://npm-registry-packages-npm-production"}},"1.7.5":{"name":"boneyard-js","version":"1.7.5","keywords":["skeleton","skeleton-screen","loading","placeholder","react","react-native","vue","preact","angular","vite","vite-plugin","zero-layout-shift"],"license":"MIT","_id":"boneyard-js@1.7.5","maintainers":[{"name":"0xgf","email":"goodfutureofficial@gmail.com"}],"homepage":"https://boneyard.vercel.app","bugs":{"url":"https://github.com/0xGF/boneyard/issues"},"bin":{"boneyard-js":"bin/cli.js"},"dist":{"shasum":"ecee6a19437634bf4621c29d07c8bf22fc51b80c","tarball":"https://registry.npmjs.org/boneyard-js/-/boneyard-js-1.7.5.tgz","fileCount":42,"integrity":"sha512-O1GiJbi/RkwMQog13HAFNBZOqlz/yxsmOeHyNjJP/85RfvN7Vr7NcQMOVUZwmO7o4/I2hHaY8zSevFdirdS0vQ==","signatures":[{"sig":"MEUCIBbV+ty7ZSBnrg8CE0ChWltoe+tr2TcyQJjU6RfAE2P0AiEAhZBUmbN8mQljIX+1G3t7P0tBixNDf07MIZFsMHiVS+8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":263403},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./vue":{"types":"./dist/vue.d.ts","import":"./dist/Skeleton.vue","default":"./dist/Skeleton.vue"},"./vite":{"types":"./dist/vite.d.ts","import":"./dist/vite.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js"},"./layout":{"types":"./dist/layout.d.ts","import":"./dist/layout.js"},"./native":{"types":"./dist/native.d.ts","default":"./dist/native.tsx"},"./preact":{"types":"./dist/preact.d.ts","import":"./dist/preact.tsx","default":"./dist/preact.tsx"},"./svelte":{"types":"./dist/svelte.d.ts","svelte":"./dist/Skeleton.svelte","default":"./dist/Skeleton.svelte"},"./angular":{"types":"./dist/angular.d.ts","import":"./dist/angular.ts","default":"./dist/angular.ts"},"./native-scan":{"types":"./dist/native-scan.d.ts","default":"./dist/native-scan.tsx"},"./react-native":{"types":"./dist/native.d.ts","default":"./dist/native.tsx"}},"gitHead":"adcce7ec8f6aaf83529fff4345df92d258917dbe","scripts":{"test":"bun test","build":"tsc && npm run copy-svelte && npm run copy-native && npm run copy-vue && npm run copy-preact && npm run copy-angular","copy-vue":"cp src/Skeleton.vue dist/Skeleton.vue && cp src/vue.d.ts dist/vue.d.ts","benchmark":"bun run scripts/benchmark-layout.ts","copy-native":"cp src/native.tsx dist/native.tsx && cp src/native.d.ts dist/native.d.ts && cp src/react-native.tsx dist/react-native.tsx && cp src/native-scan.tsx dist/native-scan.tsx","copy-preact":"cp src/preact.tsx dist/preact.tsx && cp src/preact.d.ts dist/preact.d.ts","copy-svelte":"cp src/Skeleton.svelte dist/Skeleton.svelte && cp src/svelte.d.ts dist/svelte.d.ts","copy-angular":"cp src/angular.ts dist/angular.ts && cp src/angular.d.ts dist/angular.d.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"0xgf","email":"goodfutureofficial@gmail.com"},"repository":{"url":"git+https://github.com/0xGF/boneyard.git","type":"git"},"_npmVersion":"11.6.2","description":"Pixel-perfect skeleton loading screens. Wrap your component in <Skeleton> and boneyard snapshots the real DOM layout — no manual descriptors, no configuration.","directories":{},"_nodeVersion":"25.2.1","dependencies":{"playwright":"^1.58.2"},"typesVersions":{">4.0":{"vue":["./dist/vue.d.ts"],"vite":["./dist/vite.d.ts"],"index":["./dist/index.d.ts"],"react":["./dist/react.d.ts"],"layout":["./dist/layout.d.ts"],"preact":["./dist/preact.d.ts"],"svelte":["./dist/svelte.d.ts"],"angular":["./dist/angular.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"vite":"^6.0.0","react":"^19.0.0","canvas":"^3.2.2","svelte":"^5.39.6","happy-dom":"^20.8.9","react-dom":"^19.0.0","typescript":"^5.7.0","@types/node":"^22.19.15","@types/react":"^19.0.0","@vue/test-utils":"^2.4.6","@types/react-dom":"^19.0.0","@vue/compiler-sfc":"^3.5.32","@types/react-native":"^0.73.0","@vue/server-renderer":"^3.5.32"},"peerDependencies":{"vue":">=3","vite":">=5","react":">=18","preact":">=10","svelte":">=5.29","react-native":">=0.71","@angular/core":">=14"},"optionalDependencies":{"@chenglou/pretext":"^0.0.5"},"peerDependenciesMeta":{"vue":{"optional":true},"vite":{"optional":true},"react":{"optional":true},"preact":{"optional":true},"svelte":{"optional":true},"react-native":{"optional":true},"@angular/core":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boneyard-js_1.7.5_1776019184036_0.20617605347547685","host":"s3://npm-registry-packages-npm-production"}},"1.7.6":{"name":"boneyard-js","version":"1.7.6","keywords":["skeleton","skeleton-screen","loading","placeholder","react","react-native","vue","preact","angular","vite","vite-plugin","zero-layout-shift"],"license":"MIT","_id":"boneyard-js@1.7.6","maintainers":[{"name":"0xgf","email":"goodfutureofficial@gmail.com"}],"homepage":"https://boneyard.vercel.app","bugs":{"url":"https://github.com/0xGF/boneyard/issues"},"bin":{"boneyard-js":"bin/cli.js"},"dist":{"shasum":"9e907811876493bcffaf1fa2c6b64c7010b4d85b","tarball":"https://registry.npmjs.org/boneyard-js/-/boneyard-js-1.7.6.tgz","fileCount":42,"integrity":"sha512-9K3+cD684J131itS2iUI1+dsWqE7K3hSZid0nyXeBxtSTWQTFSpnGM7xmup16QwtmeGR70MPvpzluhA2Nl5LuQ==","signatures":[{"sig":"MEUCIFu14PnkhjLobr4FOLxMtHVe7rtYO4Voo7g1M2PKB95sAiEAxbugvGaXVg446ONZ9AoFYIAeaxs9y47a5Ti+OmxxIzU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":271701},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./vue":{"types":"./dist/vue.d.ts","import":"./dist/Skeleton.vue","default":"./dist/Skeleton.vue"},"./vite":{"types":"./dist/vite.d.ts","import":"./dist/vite.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js"},"./layout":{"types":"./dist/layout.d.ts","import":"./dist/layout.js"},"./native":{"types":"./dist/native.d.ts","default":"./dist/native.tsx"},"./preact":{"types":"./dist/preact.d.ts","import":"./dist/preact.tsx","default":"./dist/preact.tsx"},"./svelte":{"types":"./dist/svelte.d.ts","svelte":"./dist/Skeleton.svelte","default":"./dist/Skeleton.svelte"},"./angular":{"types":"./dist/angular.d.ts","import":"./dist/angular.js","default":"./dist/angular.js"},"./native-scan":{"types":"./dist/native-scan.d.ts","default":"./dist/native-scan.tsx"},"./react-native":{"types":"./dist/native.d.ts","default":"./dist/native.tsx"}},"gitHead":"5af2aace1b6e921f10ad29195960450c2840f56d","scripts":{"test":"bun test","build":"tsc && npm run copy-svelte && npm run copy-native && npm run copy-vue && npm run copy-preact && npm run build-angular","copy-vue":"cp src/Skeleton.vue dist/Skeleton.vue && cp src/vue.d.ts dist/vue.d.ts","benchmark":"bun run scripts/benchmark-layout.ts","copy-native":"cp src/native.tsx dist/native.tsx && cp src/native.d.ts dist/native.d.ts && cp src/react-native.tsx dist/react-native.tsx && cp src/native-scan.tsx dist/native-scan.tsx","copy-preact":"cp src/preact.tsx dist/preact.tsx && cp src/preact.d.ts dist/preact.d.ts","copy-svelte":"cp src/Skeleton.svelte dist/Skeleton.svelte && cp src/svelte.d.ts dist/svelte.d.ts","build-angular":"ngc -p tsconfig.angular.json && cp dist/.angular-build/angular.js dist/angular.js && cp dist/.angular-build/angular.d.ts dist/angular.d.ts && rm -rf dist/.angular-build","prepublishOnly":"npm run build"},"_npmUser":{"name":"0xgf","email":"goodfutureofficial@gmail.com"},"repository":{"url":"git+https://github.com/0xGF/boneyard.git","type":"git"},"_npmVersion":"11.6.2","description":"Pixel-perfect skeleton loading screens. Wrap your component in <Skeleton> and boneyard snapshots the real DOM layout — no manual descriptors, no configuration.","directories":{},"_nodeVersion":"25.2.1","dependencies":{"playwright":"^1.58.2"},"typesVersions":{">4.0":{"vue":["./dist/vue.d.ts"],"vite":["./dist/vite.d.ts"],"index":["./dist/index.d.ts"],"react":["./dist/react.d.ts"],"layout":["./dist/layout.d.ts"],"preact":["./dist/preact.d.ts"],"svelte":["./dist/svelte.d.ts"],"angular":["./dist/angular.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"vite":"^6.0.0","react":"^19.0.0","canvas":"^3.2.2","svelte":"^5.39.6","happy-dom":"^20.8.9","react-dom":"^19.0.0","typescript":"^5.7.0","@types/node":"^22.19.15","@types/react":"^19.0.0","@angular/core":"^21.0.0","@angular/common":"^21.0.0","@vue/test-utils":"^2.4.6","@types/react-dom":"^19.0.0","@angular/compiler":"^21.0.0","@vue/compiler-sfc":"^3.5.32","@types/react-native":"^0.73.0","@vue/server-renderer":"^3.5.32","@angular/compiler-cli":"^21.0.0"},"peerDependencies":{"vue":">=3","vite":">=5","react":">=18","preact":">=10","svelte":">=5.29","react-native":">=0.71","@angular/core":">=14"},"optionalDependencies":{"@chenglou/pretext":"^0.0.5"},"peerDependenciesMeta":{"vue":{"optional":true},"vite":{"optional":true},"react":{"optional":true},"preact":{"optional":true},"svelte":{"optional":true},"react-native":{"optional":true},"@angular/core":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boneyard-js_1.7.6_1776101789440_0.734931432912779","host":"s3://npm-registry-packages-npm-production"}},"1.7.7":{"name":"boneyard-js","version":"1.7.7","keywords":["skeleton","skeleton-screen","loading","placeholder","react","react-native","vue","preact","angular","vite","vite-plugin","zero-layout-shift"],"license":"MIT","_id":"boneyard-js@1.7.7","maintainers":[{"name":"0xgf","email":"goodfutureofficial@gmail.com"}],"homepage":"https://boneyard.vercel.app","bugs":{"url":"https://github.com/0xGF/boneyard/issues"},"bin":{"boneyard-js":"bin/cli.js"},"dist":{"shasum":"8b5e4f47f66cf2a4b4d91891eb742c14efcad2a1","tarball":"https://registry.npmjs.org/boneyard-js/-/boneyard-js-1.7.7.tgz","fileCount":44,"integrity":"sha512-/xWx9Okv73pfdFLHS8oQw4SkPBDJN1OxDSIb3bMY2LI/t50a5qHkJNLm6/GeFpaahTSVJQKG7p6kgisheDsGFg==","signatures":[{"sig":"MEUCIH9Tw8LURlBporUidt9rzmR3k8/HUv5q14wfTUr3Fd/jAiEAlVHgr0SVpQ+aUxGBJ9heUeIZO4JY5DX2zlMEQd9LLfQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":275131},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./vue":{"types":"./dist/vue.d.ts","import":"./dist/Skeleton.vue","default":"./dist/Skeleton.vue"},"./vite":{"types":"./dist/vite.d.ts","import":"./dist/vite.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js"},"./layout":{"types":"./dist/layout.d.ts","import":"./dist/layout.js"},"./native":{"types":"./dist/native.d.ts","default":"./dist/native.tsx"},"./preact":{"types":"./dist/preact.d.ts","import":"./dist/preact.tsx","default":"./dist/preact.tsx"},"./svelte":{"types":"./dist/svelte.d.ts","svelte":"./dist/Skeleton.svelte","default":"./dist/Skeleton.svelte"},"./angular":{"types":"./dist/angular.d.ts","import":"./dist/angular.js","default":"./dist/angular.js"},"./native-scan":{"types":"./dist/native-scan.d.ts","default":"./dist/native-scan.tsx"},"./react-native":{"types":"./dist/native.d.ts","default":"./dist/native.tsx"}},"gitHead":"83e275cd0106eb5ecf7274436e2949b5cf8bb548","scripts":{"test":"bun test","build":"tsc && npm run copy-svelte && npm run copy-native && npm run copy-vue && npm run copy-preact && npm run build-angular","copy-vue":"cp src/Skeleton.vue dist/Skeleton.vue && cp src/vue.d.ts dist/vue.d.ts","benchmark":"bun run scripts/benchmark-layout.ts","copy-native":"cp src/native.tsx dist/native.tsx && cp src/native.d.ts dist/native.d.ts && cp src/react-native.tsx dist/react-native.tsx && cp src/native-scan.tsx dist/native-scan.tsx","copy-preact":"cp src/preact.tsx dist/preact.tsx && cp src/preact.d.ts dist/preact.d.ts","copy-svelte":"cp src/Skeleton.svelte dist/Skeleton.svelte && cp src/svelte.d.ts dist/svelte.d.ts","build-angular":"ngc -p tsconfig.angular.json && cp dist/.angular-build/angular.js dist/angular.js && cp dist/.angular-build/angular.d.ts dist/angular.d.ts && rm -rf dist/.angular-build","prepublishOnly":"npm run build"},"_npmUser":{"name":"0xgf","email":"goodfutureofficial@gmail.com"},"repository":{"url":"git+https://github.com/0xGF/boneyard.git","type":"git"},"_npmVersion":"11.6.2","description":"Pixel-perfect skeleton loading screens. Wrap your component in <Skeleton> and boneyard snapshots the real DOM layout — no manual descriptors, no configuration.","directories":{},"_nodeVersion":"25.2.1","dependencies":{"playwright":"^1.58.2"},"typesVersions":{">4.0":{"vue":["./dist/vue.d.ts"],"vite":["./dist/vite.d.ts"],"index":["./dist/index.d.ts"],"react":["./dist/react.d.ts"],"layout":["./dist/layout.d.ts"],"preact":["./dist/preact.d.ts"],"svelte":["./dist/svelte.d.ts"],"angular":["./dist/angular.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"vite":"^6.0.0","react":"^19.0.0","canvas":"^3.2.2","svelte":"^5.39.6","happy-dom":"^20.8.9","react-dom":"^19.0.0","typescript":"^5.7.0","@types/node":"^22.19.15","@types/react":"^19.0.0","@angular/core":"^21.0.0","@angular/common":"^21.0.0","@vue/test-utils":"^2.4.6","@types/react-dom":"^19.0.0","@angular/compiler":"^21.0.0","@vue/compiler-sfc":"^3.5.32","@types/react-native":"^0.73.0","@vue/server-renderer":"^3.5.32","@angular/compiler-cli":"^21.0.0"},"peerDependencies":{"vue":">=3","vite":">=5","react":">=18","preact":">=10","svelte":">=5.29","react-native":">=0.71","@angular/core":">=14"},"optionalDependencies":{"@chenglou/pretext":"^0.0.5"},"peerDependenciesMeta":{"vue":{"optional":true},"vite":{"optional":true},"react":{"optional":true},"preact":{"optional":true},"svelte":{"optional":true},"react-native":{"optional":true},"@angular/core":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boneyard-js_1.7.7_1776260491107_0.9569418231544182","host":"s3://npm-registry-packages-npm-production"}},"1.7.9":{"name":"boneyard-js","version":"1.7.9","keywords":["skeleton","skeleton-screen","loading","placeholder","react","react-native","vue","preact","angular","vite","vite-plugin","zero-layout-shift"],"license":"MIT","_id":"boneyard-js@1.7.9","maintainers":[{"name":"0xgf","email":"goodfutureofficial@gmail.com"}],"homepage":"https://boneyard.vercel.app","bugs":{"url":"https://github.com/0xGF/boneyard/issues"},"bin":{"boneyard-js":"bin/cli.js"},"dist":{"shasum":"2c4cea2a099c5a92fdf0e991f5ca6cc78f56e770","tarball":"https://registry.npmjs.org/boneyard-js/-/boneyard-js-1.7.9.tgz","fileCount":44,"integrity":"sha512-yBaq6UIzMbG1RcCNTgi3sVXJSj3GGbwlcDhemqQKFrWHRDpp8N50sPkD18hwNB58zqnnvOWP2ZvIghcV5Bq0bw==","signatures":[{"sig":"MEUCIENWDfrPqeYVEi2N9bh9+HOJIXNXt6CopV5mZ6c0ngu8AiEAlpqzx4y3BHgoBbg7Rp5gAD2EpAf9uB9sodnJEIWokQ4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":279484},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./vue":{"types":"./dist/vue.d.ts","import":"./dist/Skeleton.vue","default":"./dist/Skeleton.vue"},"./vite":{"types":"./dist/vite.d.ts","import":"./dist/vite.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js"},"./layout":{"types":"./dist/layout.d.ts","import":"./dist/layout.js"},"./native":{"types":"./dist/native.d.ts","default":"./dist/native.tsx"},"./preact":{"types":"./dist/preact.d.ts","import":"./dist/preact.tsx","default":"./dist/preact.tsx"},"./svelte":{"types":"./dist/svelte.d.ts","svelte":"./dist/Skeleton.svelte","default":"./dist/Skeleton.svelte"},"./angular":{"types":"./dist/angular.d.ts","import":"./dist/angular.js","default":"./dist/angular.js"},"./native-scan":{"types":"./dist/native-scan.d.ts","default":"./dist/native-scan.tsx"},"./react-native":{"types":"./dist/native.d.ts","default":"./dist/native.tsx"}},"gitHead":"230690c83341edf0f5772caee2bcbb3beb3daa3b","scripts":{"test":"bun test","build":"tsc && npm run copy-svelte && npm run copy-native && npm run copy-vue && npm run copy-preact && npm run build-angular","copy-vue":"cp src/Skeleton.vue dist/Skeleton.vue && cp src/vue.d.ts dist/vue.d.ts","benchmark":"bun run scripts/benchmark-layout.ts","copy-native":"cp src/native.tsx dist/native.tsx && cp src/native.d.ts dist/native.d.ts && cp src/react-native.tsx dist/react-native.tsx && cp src/native-scan.tsx dist/native-scan.tsx","copy-preact":"cp src/preact.tsx dist/preact.tsx && cp src/preact.d.ts dist/preact.d.ts","copy-svelte":"cp src/Skeleton.svelte dist/Skeleton.svelte && cp src/svelte.d.ts dist/svelte.d.ts","build-angular":"ngc -p tsconfig.angular.json && cp dist/.angular-build/angular.js dist/angular.js && cp dist/.angular-build/angular.d.ts dist/angular.d.ts && rm -rf dist/.angular-build","prepublishOnly":"npm run build"},"_npmUser":{"name":"0xgf","email":"goodfutureofficial@gmail.com"},"repository":{"url":"git+https://github.com/0xGF/boneyard.git","type":"git"},"_npmVersion":"11.6.2","description":"Pixel-perfect skeleton loading screens. Wrap your component in <Skeleton> and boneyard snapshots the real DOM layout — no manual descriptors, no configuration.","directories":{},"_nodeVersion":"25.2.1","dependencies":{"playwright":"^1.58.2"},"typesVersions":{">4.0":{"vue":["./dist/vue.d.ts"],"vite":["./dist/vite.d.ts"],"index":["./dist/index.d.ts"],"react":["./dist/react.d.ts"],"layout":["./dist/layout.d.ts"],"preact":["./dist/preact.d.ts"],"svelte":["./dist/svelte.d.ts"],"angular":["./dist/angular.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"vite":"^6.0.0","react":"^19.0.0","canvas":"^3.2.2","svelte":"^5.39.6","happy-dom":"^20.8.9","react-dom":"^19.0.0","typescript":"^5.7.0","@types/node":"^22.19.15","@types/react":"^19.0.0","@angular/core":"^21.0.0","@angular/common":"^21.0.0","@vue/test-utils":"^2.4.6","@types/react-dom":"^19.0.0","@angular/compiler":"^21.0.0","@vue/compiler-sfc":"^3.5.32","@types/react-native":"^0.73.0","@vue/server-renderer":"^3.5.32","@angular/compiler-cli":"^21.0.0"},"peerDependencies":{"vue":">=3","vite":">=5","react":">=18","preact":">=10","svelte":">=5.29","react-native":">=0.71","@angular/core":">=14"},"optionalDependencies":{"@chenglou/pretext":"^0.0.5"},"peerDependenciesMeta":{"vue":{"optional":true},"vite":{"optional":true},"react":{"optional":true},"preact":{"optional":true},"svelte":{"optional":true},"react-native":{"optional":true},"@angular/core":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boneyard-js_1.7.9_1776866662252_0.20551586293467317","host":"s3://npm-registry-packages-npm-production"}},"1.8.0":{"name":"boneyard-js","version":"1.8.0","keywords":["skeleton","skeleton-screen","loading","placeholder","react","react-native","vue","preact","angular","vite","vite-plugin","zero-layout-shift"],"license":"MIT","_id":"boneyard-js@1.8.0","maintainers":[{"name":"0xgf","email":"goodfutureofficial@gmail.com"}],"homepage":"https://boneyard.vercel.app","bugs":{"url":"https://github.com/0xGF/boneyard/issues"},"bin":{"boneyard-js":"bin/cli.js"},"dist":{"shasum":"d98dd09a3f72e97ed413dc943ebe1671f18b7e26","tarball":"https://registry.npmjs.org/boneyard-js/-/boneyard-js-1.8.0.tgz","fileCount":45,"integrity":"sha512-28eHBd4C+Z9BModokk99F0rJtsQeC0PFZv9QEEACWVMPOeZm8eHSC0fy0Qvg1QkIEaIYOqOHZrblb+3odm+2mw==","signatures":[{"sig":"MEQCIF5seaf6QiEKEkmwsN1GQbz7Bq/RApbF0vSrrD6lO42cAiB9iWrUEBffCpzw0gLdftRwplDkPSV1/SpLusmuV4eEFA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":291072},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./vue":{"types":"./dist/vue.d.ts","import":"./dist/Skeleton.vue","default":"./dist/Skeleton.vue"},"./vite":{"types":"./dist/vite.d.ts","import":"./dist/vite.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js"},"./layout":{"types":"./dist/layout.d.ts","import":"./dist/layout.js"},"./native":{"types":"./dist/native.d.ts","default":"./dist/native.tsx"},"./preact":{"types":"./dist/preact.d.ts","import":"./dist/preact.tsx","default":"./dist/preact.tsx"},"./svelte":{"types":"./dist/svelte.d.ts","svelte":"./dist/Skeleton.svelte","default":"./dist/Skeleton.svelte"},"./angular":{"types":"./dist/angular.d.ts","import":"./dist/angular.js","default":"./dist/angular.js"},"./native-scan":{"types":"./dist/native-scan.d.ts","default":"./dist/native-scan.tsx"},"./react-native":{"types":"./dist/native.d.ts","default":"./dist/native.tsx"}},"gitHead":"b11684da9cf7db816b68b0013978dae178acddf4","scripts":{"test":"bun test","build":"tsc && npm run copy-svelte && npm run copy-native && npm run copy-vue && npm run copy-preact && npm run build-angular","copy-vue":"cp src/Skeleton.vue dist/Skeleton.vue && cp src/vue.d.ts dist/vue.d.ts","benchmark":"bun run scripts/benchmark-layout.ts","copy-native":"cp src/native.tsx dist/native.tsx && cp src/native.d.ts dist/native.d.ts && cp src/react-native.tsx dist/react-native.tsx && cp src/native-scan.tsx dist/native-scan.tsx","copy-preact":"cp src/preact.tsx dist/preact.tsx && cp src/preact.d.ts dist/preact.d.ts","copy-svelte":"cp src/Skeleton.svelte dist/Skeleton.svelte && cp src/svelte.d.ts dist/svelte.d.ts","build-angular":"ngc -p tsconfig.angular.json && cp dist/.angular-build/angular.js dist/angular.js && cp dist/.angular-build/angular.d.ts dist/angular.d.ts && rm -rf dist/.angular-build","prepublishOnly":"npm run build"},"_npmUser":{"name":"0xgf","email":"goodfutureofficial@gmail.com"},"repository":{"url":"git+https://github.com/0xGF/boneyard.git","type":"git"},"_npmVersion":"11.6.2","description":"Pixel-perfect skeleton loading screens. Wrap your component in <Skeleton> and boneyard snapshots the real DOM layout — no manual descriptors, no configuration.","directories":{},"_nodeVersion":"25.2.1","dependencies":{"playwright":"^1.58.2"},"typesVersions":{">4.0":{"vue":["./dist/vue.d.ts"],"vite":["./dist/vite.d.ts"],"index":["./dist/index.d.ts"],"react":["./dist/react.d.ts"],"layout":["./dist/layout.d.ts"],"preact":["./dist/preact.d.ts"],"svelte":["./dist/svelte.d.ts"],"angular":["./dist/angular.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"vite":"^6.0.0","react":"^19.0.0","canvas":"^3.2.2","svelte":"^5.39.6","happy-dom":"^20.8.9","react-dom":"^19.0.0","typescript":"^5.7.0","@types/node":"^22.19.15","@types/react":"^19.0.0","@angular/core":"^21.0.0","@angular/common":"^21.0.0","@vue/test-utils":"^2.4.6","@types/react-dom":"^19.0.0","@angular/compiler":"^21.0.0","@vue/compiler-sfc":"^3.5.32","@types/react-native":"^0.73.0","@vue/server-renderer":"^3.5.32","@angular/compiler-cli":"^21.0.0"},"peerDependencies":{"vue":">=3","vite":">=5","react":">=18","preact":">=10","svelte":">=5.29","react-native":">=0.71","@angular/core":">=14"},"optionalDependencies":{"@chenglou/pretext":"^0.0.5"},"peerDependenciesMeta":{"vue":{"optional":true},"vite":{"optional":true},"react":{"optional":true},"preact":{"optional":true},"svelte":{"optional":true},"react-native":{"optional":true},"@angular/core":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boneyard-js_1.8.0_1776915452040_0.7162738068608656","host":"s3://npm-registry-packages-npm-production"}},"1.8.1":{"name":"boneyard-js","version":"1.8.1","keywords":["skeleton","skeleton-screen","loading","placeholder","react","react-native","vue","preact","angular","vite","vite-plugin","zero-layout-shift"],"license":"MIT","_id":"boneyard-js@1.8.1","maintainers":[{"name":"0xgf","email":"goodfutureofficial@gmail.com"}],"homepage":"https://boneyard.vercel.app","bugs":{"url":"https://github.com/0xGF/boneyard/issues"},"bin":{"boneyard-js":"bin/cli.js"},"dist":{"shasum":"d754f766000c4e2dcda11bacaf18c116796484c5","tarball":"https://registry.npmjs.org/boneyard-js/-/boneyard-js-1.8.1.tgz","fileCount":46,"integrity":"sha512-tnffA34xFgGSKpQ6QXebalkz2g/rMRAUIh3S0OBoPTK+OgYR3QEQvD3fHGKNQDbCTjn3W7dgNfiBhZGpnqlcNg==","signatures":[{"sig":"MEUCIHAeX5Xj46SGN73KCO1A/bXTcObkz7njQX8ZQBMxB3GxAiEAolhWD91rPrfUmLoAf8XsEP67yzlTXmt5t72dSqw1c5E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":297287},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./vue":{"types":"./dist/vue.d.ts","import":"./dist/Skeleton.vue","default":"./dist/Skeleton.vue"},"./vite":{"types":"./dist/vite.d.ts","import":"./dist/vite.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js"},"./layout":{"types":"./dist/layout.d.ts","import":"./dist/layout.js"},"./native":{"types":"./dist/native.d.ts","default":"./dist/native.tsx"},"./preact":{"types":"./dist/preact.d.ts","import":"./dist/preact.tsx","default":"./dist/preact.tsx"},"./svelte":{"types":"./dist/svelte.d.ts","svelte":"./dist/Skeleton.svelte","default":"./dist/Skeleton.svelte"},"./angular":{"types":"./dist/angular.d.ts","import":"./dist/angular.js","default":"./dist/angular.js"},"./native-scan":{"types":"./dist/native-scan.d.ts","default":"./dist/native-scan.tsx"},"./react-native":{"types":"./dist/native.d.ts","default":"./dist/native.tsx"}},"gitHead":"170ea7b52ee4a7cf711c146d773835435916f6f6","scripts":{"test":"bun test","build":"tsc && npm run copy-svelte && npm run copy-native && npm run copy-vue && npm run copy-preact && npm run build-angular","copy-vue":"cp src/Skeleton.vue dist/Skeleton.vue && cp src/vue.d.ts dist/vue.d.ts","benchmark":"bun run scripts/benchmark-layout.ts","copy-native":"cp src/native.tsx dist/native.tsx && cp src/native.d.ts dist/native.d.ts && cp src/react-native.tsx dist/react-native.tsx && cp src/native-scan.tsx dist/native-scan.tsx","copy-preact":"cp src/preact.tsx dist/preact.tsx && cp src/preact.d.ts dist/preact.d.ts","copy-svelte":"cp src/Skeleton.svelte dist/Skeleton.svelte && cp src/svelte.d.ts dist/svelte.d.ts","build-angular":"ngc -p tsconfig.angular.json && cp dist/.angular-build/angular.js dist/angular.js && cp dist/.angular-build/angular.d.ts dist/angular.d.ts && rm -rf dist/.angular-build","prepublishOnly":"npm run build"},"_npmUser":{"name":"0xgf","email":"goodfutureofficial@gmail.com"},"repository":{"url":"git+https://github.com/0xGF/boneyard.git","type":"git"},"_npmVersion":"11.6.2","description":"Pixel-perfect skeleton loading screens. Wrap your component in <Skeleton> and boneyard snapshots the real DOM layout — no manual descriptors, no configuration.","directories":{},"_nodeVersion":"25.2.1","dependencies":{"playwright":"^1.58.2"},"typesVersions":{">4.0":{"vue":["./dist/vue.d.ts"],"vite":["./dist/vite.d.ts"],"index":["./dist/index.d.ts"],"react":["./dist/react.d.ts"],"layout":["./dist/layout.d.ts"],"preact":["./dist/preact.d.ts"],"svelte":["./dist/svelte.d.ts"],"angular":["./dist/angular.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"vite":"^6.0.0","react":"^19.0.0","canvas":"^3.2.2","svelte":"^5.39.6","happy-dom":"^20.8.9","react-dom":"^19.0.0","typescript":"^5.7.0","@types/node":"^22.19.15","@types/react":"^19.0.0","@angular/core":"^21.0.0","@angular/common":"^21.0.0","@vue/test-utils":"^2.4.6","@types/react-dom":"^19.0.0","@angular/compiler":"^21.0.0","@vue/compiler-sfc":"^3.5.32","@types/react-native":"^0.73.0","@vue/server-renderer":"^3.5.32","@angular/compiler-cli":"^21.0.0"},"peerDependencies":{"vue":">=3","vite":">=5","react":">=18","preact":">=10","svelte":">=5.29","react-native":">=0.71","@angular/core":">=14"},"optionalDependencies":{"@chenglou/pretext":"^0.0.5"},"peerDependenciesMeta":{"vue":{"optional":true},"vite":{"optional":true},"react":{"optional":true},"preact":{"optional":true},"svelte":{"optional":true},"react-native":{"optional":true},"@angular/core":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boneyard-js_1.8.1_1776960830813_0.007320108676336146","host":"s3://npm-registry-packages-npm-production"}},"1.8.2":{"name":"boneyard-js","version":"1.8.2","keywords":["skeleton","skeleton-screen","loading","placeholder","react","react-native","vue","preact","angular","vite","vite-plugin","zero-layout-shift"],"license":"MIT","_id":"boneyard-js@1.8.2","maintainers":[{"name":"0xgf","email":"goodfutureofficial@gmail.com"}],"homepage":"https://boneyard.vercel.app","bugs":{"url":"https://github.com/0xGF/boneyard/issues"},"bin":{"boneyard-js":"bin/cli.js"},"dist":{"shasum":"991b08eb1337c859e8946c96b4f4891092c2fc77","tarball":"https://registry.npmjs.org/boneyard-js/-/boneyard-js-1.8.2.tgz","fileCount":46,"integrity":"sha512-8EIA+kXM0ED76J0SQq+2PQHdi7fb/1bVpWsaqgSakVmbom83WvLLvSbUeOBfGSy5hNzXYjoUyQ8ibVyqfu/LYA==","signatures":[{"sig":"MEYCIQDV1h63OunK9aTqIBNCWM7Tste1Oj8/FHlZqeUkAF5D3gIhAOmRPJUPE/fFOSFtheyrJvLOSs52Sr5VK2LmeC4K6A8l","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":300338},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./vue":{"types":"./dist/vue.d.ts","import":"./dist/Skeleton.vue","default":"./dist/Skeleton.vue"},"./vite":{"types":"./dist/vite.d.ts","import":"./dist/vite.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js"},"./layout":{"types":"./dist/layout.d.ts","import":"./dist/layout.js"},"./native":{"types":"./dist/native.d.ts","default":"./dist/native.tsx"},"./preact":{"types":"./dist/preact.d.ts","import":"./dist/preact.tsx","default":"./dist/preact.tsx"},"./svelte":{"types":"./dist/svelte.d.ts","svelte":"./dist/Skeleton.svelte","default":"./dist/Skeleton.svelte"},"./angular":{"types":"./dist/angular.d.ts","import":"./dist/angular.js","default":"./dist/angular.js"},"./native-scan":{"types":"./dist/native-scan.d.ts","default":"./dist/native-scan.tsx"},"./react-native":{"types":"./dist/native.d.ts","default":"./dist/native.tsx"}},"gitHead":"6592a74de038c60ef491639def9114b917ea2ca5","scripts":{"test":"bun test","build":"tsc && npm run copy-svelte && npm run copy-native && npm run copy-vue && npm run copy-preact && npm run build-angular","copy-vue":"cp src/Skeleton.vue dist/Skeleton.vue && cp src/vue.d.ts dist/vue.d.ts","benchmark":"bun run scripts/benchmark-layout.ts","copy-native":"cp src/native.tsx dist/native.tsx && cp src/native.d.ts dist/native.d.ts && cp src/react-native.tsx dist/react-native.tsx && cp src/native-scan.tsx dist/native-scan.tsx","copy-preact":"cp src/preact.tsx dist/preact.tsx && cp src/preact.d.ts dist/preact.d.ts","copy-svelte":"cp src/Skeleton.svelte dist/Skeleton.svelte && cp src/svelte.d.ts dist/svelte.d.ts","build-angular":"ngc -p tsconfig.angular.json && cp dist/.angular-build/angular.js dist/angular.js && cp dist/.angular-build/angular.d.ts dist/angular.d.ts && rm -rf dist/.angular-build","prepublishOnly":"npm run build"},"_npmUser":{"name":"0xgf","email":"goodfutureofficial@gmail.com"},"repository":{"url":"git+https://github.com/0xGF/boneyard.git","type":"git"},"_npmVersion":"11.6.2","description":"Pixel-perfect skeleton loading screens. Wrap your component in <Skeleton> and boneyard snapshots the real DOM layout — no manual descriptors, no configuration.","directories":{},"_nodeVersion":"25.2.1","dependencies":{"playwright":"^1.58.2"},"typesVersions":{">4.0":{"vue":["./dist/vue.d.ts"],"vite":["./dist/vite.d.ts"],"index":["./dist/index.d.ts"],"react":["./dist/react.d.ts"],"layout":["./dist/layout.d.ts"],"preact":["./dist/preact.d.ts"],"svelte":["./dist/svelte.d.ts"],"angular":["./dist/angular.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"vite":"^6.0.0","react":"^19.0.0","canvas":"^3.2.2","svelte":"^5.39.6","happy-dom":"^20.8.9","react-dom":"^19.0.0","typescript":"^5.7.0","@types/node":"^22.19.15","@types/react":"^19.0.0","@angular/core":"^21.0.0","@angular/common":"^21.0.0","@vue/test-utils":"^2.4.6","@types/react-dom":"^19.0.0","@angular/compiler":"^21.0.0","@vue/compiler-sfc":"^3.5.32","@types/react-native":"^0.73.0","@vue/server-renderer":"^3.5.32","@angular/compiler-cli":"^21.0.0"},"peerDependencies":{"vue":">=3","vite":">=5","react":">=18","preact":">=10","svelte":">=5.29","react-native":">=0.71","@angular/core":">=14"},"optionalDependencies":{"@chenglou/pretext":"^0.0.5"},"peerDependenciesMeta":{"vue":{"optional":true},"vite":{"optional":true},"react":{"optional":true},"preact":{"optional":true},"svelte":{"optional":true},"react-native":{"optional":true},"@angular/core":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boneyard-js_1.8.2_1782238155195_0.8564412598273878","host":"s3://npm-registry-packages-npm-production"}},"1.9.0":{"name":"boneyard-js","version":"1.9.0","keywords":["skeleton","skeleton-screen","loading","placeholder","react","react-native","vue","preact","angular","vite","vite-plugin","zero-layout-shift"],"license":"MIT","_id":"boneyard-js@1.9.0","maintainers":[{"name":"0xgf","email":"goodfutureofficial@gmail.com"}],"homepage":"https://boneyard.vercel.app","bugs":{"url":"https://github.com/0xGF/boneyard/issues"},"bin":{"boneyard-js":"bin/cli.js"},"dist":{"shasum":"9cdb7f2467be03845762004727deead62e34912c","tarball":"https://registry.npmjs.org/boneyard-js/-/boneyard-js-1.9.0.tgz","fileCount":46,"integrity":"sha512-FlIHm7YyQ6GMBPaNY6um5ESHNyZGONoSZ0IMhayuyemBsCUhhDl4nC/gMTOi/25ojtrlnRInTWKqFKb7hGK6Cg==","signatures":[{"sig":"MEUCIC/NaYQtBi2a/nFS2wZXvsfmFwIGxXcBEG5Om+rkol/fAiEAvN2k/5d7jseEX/ElsvWBW4ukcSL8If1PK5TSedfTqWk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":311549},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./vue":{"types":"./dist/vue.d.ts","import":"./dist/Skeleton.vue","default":"./dist/Skeleton.vue"},"./vite":{"types":"./dist/vite.d.ts","import":"./dist/vite.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js"},"./layout":{"types":"./dist/layout.d.ts","import":"./dist/layout.js"},"./native":{"types":"./dist/native.d.ts","default":"./dist/native.tsx"},"./preact":{"types":"./dist/preact.d.ts","import":"./dist/preact.tsx","default":"./dist/preact.tsx"},"./svelte":{"types":"./dist/svelte.d.ts","svelte":"./dist/Skeleton.svelte","default":"./dist/Skeleton.svelte"},"./angular":{"types":"./dist/angular.d.ts","import":"./dist/angular.js","default":"./dist/angular.js"},"./native-scan":{"types":"./dist/native-scan.d.ts","default":"./dist/native-scan.tsx"},"./react-native":{"types":"./dist/native.d.ts","default":"./dist/native.tsx"}},"gitHead":"64aa5c08741a020afe782571e2c65f396677709e","scripts":{"test":"bun test","build":"tsc && npm run copy-svelte && npm run copy-native && npm run copy-vue && npm run copy-preact && npm run build-angular","copy-vue":"cp src/Skeleton.vue dist/Skeleton.vue && cp src/vue.d.ts dist/vue.d.ts","benchmark":"bun run scripts/benchmark-layout.ts","copy-native":"cp src/native.tsx dist/native.tsx && cp src/native.d.ts dist/native.d.ts && cp src/react-native.tsx dist/react-native.tsx && cp src/native-scan.tsx dist/native-scan.tsx","copy-preact":"cp src/preact.tsx dist/preact.tsx && cp src/preact.d.ts dist/preact.d.ts","copy-svelte":"cp src/Skeleton.svelte dist/Skeleton.svelte && cp src/svelte.d.ts dist/svelte.d.ts","build-angular":"ngc -p tsconfig.angular.json && cp dist/.angular-build/angular.js dist/angular.js && cp dist/.angular-build/angular.d.ts dist/angular.d.ts && rm -rf dist/.angular-build","prepublishOnly":"npm run build"},"_npmUser":{"name":"0xgf","email":"goodfutureofficial@gmail.com"},"repository":{"url":"git+https://github.com/0xGF/boneyard.git","type":"git"},"_npmVersion":"11.6.2","description":"Pixel-perfect skeleton loading screens. Wrap your component in <Skeleton> and boneyard snapshots the real DOM layout — no manual descriptors, no configuration.","directories":{},"_nodeVersion":"25.2.1","dependencies":{"playwright":"^1.58.2"},"typesVersions":{">4.0":{"vue":["./dist/vue.d.ts"],"vite":["./dist/vite.d.ts"],"index":["./dist/index.d.ts"],"react":["./dist/react.d.ts"],"layout":["./dist/layout.d.ts"],"preact":["./dist/preact.d.ts"],"svelte":["./dist/svelte.d.ts"],"angular":["./dist/angular.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"vite":"^6.0.0","react":"^19.0.0","canvas":"^3.2.2","svelte":"^5.39.6","happy-dom":"^20.8.9","react-dom":"^19.0.0","typescript":"^5.7.0","@types/node":"^22.19.15","@types/react":"^19.0.0","@angular/core":"^21.0.0","@angular/common":"^21.0.0","@vue/test-utils":"^2.4.6","@types/react-dom":"^19.0.0","@angular/compiler":"^21.0.0","@vue/compiler-sfc":"^3.5.32","@types/react-native":"^0.73.0","@vue/server-renderer":"^3.5.32","@angular/compiler-cli":"^21.0.0"},"peerDependencies":{"vue":">=3","vite":">=5","react":">=18","preact":">=10","svelte":">=5.29","react-native":">=0.71","@angular/core":">=14"},"optionalDependencies":{"@chenglou/pretext":"^0.0.5"},"peerDependenciesMeta":{"vue":{"optional":true},"vite":{"optional":true},"react":{"optional":true},"preact":{"optional":true},"svelte":{"optional":true},"react-native":{"optional":true},"@angular/core":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/boneyard-js_1.9.0_1783444311231_0.280855893891353","host":"s3://npm-registry-packages-npm-production"}},"1.10.0":{"name":"boneyard-js","version":"1.10.0","description":"Pixel-perfect skeleton loading screens. Wrap your component in <Skeleton> and boneyard snapshots the real DOM layout — no manual descriptors, no configuration.","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./layout":{"types":"./dist/layout.d.ts","import":"./dist/layout.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js"},"./svelte":{"types":"./dist/svelte.d.ts","svelte":"./dist/Skeleton.svelte","default":"./dist/Skeleton.svelte"},"./vue":{"types":"./dist/vue.d.ts","import":"./dist/Skeleton.vue","default":"./dist/Skeleton.vue"},"./react-native":{"types":"./dist/native.d.ts","default":"./dist/native.tsx"},"./native":{"types":"./dist/native.d.ts","default":"./dist/native.tsx"},"./native-scan":{"types":"./dist/native-scan.d.ts","default":"./dist/native-scan.tsx"},"./preact":{"types":"./dist/preact.d.ts","import":"./dist/preact.tsx","default":"./dist/preact.tsx"},"./angular":{"types":"./dist/angular.d.ts","import":"./dist/angular.js","default":"./dist/angular.js"},"./vite":{"types":"./dist/vite.d.ts","import":"./dist/vite.js"},"./package.json":"./package.json"},"typesVersions":{">4.0":{"index":["./dist/index.d.ts"],"layout":["./dist/layout.d.ts"],"react":["./dist/react.d.ts"],"svelte":["./dist/svelte.d.ts"],"vue":["./dist/vue.d.ts"],"preact":["./dist/preact.d.ts"],"angular":["./dist/angular.d.ts"],"vite":["./dist/vite.d.ts"]}},"bin":{"boneyard-js":"bin/cli.js"},"scripts":{"build":"tsc && npm run copy-svelte && npm run copy-native && npm run copy-vue && npm run copy-preact && npm run build-angular","copy-svelte":"cp src/Skeleton.svelte dist/Skeleton.svelte && cp src/svelte.d.ts dist/svelte.d.ts","copy-native":"cp src/native.tsx dist/native.tsx && cp src/native.d.ts dist/native.d.ts && cp src/react-native.tsx dist/react-native.tsx && cp src/native-scan.tsx dist/native-scan.tsx","copy-vue":"cp src/Skeleton.vue dist/Skeleton.vue && cp src/vue.d.ts dist/vue.d.ts","copy-preact":"cp src/preact.tsx dist/preact.tsx && cp src/preact.d.ts dist/preact.d.ts","build-angular":"ngc -p tsconfig.angular.json && cp dist/.angular-build/angular.js dist/angular.js && cp dist/.angular-build/angular.d.ts dist/angular.d.ts && rm -rf dist/.angular-build","benchmark":"bun run scripts/benchmark-layout.ts","test":"bun test","prepublishOnly":"npm run build"},"keywords":["skeleton","skeleton-screen","loading","placeholder","react","react-native","vue","preact","angular","vite","vite-plugin","zero-layout-shift"],"license":"MIT","repository":{"type":"git","url":"git+https://github.com/0xGF/boneyard.git"},"homepage":"https://boneyard.vercel.app","optionalDependencies":{"@chenglou/pretext":"^0.0.5"},"peerDependencies":{"react":">=18","react-native":">=0.71","svelte":">=5.29","vue":">=3","preact":">=10","@angular/core":">=14","vite":">=5"},"peerDependenciesMeta":{"react":{"optional":true},"svelte":{"optional":true},"react-native":{"optional":true},"vue":{"optional":true},"preact":{"optional":true},"@angular/core":{"optional":true},"vite":{"optional":true}},"dependencies":{"playwright":"^1.58.2"},"devDependencies":{"@angular/common":"^21.0.0","@angular/compiler":"^21.0.0","@angular/compiler-cli":"^21.0.0","@angular/core":"^21.0.0","@types/node":"^22.19.15","@types/react":"^19.0.0","@types/react-dom":"^19.0.0","@types/react-native":"^0.73.0","@vue/compiler-sfc":"^3.5.32","@vue/server-renderer":"^3.5.32","@vue/test-utils":"^2.4.6","canvas":"^3.2.2","happy-dom":"^20.8.9","react":"^19.0.0","react-dom":"^19.0.0","svelte":"^5.39.6","typescript":"^5.7.0","vite":"^6.0.0"},"_id":"boneyard-js@1.10.0","bugs":{"url":"https://github.com/0xGF/boneyard/issues"},"_nodeVersion":"25.2.1","_npmVersion":"11.6.2","dist":{"integrity":"sha512-bHyZFdBHswa6Rt2aP0F1pNpPn4/lRcTMRWAt1d7tbFZLoPnwjztr6cmAVa/vaQwTOH9ETD3Lz4vW1iuvQDJNqg==","shasum":"b23f05d3576b246ddf2c585c6083c6cc0386c747","tarball":"https://registry.npmjs.org/boneyard-js/-/boneyard-js-1.10.0.tgz","fileCount":43,"unpackedSize":310362,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCICcWlwNh8iUHQ3sQnHdPmqf5wu9AjjQTY0DEzBnplS7XAiEArHTFJE3ZAOyT1IeNDqxri58nP7e+OPBnlVARyBGn4pg="}]},"_npmUser":{"name":"0xgf","email":"goodfutureofficial@gmail.com"},"directories":{},"maintainers":[{"name":"0xgf","email":"goodfutureofficial@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/boneyard-js_1.10.0_1788187382421_0.5872662338991168"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-01T20:58:56.526Z","modified":"2026-08-31T14:43:02.750Z","1.0.0":"2026-04-01T20:58:56.696Z","1.0.1":"2026-04-01T21:01:20.358Z","1.0.2":"2026-04-01T21:05:52.980Z","1.1.0":"2026-04-01T21:33:49.389Z","1.1.1":"2026-04-02T00:14:27.863Z","1.2.0":"2026-04-02T00:30:26.663Z","1.3.0":"2026-04-02T00:46:48.521Z","1.3.1":"2026-04-02T00:52:22.558Z","1.3.2":"2026-04-02T00:57:32.283Z","1.3.3":"2026-04-02T02:54:21.126Z","1.4.0":"2026-04-02T03:12:25.940Z","1.4.1":"2026-04-02T20:45:44.140Z","1.5.0":"2026-04-02T20:55:51.312Z","1.5.1":"2026-04-03T02:57:15.194Z","1.5.2":"2026-04-03T15:23:08.398Z","1.6.0":"2026-04-03T15:58:14.560Z","1.6.1":"2026-04-04T16:32:00.545Z","1.6.2":"2026-04-04T19:24:58.898Z","1.6.3":"2026-04-05T23:56:47.234Z","1.6.4":"2026-04-06T18:34:06.806Z","1.6.5":"2026-04-07T15:04:46.968Z","1.6.6":"2026-04-07T15:13:18.862Z","1.6.7":"2026-04-07T15:29:26.512Z","1.7.0":"2026-04-08T16:45:47.706Z","1.7.1":"2026-04-09T15:41:27.523Z","1.7.2":"2026-04-10T18:53:44.946Z","1.7.3":"2026-04-12T03:08:33.263Z","1.7.4":"2026-04-12T17:51:33.392Z","1.7.5":"2026-04-12T18:39:44.186Z","1.7.6":"2026-04-13T17:36:29.588Z","1.7.7":"2026-04-15T13:41:31.242Z","1.7.9":"2026-04-22T14:04:22.388Z","1.8.0":"2026-04-23T03:37:32.183Z","1.8.1":"2026-04-23T16:13:50.947Z","1.8.2":"2026-06-23T18:09:15.395Z","1.9.0":"2026-07-07T17:11:51.468Z","1.10.0":"2026-08-31T14:43:02.585Z"},"bugs":{"url":"https://github.com/0xGF/boneyard/issues"},"license":"MIT","homepage":"https://boneyard.vercel.app","keywords":["skeleton","skeleton-screen","loading","placeholder","react","react-native","vue","preact","angular","vite","vite-plugin","zero-layout-shift"],"repository":{"type":"git","url":"git+https://github.com/0xGF/boneyard.git"},"description":"Pixel-perfect skeleton loading screens. Wrap your component in <Skeleton> and boneyard snapshots the real DOM layout — no manual descriptors, no configuration.","maintainers":[{"name":"0xgf","email":"goodfutureofficial@gmail.com"}],"readme":"# boneyard\n\nPixel-perfect skeleton loading screens, extracted from your real DOM.\n\nWrap your component in `<Skeleton>`, run the CLI, and get positioned bone rectangles that match your actual layout. No manual sizing, no guesswork.\n\n## Quick start\n\n```bash\nnpm install boneyard-js\n```\n\n```tsx\nimport { Skeleton } from 'boneyard-js/react'\n\nfunction BlogPage() {\n  const { data, isLoading } = useFetch('/api/post')\n\n  return (\n    <Skeleton name=\"blog-card\" loading={isLoading}>\n      <BlogCard data={data} />\n    </Skeleton>\n  )\n}\n```\n\n```bash\nnpx boneyard-js build http://localhost:3000\n```\n\n```ts\n// app/layout.tsx — import once, all skeletons auto-resolve\nimport './bones/registry'\n```\n\n## Frameworks\n\n```tsx\n// React\nimport { Skeleton } from 'boneyard-js/react'\n\n// Preact\nimport { Skeleton } from 'boneyard-js/preact'\n\n// React Native\nimport { Skeleton } from 'boneyard-js/native'\n```\n\n```svelte\n<!-- Svelte -->\n<script lang=\"ts\">\n  import Skeleton from 'boneyard-js/svelte'\n</script>\n\n<Skeleton name=\"profile-card\" loading={isLoading}>\n  <ProfileCard />\n</Skeleton>\n```\n\n```vue\n<!-- Vue -->\n<script setup>\nimport Skeleton from 'boneyard-js/vue'\n</script>\n\n<Skeleton name=\"profile-card\" :loading=\"isLoading\">\n  <ProfileCard />\n</Skeleton>\n```\n\n```ts\n// Angular\nimport { SkeletonComponent } from 'boneyard-js/angular'\n```\n\n## Config\n\nCreate `boneyard.config.json` in your project root. Controls both the CLI and runtime defaults.\n\n```json\n{\n  \"breakpoints\": [375, 768, 1280],\n  \"out\": \"./src/bones\",\n\n  \"color\": \"#e5e5e5\",\n  \"darkColor\": \"#2a2a2a\",\n  \"animate\": \"shimmer\",\n  \"shimmerColor\": \"#ebebeb\",\n  \"darkShimmerColor\": \"#333333\",\n  \"speed\": \"2s\",\n  \"shimmerAngle\": 110\n}\n```\n\nAll color values accept any valid CSS color (hex, rgba, hsl, etc.).\n\n| Key | Default | Description |\n|-----|---------|-------------|\n| `breakpoints` | auto | Viewport widths for capture (auto-detects Tailwind) |\n| `out` | `./src/bones` | Output directory for `.bones.json` and `registry.js` |\n| `wait` | `800` | ms to wait after page load before capturing |\n| `color` | `#f0f0f0` | Bone fill color (light mode) |\n| `darkColor` | `#222222` | Bone fill color (dark mode) |\n| `animate` | `pulse` | `pulse`, `shimmer`, or `solid` |\n| `shimmerColor` | `#f7f7f7` | Shimmer highlight (light mode) |\n| `darkShimmerColor` | `#2c2c2c` | Shimmer highlight (dark mode) |\n| `speed` | `2s` / `1.8s` | Animation duration (shimmer / pulse) |\n| `shimmerAngle` | `110` | Shimmer gradient angle in degrees |\n| `stagger` | `false` | Delay between bones in ms (`true` = 80ms) |\n| `transition` | `false` | Fade out when loading ends in ms (`true` = 300ms) |\n| `select` | `container` | Width used to pick the responsive breakpoint: `container` (measured width) or `viewport` (`window.innerWidth`). Use `viewport` for app-shell layouts where the container is narrower than the window |\n| `url` | dev server | Capture origin for the Vite plugin, e.g. `https://myapp.dev` — use when the dev server sits behind a reverse proxy (portless, custom HTTPS origins) so auth cookies scoped to the real origin apply. Defaults to the server's own `localhost:<port>`. Also available as a `boneyardPlugin({ url })` option |\n\nPer-component props override config. Config overrides package defaults.\n\n## Fixtures\n\nWhen your component needs API data or auth to render, provide a fixture for the CLI to snapshot instead:\n\n```tsx\n<Skeleton\n  name=\"dashboard\"\n  loading={isLoading}\n  fixture={<DashboardFixture />}\n  snapshotConfig={{ leafTags: [\"section\"] }}\n>\n  <Dashboard data={data} />\n</Skeleton>\n```\n\nUse `leafTags` to treat elements as atomic bones — prevents the extractor from recursing into children and creating unwanted internal shapes. A leaf tag is atomic only while everything it holds is inline: `<p>Hello <strong>world</strong></p>` is one bone, but an `li` (or any listed tag) wrapping block-level content — a card inside a list item, say — is walked into like a container, so lists of cards keep their inner structure.\n\n## Dark mode\n\nDetected via the `.dark` class on `<html>` or any ancestor (standard Tailwind convention). Does **not** use `prefers-color-scheme` — gives you explicit control.\n\nWhen `.dark` is present, `darkColor` and `darkShimmerColor` are used automatically.\n\n## CLI\n\nThe `build` command (and the Vite plugin) drive a headless Chromium via [Playwright](https://playwright.dev) to snapshot your rendered UI. Playwright ships as a dependency of `boneyard-js`, so it's already in `node_modules` — but its **browser binary** is downloaded separately. Install it **once** before your first build:\n\n```bash\nnpx playwright install chromium\n```\n\n> Skipping this step is the most common first-run error. If Playwright reports a missing browser, run the command above. (Note: `playwright install` only works because Playwright is a dependency here — if you hit `Command \"playwright\" not found` in a strict pnpm/monorepo setup, use `npx playwright install chromium`.)\n\nPrefer not to download a browser — e.g. in CI, or to reuse your logged-in session? See [Reusing an existing browser](#reusing-an-existing-browser).\n\n```bash\nnpx boneyard-js build                              # auto-detect dev server\nnpx boneyard-js build http://localhost:3000         # explicit URL\nnpx boneyard-js build --out src/bones              # custom output\nnpx boneyard-js build --force                      # regenerate all\nnpx boneyard-js build --breakpoints 375,768,1280   # custom breakpoints\nnpx boneyard-js build --cookie \"session=abc123\"    # auth cookies\nnpx boneyard-js build --native --out ./bones       # React Native\n```\n\n### Reusing an existing browser\n\nInstead of launching (and downloading) Playwright's Chromium, boneyard can attach to a Chrome you're already running over the DevTools Protocol. This reuses your cookies and auth state, and skips the browser download — useful in CI or behind a login.\n\nChrome exposes two remote-debugging modes, and boneyard supports both:\n\n**Mode 1 — debug port (separate profile).** Launch Chrome with a debugging port. Since Chrome 136, `--remote-debugging-port` is ignored on the default profile, so a non-default `--user-data-dir` is required:\n\n```bash\n# 1. Fully quit Chrome, then start an isolated debugging profile:\ngoogle-chrome --remote-debugging-port=9222 --user-data-dir=/tmp/chrome-debug\n# macOS:\n/Applications/Google\\ Chrome.app/Contents/MacOS/Google\\ Chrome \\\n  --remote-debugging-port=9222 --user-data-dir=/tmp/chrome-debug\n\n# 2. CLI\nnpx boneyard-js build --cdp 9222\n\n# 2. …or the Vite plugin\n# boneyardPlugin({ cdp: 9222 })\n```\n\n**Mode 2 — attach to your normal running Chrome (Chrome 144+).** Enable `chrome://inspect/#remote-debugging` → *\"Allow remote debugging for this browser instance\"*. This mode doesn't expose the HTTP discovery endpoint (`/json/version` returns 404) — instead Chrome writes a WebSocket endpoint to `DevToolsActivePort` in your user data directory. Pass that full `ws://` endpoint to boneyard; Chrome will ask you to approve the incoming connection:\n\n```bash\n# macOS default profile — the file holds a port and a path, join them:\ncat ~/Library/Application\\ Support/Google/Chrome/DevToolsActivePort\n# → 9222\n# → /devtools/browser/<uuid>\n\nnpx boneyard-js build --cdp ws://127.0.0.1:9222/devtools/browser/<uuid>\n# or: boneyardPlugin({ cdp: 'ws://127.0.0.1:9222/devtools/browser/<uuid>' })\n```\n\n> A `404 when connecting to http://localhost:9222/json/version` means the port isn't exposing the DevTools HTTP endpoint — you're either on Chrome 136+ without `--user-data-dir` (Mode 1), or using the chrome://inspect toggle, which only exposes the WebSocket endpoint (use Mode 2's `ws://` form).\n\n## Layout APIs\n\nFor advanced use cases — SSR, responsive tooling, or rendering skeletons without the component.\n\n### `computeLayout(descriptor, width)`\n\n```ts\nimport { computeLayout } from 'boneyard-js'\n\nconst result = computeLayout(descriptor, 375)\n```\n\nThe first call compiles the descriptor tree and measures text nodes. Later calls with the same descriptor reuse the compiled tree.\n\n### `compileDescriptor(descriptor)` + `computeLayout(compiled, width)`\n\nExplicit control over compilation:\n\n```ts\nimport { compileDescriptor, computeLayout } from 'boneyard-js'\n\nconst compiled = compileDescriptor(descriptor)\n\nconst mobile  = computeLayout(compiled, 375)\nconst tablet  = computeLayout(compiled, 768)\nconst desktop = computeLayout(compiled, 1280)\n```\n\nUse `compileDescriptor` when you render the same skeleton at multiple breakpoints, keep a registry in memory, or want to benchmark cold vs hot performance.\n\nIf you mutate a descriptor in place, the engine detects the change and rebuilds automatically. To force an immediate rebuild, call `invalidateDescriptor(descriptor)`.\n\n## Docs\n\n[boneyard.vercel.app](https://boneyard.vercel.app)\n\n## License\n\nMIT\n","readmeFilename":"README.md"}