{"_id":"frame-master-plugin-apply-react","_rev":"28-a3954d3dc4f571a2fcd6267270e8c76b","name":"frame-master-plugin-apply-react","dist-tags":{"latest":"3.0.1"},"versions":{"0.1.0":{"name":"frame-master-plugin-apply-react","version":"0.1.0","_id":"frame-master-plugin-apply-react@0.1.0","maintainers":[{"name":"shpaw415","email":"shpaw415@gmail.com"}],"dist":{"shasum":"3cca4f2d1ffa7d0798b01f33a688be2d8b424178","tarball":"https://registry.npmjs.org/frame-master-plugin-apply-react/-/frame-master-plugin-apply-react-0.1.0.tgz","fileCount":12,"integrity":"sha512-Qa6JonFVaZMH/fpSi2qyK6zVRKwEy6O4K4CCCmx3DpOxXmjHAzGyLIHLPwh1CKkDoHHJIZnNxrRWNMMSce7NCA==","signatures":[{"sig":"MEUCIGVj8vWA7E4dNNZdbw0+N8eP6pyVy+xShtbD4bi+GfpgAiEAz7fYy/OmcJ6CakzlfNttsgfUSDzvuKNx/5Pin7OEsOs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":27141},"shasum":"3cca4f2d1ffa7d0798b01f33a688be2d8b424178","exports":{"./plugin":"./src/index.ts","./router":"./src/router.tsx"},"_npmUser":{"name":"shpaw415","email":"shpaw415@gmail.com"},"_integrity":"sha512-Qa6JonFVaZMH/fpSi2qyK6zVRKwEy6O4K4CCCmx3DpOxXmjHAzGyLIHLPwh1CKkDoHHJIZnNxrRWNMMSce7NCA==","_npmVersion":"10.8.3","directories":{},"_nodeVersion":"24.3.0","_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest","@types/react":"^19.2.2","@types/react-dom":"^19.2.2"},"peerDependencies":{"react":">=18.0.0 <20.0.0","react-dom":">=18.0.0 <20.0.0","typescript":"^5.9.3","frame-master":"^2.0.4"},"_npmOperationalInternal":{"tmp":"tmp/frame-master-plugin-apply-react_0.1.0_1762400200782_0.7899268594519835","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"frame-master-plugin-apply-react","version":"0.1.1","_id":"frame-master-plugin-apply-react@0.1.1","maintainers":[{"name":"shpaw415","email":"shpaw415@gmail.com"}],"dist":{"shasum":"9a13ef3cf1bca774ed1ee64df3a94f4e09cef4aa","tarball":"https://registry.npmjs.org/frame-master-plugin-apply-react/-/frame-master-plugin-apply-react-0.1.1.tgz","fileCount":11,"integrity":"sha512-6CS5W8VFWkaLQ6dXfs6VG92bbQtNEQ2v69sQQz2CioZCuNBRgAYJmjJTpr/oZHGW8BJq6M95nQEjXiBrsShYBg==","signatures":[{"sig":"MEUCID8ms9dXWBnMVNTNdwn3v1CWrKDanOQIWvqJLcWAlphZAiEA6pIAfzHJCQqUDDy1VJDCISVTvwiES/5a8lQ6QF8qGqA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":26878},"shasum":"9a13ef3cf1bca774ed1ee64df3a94f4e09cef4aa","exports":{"./plugin":"./src/index.ts","./router":"./src/router.tsx"},"_npmUser":{"name":"shpaw415","email":"shpaw415@gmail.com"},"_integrity":"sha512-6CS5W8VFWkaLQ6dXfs6VG92bbQtNEQ2v69sQQz2CioZCuNBRgAYJmjJTpr/oZHGW8BJq6M95nQEjXiBrsShYBg==","_npmVersion":"10.8.3","directories":{},"_nodeVersion":"24.3.0","_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest","@types/react":"^19.2.2","@types/react-dom":"^19.2.2"},"peerDependencies":{"react":">=18.0.0 <20.0.0","react-dom":">=18.0.0 <20.0.0","typescript":"^5.9.3","frame-master":"^2.0.4"},"_npmOperationalInternal":{"tmp":"tmp/frame-master-plugin-apply-react_0.1.1_1762473534032_0.12110671796055983","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"frame-master-plugin-apply-react","version":"0.1.2","_id":"frame-master-plugin-apply-react@0.1.2","maintainers":[{"name":"shpaw415","email":"shpaw415@gmail.com"}],"dist":{"shasum":"6687937a13482b732633b62a375364d406090158","tarball":"https://registry.npmjs.org/frame-master-plugin-apply-react/-/frame-master-plugin-apply-react-0.1.2.tgz","fileCount":12,"integrity":"sha512-MnhjHlZp1Uw7bAMF0gNw2e/6dpeNqypFWKdhzctX+wN1q2f3l6ie7jZKRAZeGn1g2eFX+gv5AmVTiVUZ4JRTcg==","signatures":[{"sig":"MEQCIGy32kdhBQHX92BA/lrJa/H1trasMHAIV2QMzrWG43kWAiAOClovldEyLSZ9GaNozd9p27vjHoiDpOgRkdw8Ba56sA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":28345},"shasum":"6687937a13482b732633b62a375364d406090158","exports":{"./plugin":"./src/index.ts","./router":"./src/router.tsx"},"_npmUser":{"name":"shpaw415","email":"shpaw415@gmail.com"},"_integrity":"sha512-MnhjHlZp1Uw7bAMF0gNw2e/6dpeNqypFWKdhzctX+wN1q2f3l6ie7jZKRAZeGn1g2eFX+gv5AmVTiVUZ4JRTcg==","_npmVersion":"10.8.3","directories":{},"_nodeVersion":"24.3.0","_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest","@types/react":"^19.2.2","@types/react-dom":"^19.2.2"},"peerDependencies":{"react":">=18.0.0 <20.0.0","react-dom":">=18.0.0 <20.0.0","typescript":"^5.9.3","frame-master":"^2.0.4"},"_npmOperationalInternal":{"tmp":"tmp/frame-master-plugin-apply-react_0.1.2_1762532532717_0.4049775797782993","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"frame-master-plugin-apply-react","version":"0.1.3","_id":"frame-master-plugin-apply-react@0.1.3","maintainers":[{"name":"shpaw415","email":"shpaw415@gmail.com"}],"dist":{"shasum":"f6f178363a9b7cfd6e61995f251c6a6b1ab14806","tarball":"https://registry.npmjs.org/frame-master-plugin-apply-react/-/frame-master-plugin-apply-react-0.1.3.tgz","fileCount":13,"integrity":"sha512-mkPe0/pFZ6IPa19D4PHBbg2G93sOy35uwsWQ+x6xtdjf+PMvgGYpxuEkUHZxSbVuBi32BqSpgV+DKPT4RWoYfA==","signatures":[{"sig":"MEQCIGtM5xXCmuffxSJ8vd1k+Rf1sR3zMUVzupYFaPi+Y/THAiAGyjfcHSabqK4qaJLbUDKugjy2WBusdIJx0iR728zk1A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":30983},"shasum":"f6f178363a9b7cfd6e61995f251c6a6b1ab14806","exports":{"./plugin":"./src/index.ts","./router":"./src/router.tsx"},"_npmUser":{"name":"shpaw415","email":"shpaw415@gmail.com"},"_integrity":"sha512-mkPe0/pFZ6IPa19D4PHBbg2G93sOy35uwsWQ+x6xtdjf+PMvgGYpxuEkUHZxSbVuBi32BqSpgV+DKPT4RWoYfA==","_npmVersion":"10.8.3","directories":{},"_nodeVersion":"24.3.0","_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest","@types/react":"^19.2.2","@types/react-dom":"^19.2.2"},"peerDependencies":{"react":">=18.0.0 <20.0.0","react-dom":">=18.0.0 <20.0.0","typescript":"^5.9.3","frame-master":"^2.0.4"},"_npmOperationalInternal":{"tmp":"tmp/frame-master-plugin-apply-react_0.1.3_1762618448713_0.672575834286357","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"frame-master-plugin-apply-react","version":"0.1.4","_id":"frame-master-plugin-apply-react@0.1.4","maintainers":[{"name":"shpaw415","email":"shpaw415@gmail.com"}],"dist":{"shasum":"3a607f8b8eadee165dcd65593d4227c46b8d65aa","tarball":"https://registry.npmjs.org/frame-master-plugin-apply-react/-/frame-master-plugin-apply-react-0.1.4.tgz","fileCount":12,"integrity":"sha512-5DqYgXLcUmDdVKoBZ9h0F2P6F7hhms5MRbDNSx/n9np0ofERBSp8DFXweWshddrCJTVaIjuhekFahd4W8mYbkQ==","signatures":[{"sig":"MEYCIQD1NXGd1SDoGWd821IVPLQXgor+86O8inDeo6OUCtIr2gIhAI1IetRz4xWyVEEHB6vQ4OHcm/wISue6woGki0TzOSxM","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":28970},"shasum":"3a607f8b8eadee165dcd65593d4227c46b8d65aa","exports":{"./plugin":"./src/index.ts","./router":"./src/router.tsx"},"_npmUser":{"name":"shpaw415","email":"shpaw415@gmail.com"},"_integrity":"sha512-5DqYgXLcUmDdVKoBZ9h0F2P6F7hhms5MRbDNSx/n9np0ofERBSp8DFXweWshddrCJTVaIjuhekFahd4W8mYbkQ==","_npmVersion":"10.8.3","directories":{},"_nodeVersion":"24.3.0","_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest","@types/react":"^19.2.2","@types/react-dom":"^19.2.2"},"peerDependencies":{"react":">=18.0.0 <20.0.0","react-dom":">=18.0.0 <20.0.0","typescript":"^5.9.3","frame-master":"^2.0.4"},"_npmOperationalInternal":{"tmp":"tmp/frame-master-plugin-apply-react_0.1.4_1764267829303_0.8201326258963997","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"frame-master-plugin-apply-react","version":"0.1.5","_id":"frame-master-plugin-apply-react@0.1.5","maintainers":[{"name":"shpaw415","email":"shpaw415@gmail.com"}],"dist":{"shasum":"70eea6c7b10f71ae3c7fb3b3bfb6888f567ec4c9","tarball":"https://registry.npmjs.org/frame-master-plugin-apply-react/-/frame-master-plugin-apply-react-0.1.5.tgz","fileCount":12,"integrity":"sha512-I8ApJyt2R7IXmvWSG2idHAbn7jK9G+YbNqJ2DkMALd3C8ki1/lya4xxj2kZ2cOre5oCN8uukKzW2aD7BdY6D4Q==","signatures":[{"sig":"MEUCIQDaxHUEp547qBXPL+RVOP6qcrz5UGH8R45851I1WC8seAIgb7r78TFeBcEQ27wx1RABBdeb5aUYxSsBmda7DbTOZXM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":28960},"shasum":"70eea6c7b10f71ae3c7fb3b3bfb6888f567ec4c9","exports":{"./plugin":"./src/index.ts","./router":"./src/router.tsx"},"_npmUser":{"name":"shpaw415","email":"shpaw415@gmail.com"},"_integrity":"sha512-I8ApJyt2R7IXmvWSG2idHAbn7jK9G+YbNqJ2DkMALd3C8ki1/lya4xxj2kZ2cOre5oCN8uukKzW2aD7BdY6D4Q==","_npmVersion":"10.8.3","directories":{},"_nodeVersion":"24.3.0","_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest","@types/react":"^19.2.2","@types/react-dom":"^19.2.2"},"peerDependencies":{"react":">=18.0.0 <20.0.0","react-dom":">=18.0.0 <20.0.0","typescript":"^5.9.3","frame-master":"^2.0.4"},"_npmOperationalInternal":{"tmp":"tmp/frame-master-plugin-apply-react_0.1.5_1764279151892_0.04130320961349221","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"frame-master-plugin-apply-react","version":"0.2.0","_id":"frame-master-plugin-apply-react@0.2.0","maintainers":[{"name":"shpaw415","email":"shpaw415@gmail.com"}],"dist":{"shasum":"0fc049765a5d288ce8af2901e7da54c653541e14","tarball":"https://registry.npmjs.org/frame-master-plugin-apply-react/-/frame-master-plugin-apply-react-0.2.0.tgz","fileCount":13,"integrity":"sha512-enaARipbCiMN8ogzpgR1moXxNOC6HSRzW9iNXKoUTZGsv5hLo/zU+vLy9et3AAVlVO2iJvVzzZ2gZKz4jIXI5A==","signatures":[{"sig":"MEUCIHpHFtlF5ugRCuu1mp4Xa29T6WHvFJHL/+A2y9bDeOMNAiEArFvJjyfdxWHfGYAOt8mZiNM/P9bDrW2gjfMNTqd/Czw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":29384},"shasum":"0fc049765a5d288ce8af2901e7da54c653541e14","exports":{"./plugin":"./src/index.ts","./router":"./src/router.tsx"},"_npmUser":{"name":"shpaw415","email":"shpaw415@gmail.com"},"_integrity":"sha512-enaARipbCiMN8ogzpgR1moXxNOC6HSRzW9iNXKoUTZGsv5hLo/zU+vLy9et3AAVlVO2iJvVzzZ2gZKz4jIXI5A==","_npmVersion":"10.8.3","directories":{},"_nodeVersion":"24.3.0","_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest","@types/react":"^19.2.2","@types/react-dom":"^19.2.2"},"peerDependencies":{"react":">=18.0.0 <20.0.0","react-dom":">=18.0.0 <20.0.0","typescript":"^5.9.3","frame-master":"^2.0.4"},"_npmOperationalInternal":{"tmp":"tmp/frame-master-plugin-apply-react_0.2.0_1765236691028_0.4959559042095629","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"frame-master-plugin-apply-react","version":"0.2.1","_id":"frame-master-plugin-apply-react@0.2.1","maintainers":[{"name":"shpaw415","email":"shpaw415@gmail.com"}],"dist":{"shasum":"cddbd6d6ac27e2ba04ac0cbbfd748833a15645ac","tarball":"https://registry.npmjs.org/frame-master-plugin-apply-react/-/frame-master-plugin-apply-react-0.2.1.tgz","fileCount":13,"integrity":"sha512-8Gj7aN+aCC6xHJVT7TDNs1sBbA6qsgymQ2UrG/yRN7Mo+766cdz+Mi9ZM6SytKsrr8qrl7Erc9gF66u+cyyl+Q==","signatures":[{"sig":"MEYCIQC0P0XwrRerM//+gGisPeOlXwfGATuVHkmqkRBPyzIQzAIhANuq/Vk0q03ATF2jlCTj9OsxqbP5oBjxfs6GnZah6Hf0","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":29670},"shasum":"cddbd6d6ac27e2ba04ac0cbbfd748833a15645ac","exports":{"./plugin":"./src/index.ts","./router":"./src/router.tsx"},"_npmUser":{"name":"shpaw415","email":"shpaw415@gmail.com"},"_integrity":"sha512-8Gj7aN+aCC6xHJVT7TDNs1sBbA6qsgymQ2UrG/yRN7Mo+766cdz+Mi9ZM6SytKsrr8qrl7Erc9gF66u+cyyl+Q==","_npmVersion":"10.8.3","directories":{},"_nodeVersion":"24.3.0","_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest","@types/react":"^19.2.2","@types/react-dom":"^19.2.2"},"peerDependencies":{"react":">=18.0.0 <20.0.0","react-dom":">=18.0.0 <20.0.0","typescript":"^5.9.3","frame-master":"^2.0.4"},"_npmOperationalInternal":{"tmp":"tmp/frame-master-plugin-apply-react_0.2.1_1765244604131_0.19925288847472888","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"frame-master-plugin-apply-react","version":"0.2.2","_id":"frame-master-plugin-apply-react@0.2.2","maintainers":[{"name":"shpaw415","email":"shpaw415@gmail.com"}],"dist":{"shasum":"0ae6e567d1479110a3a7d9d44c2e07b1cafd10a0","tarball":"https://registry.npmjs.org/frame-master-plugin-apply-react/-/frame-master-plugin-apply-react-0.2.2.tgz","fileCount":12,"integrity":"sha512-ypnZ7y47AUQ2oYHNJYMZMWivoyySUi8qYo/aE0YDeg9q4ATpuoPuSB31wJ6nWigerXZBoco52X/o+DEqwYvchQ==","signatures":[{"sig":"MEYCIQDPGWiSYavmqPpRMCGpcLf/DJ+SY3B3oV1tn4x/WV1RaQIhAKOIZ75kdhc2kFB3E4Ydlm2zWcwDPqaBnDvBZdxmHo33","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":30721},"shasum":"0ae6e567d1479110a3a7d9d44c2e07b1cafd10a0","exports":{"./types":"./src/types.d.ts","./plugin":"./src/index.ts","./router":"./src/router.tsx"},"_npmUser":{"name":"shpaw415","email":"shpaw415@gmail.com"},"_integrity":"sha512-ypnZ7y47AUQ2oYHNJYMZMWivoyySUi8qYo/aE0YDeg9q4ATpuoPuSB31wJ6nWigerXZBoco52X/o+DEqwYvchQ==","_npmVersion":"10.8.3","directories":{},"_nodeVersion":"24.3.0","_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest","@types/react":"^19.2.7","@types/react-dom":"^19.2.3"},"peerDependencies":{"react":"^19.2.0","react-dom":"^19.2.0","typescript":"^5.9.3","frame-master":"^3.0.1"},"_npmOperationalInternal":{"tmp":"tmp/frame-master-plugin-apply-react_0.2.2_1766248253135_0.9022707518315605","host":"s3://npm-registry-packages-npm-production"}},"0.2.3":{"name":"frame-master-plugin-apply-react","version":"0.2.3","_id":"frame-master-plugin-apply-react@0.2.3","maintainers":[{"name":"shpaw415","email":"shpaw415@gmail.com"}],"dist":{"shasum":"30f357892217b9df4e64e7d04cc4d71eac028a57","tarball":"https://registry.npmjs.org/frame-master-plugin-apply-react/-/frame-master-plugin-apply-react-0.2.3.tgz","fileCount":13,"integrity":"sha512-AawYcIcWg5NMY0X9Uhc3/ZgTwABPGj4sn5spGcZvxgYVJ8ozwP6UKFYPAgpvyelZQGobODJNuJ17ktABF4jYhw==","signatures":[{"sig":"MEUCIQCBvlk7Fc8f2Wi6vvTlNjHuk70+Hdg2Pw3Ihw4vGtsPjgIgajH+nMzAFmDZqY1RekmmvpipyeVKlX6tKolFmTvUHVs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":31048},"shasum":"30f357892217b9df4e64e7d04cc4d71eac028a57","exports":{"./types":"./src/types.d.ts","./plugin":"./src/index.ts","./router":"./src/router.tsx"},"_npmUser":{"name":"shpaw415","email":"shpaw415@gmail.com"},"_integrity":"sha512-AawYcIcWg5NMY0X9Uhc3/ZgTwABPGj4sn5spGcZvxgYVJ8ozwP6UKFYPAgpvyelZQGobODJNuJ17ktABF4jYhw==","_npmVersion":"10.8.3","directories":{},"_nodeVersion":"24.3.0","_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest","@types/react":"^19.2.7","@types/react-dom":"^19.2.3"},"peerDependencies":{"react":"^19.2.0","react-dom":"^19.2.0","typescript":"^5.9.3","frame-master":"^3.0.1"},"_npmOperationalInternal":{"tmp":"tmp/frame-master-plugin-apply-react_0.2.3_1766277838437_0.44600540973806324","host":"s3://npm-registry-packages-npm-production"}},"0.2.4":{"name":"frame-master-plugin-apply-react","version":"0.2.4","_id":"frame-master-plugin-apply-react@0.2.4","maintainers":[{"name":"shpaw415","email":"shpaw415@gmail.com"}],"dist":{"shasum":"7f34b54720023fa67948ae9e50a4457c9c1afee6","tarball":"https://registry.npmjs.org/frame-master-plugin-apply-react/-/frame-master-plugin-apply-react-0.2.4.tgz","fileCount":13,"integrity":"sha512-59GaLNRNcO70rfP2tX9+c5WlI6b7SyJb1UqPXCzkjPyG3T2XSjjreMmyzOtHe1VvhmVca7noZsCQ2tBoo64kzA==","signatures":[{"sig":"MEUCIQCD1mCcQrhWa38mRMEk4v3tqPaYZ7TVPX4gPn1BpQg6eQIgGPNaQKVY5Xld81kS5V4m0TeWdgGij3szKC6fiJHQhmM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":30996},"shasum":"7f34b54720023fa67948ae9e50a4457c9c1afee6","exports":{"./types":"./src/types.d.ts","./plugin":"./src/index.ts","./router":"./src/router.tsx"},"_npmUser":{"name":"shpaw415","email":"shpaw415@gmail.com"},"_integrity":"sha512-59GaLNRNcO70rfP2tX9+c5WlI6b7SyJb1UqPXCzkjPyG3T2XSjjreMmyzOtHe1VvhmVca7noZsCQ2tBoo64kzA==","_npmVersion":"10.8.3","directories":{},"_nodeVersion":"24.3.0","_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest","@types/react":"^19.2.7","@types/react-dom":"^19.2.3"},"peerDependencies":{"react":"^19.2.0","react-dom":"^19.2.0","typescript":"^5.9.3","frame-master":"^3.0.1"},"_npmOperationalInternal":{"tmp":"tmp/frame-master-plugin-apply-react_0.2.4_1766282275652_0.5567002441557694","host":"s3://npm-registry-packages-npm-production"}},"0.2.5":{"name":"frame-master-plugin-apply-react","version":"0.2.5","_id":"frame-master-plugin-apply-react@0.2.5","maintainers":[{"name":"shpaw415","email":"shpaw415@gmail.com"}],"dist":{"shasum":"fb37453020dc6955c1030b2770550ecc43450480","tarball":"https://registry.npmjs.org/frame-master-plugin-apply-react/-/frame-master-plugin-apply-react-0.2.5.tgz","fileCount":13,"integrity":"sha512-d/RLAFsoGkJsHotHAiCHu0FtOIGRXKpFOsPTHxDTGYncLGta59PcvhsbtxWpC4bjVOrT/tSzqQMuxOxJbu3iEQ==","signatures":[{"sig":"MEUCIQCToWdG96ozBh0hWbwHo1c4WHH0Tynv/RMq6t03Nm4WkwIgMKG4/4uLNvBJfAPUnhJQ5za2R9slJgjIdJOuO4OVM5E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":31098},"shasum":"fb37453020dc6955c1030b2770550ecc43450480","exports":{"./types":"./src/types.d.ts","./plugin":"./src/index.ts","./router":"./src/router.tsx"},"_npmUser":{"name":"shpaw415","email":"shpaw415@gmail.com"},"_integrity":"sha512-d/RLAFsoGkJsHotHAiCHu0FtOIGRXKpFOsPTHxDTGYncLGta59PcvhsbtxWpC4bjVOrT/tSzqQMuxOxJbu3iEQ==","_npmVersion":"10.8.3","directories":{},"_nodeVersion":"24.3.0","_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest","@types/react":"^19.2.7","@types/react-dom":"^19.2.3"},"peerDependencies":{"react":"^19.2.0","react-dom":"^19.2.0","typescript":"^5.9.3","frame-master":"^3.0.1"},"_npmOperationalInternal":{"tmp":"tmp/frame-master-plugin-apply-react_0.2.5_1767460032962_0.5869751939849059","host":"s3://npm-registry-packages-npm-production"}},"0.2.6":{"name":"frame-master-plugin-apply-react","version":"0.2.6","_id":"frame-master-plugin-apply-react@0.2.6","maintainers":[{"name":"shpaw415","email":"shpaw415@gmail.com"}],"dist":{"shasum":"856ffced5b80cfe29b644c7495d9307406fb8515","tarball":"https://registry.npmjs.org/frame-master-plugin-apply-react/-/frame-master-plugin-apply-react-0.2.6.tgz","fileCount":13,"integrity":"sha512-AC6C5+TWTAR1ptm134kf/Oohqohp4Q2jeEIF8+OT/ehg/6pRl+lRDQyy9N2b3KA3/IpYKzSUi/gU2D2i4Mhc0g==","signatures":[{"sig":"MEYCIQDsjgBC0aFbBPvzVSaBE/tBKUKy0O16oFVK9gid86QvgQIhAP5E6yZBo1/GsWxIkoaqlSrHRnVwekvn0vtAcKRX4hLs","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":31982},"shasum":"856ffced5b80cfe29b644c7495d9307406fb8515","exports":{"./types":"./src/types.d.ts","./plugin":"./src/index.ts","./router":"./src/router.tsx"},"_npmUser":{"name":"shpaw415","email":"shpaw415@gmail.com"},"_integrity":"sha512-AC6C5+TWTAR1ptm134kf/Oohqohp4Q2jeEIF8+OT/ehg/6pRl+lRDQyy9N2b3KA3/IpYKzSUi/gU2D2i4Mhc0g==","_npmVersion":"10.8.3","directories":{},"_nodeVersion":"24.3.0","_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest","@types/react":"^19.2.7","@types/react-dom":"^19.2.3"},"peerDependencies":{"react":"^19.2.0","react-dom":"^19.2.0","typescript":"^5.9.3","frame-master":"^3.0.1"},"_npmOperationalInternal":{"tmp":"tmp/frame-master-plugin-apply-react_0.2.6_1768353759627_0.016686781898362035","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"frame-master-plugin-apply-react","version":"1.0.0","_id":"frame-master-plugin-apply-react@1.0.0","maintainers":[{"name":"shpaw415","email":"shpaw415@gmail.com"}],"dist":{"shasum":"bd656d752782da8805e917cb62535cfbbc786ed6","tarball":"https://registry.npmjs.org/frame-master-plugin-apply-react/-/frame-master-plugin-apply-react-1.0.0.tgz","fileCount":27,"integrity":"sha512-tKT1hT6JHD4xh96hnjdxhXvkxQmjVGujhBPCxTACYHY8fUTHtU3MlVVIDf8znrhXikp1/ul5/SoNZuw8JKbAQg==","signatures":[{"sig":"MEYCIQD2HAdDVeUPnhmNdzIxuwTbSVy2BP7u7TiYn6pIoOejIwIhAKsLTXJJufWvoTfjj1ISEG+SzqtZjs2ftqNXvZAojwpi","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":32440},"shasum":"bd656d752782da8805e917cb62535cfbbc786ed6","exports":{"./types":"./src/types.d.ts","./utils":"./src/utils.ts","./plugin":"./src/index.ts","./router":"./src/router.tsx"},"_npmUser":{"name":"shpaw415","email":"shpaw415@gmail.com"},"_integrity":"sha512-tKT1hT6JHD4xh96hnjdxhXvkxQmjVGujhBPCxTACYHY8fUTHtU3MlVVIDf8znrhXikp1/ul5/SoNZuw8JKbAQg==","_npmVersion":"10.8.3","directories":{},"_nodeVersion":"24.3.0","dependencies":{"frame-master-plugin-apply-react":"^0.2.6"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.3.13","@types/react":"^19.2.7","@types/react-dom":"^19.2.3"},"peerDependencies":{"react":"^19.2.0","react-dom":"^19.2.0","typescript":"^5.9.3","frame-master":"^3.1.3"},"_npmOperationalInternal":{"tmp":"tmp/frame-master-plugin-apply-react_1.0.0_1777091198620_0.6763851441036393","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"frame-master-plugin-apply-react","version":"1.1.0","_id":"frame-master-plugin-apply-react@1.1.0","maintainers":[{"name":"shpaw415","email":"shpaw415@gmail.com"}],"dist":{"shasum":"38bcb66260208d2c296ae8f5f4cda2f30be6eecc","tarball":"https://registry.npmjs.org/frame-master-plugin-apply-react/-/frame-master-plugin-apply-react-1.1.0.tgz","fileCount":23,"integrity":"sha512-96KhxI/7LJzKk5mfNCWir8z2Tm79jENJ/DV5JZmsU0zEHB2cXTak2z4qSPdVkFPJZQE3KEsco/AzRMRm1Ku0mA==","signatures":[{"sig":"MEQCIA+UERLZbPgG8rq+CFXqhpwl6ETV2uxXi08S0jzbpXr3AiBZ4Qv+3ewI3NGbnfHZHYxpleRYRtpf/Wgl4ZL31TV/XQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":33923},"shasum":"38bcb66260208d2c296ae8f5f4cda2f30be6eecc","exports":{"./types":"./src/types.d.ts","./utils":"./src/utils.ts","./plugin":"./src/index.ts","./router":"./src/router.tsx"},"scripts":{"dev":"NODE_ENV=development bun --hot frame-master dev","build":"NODE_ENV=production bun frame-master build","start":"NODE_ENV=production bun frame-master start","build:dev":"NODE_ENV=development bun frame-master build"},"_npmUser":{"name":"shpaw415","email":"shpaw415@gmail.com"},"_integrity":"sha512-96KhxI/7LJzKk5mfNCWir8z2Tm79jENJ/DV5JZmsU0zEHB2cXTak2z4qSPdVkFPJZQE3KEsco/AzRMRm1Ku0mA==","_npmVersion":"10.8.3","directories":{},"_nodeVersion":"24.3.0","_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.3.13","@types/react":"^19.2.7","@types/react-dom":"^19.2.3","frame-master-plugin-serve-from-build":"^1.0.0"},"peerDependencies":{"react":"^19.2.0","react-dom":"^19.2.0","typescript":"^5.9.3","frame-master":"^3.1.3"},"_npmOperationalInternal":{"tmp":"tmp/frame-master-plugin-apply-react_1.1.0_1777486883297_0.6071379470738414","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"frame-master-plugin-apply-react","version":"1.1.1","_id":"frame-master-plugin-apply-react@1.1.1","maintainers":[{"name":"shpaw415","email":"shpaw415@gmail.com"}],"dist":{"shasum":"c0b785a66db54a73d44583d84e963d96c5c0cb64","tarball":"https://registry.npmjs.org/frame-master-plugin-apply-react/-/frame-master-plugin-apply-react-1.1.1.tgz","fileCount":23,"integrity":"sha512-e1fbnPyJ7IKhGiOVgJIYhPioHuk2gQSNJfT7XjWKH22FAKjz2iDmkkDMVARf2n+TlHDCLRMjHnGdqvp6jQDY5w==","signatures":[{"sig":"MEYCIQCgbTqYSydF2MiENOKZsLS/rWXfNl05f3b0BXXBAqyOEgIhAMDkV0JaSk/+i59oQGCj1MBikJqOdqAnQjENTpqD4XhC","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":34214},"shasum":"c0b785a66db54a73d44583d84e963d96c5c0cb64","exports":{"./types":"./src/types.d.ts","./utils":"./src/utils.ts","./plugin":"./src/index.ts","./router":"./src/router.tsx"},"scripts":{"dev":"NODE_ENV=development bun --hot frame-master dev","build":"NODE_ENV=production bun frame-master build","start":"NODE_ENV=production bun frame-master start","build:dev":"NODE_ENV=development bun frame-master build"},"_npmUser":{"name":"shpaw415","email":"shpaw415@gmail.com"},"_integrity":"sha512-e1fbnPyJ7IKhGiOVgJIYhPioHuk2gQSNJfT7XjWKH22FAKjz2iDmkkDMVARf2n+TlHDCLRMjHnGdqvp6jQDY5w==","_npmVersion":"10.8.3","directories":{},"_nodeVersion":"24.3.0","_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.3.13","@types/react":"^19.2.7","@types/react-dom":"^19.2.3","frame-master-plugin-serve-from-build":"^1.0.0"},"peerDependencies":{"react":"^19.2.0","react-dom":"^19.2.0","typescript":"^5.9.3","frame-master":"^3.1.3"},"_npmOperationalInternal":{"tmp":"tmp/frame-master-plugin-apply-react_1.1.1_1777487906408_0.03186739409820105","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"frame-master-plugin-apply-react","version":"2.0.0","_id":"frame-master-plugin-apply-react@2.0.0","maintainers":[{"name":"shpaw415","email":"shpaw415@gmail.com"}],"dist":{"shasum":"d747024ce2b0904cce4ed4dedc560a05c98ea8b7","tarball":"https://registry.npmjs.org/frame-master-plugin-apply-react/-/frame-master-plugin-apply-react-2.0.0.tgz","fileCount":25,"integrity":"sha512-msj1i4t6YV7v6Vx1rbPkiUrHHc1IzLltudFYqO/Rgyak/3agv0z7ImidLm9rnTppxLbWNsCofQ+w75lf4DruPw==","signatures":[{"sig":"MEQCICYCcxxJWwBYhoqcRKEi3X7h3TZ4tHmWyHTvZzUm0L8VAiBW9cU4ln9XVfThyRZQGVbEqd9YbX8NsJcpjqm/79OqzA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":46295},"shasum":"d747024ce2b0904cce4ed4dedc560a05c98ea8b7","exports":{"./types":"./src/types.d.ts","./utils":"./src/utils.ts","./plugin":"./src/index.ts","./router":"./src/router.tsx"},"scripts":{"dev":"NODE_ENV=development bun --hot frame-master dev","test":"bun test --tsconfig-override test/tsconfig.json --config test/bunfig.toml test/","build":"NODE_ENV=production bun frame-master build","start":"NODE_ENV=production bun frame-master start","build:dev":"NODE_ENV=development bun frame-master build"},"_npmUser":{"name":"shpaw415","email":"shpaw415@gmail.com"},"_integrity":"sha512-msj1i4t6YV7v6Vx1rbPkiUrHHc1IzLltudFYqO/Rgyak/3agv0z7ImidLm9rnTppxLbWNsCofQ+w75lf4DruPw==","_npmVersion":"10.8.3","directories":{},"_nodeVersion":"24.3.0","dependencies":{"bun-file-system-router-browser":"^1.3.13"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.3.13","@types/react":"^19.2.7","@types/react-dom":"^19.2.3","frame-master-plugin-serve-from-build":"^1.0.0"},"peerDependencies":{"react":"^19.2.0","react-dom":"^19.2.0","typescript":"^5.9.3","frame-master":"^3.1.3"},"_npmOperationalInternal":{"tmp":"tmp/frame-master-plugin-apply-react_2.0.0_1777593644934_0.7829017892278383","host":"s3://npm-registry-packages-npm-production"}},"2.0.1":{"name":"frame-master-plugin-apply-react","version":"2.0.1","_id":"frame-master-plugin-apply-react@2.0.1","maintainers":[{"name":"shpaw415","email":"shpaw415@gmail.com"}],"dist":{"shasum":"c2483f7a7524cfe9f66724121ab431ba765b60cb","tarball":"https://registry.npmjs.org/frame-master-plugin-apply-react/-/frame-master-plugin-apply-react-2.0.1.tgz","fileCount":25,"integrity":"sha512-LK6O9hSY/vXi5gGPsRkCdx96Mw81/dT5bpyzBmRWeA3ymHv130AgrAD/TF/uoqt4hE7fqU7jdkUTsW9vbVVywA==","signatures":[{"sig":"MEYCIQCwbAw8FEcOvqTSVsHNQfpmxFpT574gNX4QnG32ln2GQwIhAI9jH8LwZ8VoCR1FeOL9pttO5MPfSFM78UvRggduA6vJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":46301},"shasum":"c2483f7a7524cfe9f66724121ab431ba765b60cb","exports":{"./types":"./src/types.d.ts","./utils":"./src/utils.ts","./plugin":"./src/index.ts","./router":"./src/router.tsx"},"scripts":{"dev":"NODE_ENV=development bun --hot frame-master dev","test":"bun test --tsconfig-override test/tsconfig.json --config test/bunfig.toml test/","build":"NODE_ENV=production bun frame-master build","start":"NODE_ENV=production bun frame-master start","build:dev":"NODE_ENV=development bun frame-master build"},"_npmUser":{"name":"shpaw415","email":"shpaw415@gmail.com"},"_integrity":"sha512-LK6O9hSY/vXi5gGPsRkCdx96Mw81/dT5bpyzBmRWeA3ymHv130AgrAD/TF/uoqt4hE7fqU7jdkUTsW9vbVVywA==","_npmVersion":"10.8.3","directories":{},"_nodeVersion":"24.3.0","dependencies":{"bun-file-system-router-browser":"^1.3.13"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.3.13","@types/react":"^19.2.7","@types/react-dom":"^19.2.3","frame-master-plugin-serve-from-build":"^1.0.0"},"peerDependencies":{"react":"^19.2.0","react-dom":"^19.2.0","typescript":"^5.9.3","frame-master":"^3.1.3"},"_npmOperationalInternal":{"tmp":"tmp/frame-master-plugin-apply-react_2.0.1_1777689158206_0.620788695460349","host":"s3://npm-registry-packages-npm-production"}},"2.0.2":{"name":"frame-master-plugin-apply-react","version":"2.0.2","_id":"frame-master-plugin-apply-react@2.0.2","maintainers":[{"name":"shpaw415","email":"shpaw415@gmail.com"}],"dist":{"shasum":"d57d773a9f1bf00ccfa85ae819342676adb412d9","tarball":"https://registry.npmjs.org/frame-master-plugin-apply-react/-/frame-master-plugin-apply-react-2.0.2.tgz","fileCount":25,"integrity":"sha512-40aHdZURLZEV6sPCv1mZkDxfFbbYJYBdLwbBh6eQswUGxzLu5eFaZJjL06gaX4A2fdlkiQwGlW7qBwjBBZgUHw==","signatures":[{"sig":"MEQCIDX+e1vldGzdKfUPDBjQp7iWekF4jQRJh1gGBNB220crAiAfZLxMIgs9HtikX5qxOxBLaP1vbhoOq31D+dKZKc/Rrg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":46483},"shasum":"d57d773a9f1bf00ccfa85ae819342676adb412d9","exports":{"./types":"./src/types.d.ts","./utils":"./src/utils.ts","./plugin":"./src/index.ts","./router":"./src/router.tsx"},"scripts":{"dev":"NODE_ENV=development bun --hot frame-master dev","test":"bun test --tsconfig-override test/tsconfig.json --config test/bunfig.toml test/","build":"NODE_ENV=production bun frame-master build","start":"NODE_ENV=production bun frame-master start","build:dev":"NODE_ENV=development bun frame-master build"},"_npmUser":{"name":"shpaw415","email":"shpaw415@gmail.com"},"_integrity":"sha512-40aHdZURLZEV6sPCv1mZkDxfFbbYJYBdLwbBh6eQswUGxzLu5eFaZJjL06gaX4A2fdlkiQwGlW7qBwjBBZgUHw==","_npmVersion":"10.8.3","directories":{},"_nodeVersion":"24.3.0","dependencies":{"bun-file-system-router-browser":"^1.3.13"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.3.13","@types/react":"^19.2.7","@types/react-dom":"^19.2.3","frame-master-plugin-serve-from-build":"^1.0.0"},"peerDependencies":{"react":"^19.2.0","react-dom":"^19.2.0","typescript":"^5.9.3","frame-master":"^3.1.3"},"_npmOperationalInternal":{"tmp":"tmp/frame-master-plugin-apply-react_2.0.2_1777915772073_0.49893490759411074","host":"s3://npm-registry-packages-npm-production"}},"2.0.3":{"name":"frame-master-plugin-apply-react","version":"2.0.3","_id":"frame-master-plugin-apply-react@2.0.3","maintainers":[{"name":"shpaw415","email":"shpaw415@gmail.com"}],"dist":{"shasum":"91bba256104aeec7a4ad335b74cf0b32e38e306b","tarball":"https://registry.npmjs.org/frame-master-plugin-apply-react/-/frame-master-plugin-apply-react-2.0.3.tgz","fileCount":25,"integrity":"sha512-XCaBkJUlAHUvNmWLRFRcdnaJ132Ek0xxQrZW4HpL0bM3g6dSBb2caaR7M2tG1Q3/u2O/1vnje4GAr5Si2AUy8w==","signatures":[{"sig":"MEUCIQCSm7Elf5Mt0ULDwBQmMO4IvIol9TDgcw4Ck487n5hBtQIgSHgIofsPDt1CTkqIo0xARwXGhFoeQzj9Igo6EjNOYEw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":46504},"shasum":"91bba256104aeec7a4ad335b74cf0b32e38e306b","exports":{"./types":"./src/types.d.ts","./utils":"./src/utils.ts","./plugin":"./src/index.ts","./router":"./src/router.tsx"},"scripts":{"dev":"NODE_ENV=development bun --hot frame-master dev","test":"bun test --tsconfig-override test/tsconfig.json --config test/bunfig.toml test/","build":"NODE_ENV=production bun frame-master build","start":"NODE_ENV=production bun frame-master start","build:dev":"NODE_ENV=development bun frame-master build"},"_npmUser":{"name":"shpaw415","email":"shpaw415@gmail.com"},"_integrity":"sha512-XCaBkJUlAHUvNmWLRFRcdnaJ132Ek0xxQrZW4HpL0bM3g6dSBb2caaR7M2tG1Q3/u2O/1vnje4GAr5Si2AUy8w==","_npmVersion":"10.8.3","directories":{},"_nodeVersion":"24.3.0","dependencies":{"bun-file-system-router-browser":"^1.3.13"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.3.13","@types/react":"^19.2.7","@types/react-dom":"^19.2.3","frame-master-plugin-serve-from-build":"^1.0.0"},"peerDependencies":{"react":"^19.2.0","react-dom":"^19.2.0","typescript":"^5.9.3","frame-master":"^3.1.3"},"_npmOperationalInternal":{"tmp":"tmp/frame-master-plugin-apply-react_2.0.3_1777926237592_0.8043525986134095","host":"s3://npm-registry-packages-npm-production"}},"2.0.4":{"name":"frame-master-plugin-apply-react","version":"2.0.4","_id":"frame-master-plugin-apply-react@2.0.4","maintainers":[{"name":"shpaw415","email":"shpaw415@gmail.com"}],"dist":{"shasum":"e2a7131d46eb7fba7eea409c82c93629060b2030","tarball":"https://registry.npmjs.org/frame-master-plugin-apply-react/-/frame-master-plugin-apply-react-2.0.4.tgz","fileCount":25,"integrity":"sha512-Fhbwe2N1OIaweyOpYtiat8Q4XFx0YLDGQ1N0by2p+PRNZdLifu/xXYzols/Yi6WcBKAFIFSUO5FuM64KSsKx4w==","signatures":[{"sig":"MEUCIByxqZQsdHRml3kZ3VYxG53xIMlZi2Kak08Ox55RUMkEAiEAhCW4/rKuZVdVE30XdieyYcJAqWnoJVVUD+T87aLo3Ww=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":46921},"shasum":"e2a7131d46eb7fba7eea409c82c93629060b2030","exports":{"./types":"./src/types.d.ts","./utils":"./src/utils.ts","./plugin":"./src/index.ts","./router":"./src/router.tsx"},"scripts":{"dev":"NODE_ENV=development bun --hot frame-master dev","test":"bun test --tsconfig-override test/tsconfig.json --config test/bunfig.toml test/","build":"NODE_ENV=production bun frame-master build","start":"NODE_ENV=production bun frame-master start","build:dev":"NODE_ENV=development bun frame-master build"},"_npmUser":{"name":"shpaw415","email":"shpaw415@gmail.com"},"_integrity":"sha512-Fhbwe2N1OIaweyOpYtiat8Q4XFx0YLDGQ1N0by2p+PRNZdLifu/xXYzols/Yi6WcBKAFIFSUO5FuM64KSsKx4w==","_npmVersion":"10.8.3","directories":{},"_nodeVersion":"24.3.0","dependencies":{"bun-file-system-router-browser":"^1.3.13"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.3.13","@types/react":"^19.2.7","@types/react-dom":"^19.2.3","frame-master-plugin-serve-from-build":"^1.0.0"},"peerDependencies":{"react":"^19.2.0","react-dom":"^19.2.0","typescript":"^5.9.3","frame-master":"^3.1.3"},"_npmOperationalInternal":{"tmp":"tmp/frame-master-plugin-apply-react_2.0.4_1778008793781_0.11810276413370646","host":"s3://npm-registry-packages-npm-production"}},"2.0.5":{"name":"frame-master-plugin-apply-react","version":"2.0.5","_id":"frame-master-plugin-apply-react@2.0.5","maintainers":[{"name":"shpaw415","email":"shpaw415@gmail.com"}],"dist":{"shasum":"75d5416981fb6c65868e43e00e2d4866d2ae4cf6","tarball":"https://registry.npmjs.org/frame-master-plugin-apply-react/-/frame-master-plugin-apply-react-2.0.5.tgz","fileCount":25,"integrity":"sha512-SoQ6x208RwuM9VLSBrs8DGW5BqGqk9gw/9qn9XwqC061o6fiUuyuAWVCcmMgXqV8Wg1ZZm9uXHcTepNIRFHKag==","signatures":[{"sig":"MEYCIQCePEycgH6fQM65ai8CdtBnV5kI3qyX1K1d0ngKDhgNXQIhAO58YL/LO5JT7zs4Z3MlLsxr3XEW1r5hwP5biZ1wQ8BX","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":47171},"shasum":"75d5416981fb6c65868e43e00e2d4866d2ae4cf6","exports":{"./types":"./src/types.d.ts","./utils":"./src/utils.ts","./plugin":"./src/index.ts","./router":"./src/router.tsx"},"scripts":{"dev":"NODE_ENV=development bun --hot frame-master dev","test":"bun test --tsconfig-override test/tsconfig.json --config test/bunfig.toml test/","build":"NODE_ENV=production bun frame-master build","start":"NODE_ENV=production bun frame-master start","build:dev":"NODE_ENV=development bun frame-master build"},"_npmUser":{"name":"shpaw415","email":"shpaw415@gmail.com"},"_integrity":"sha512-SoQ6x208RwuM9VLSBrs8DGW5BqGqk9gw/9qn9XwqC061o6fiUuyuAWVCcmMgXqV8Wg1ZZm9uXHcTepNIRFHKag==","_npmVersion":"10.8.3","directories":{},"_nodeVersion":"24.3.0","dependencies":{"bun-file-system-router-browser":"^1.3.13"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.3.13","@types/react":"^19.2.7","@types/react-dom":"^19.2.3","frame-master-plugin-serve-from-build":"^1.0.0"},"peerDependencies":{"react":"^19.2.0","react-dom":"^19.2.0","typescript":"^5.9.3","frame-master":"^3.1.3"},"_npmOperationalInternal":{"tmp":"tmp/frame-master-plugin-apply-react_2.0.5_1778034962789_0.16831643631165272","host":"s3://npm-registry-packages-npm-production"}},"2.0.6":{"name":"frame-master-plugin-apply-react","version":"2.0.6","_id":"frame-master-plugin-apply-react@2.0.6","maintainers":[{"name":"shpaw415","email":"shpaw415@gmail.com"}],"dist":{"shasum":"3403b7cce2b0fccf7e7ce6f7938b4513bd6a5ba1","tarball":"https://registry.npmjs.org/frame-master-plugin-apply-react/-/frame-master-plugin-apply-react-2.0.6.tgz","fileCount":25,"integrity":"sha512-w7fkPeT2eokG/gfELmONhb1fRESwWCHZaUA53aPID2yKw1+kS684GqZ0RqNRRoZwlDu4563+xmSXN4jgH7+uAg==","signatures":[{"sig":"MEQCICZxIua1TKGFzW8xVZmqU8QzFChzehbHBngNP5hpHMD0AiB2zYwQjhvAF7rATu0bsDSDGTPIAVpQ72y9o5r46OEcwA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":47271},"shasum":"3403b7cce2b0fccf7e7ce6f7938b4513bd6a5ba1","exports":{"./types":"./src/types.d.ts","./utils":"./src/utils.ts","./plugin":"./src/index.ts","./router":"./src/router.tsx"},"scripts":{"dev":"NODE_ENV=development bun --hot frame-master dev","test":"bun test --tsconfig-override test/tsconfig.json --config test/bunfig.toml test/","build":"NODE_ENV=production bun frame-master build","start":"NODE_ENV=production bun frame-master start","build:dev":"NODE_ENV=development bun frame-master build"},"_npmUser":{"name":"shpaw415","email":"shpaw415@gmail.com"},"_integrity":"sha512-w7fkPeT2eokG/gfELmONhb1fRESwWCHZaUA53aPID2yKw1+kS684GqZ0RqNRRoZwlDu4563+xmSXN4jgH7+uAg==","_npmVersion":"10.8.3","directories":{},"_nodeVersion":"24.3.0","dependencies":{"bun-file-system-router-browser":"^1.3.13"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.3.13","@types/react":"^19.2.7","@types/react-dom":"^19.2.3","frame-master-plugin-serve-from-build":"^1.0.0"},"peerDependencies":{"react":"^19.2.0","react-dom":"^19.2.0","typescript":"^5.9.3","frame-master":"^3.1.3"},"_npmOperationalInternal":{"tmp":"tmp/frame-master-plugin-apply-react_2.0.6_1778083689351_0.019127218730676132","host":"s3://npm-registry-packages-npm-production"}},"2.0.7":{"name":"frame-master-plugin-apply-react","version":"2.0.7","_id":"frame-master-plugin-apply-react@2.0.7","maintainers":[{"name":"shpaw415","email":"shpaw415@gmail.com"}],"dist":{"shasum":"8af131ef2a130506b8677d68e8e63a4c4cc0e57d","tarball":"https://registry.npmjs.org/frame-master-plugin-apply-react/-/frame-master-plugin-apply-react-2.0.7.tgz","fileCount":30,"integrity":"sha512-ZZpOIVZT64ZoOsZ5v+PVsua3OFTIeCS4euTj5j74WSC+CNcjS1UtjYp50SZlWdh7ZaYntsBGInpItjchKN64/A==","signatures":[{"sig":"MEUCIQC9s8tX/N0fJidoMpAT7vCtidAgvbOpNX4L+LKZYFDngQIgUZbqwuZqGpYfbFBFmuKF0XrystCcqM7/5yCdux+WglM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":51914},"shasum":"8af131ef2a130506b8677d68e8e63a4c4cc0e57d","exports":{"./types":"./src/types.d.ts","./utils":"./src/utils.ts","./plugin":"./src/index.ts","./router":"./src/router.tsx"},"scripts":{"dev":"NODE_ENV=development bun --hot frame-master dev","test":"bun test --tsconfig-override test/tsconfig.json --config test/bunfig.toml test/","build":"NODE_ENV=production bun frame-master build","start":"NODE_ENV=production bun frame-master start","build:dev":"NODE_ENV=development bun frame-master build"},"_npmUser":{"name":"shpaw415","email":"shpaw415@gmail.com"},"_integrity":"sha512-ZZpOIVZT64ZoOsZ5v+PVsua3OFTIeCS4euTj5j74WSC+CNcjS1UtjYp50SZlWdh7ZaYntsBGInpItjchKN64/A==","_npmVersion":"10.8.3","directories":{},"_nodeVersion":"24.3.0","dependencies":{"bun-file-system-router-browser":"^1.3.13"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.3.13","@types/react":"^19.2.7","@types/react-dom":"^19.2.3","frame-master-plugin-serve-from-build":"^1.0.0"},"peerDependencies":{"react":"^19.2.0","react-dom":"^19.2.0","typescript":"^5.9.3","frame-master":"^3.1.3"},"_npmOperationalInternal":{"tmp":"tmp/frame-master-plugin-apply-react_2.0.7_1778783502565_0.3852392006004475","host":"s3://npm-registry-packages-npm-production"}},"2.0.8":{"name":"frame-master-plugin-apply-react","version":"2.0.8","_id":"frame-master-plugin-apply-react@2.0.8","maintainers":[{"name":"shpaw415","email":"shpaw415@gmail.com"}],"dist":{"shasum":"ea70fec517778dcebe4e86d35da5eebbec41a44f","tarball":"https://registry.npmjs.org/frame-master-plugin-apply-react/-/frame-master-plugin-apply-react-2.0.8.tgz","fileCount":30,"integrity":"sha512-ZXPsDxdJfOwaT5Cjuq68qRWC69EF0d0snhz82n/BZQLmpkaO4wdCb8gGqrLo2XrEvhHYxpay+J//8IJYTu8mRQ==","signatures":[{"sig":"MEQCIFZGF6x/LYkEOJNnOvDHBAUV7EzRzc3igHHyS7RpoxAgAiB4KG5TndlGCpa5tPfiVBZsuO9Z0a9b1/2c6oaZmS5FOQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":51907},"shasum":"ea70fec517778dcebe4e86d35da5eebbec41a44f","exports":{"./types":"./src/types.d.ts","./utils":"./src/utils.ts","./plugin":"./src/index.ts","./router":"./src/router.tsx"},"scripts":{"dev":"NODE_ENV=development bun --hot frame-master dev","test":"bun test --tsconfig-override test/tsconfig.json --config test/bunfig.toml test/","build":"NODE_ENV=production bun frame-master build","start":"NODE_ENV=production bun frame-master start","build:dev":"NODE_ENV=development bun frame-master build"},"_npmUser":{"name":"shpaw415","email":"shpaw415@gmail.com"},"_integrity":"sha512-ZXPsDxdJfOwaT5Cjuq68qRWC69EF0d0snhz82n/BZQLmpkaO4wdCb8gGqrLo2XrEvhHYxpay+J//8IJYTu8mRQ==","_npmVersion":"10.8.3","directories":{},"_nodeVersion":"24.3.0","dependencies":{"bun-file-system-router-browser":"^1.3.13"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.3.13","@types/react":"^19.2.7","@types/react-dom":"^19.2.3","frame-master-plugin-serve-from-build":"^1.0.0"},"peerDependencies":{"react":"^19.2.0","react-dom":"^19.2.0","typescript":"^5.9.3","frame-master":"^3.1.3"},"_npmOperationalInternal":{"tmp":"tmp/frame-master-plugin-apply-react_2.0.8_1778853222808_0.8981281421667819","host":"s3://npm-registry-packages-npm-production"}},"2.0.9":{"name":"frame-master-plugin-apply-react","version":"2.0.9","_id":"frame-master-plugin-apply-react@2.0.9","maintainers":[{"name":"shpaw415","email":"shpaw415@gmail.com"}],"dist":{"shasum":"3801c79c2cebda013a8b2537280c86ad7ea5aaf2","tarball":"https://registry.npmjs.org/frame-master-plugin-apply-react/-/frame-master-plugin-apply-react-2.0.9.tgz","fileCount":21,"integrity":"sha512-LxAJBSfw/hjaG9eXDF03QmGHYGYQFCZ99ARBIa3HZulhWggxcgW02E3ZKMrP6/yanU+PfEa5K1/er/ubYKFjMQ==","signatures":[{"sig":"MEQCIFaxRrM6nYX2UcDSIph8tuhIcrhA3dxd6+aNTYzVYrrtAiB/yILc+lbEZxRwmUFJs3UIqNvriwPFWu4ZDuCyp48TTw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":54363},"shasum":"3801c79c2cebda013a8b2537280c86ad7ea5aaf2","exports":{"./types":"./src/types.d.ts","./utils":"./src/utils.ts","./plugin":"./src/index.ts","./router":"./src/router.tsx"},"scripts":{"dev":"NODE_ENV=development bun frame-master dev","test":"bun test --tsconfig-override test/tsconfig.json test/","build":"NODE_ENV=production bun frame-master build","start":"NODE_ENV=production bun frame-master start","build:dev":"NODE_ENV=development bun frame-master build"},"_npmUser":{"name":"shpaw415","email":"shpaw415@gmail.com"},"_integrity":"sha512-LxAJBSfw/hjaG9eXDF03QmGHYGYQFCZ99ARBIa3HZulhWggxcgW02E3ZKMrP6/yanU+PfEa5K1/er/ubYKFjMQ==","_npmVersion":"10.8.3","directories":{},"_nodeVersion":"24.3.0","dependencies":{"bun-file-system-router-browser":"^1.3.13"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.3.14","@types/react":"^19.2.14","@types/react-dom":"^19.2.3","@happy-dom/global-registrator":"^20.9.0","frame-master-plugin-serve-from-build":"^1.1.1"},"peerDependencies":{"react":"^19.2.5","react-dom":"^19.2.5","typescript":"^5.9.3","frame-master":"^3.1.3"},"_npmOperationalInternal":{"tmp":"tmp/frame-master-plugin-apply-react_2.0.9_1779115915924_0.059540065808585174","host":"s3://npm-registry-packages-npm-production"}},"3.0.0":{"name":"frame-master-plugin-apply-react","version":"3.0.0","_id":"frame-master-plugin-apply-react@3.0.0","maintainers":[{"name":"shpaw415","email":"shpaw415@gmail.com"}],"homepage":"https://github.com/shpaw415/frame-master-plugin-apply-react#readme","bugs":{"url":"https://github.com/shpaw415/frame-master-plugin-apply-react/issues"},"dist":{"shasum":"e0d83cc9a0b47b7f986a16b1e5160de8c1741b4a","tarball":"https://registry.npmjs.org/frame-master-plugin-apply-react/-/frame-master-plugin-apply-react-3.0.0.tgz","fileCount":34,"integrity":"sha512-Do07GI7OILtwWlARh7LoT0ZetwSHiUhv3wtsCjm2DYSQ8Clrj/UKvhwBxzzb81qO+/8XDXHiHzvuKDLZ+N4yQg==","signatures":[{"sig":"MEUCIDA98WjTujE7cBRiXRb5WM2QNgA6RJ0LCaSNvGgIc3jjAiEA89sbZ6upd/b2NUfCfd+Dc8fxE7hCXy8XHpFAhyOD7AQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/frame-master-plugin-apply-react@3.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":119152},"exports":{"./types":"./src/types.d.ts","./utils":"./src/utils.ts","./plugin":"./src/index.ts","./router":"./src/router.tsx"},"gitHead":"bc024f83c4f584f1a3f8330db5d5791bd9333ece","scripts":{"dev":"NODE_ENV=development bun frame-master dev","lint":"biome check","test":"bun test --tsconfig-override test/tsconfig.json test/FastRefreshContent.test.tsx && bun test --tsconfig-override test/tsconfig.json test/*.test.ts test/ErrorWrapper.test.tsx test/ReactRefreshRuntime.test.ts test/ReactRefreshTransform.test.ts test/RouterHMR.test.tsx test/RouterHost.test.tsx test/utils.test.ts","build":"NODE_ENV=production bun frame-master build","start":"NODE_ENV=production bun frame-master start","build:dev":"NODE_ENV=development bun frame-master build","test:unit":"bun run test","typecheck":"bash -c 'tsc --noEmit --pretty false --incremental false > /tmp/apply-react-tsc.log 2>&1 || true; if grep -v node_modules/ /tmp/apply-react-tsc.log | grep -q \"error TS\"; then cat /tmp/apply-react-tsc.log; exit 1; fi'","lint:write":"biome check --write"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6c659544-423e-42ba-94ee-8bac2b7d239d"}},"repository":{"url":"git+https://github.com/shpaw415/frame-master-plugin-apply-react.git","type":"git"},"_npmVersion":"11.17.0","description":"A Frame-Master plugin that adds React client-side hydration and interactivity to static HTML files, enabling dynamic single-page applications with SSG (Static Site Generation) and CDN deployment.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"@babel/core":"^8.0.1","@babel/types":"^8.0.4","react-refresh":"^0.18.0","bun-file-system-router-browser":"^1.3.13"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.3.14","typescript":"^5.9.3","@types/react":"^19.2.18","frame-master":"4.0.0-beta.3","@biomejs/biome":"2.5.6","@types/react-dom":"^19.2.4","@happy-dom/global-registrator":"^20.11.2","frame-master-plugin-serve-from-build":"^1.1.1"},"peerDependencies":{"react":"19.2.8","react-dom":"19.2.8","typescript":"^5.9.3","frame-master":"^4.0.0-0"},"_npmOperationalInternal":{"tmp":"tmp/frame-master-plugin-apply-react_3.0.0_1787077392622_0.18739705911791638","host":"s3://npm-registry-packages-npm-production"}},"3.0.1":{"name":"frame-master-plugin-apply-react","version":"3.0.1","repository":{"type":"git","url":"git+https://github.com/shpaw415/frame-master-plugin-apply-react.git"},"devDependencies":{"@biomejs/biome":"2.5.6","@happy-dom/global-registrator":"^20.11.2","@types/bun":"^1.3.14","@types/react":"^19.2.18","@types/react-dom":"^19.2.4","frame-master":"4.0.0-beta.3","frame-master-plugin-serve-from-build":"^1.1.1","typescript":"^5.9.3"},"peerDependencies":{"typescript":"^5.9.3","react":"19.2.8","react-dom":"19.2.8","frame-master":"^4.0.0-0"},"exports":{"./plugin":"./src/index.ts","./router":"./src/router.tsx","./types":"./src/types.d.ts","./utils":"./src/utils.ts"},"scripts":{"dev":"NODE_ENV=development bun frame-master dev","start":"NODE_ENV=production bun frame-master start","build:dev":"NODE_ENV=development bun frame-master build","build":"NODE_ENV=production bun frame-master build","test":"bun test --tsconfig-override test/tsconfig.json test/FastRefreshContent.test.tsx && bun test --tsconfig-override test/tsconfig.json test/*.test.ts test/ErrorWrapper.test.tsx test/ReactRefreshRuntime.test.ts test/ReactRefreshTransform.test.ts test/RouterHMR.test.tsx test/RouterHost.test.tsx test/utils.test.ts","test:unit":"bun run test","typecheck":"bash -c 'tsc --noEmit --pretty false --incremental false > /tmp/apply-react-tsc.log 2>&1 || true; if grep -v node_modules/ /tmp/apply-react-tsc.log | grep -q \"error TS\"; then cat /tmp/apply-react-tsc.log; exit 1; fi'","lint":"biome check","lint:write":"biome check --write"},"dependencies":{"@babel/core":"^8.0.1","@babel/types":"^8.0.4","bun-file-system-router-browser":"^1.3.13","react-refresh":"^0.18.0"},"gitHead":"9b4d9a72481a9226033aed8fc9a5a06411dca3c9","_id":"frame-master-plugin-apply-react@3.0.1","description":"A Frame-Master plugin that adds React client-side hydration and interactivity to static HTML files, enabling dynamic single-page applications with SSG (Static Site Generation) and CDN deployment.","bugs":{"url":"https://github.com/shpaw415/frame-master-plugin-apply-react/issues"},"homepage":"https://github.com/shpaw415/frame-master-plugin-apply-react#readme","_nodeVersion":"24.20.0","_npmVersion":"11.19.0","dist":{"integrity":"sha512-RYMRskCZDcPrU4OP9HJrHuLekJiOtGTtJ9FS84EA7K14ahIeUhVgRubwDn4urFXms0QkFLmt0utRncBY3+4xFw==","shasum":"aad98f3173bbc6f7bb11dcb759708b527abbbaeb","tarball":"https://registry.npmjs.org/frame-master-plugin-apply-react/-/frame-master-plugin-apply-react-3.0.1.tgz","fileCount":35,"unpackedSize":123082,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/frame-master-plugin-apply-react@3.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIDn6D8CaLDTcwmnwThPCwjoAItYcEDCOhg8J7cQI3gc2AiAYx4qcmzydpkR3KL5ySSfbN6Noo+gSXY1kx+dAvCKeMQ=="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6c659544-423e-42ba-94ee-8bac2b7d239d"}},"directories":{},"maintainers":[{"name":"shpaw415","email":"shpaw415@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/frame-master-plugin-apply-react_3.0.1_1788921111367_0.4562434785687852"},"_hasShrinkwrap":false}},"time":{"created":"2025-11-06T03:36:40.781Z","modified":"2026-09-09T02:31:51.832Z","0.1.0":"2025-11-06T03:36:40.995Z","0.1.1":"2025-11-06T23:58:54.215Z","0.1.2":"2025-11-07T16:22:12.969Z","0.1.3":"2025-11-08T16:14:08.905Z","0.1.4":"2025-11-27T18:23:49.483Z","0.1.5":"2025-11-27T21:32:32.099Z","0.2.0":"2025-12-08T23:31:31.187Z","0.2.1":"2025-12-09T01:43:24.289Z","0.2.2":"2025-12-20T16:30:53.285Z","0.2.3":"2025-12-21T00:43:58.585Z","0.2.4":"2025-12-21T01:57:55.807Z","0.2.5":"2026-01-03T17:07:13.122Z","0.2.6":"2026-01-14T01:22:39.846Z","1.0.0":"2026-04-25T04:26:38.788Z","1.1.0":"2026-04-29T18:21:23.448Z","1.1.1":"2026-04-29T18:38:26.577Z","2.0.0":"2026-05-01T00:00:45.072Z","2.0.1":"2026-05-02T02:32:38.418Z","2.0.2":"2026-05-04T17:29:32.211Z","2.0.3":"2026-05-04T20:23:57.728Z","2.0.4":"2026-05-05T19:19:53.928Z","2.0.5":"2026-05-06T02:36:02.937Z","2.0.6":"2026-05-06T16:08:09.679Z","2.0.7":"2026-05-14T18:31:42.736Z","2.0.8":"2026-05-15T13:53:42.959Z","2.0.9":"2026-05-18T14:51:56.096Z","3.0.0":"2026-08-18T18:23:12.791Z","3.0.1":"2026-09-09T02:31:51.507Z"},"bugs":{"url":"https://github.com/shpaw415/frame-master-plugin-apply-react/issues"},"homepage":"https://github.com/shpaw415/frame-master-plugin-apply-react#readme","repository":{"type":"git","url":"git+https://github.com/shpaw415/frame-master-plugin-apply-react.git"},"description":"A Frame-Master plugin that adds React client-side hydration and interactivity to static HTML files, enabling dynamic single-page applications with SSG (Static Site Generation) and CDN deployment.","maintainers":[{"name":"shpaw415","email":"shpaw415@gmail.com"}],"readme":"# Apply React Plugin\n\nA Frame-Master plugin that adds React client-side hydration and interactivity to static HTML files, enabling dynamic single-page applications with SSG (Static Site Generation) and CDN deployment.\n\n## Features\n\n- ⚡ **Client-Side Hydration** - Transforms static HTML into interactive React applications\n- 🔄 **Client-Side Navigation** - Seamless SPA routing without full page reloads\n- 🔥 **Hot Module Replacement** - Live reload during development for instant feedback\n- 📦 **SSG + React** - Combines static site generation with dynamic React functionality\n- 🌐 **CDN Ready** - Optimized builds suitable for CDN distribution\n- 🎯 **File-Based Routing** - Automatic route generation from file structure\n- 🛡️ **Server-Only Protection** - Prevents server-side code from bundling client-side\n\n## Installation\n\n```bash\nbun add frame-master-plugin-apply-react\n```\n\nRequires **Frame-Master 4.x** (`frame-master@^4.0.0-0`).\n\n## Quick Start\n\n### 1. Configure the Plugin\n\nUse this plugin together with `frame-master-plugin-react-to-html` for full SSG + React functionality.\n\n```typescript\n// frame-master.config.ts\nimport type { FrameMasterConfig } from \"frame-master/server/types\";\nimport ReactToHtml from \"frame-master-plugin-react-to-html\";\nimport ApplyReact from \"frame-master-plugin-apply-react/plugin\";\n\nconst config: FrameMasterConfig = {\n  HTTPServer: { port: 3000 },\n  plugins: [\n    ReactToHtml({\n      outDir: \".frame-master/build\",\n      srcDir: \"src/pages\",\n      shellPath: \"src/shell.tsx\",\n    }),\n    ApplyReact({\n      style: \"nextjs\",\n      route: \"src/pages\",\n      enableHMR: true,\n      hydration: \"hydrate\",\n    }),\n  ],\n};\n\nexport default config;\n```\n\n### 2. Create a Client Shell (Optional)\n\n```tsx\n// src/client-shell.tsx\nimport { RouterHost } from \"frame-master-plugin-apply-react/router\";\n\nexport default function ClientShell({ children }: { children: JSX.Element }) {\n  return <RouterHost>{children}</RouterHost>;\n}\n```\n\n### 3. Build Interactive Pages\n\n```tsx\n// src/pages/index.tsx\nimport { useState } from \"react\";\n\nexport default function HomePage() {\n  const [count, setCount] = useState(0);\n\n  return (\n    <section>\n      <h1>Welcome to My Interactive Site</h1>\n      <p>Count: {count}</p>\n      <button onClick={() => setCount(count + 1)}>Increment</button>\n      <a href=\"/about\">Learn More</a>\n    </section>\n  );\n}\n```\n\n### 4. Add Layouts\n\n```tsx\n// src/pages/layout.tsx\nexport default function MainLayout({ children }: { children: JSX.Element }) {\n  return (\n    <>\n      <header>\n        <nav>\n          <a href=\"/\">Home</a>\n          <a href=\"/about\">About</a>\n          <a href=\"/contact\">Contact</a>\n        </nav>\n      </header>\n      <main>{children}</main>\n      <footer>\n        <p>&copy; 2024 My Company</p>\n      </footer>\n    </>\n  );\n}\n```\n\n## Configuration Options\n\n| Option                    | Type        | Default                 | Description                                                              |\n| ------------------------- | ----------- | ----------------------- | ------------------------------------------------------------------------ |\n| `style`                   | `\"nextjs\"`  | -                       | Routing convention style (currently supports Next.js style)              |\n| `route`                   | `string`    | -                       | Base path to your routes directory                                       |\n| `clientShellPath`         | `string?`   | -                       | Optional path to a custom client-side shell component                    |\n| `enableHMR`               | `boolean`   | `true`                  | Enable Hot Module Replacement for development                            |\n| `enableFastRefresh`       | `boolean?`  | `enableHMR`             | Preserve compatible React state and shared context identity during HMR   |\n| `HMROptions.websocket`    | `\"ws\" \\| \"wss\" \\| \"auto\"?` | `\"auto\"`       | Client HMR socket scheme; `auto` uses `wss` on HTTPS pages (tunnels)     |\n| `watchDirectories`        | `string[]?` | `['.', 'node_modules']` | Directories watched for HMR file changes (project-root relative)         |\n| `watchDirectoriesExclude` | `string[]?` | -                       | Directories excluded from HMR watching; applied after `watchDirectories` |\n| `hydration`               | `\"hydrate\"` | `\"hydrate\"`             | Hydration method to use on the client                                    |\n\n## How It Works\n\n### Static Generation + Client Hydration\n\n1. **Build Time**: `react-to-html` plugin generates static HTML files from your React components\n2. **Client Load**: Static HTML is served instantly from CDN for fast initial load\n3. **Hydration**: `apply-react` plugin attaches React event listeners to the static markup\n4. **Navigation**: Client-side routing takes over for seamless SPA-like navigation\n\n### Development Workflow\n\nDuring development, the HMR system:\n\n- Watches for file changes in your pages directory\n- Automatically updates the client without full page reload\n- Uses React Fast Refresh to retain component and provider state when React marks the update boundary compatible\n- Preserves the identity of top-level exported contexts created with `createContext`, including aliased and namespace React imports, so layouts and pages continue to share the same provider after a route rebuild\n- Provides instant feedback via WebSocket connection\n\nFast Refresh instrumentation is development-only. Context identity is stabilized for top-level exported contexts such as `export const ThemeContext = createContext(...)`; function-local or dynamically-created contexts retain normal React behavior. When a hook signature or refresh boundary is incompatible, React remounts the affected boundary rather than retaining stale state.\n\n## Client-Side Router\n\nThe plugin provides a `RouterHost` component that handles:\n\n- **Link Interception**: Automatically intercepts `<a>` tag clicks for client-side navigation\n- **History Management**: Integrates with browser history API (back/forward buttons)\n- **Layout Wrapping**: Automatically wraps pages with their corresponding layouts\n- **HMR Integration**: Updates routes dynamically during development\n- **Error Fallback**: Catches errors thrown inside page components and maps them to fallback pages\n\n```tsx\nimport { RouterHost } from \"frame-master-plugin-apply-react/router\";\n\nexport default function ClientShell({ children }: { children: JSX.Element }) {\n  return <RouterHost>{children}</RouterHost>;\n}\n```\n\n## Fallback Pages & Error Handling\n\n`RouterHost` wraps every rendered page inside an `ErrorWrapper` — a React error boundary. When a page component throws, the error is passed through a **resolver chain** that maps it to a fallback page component.\n\n### Built-in: `NotFoundError`\n\nThrow `ThrowNotFound()` (or `new NotFoundError()`) anywhere inside a page to trigger the nearest co-located `404.tsx` file, exactly like a route miss.\n\n```tsx\n// src/pages/users/[userId].tsx\nimport { ThrowNotFound } from \"frame-master-plugin-apply-react/utils\";\n\nexport default function UserProfile() {\n  const user = useUser();\n\n  if (!user) ThrowNotFound(); // renders src/pages/users/404.tsx\n\n  return <div>{user.name}</div>;\n}\n```\n\n```tsx\n// src/pages/users/404.tsx\nexport default function UserNotFound() {\n  return <h1>User not found</h1>;\n}\n```\n\n### Custom Error Resolvers\n\nPass an `errorResolvers` array to `RouterHost` to handle your own error types. Each resolver is an async function `(error, pathname) => (() => JSX.Element) | null`. Return a component to handle the error, or `null` to fall through to the next resolver.\n\n```tsx\nimport {\n  RouterHost,\n  defaultErrorResolvers,\n  type ErrorFallbackResolver,\n} from \"frame-master-plugin-apply-react/router\";\n\nclass UnauthorizedError extends Error {}\n\nconst myResolvers: ErrorFallbackResolver[] = [\n  async (error, pathname) => {\n    if (error instanceof UnauthorizedError) {\n      return () => <LoginPage />;\n    }\n    return null; // fall through\n  },\n  ...defaultErrorResolvers, // keep built-in NotFoundError handling\n];\n\nexport default function ClientShell({ children }: { children: JSX.Element }) {\n  return <RouterHost errorResolvers={myResolvers}>{children}</RouterHost>;\n}\n```\n\nIf no resolver matches, `RouterHost` renders a recoverable built-in fallback. In development it includes the message, component stack, current pathname, and retry/reload/copy actions. Production uses a generic fallback without error details. The boundary resets on navigation and after a successful Fast Refresh update.\n\n### Custom Fallbacks And Reporting\n\nUse `errorFallback` to replace the built-in fallback, and `onError` to send error details to your logging service. Typed `errorResolvers` always take precedence over `errorFallback`.\n\n```tsx\nimport {\n  RouterHost,\n  type RouterErrorFallbackProps,\n} from \"frame-master-plugin-apply-react/router\";\n\nfunction AppError({ error, reset }: RouterErrorFallbackProps) {\n  return (\n    <main>\n      <h1>We could not load this page</h1>\n      <p>{error.message}</p>\n      <button type=\"button\" onClick={reset}>Try again</button>\n    </main>\n  );\n}\n\nexport default function ClientShell({ children }: { children: JSX.Element }) {\n  return (\n    <RouterHost\n      errorFallback={AppError}\n      onError={(error, { pathname, componentStack }) => {\n        reportRouteError({ error, pathname, componentStack });\n      }}\n    >\n      {children}\n    </RouterHost>\n  );\n}\n```\n\n### `ErrorFallbackResolver` type\n\n```ts\ntype ErrorFallbackResolver = (\n  error: Error,\n  pathname: string,\n) => Promise<(() => JSX.Element) | null>;\n```\n\n```ts\ntype RouterErrorFallbackProps = {\n  error: Error;\n  componentStack: string | null;\n  pathname: string;\n  reset: () => void;\n};\n```\n\n## Server-Only Modules\n\nThe plugin automatically protects server-only code from being bundled in the client build. Original exports are replaced with stubs that throw `Cannot use <export> on a client build (server-only)` if the module is imported client-side.\n\n## Best Practices\n\n### 1. Use React Hooks\n\nUnlike the static `react-to-html` plugin, `apply-react` fully supports React hooks and state management:\n\n```tsx\nimport { useState, useEffect } from \"react\";\n\nexport default function InteractivePage() {\n  const [data, setData] = useState([]);\n\n  useEffect(() => {\n    fetch(\"/api/data\")\n      .then((res) => res.json())\n      .then(setData);\n  }, []);\n\n  return <div>{/* Interactive content */}</div>;\n}\n```\n\n### 2. Optimize for CDN\n\n- Keep your build output small by code-splitting\n- Use dynamic imports for large components\n- Leverage the static HTML for SEO and initial load performance\n\n### 3. Development vs Production\n\n- **Development**: Enable HMR for fast iteration\n- **Production**: Disable HMR and optimize for bundle size\n\n## Deployment\n\nThe generated build can be deployed to any CDN:\n\n1. Run your build process\n2. Upload the `.frame-master/build` directory to your CDN\n3. Configure your CDN to serve `index.html` for SPA routing\n\n## Comparison with react-to-html\n\n| Feature                | react-to-html | apply-react  |\n| ---------------------- | ------------- | ------------ |\n| Static HTML Generation | ✅            | ❌           |\n| React Hooks            | ❌            | ✅           |\n| Client-Side State      | ❌            | ✅           |\n| Client-Side Navigation | ❌            | ✅           |\n| Event Handlers         | ❌            | ✅           |\n| HMR                    | ❌            | ✅           |\n| CDN Ready              | ✅            | ✅           |\n| SEO Friendly           | ✅            | ✅ (via SSG) |\n\n**Recommendation**: Use both plugins together for the best of both worlds - fast initial load with static HTML and full React interactivity after hydration.\n\n## License\n\nMIT\n","readmeFilename":"README.md"}