{"_id":"@applicvision/frontend-friends","_rev":"37-fdb0582b58bf860e3d26dddf6d1d4296","name":"@applicvision/frontend-friends","dist-tags":{"latest":"1.16.3"},"versions":{"1.0.0":{"name":"@applicvision/frontend-friends","version":"1.0.0","_id":"@applicvision/frontend-friends@1.0.0","maintainers":[{"name":"mansh","email":"accountmail@applicvision.com"}],"homepage":"https://github.com/applicvision/frontend-friends#readme","bugs":{"url":"https://github.com/applicvision/frontend-friends/issues"},"dist":{"shasum":"0df91a79c298b5c2a49f5c8dba8aa359d5b486d6","tarball":"https://registry.npmjs.org/@applicvision/frontend-friends/-/frontend-friends-1.0.0.tgz","fileCount":16,"integrity":"sha512-mWxXV7zApeQvLVjWjrqNg2EKLjYBJeFvJQsKDAf6IY0mkVKD6W4bAFaXBqtchSHde+pAus6ti7nagG8/2Pq+3w==","signatures":[{"sig":"MEQCIBWTM9WNhjMiwIsebr85bbvpuSyqtpGrRC8RzGY+7fPeAiAbSNI8joqSugr/otxvVuoJTSKyGWU4ZGBwc4nRmpSdwA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":81430},"type":"module","exports":{".":"./src/index.js","./store":"./src/store.js","./island":"./src/dynamic-island.js","./router":"./src/router/router.js","./deep-watch":"./src/deep-watch.js","./base-router":"./src/router/base-router.js","./parse-shape":"./src/parse-shape.js","./browser-router":"./src/router/browser-router.js","./dynamic-fragment":"./src/dynamic-fragment.js","./attribute-helpers":"./src/attribute-helpers.js","./router/router-link":"./src/router/router-link.js","./declarative-element":"./src/declarative-element.js","./router/dynamic-island":"./src/router/dynamic-island.js"},"gitHead":"c95d1b2e5b73301e2ea6d42ddf331f9b7a7bb1a3","scripts":{"tdd":"test-browser --watch test --watch src","node-tdd":"node --watch --test **/*.nodetest.js","node-test":"node --test **/*.nodetest.js"},"_npmUser":{"name":"mansh","email":"accountmail@applicvision.com"},"repository":{"url":"git+https://github.com/applicvision/frontend-friends.git","type":"git"},"_npmVersion":"10.5.2","description":"Build frontend easily","directories":{},"_nodeVersion":"20.13.1","_hasShrinkwrap":false,"devDependencies":{"@playwright/test":"^1.41.2","@applicvision/js-toolbox":"latest"},"_npmOperationalInternal":{"tmp":"tmp/frontend-friends_1.0.0_1739098006196_0.14506720796923323","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@applicvision/frontend-friends","version":"1.0.1","_id":"@applicvision/frontend-friends@1.0.1","maintainers":[{"name":"mansh","email":"accountmail@applicvision.com"}],"homepage":"https://github.com/applicvision/frontend-friends#readme","bugs":{"url":"https://github.com/applicvision/frontend-friends/issues"},"dist":{"shasum":"3708f2328cb41d7b2c21ecfc9f48c40d426df7d9","tarball":"https://registry.npmjs.org/@applicvision/frontend-friends/-/frontend-friends-1.0.1.tgz","fileCount":16,"integrity":"sha512-XZ4tuWIjECPXykhibj1IcbXP+cffwNDtY/RBJhcnKS4NPHIrI2/t6vCTtX47XTeWeTI02Zgkh5W43aVSFaMGEA==","signatures":[{"sig":"MEYCIQDwlC7rvGgY2omxtVPyo2BtooSMdPWaRFarcpmsjnuidAIhANgL+w7CI80B3erWLwsLT0l0e/rx/xRIP7ITjg7I3y67","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":81770},"main":"./src/index.js","type":"module","exports":{".":"./src/index.js","./store":"./src/store.js","./island":"./src/dynamic-island.js","./router":"./src/router/router.js","./deep-watch":"./src/deep-watch.js","./base-router":"./src/router/base-router.js","./parse-shape":"./src/parse-shape.js","./browser-router":"./src/router/browser-router.js","./dynamic-fragment":"./src/dynamic-fragment.js","./attribute-helpers":"./src/attribute-helpers.js","./router/router-link":"./src/router/router-link.js","./declarative-element":"./src/declarative-element.js","./router/dynamic-island":"./src/router/dynamic-island.js"},"gitHead":"4d88f89e79d37104261b8c365e143f6748f40171","scripts":{"tdd":"test-browser --watch test --watch src","node-tdd":"node --watch --test **/*.nodetest.js","node-test":"node --test **/*.nodetest.js"},"_npmUser":{"name":"mansh","email":"accountmail@applicvision.com"},"repository":{"url":"git+https://github.com/applicvision/frontend-friends.git","type":"git"},"_npmVersion":"10.5.2","description":"Build frontend easily","directories":{},"_nodeVersion":"20.13.1","_hasShrinkwrap":false,"devDependencies":{"@playwright/test":"^1.41.2","@applicvision/js-toolbox":"latest"},"_npmOperationalInternal":{"tmp":"tmp/frontend-friends_1.0.1_1739181692306_0.2660565059822466","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@applicvision/frontend-friends","version":"1.0.2","_id":"@applicvision/frontend-friends@1.0.2","maintainers":[{"name":"mansh","email":"accountmail@applicvision.com"}],"homepage":"https://github.com/applicvision/frontend-friends#readme","bugs":{"url":"https://github.com/applicvision/frontend-friends/issues"},"dist":{"shasum":"c30e857d74e4ee5445320a80ab70d73299bea66c","tarball":"https://registry.npmjs.org/@applicvision/frontend-friends/-/frontend-friends-1.0.2.tgz","fileCount":16,"integrity":"sha512-lnjZ9DHhV9gCs4huM9lb+ZocnU2LcsEFZrWz0D/C7KOsKEwg6OGJ1+7b04Scv5mRoHssRiPZIuFwB3qylWnm7Q==","signatures":[{"sig":"MEUCIDRGSVQB5v1CH8i70LcGtjM6jmBbE+UM0W9zXGXr6/UMAiEAmIJwhpHFRWB5DKxx1HSfs7B1UN7rAgGLytX5nADguvA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":81605},"main":"./src/index.js","type":"module","exports":{".":"./src/index.js","./store":"./src/store.js","./island":"./src/dynamic-island.js","./router":"./src/router/router.js","./deep-watch":"./src/deep-watch.js","./base-router":"./src/router/base-router.js","./parse-shape":"./src/parse-shape.js","./browser-router":"./src/router/browser-router.js","./dynamic-fragment":"./src/dynamic-fragment.js","./attribute-helpers":"./src/attribute-helpers.js","./router/router-link":"./src/router/router-link.js","./declarative-element":"./src/declarative-element.js","./router/dynamic-island":"./src/router/dynamic-island.js"},"gitHead":"a795fbab9b078e16d76131d64c7d6694c42b8cf4","scripts":{"tdd":"test-browser --watch test --watch src","node-tdd":"node --watch --test **/*.nodetest.js","node-test":"node --test **/*.nodetest.js"},"_npmUser":{"name":"mansh","email":"accountmail@applicvision.com"},"repository":{"url":"git+https://github.com/applicvision/frontend-friends.git","type":"git"},"_npmVersion":"10.5.2","description":"Build frontend easily","directories":{},"_nodeVersion":"20.13.1","_hasShrinkwrap":false,"devDependencies":{"@playwright/test":"^1.41.2","@applicvision/js-toolbox":"latest"},"_npmOperationalInternal":{"tmp":"tmp/frontend-friends_1.0.2_1739186406365_0.7066271478781496","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@applicvision/frontend-friends","version":"1.0.3","license":"MIT","_id":"@applicvision/frontend-friends@1.0.3","maintainers":[{"name":"mansh","email":"accountmail@applicvision.com"}],"homepage":"https://github.com/applicvision/frontend-friends#readme","bugs":{"url":"https://github.com/applicvision/frontend-friends/issues"},"dist":{"shasum":"594643a82b7692cd863290602765feb511a48989","tarball":"https://registry.npmjs.org/@applicvision/frontend-friends/-/frontend-friends-1.0.3.tgz","fileCount":16,"integrity":"sha512-rQDBfmZpwRDUrP/GNC14esxTCqwdDnWLwPeU6ol+rS9ujkRvxbGvBcIOYjXz7Bq4l2dbGGp3/FZ5T1xmi6ukzA==","signatures":[{"sig":"MEQCIHQ9C/JTqisYFRLaa+u3OI8k28C14Ro2BdO1q1vBbjrdAiB8/qmIlx/vb0Jp/d/nWaowYB9UHj7YE1rhEXw1SPZuUw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":81801},"main":"./src/index.js","type":"module","exports":{".":"./src/index.js","./store":"./src/store.js","./island":"./src/dynamic-island.js","./router":"./src/router/router.js","./deep-watch":"./src/deep-watch.js","./base-router":"./src/router/base-router.js","./parse-shape":"./src/parse-shape.js","./browser-router":"./src/router/browser-router.js","./dynamic-fragment":"./src/dynamic-fragment.js","./attribute-helpers":"./src/attribute-helpers.js","./router/router-link":"./src/router/router-link.js","./declarative-element":"./src/declarative-element.js","./router/dynamic-island":"./src/router/dynamic-island.js"},"gitHead":"a55005c7e4fc10168b91d9ceff3750d667d0bd01","scripts":{"tdd":"test-browser --watch test --watch src","node-tdd":"node --watch --test **/*.nodetest.js","node-test":"node --test **/*.nodetest.js"},"_npmUser":{"name":"mansh","email":"accountmail@applicvision.com"},"repository":{"url":"git+https://github.com/applicvision/frontend-friends.git","type":"git"},"_npmVersion":"10.5.2","description":"Build frontend easily","directories":{},"_nodeVersion":"20.13.1","_hasShrinkwrap":false,"devDependencies":{"@playwright/test":"^1.41.2","@applicvision/js-toolbox":"latest"},"_npmOperationalInternal":{"tmp":"tmp/frontend-friends_1.0.3_1739305604730_0.8107145175883057","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@applicvision/frontend-friends","version":"1.0.4","license":"MIT","_id":"@applicvision/frontend-friends@1.0.4","maintainers":[{"name":"mansh","email":"accountmail@applicvision.com"}],"homepage":"https://github.com/applicvision/frontend-friends#readme","bugs":{"url":"https://github.com/applicvision/frontend-friends/issues"},"dist":{"shasum":"a685bcc4c7ea0519008d0223df5a6acd604a4a61","tarball":"https://registry.npmjs.org/@applicvision/frontend-friends/-/frontend-friends-1.0.4.tgz","fileCount":16,"integrity":"sha512-w6rqE09buWds7PEsRj5+Ur3AR7798HSNLeXC/Qfm5pN+SVb7a4UTZJEI9kwe0L8QIwY9rTxD6iN2kkEHFQCoow==","signatures":[{"sig":"MEYCIQDrG3MUdHf9EFQxvllI09FznVX7cWaDULFVl6rcxc6nYAIhAJqsV7cMYNltvba0MtbICCkClOziPYU5b+MsYDyUnN+s","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":82132},"main":"./src/index.js","type":"module","exports":{".":"./src/index.js","./store":"./src/store.js","./island":"./src/dynamic-island.js","./router":"./src/router/router.js","./deep-watch":"./src/deep-watch.js","./base-router":"./src/router/base-router.js","./parse-shape":"./src/parse-shape.js","./browser-router":"./src/router/browser-router.js","./dynamic-fragment":"./src/dynamic-fragment.js","./attribute-helpers":"./src/attribute-helpers.js","./router/router-link":"./src/router/router-link.js","./declarative-element":"./src/declarative-element.js","./router/dynamic-island":"./src/router/dynamic-island.js"},"gitHead":"409ae1247681e0d4e93ef53c0eb37b3f554bbbca","scripts":{"tdd":"test-browser --watch test --watch src","node-tdd":"node --watch --test **/*.nodetest.js","node-test":"node --test **/*.nodetest.js"},"_npmUser":{"name":"mansh","email":"accountmail@applicvision.com"},"repository":{"url":"git+https://github.com/applicvision/frontend-friends.git","type":"git"},"_npmVersion":"10.5.2","description":"Build frontend easily","directories":{},"_nodeVersion":"20.13.1","_hasShrinkwrap":false,"devDependencies":{"@playwright/test":"^1.41.2","@applicvision/js-toolbox":"latest"},"_npmOperationalInternal":{"tmp":"tmp/frontend-friends_1.0.4_1739307096206_0.4684679889566823","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@applicvision/frontend-friends","version":"1.1.0","license":"MIT","_id":"@applicvision/frontend-friends@1.1.0","maintainers":[{"name":"mansh","email":"accountmail@applicvision.com"}],"homepage":"https://github.com/applicvision/frontend-friends#readme","bugs":{"url":"https://github.com/applicvision/frontend-friends/issues"},"dist":{"shasum":"0f9fcbd3edf3f4c049541ecea9ba171653275de2","tarball":"https://registry.npmjs.org/@applicvision/frontend-friends/-/frontend-friends-1.1.0.tgz","fileCount":16,"integrity":"sha512-J2gYrZJJm1tgi3Nm6TQ6KrHFbQFA4LWshdVOMeQUzDb8EwiaW0Cj+4hlutJHmTDiuROrPl3YVdAPXCAIRt+YuQ==","signatures":[{"sig":"MEYCIQCep04m9aiwh3mjbJvW7QUAQ3wDikXK7YdUKwhxVSokpwIhAOKg15919m89L0KZ/CTf0QuXzZior8WDQutriyWs+w9s","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":89921},"main":"./src/index.js","type":"module","exports":{".":"./src/index.js","./store":"./src/store.js","./island":"./src/dynamic-island.js","./router":"./src/router/router.js","./deep-watch":"./src/deep-watch.js","./base-router":"./src/router/base-router.js","./parse-shape":"./src/parse-shape.js","./browser-router":"./src/router/browser-router.js","./dynamic-fragment":"./src/dynamic-fragment.js","./attribute-helpers":"./src/attribute-helpers.js","./router/router-link":"./src/router/router-link.js","./declarative-element":"./src/declarative-element.js","./router/dynamic-island":"./src/router/dynamic-island.js"},"gitHead":"acc6e4ec4e62fd8cb573c278f9a5c2e863ffeae7","scripts":{"tdd":"test-browser --watch test --watch src","node-tdd":"node --watch --test **/*.nodetest.js","node-test":"node --test **/*.nodetest.js"},"_npmUser":{"name":"mansh","email":"accountmail@applicvision.com"},"repository":{"url":"git+https://github.com/applicvision/frontend-friends.git","type":"git"},"_npmVersion":"10.5.2","description":"Build frontend easily","directories":{},"_nodeVersion":"20.13.1","_hasShrinkwrap":false,"devDependencies":{"@playwright/test":"^1.41.2","@applicvision/js-toolbox":"latest"},"_npmOperationalInternal":{"tmp":"tmp/frontend-friends_1.1.0_1740089409442_0.1635905385664571","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@applicvision/frontend-friends","version":"1.2.0","license":"MIT","_id":"@applicvision/frontend-friends@1.2.0","maintainers":[{"name":"mansh","email":"accountmail@applicvision.com"}],"homepage":"https://github.com/applicvision/frontend-friends#readme","bugs":{"url":"https://github.com/applicvision/frontend-friends/issues"},"dist":{"shasum":"0270f8b7f4add75579b1202dadd689f75d5bb0d7","tarball":"https://registry.npmjs.org/@applicvision/frontend-friends/-/frontend-friends-1.2.0.tgz","fileCount":16,"integrity":"sha512-HyGRaVSCKMNnO/mB2gmyiOfSbhK6+MtozQQIMVlc+0Pj8v9Dw6lDGr1d0eQN8kWg5F+MOJpCWaUeeOWnSagguA==","signatures":[{"sig":"MEUCIFIaz8+YCf6VNGx69kOOzoPa44tzrGPgHxfWU9P/c2cvAiEAy1BwrOQnB6IuhOzfTAIwAt8+hlzCvRxOuyxexV/vCfs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":91186},"main":"./src/index.js","type":"module","exports":{".":"./src/index.js","./store":"./src/store.js","./island":"./src/dynamic-island.js","./router":"./src/router/router.js","./deep-watch":"./src/deep-watch.js","./base-router":"./src/router/base-router.js","./parse-shape":"./src/parse-shape.js","./browser-router":"./src/router/browser-router.js","./dynamic-fragment":"./src/dynamic-fragment.js","./attribute-helpers":"./src/attribute-helpers.js","./router/router-link":"./src/router/router-link.js","./declarative-element":"./src/declarative-element.js","./router/dynamic-island":"./src/router/dynamic-island.js"},"gitHead":"030b05a25c47fd66def029e7b1d72d9591193cd4","scripts":{"tdd":"test-browser --watch test --watch src","node-tdd":"node --watch --test **/*.nodetest.js","node-test":"node --test **/*.nodetest.js"},"_npmUser":{"name":"mansh","email":"accountmail@applicvision.com"},"repository":{"url":"git+https://github.com/applicvision/frontend-friends.git","type":"git"},"_npmVersion":"10.5.2","description":"Build frontend easily","directories":{},"_nodeVersion":"20.13.1","_hasShrinkwrap":false,"devDependencies":{"@playwright/test":"^1.41.2","@applicvision/js-toolbox":"latest"},"_npmOperationalInternal":{"tmp":"tmp/frontend-friends_1.2.0_1743246163435_0.18281040003044002","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"@applicvision/frontend-friends","version":"1.2.1","license":"MIT","_id":"@applicvision/frontend-friends@1.2.1","maintainers":[{"name":"mansh","email":"accountmail@applicvision.com"}],"homepage":"https://github.com/applicvision/frontend-friends#readme","bugs":{"url":"https://github.com/applicvision/frontend-friends/issues"},"dist":{"shasum":"f9dfc727281458c4e88e7e4ed3359250def069e9","tarball":"https://registry.npmjs.org/@applicvision/frontend-friends/-/frontend-friends-1.2.1.tgz","fileCount":16,"integrity":"sha512-qBgfV2lj0j8RRQ9IwSpTf4rbXLm4IJre5Sou4dk4aTAnkDdoRn+PimuEa/ZthQANUrXPn8EwxC5Tulx9p57n9Q==","signatures":[{"sig":"MEYCIQDPTlUS7daQyfn+6o7thdRhP2gKEubm5RRLblaA6Av3hgIhAImGjS6YHGbFL9z4Cvd1yiRV6vZFvp+bvJd19M50rjN1","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":91382},"main":"./src/index.js","type":"module","exports":{".":"./src/index.js","./store":"./src/store.js","./island":"./src/dynamic-island.js","./router":"./src/router/router.js","./deep-watch":"./src/deep-watch.js","./base-router":"./src/router/base-router.js","./parse-shape":"./src/parse-shape.js","./browser-router":"./src/router/browser-router.js","./dynamic-fragment":"./src/dynamic-fragment.js","./attribute-helpers":"./src/attribute-helpers.js","./router/router-link":"./src/router/router-link.js","./declarative-element":"./src/declarative-element.js","./router/dynamic-island":"./src/router/dynamic-island.js"},"gitHead":"f8cb189edaa1a9a5b77176e7f63257986e27e2e2","scripts":{"tdd":"test-browser --watch test --watch src","node-tdd":"node --watch --test **/*.nodetest.js","node-test":"node --test **/*.nodetest.js"},"_npmUser":{"name":"mansh","email":"accountmail@applicvision.com"},"repository":{"url":"git+https://github.com/applicvision/frontend-friends.git","type":"git"},"_npmVersion":"10.5.2","description":"Build frontend easily","directories":{},"_nodeVersion":"20.13.1","_hasShrinkwrap":false,"devDependencies":{"@playwright/test":"^1.41.2","@applicvision/js-toolbox":"latest"},"_npmOperationalInternal":{"tmp":"tmp/frontend-friends_1.2.1_1744226365779_0.8248057010021632","host":"s3://npm-registry-packages-npm-production"}},"1.2.2":{"name":"@applicvision/frontend-friends","version":"1.2.2","license":"MIT","_id":"@applicvision/frontend-friends@1.2.2","maintainers":[{"name":"mansh","email":"accountmail@applicvision.com"}],"homepage":"https://github.com/applicvision/frontend-friends#readme","bugs":{"url":"https://github.com/applicvision/frontend-friends/issues"},"dist":{"shasum":"9113c66355c0fa0cc4a1fb23626e75d90a055344","tarball":"https://registry.npmjs.org/@applicvision/frontend-friends/-/frontend-friends-1.2.2.tgz","fileCount":16,"integrity":"sha512-Waxz7slwDm7DOzvIsnGjWSDYW3PnXVYKqM/KUOX/3kj+P766LBC+bj5AYnMPqR3hG7NlyXEnNSFXl7qsRUXzKA==","signatures":[{"sig":"MEYCIQCcEi7nDHgZiWNpKMyARsTfbFEkDqsS4XzxYt2pUbJjkQIhALKOqsLprCnjxRY+F6EUB3JU6WxUtVN5AE+XOH/akr1y","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":91556},"main":"./src/index.js","type":"module","exports":{".":"./src/index.js","./store":"./src/store.js","./island":"./src/dynamic-island.js","./router":"./src/router/router.js","./deep-watch":"./src/deep-watch.js","./base-router":"./src/router/base-router.js","./parse-shape":"./src/parse-shape.js","./browser-router":"./src/router/browser-router.js","./dynamic-fragment":"./src/dynamic-fragment.js","./attribute-helpers":"./src/attribute-helpers.js","./router/router-link":"./src/router/router-link.js","./declarative-element":"./src/declarative-element.js","./router/dynamic-island":"./src/router/dynamic-island.js"},"gitHead":"ce455c868ccd2ec57e5f77eb6eb83aa80e0879a8","scripts":{"tdd":"test-browser --watch test --watch src","node-tdd":"node --watch --test **/*.nodetest.js","node-test":"node --test **/*.nodetest.js"},"_npmUser":{"name":"mansh","email":"accountmail@applicvision.com"},"repository":{"url":"git+https://github.com/applicvision/frontend-friends.git","type":"git"},"_npmVersion":"10.5.2","description":"Build frontend easily","directories":{},"_nodeVersion":"20.13.1","_hasShrinkwrap":false,"devDependencies":{"@playwright/test":"^1.41.2","@applicvision/js-toolbox":"latest"},"_npmOperationalInternal":{"tmp":"tmp/frontend-friends_1.2.2_1744526097735_0.8381422008158295","host":"s3://npm-registry-packages-npm-production"}},"1.2.3":{"name":"@applicvision/frontend-friends","version":"1.2.3","license":"MIT","_id":"@applicvision/frontend-friends@1.2.3","maintainers":[{"name":"mansh","email":"accountmail@applicvision.com"}],"homepage":"https://github.com/applicvision/frontend-friends#readme","bugs":{"url":"https://github.com/applicvision/frontend-friends/issues"},"dist":{"shasum":"c410857076cfd3e5c11e27217b6fef37fedf76ed","tarball":"https://registry.npmjs.org/@applicvision/frontend-friends/-/frontend-friends-1.2.3.tgz","fileCount":16,"integrity":"sha512-15AqvEvBatGI84hUml1PpNLD7jORNRHDEGjq08f1TS4KLqpdWhNj4DOjTANHxhGCEekZNhBy84qsSryh0ZAQmA==","signatures":[{"sig":"MEQCIFVw8uNS3+kmHmreFWWxmxCI3rPhZSIoSr3Fy1ffzcQVAiAc2unQi/xsm9r5Xb1pF0AdWdNbxZgnzCL+xV0th7N4AQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":91568},"main":"./src/index.js","type":"module","exports":{".":"./src/index.js","./store":"./src/store.js","./island":"./src/dynamic-island.js","./router":"./src/router/router.js","./deep-watch":"./src/deep-watch.js","./base-router":"./src/router/base-router.js","./parse-shape":"./src/parse-shape.js","./browser-router":"./src/router/browser-router.js","./dynamic-fragment":"./src/dynamic-fragment.js","./attribute-helpers":"./src/attribute-helpers.js","./router/router-link":"./src/router/router-link.js","./declarative-element":"./src/declarative-element.js","./router/dynamic-island":"./src/router/dynamic-island.js"},"gitHead":"8ae3289333c91610dda50a800856c61668ba2167","scripts":{"tdd":"test-browser --watch test --watch src","node-tdd":"node --watch --test **/*.nodetest.js","node-test":"node --test **/*.nodetest.js"},"_npmUser":{"name":"mansh","email":"accountmail@applicvision.com"},"repository":{"url":"git+https://github.com/applicvision/frontend-friends.git","type":"git"},"_npmVersion":"10.5.2","description":"Build frontend easily","directories":{},"_nodeVersion":"20.13.1","_hasShrinkwrap":false,"devDependencies":{"@playwright/test":"^1.41.2","@applicvision/js-toolbox":"latest"},"_npmOperationalInternal":{"tmp":"tmp/frontend-friends_1.2.3_1744540706619_0.5235835847270571","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"@applicvision/frontend-friends","version":"1.3.0","license":"MIT","_id":"@applicvision/frontend-friends@1.3.0","maintainers":[{"name":"mansh","email":"accountmail@applicvision.com"}],"homepage":"https://github.com/applicvision/frontend-friends#readme","bugs":{"url":"https://github.com/applicvision/frontend-friends/issues"},"dist":{"shasum":"6e9073001361a1db7603bfe2b2d1bacbaee50145","tarball":"https://registry.npmjs.org/@applicvision/frontend-friends/-/frontend-friends-1.3.0.tgz","fileCount":16,"integrity":"sha512-IJVD71xqS+HU69zFUOIqUht3dll70MO5SClRMqUGPXdf9vZozT47oLG7IJ0Fpx3ol5BONGw3C4TlcI2NC5fHqg==","signatures":[{"sig":"MEQCIHMNz0achP2O/ygbnUk47oTXYrImFHQSiVZ0ye0c6z+5AiAeXAgxL5Y3vOTF4192lm3gXNbF4amlmVsbw2uDAXeO4g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":93320},"main":"./src/index.js","type":"module","exports":{".":"./src/index.js","./store":"./src/store.js","./island":"./src/dynamic-island.js","./router":"./src/router/router.js","./deep-watch":"./src/deep-watch.js","./base-router":"./src/router/base-router.js","./parse-shape":"./src/parse-shape.js","./browser-router":"./src/router/browser-router.js","./dynamic-fragment":"./src/dynamic-fragment.js","./attribute-helpers":"./src/attribute-helpers.js","./router/router-link":"./src/router/router-link.js","./declarative-element":"./src/declarative-element.js","./router/dynamic-island":"./src/router/dynamic-island.js"},"gitHead":"45a8d6a78ee364db67a4ff5712473c576cba21a7","scripts":{"tdd":"test-browser --watch test --watch src","node-tdd":"node --watch --test **/*.nodetest.js","node-test":"node --test **/*.nodetest.js"},"_npmUser":{"name":"mansh","email":"accountmail@applicvision.com"},"repository":{"url":"git+https://github.com/applicvision/frontend-friends.git","type":"git"},"_npmVersion":"10.5.2","description":"Build frontend easily","directories":{},"_nodeVersion":"20.13.1","_hasShrinkwrap":false,"devDependencies":{"@playwright/test":"^1.41.2","@applicvision/js-toolbox":"latest"},"_npmOperationalInternal":{"tmp":"tmp/frontend-friends_1.3.0_1744825939777_0.8767808517036482","host":"s3://npm-registry-packages-npm-production"}},"1.3.1":{"name":"@applicvision/frontend-friends","version":"1.3.1","license":"MIT","_id":"@applicvision/frontend-friends@1.3.1","maintainers":[{"name":"mansh","email":"accountmail@applicvision.com"}],"homepage":"https://github.com/applicvision/frontend-friends#readme","bugs":{"url":"https://github.com/applicvision/frontend-friends/issues"},"dist":{"shasum":"f1f30531f86e4df2440b4f1cf2a1fa5262560bbd","tarball":"https://registry.npmjs.org/@applicvision/frontend-friends/-/frontend-friends-1.3.1.tgz","fileCount":16,"integrity":"sha512-WWCRImFexlUNyrFYoG5q8S7ywi/iJu9mUiM0rdjMnFNLV9HuAVPwM025g/il9bNP9N5NObOT97zd4nluokOo0g==","signatures":[{"sig":"MEUCIQDp08JEVrSqX11IvgCGi7hTAZf3SlLP0Z9ckSOoq2lccgIgUt/nDVhQdTEdRy8n5cSmI3KgI4X2o6xO0GleNUxFIsY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":93485},"main":"./src/index.js","type":"module","exports":{".":"./src/index.js","./store":"./src/store.js","./island":"./src/dynamic-island.js","./router":"./src/router/router.js","./deep-watch":"./src/deep-watch.js","./base-router":"./src/router/base-router.js","./parse-shape":"./src/parse-shape.js","./browser-router":"./src/router/browser-router.js","./dynamic-fragment":"./src/dynamic-fragment.js","./attribute-helpers":"./src/attribute-helpers.js","./router/router-link":"./src/router/router-link.js","./declarative-element":"./src/declarative-element.js","./router/dynamic-island":"./src/router/dynamic-island.js"},"gitHead":"cf1e8b79012bf06700f8c133668bad97c38adf90","scripts":{"tdd":"test-browser --watch test --watch src","node-tdd":"node --watch --test **/*.nodetest.js","node-test":"node --test **/*.nodetest.js"},"_npmUser":{"name":"mansh","email":"accountmail@applicvision.com"},"repository":{"url":"git+https://github.com/applicvision/frontend-friends.git","type":"git"},"_npmVersion":"10.5.2","description":"Build frontend easily","directories":{},"_nodeVersion":"20.13.1","_hasShrinkwrap":false,"devDependencies":{"@playwright/test":"^1.41.2","@applicvision/js-toolbox":"latest"},"_npmOperationalInternal":{"tmp":"tmp/frontend-friends_1.3.1_1744826575138_0.9740481281092799","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"@applicvision/frontend-friends","version":"1.4.0","license":"MIT","_id":"@applicvision/frontend-friends@1.4.0","maintainers":[{"name":"mansh","email":"accountmail@applicvision.com"}],"homepage":"https://github.com/applicvision/frontend-friends#readme","bugs":{"url":"https://github.com/applicvision/frontend-friends/issues"},"dist":{"shasum":"df23264b31f3bc83cfdfe7de9b8f2173caa60785","tarball":"https://registry.npmjs.org/@applicvision/frontend-friends/-/frontend-friends-1.4.0.tgz","fileCount":16,"integrity":"sha512-lGzJWEFFyAqR98rMnwnkFFqfistCssZWS5/gzSrGhoYBFXo8CGDAsA6Ev4cjHQZ60GIiWCU8UnscG409zn+YVQ==","signatures":[{"sig":"MEQCIATOE70OYCDbh8QSjjib3ZSXUx4v6BR5lhgs29iG0qMGAiAM15Yz2vRYsbvDCgcWjgNzg/DNcRyi1ETM1ePCvNITIg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":96457},"main":"./src/index.js","type":"module","exports":{".":"./src/index.js","./store":"./src/store.js","./island":"./src/dynamic-island.js","./router":"./src/router/router.js","./deep-watch":"./src/deep-watch.js","./base-router":"./src/router/base-router.js","./parse-shape":"./src/parse-shape.js","./browser-router":"./src/router/browser-router.js","./dynamic-fragment":"./src/dynamic-fragment.js","./attribute-helpers":"./src/attribute-helpers.js","./router/router-link":"./src/router/router-link.js","./declarative-element":"./src/declarative-element.js","./router/dynamic-island":"./src/router/dynamic-island.js"},"gitHead":"2ce358144b9c29f38d7ed58da2e92f1147ab9a6b","scripts":{"tdd":"test-browser --watch test --watch src","node-tdd":"node --watch --test **/*.nodetest.js","node-test":"node --test **/*.nodetest.js"},"_npmUser":{"name":"mansh","email":"accountmail@applicvision.com"},"repository":{"url":"git+https://github.com/applicvision/frontend-friends.git","type":"git"},"_npmVersion":"10.5.2","description":"Build frontend easily","directories":{},"_nodeVersion":"20.13.1","_hasShrinkwrap":false,"devDependencies":{"@playwright/test":"^1.41.2","@applicvision/js-toolbox":"latest"},"_npmOperationalInternal":{"tmp":"tmp/frontend-friends_1.4.0_1744972348881_0.7032799577237312","host":"s3://npm-registry-packages-npm-production"}},"1.4.1":{"name":"@applicvision/frontend-friends","version":"1.4.1","license":"MIT","_id":"@applicvision/frontend-friends@1.4.1","maintainers":[{"name":"mansh","email":"accountmail@applicvision.com"}],"homepage":"https://github.com/applicvision/frontend-friends#readme","bugs":{"url":"https://github.com/applicvision/frontend-friends/issues"},"dist":{"shasum":"565bc79ecc65e8abfb076b0ea0a0a9855ddd8b16","tarball":"https://registry.npmjs.org/@applicvision/frontend-friends/-/frontend-friends-1.4.1.tgz","fileCount":16,"integrity":"sha512-ROuXvJ0k9BlEVsQHkDaULbi1+znGzD28573FUyHqlF98o3vC4V0PsxzzzoUmwGVmnhEGz3ZLnk0h7xDqnzciiw==","signatures":[{"sig":"MEYCIQDPva1Cj5Ubs0++oWfD+JQP3mNaGBVnpBSV1fJNJj+PnQIhAOfZxIvPaWqFepWrD5A/odgRT6bltuCIQkgD4YRAKp9B","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":96631},"main":"./src/index.js","type":"module","exports":{".":"./src/index.js","./store":"./src/store.js","./island":"./src/dynamic-island.js","./router":"./src/router/router.js","./deep-watch":"./src/deep-watch.js","./base-router":"./src/router/base-router.js","./parse-shape":"./src/parse-shape.js","./browser-router":"./src/router/browser-router.js","./dynamic-fragment":"./src/dynamic-fragment.js","./attribute-helpers":"./src/attribute-helpers.js","./router/router-link":"./src/router/router-link.js","./declarative-element":"./src/declarative-element.js","./router/dynamic-island":"./src/router/dynamic-island.js"},"gitHead":"b51f9a7566136948e081b29a3bf0417eadc00d26","scripts":{"tdd":"test-browser --watch test --watch src","node-tdd":"node --watch --test **/*.nodetest.js","node-test":"node --test **/*.nodetest.js"},"_npmUser":{"name":"mansh","email":"accountmail@applicvision.com"},"repository":{"url":"git+https://github.com/applicvision/frontend-friends.git","type":"git"},"_npmVersion":"10.5.2","description":"Build frontend easily","directories":{},"_nodeVersion":"20.13.1","_hasShrinkwrap":false,"devDependencies":{"@playwright/test":"^1.41.2","@applicvision/js-toolbox":"latest"},"_npmOperationalInternal":{"tmp":"tmp/frontend-friends_1.4.1_1745439471221_0.7382395254430845","host":"s3://npm-registry-packages-npm-production"}},"1.5.0":{"name":"@applicvision/frontend-friends","version":"1.5.0","license":"MIT","_id":"@applicvision/frontend-friends@1.5.0","maintainers":[{"name":"mansh","email":"accountmail@applicvision.com"}],"homepage":"https://github.com/applicvision/frontend-friends#readme","bugs":{"url":"https://github.com/applicvision/frontend-friends/issues"},"dist":{"shasum":"ec9d21fb89060680e3e5d25b93d6eeddabc430a5","tarball":"https://registry.npmjs.org/@applicvision/frontend-friends/-/frontend-friends-1.5.0.tgz","fileCount":16,"integrity":"sha512-Qxf5LG7vM/BJkloMjF3zv4Oq2UB0XsJzIsnij7crvysVS/KsTMmO9AKUXJItFlh6PVhNzj45yuMXVDOiHZVknA==","signatures":[{"sig":"MEUCIHRWLb6M5541aJR9M3q3M0+5ZhoYG4w08GS+c3VM90a6AiEAxX3cpRgoyK7A0t9yIXW/1+m5bh/h7MqjBwgngVDFuPU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":96518},"main":"./src/index.js","type":"module","exports":{".":"./src/index.js","./store":"./src/store.js","./island":"./src/dynamic-island.js","./router":"./src/router/router.js","./deep-watch":"./src/deep-watch.js","./base-router":"./src/router/base-router.js","./parse-shape":"./src/parse-shape.js","./browser-router":"./src/router/browser-router.js","./dynamic-fragment":"./src/dynamic-fragment.js","./attribute-helpers":"./src/attribute-helpers.js","./router/router-link":"./src/router/router-link.js","./declarative-element":"./src/declarative-element.js","./router/dynamic-island":"./src/router/dynamic-island.js"},"gitHead":"9b1d17d074ec166b91bab3859ff2d9dce3762df2","scripts":{"tdd":"test-browser --watch test --watch src","node-tdd":"node --watch --test **/*.nodetest.js","node-test":"node --test **/*.nodetest.js"},"_npmUser":{"name":"mansh","email":"accountmail@applicvision.com"},"repository":{"url":"git+https://github.com/applicvision/frontend-friends.git","type":"git"},"_npmVersion":"10.5.2","description":"Build frontend easily","directories":{},"_nodeVersion":"20.13.1","_hasShrinkwrap":false,"devDependencies":{"@playwright/test":"^1.41.2","@applicvision/js-toolbox":"latest"},"_npmOperationalInternal":{"tmp":"tmp/frontend-friends_1.5.0_1745913963961_0.04534293274053569","host":"s3://npm-registry-packages-npm-production"}},"1.5.1":{"name":"@applicvision/frontend-friends","version":"1.5.1","license":"MIT","_id":"@applicvision/frontend-friends@1.5.1","maintainers":[{"name":"mansh","email":"accountmail@applicvision.com"}],"homepage":"https://github.com/applicvision/frontend-friends#readme","bugs":{"url":"https://github.com/applicvision/frontend-friends/issues"},"dist":{"shasum":"7569c28bd7293b4d5b1103a06f0fcb36aff3c631","tarball":"https://registry.npmjs.org/@applicvision/frontend-friends/-/frontend-friends-1.5.1.tgz","fileCount":16,"integrity":"sha512-VevKFA1G5Wfz4E8q/6z/DqloJSay2Qjn3IV4eWD2nty3J8s0sYxdWQ8S13ZJJ9M8wgToHUl9r2YjKuk8xwDcwA==","signatures":[{"sig":"MEUCIQD51IpsUyTDZl5JVcx/E7C812NlQ2Ud6ZZbIRkk70Bn6wIgfAqh29doWsGDhMJb19wG8m6a1X7I/7ESPjMYNFQjr88=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":96582},"main":"./src/index.js","type":"module","exports":{".":"./src/index.js","./store":"./src/store.js","./island":"./src/dynamic-island.js","./router":"./src/router/router.js","./deep-watch":"./src/deep-watch.js","./base-router":"./src/router/base-router.js","./parse-shape":"./src/parse-shape.js","./browser-router":"./src/router/browser-router.js","./dynamic-fragment":"./src/dynamic-fragment.js","./attribute-helpers":"./src/attribute-helpers.js","./router/router-link":"./src/router/router-link.js","./declarative-element":"./src/declarative-element.js","./router/dynamic-island":"./src/router/dynamic-island.js"},"gitHead":"2fa2c81d62de775826da8a91e3ccf2b335130cc0","scripts":{"tdd":"test-browser --watch test --watch src","node-tdd":"node --watch --test **/*.nodetest.js","node-test":"node --test **/*.nodetest.js"},"_npmUser":{"name":"mansh","email":"accountmail@applicvision.com"},"repository":{"url":"git+https://github.com/applicvision/frontend-friends.git","type":"git"},"_npmVersion":"10.5.2","description":"Build frontend easily","directories":{},"_nodeVersion":"20.13.1","_hasShrinkwrap":false,"devDependencies":{"@playwright/test":"^1.41.2","@applicvision/js-toolbox":"latest"},"_npmOperationalInternal":{"tmp":"tmp/frontend-friends_1.5.1_1746308628647_0.6843448947264108","host":"s3://npm-registry-packages-npm-production"}},"1.6.0":{"name":"@applicvision/frontend-friends","version":"1.6.0","license":"MIT","_id":"@applicvision/frontend-friends@1.6.0","maintainers":[{"name":"mansh","email":"accountmail@applicvision.com"}],"homepage":"https://github.com/applicvision/frontend-friends#readme","bugs":{"url":"https://github.com/applicvision/frontend-friends/issues"},"dist":{"shasum":"b64b367cd53cb2bf5c29763b8e5def2f3ad9691b","tarball":"https://registry.npmjs.org/@applicvision/frontend-friends/-/frontend-friends-1.6.0.tgz","fileCount":16,"integrity":"sha512-gcCSHZn3/jOYEPL2o5lG6Dqxvfi7rKh+5OX5ZOe0q6Nwlm/MDBY6aIUS9q2cYPCRMBgZhJbv2G6zXvbe7yp3tA==","signatures":[{"sig":"MEUCIQDKUV6u96UQU9L+7T4Rpw94YbA8j0gMLVjvs2Sn0hBqpwIgabE+xNKFOD3ULVF7MkYhSm9vKt4C3IcICsNjarWihUw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":97796},"main":"./src/index.js","type":"module","exports":{".":"./src/index.js","./store":"./src/store.js","./island":"./src/dynamic-island.js","./router":"./src/router/router.js","./deep-watch":"./src/deep-watch.js","./base-router":"./src/router/base-router.js","./parse-shape":"./src/parse-shape.js","./browser-router":"./src/router/browser-router.js","./dynamic-fragment":"./src/dynamic-fragment.js","./attribute-helpers":"./src/attribute-helpers.js","./router/router-link":"./src/router/router-link.js","./declarative-element":"./src/declarative-element.js","./router/dynamic-island":"./src/router/dynamic-island.js"},"gitHead":"ba8875dd1731cb6530d1465b7a28f341e14cc7b5","scripts":{"tdd":"test-browser --watch test --watch src","node-tdd":"node --watch --test **/*.nodetest.js","node-test":"node --test **/*.nodetest.js","serve-docs":"self-serve docs --base frontend-friends"},"_npmUser":{"name":"mansh","email":"accountmail@applicvision.com"},"repository":{"url":"git+https://github.com/applicvision/frontend-friends.git","type":"git"},"_npmVersion":"10.5.2","description":"Build frontend easily","directories":{},"_nodeVersion":"20.13.1","_hasShrinkwrap":false,"devDependencies":{"@playwright/test":"^1.41.2","@applicvision/js-toolbox":"latest"},"_npmOperationalInternal":{"tmp":"tmp/frontend-friends_1.6.0_1746537651309_0.8151480080941957","host":"s3://npm-registry-packages-npm-production"}},"1.6.1":{"name":"@applicvision/frontend-friends","version":"1.6.1","license":"MIT","_id":"@applicvision/frontend-friends@1.6.1","maintainers":[{"name":"mansh","email":"accountmail@applicvision.com"}],"homepage":"https://github.com/applicvision/frontend-friends#readme","bugs":{"url":"https://github.com/applicvision/frontend-friends/issues"},"dist":{"shasum":"7712fedc275a697cc4ba64517d83026efadd2c01","tarball":"https://registry.npmjs.org/@applicvision/frontend-friends/-/frontend-friends-1.6.1.tgz","fileCount":16,"integrity":"sha512-fYhBYa+bWfkvTEOGtjEpHlveET2RfR4DBG5CsGhYKLPOL0cBWpUPhPfOJND60s7DcIrBz/TCGIA8k3R3609+eg==","signatures":[{"sig":"MEUCIQCYFH68AURcp1lFuDJ3AlWEf2sfMDY6P9fJzHxSGELpqgIgOBv4Yk6APt8II06Q/1dVChF+iArfDTobLAXDrcVBkk0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":97876},"main":"./src/index.js","type":"module","exports":{".":"./src/index.js","./store":"./src/store.js","./island":"./src/dynamic-island.js","./router":"./src/router/router.js","./deep-watch":"./src/deep-watch.js","./base-router":"./src/router/base-router.js","./parse-shape":"./src/parse-shape.js","./browser-router":"./src/router/browser-router.js","./dynamic-fragment":"./src/dynamic-fragment.js","./attribute-helpers":"./src/attribute-helpers.js","./router/router-link":"./src/router/router-link.js","./declarative-element":"./src/declarative-element.js","./router/dynamic-island":"./src/router/dynamic-island.js"},"gitHead":"f4fe74dec7cf53a42cb17198c4b36252a05309eb","scripts":{"tdd":"test-browser --watch test --watch src","node-tdd":"node --watch --test **/*.nodetest.js","node-test":"node --test **/*.nodetest.js","serve-docs":"self-serve docs --base frontend-friends"},"_npmUser":{"name":"mansh","email":"accountmail@applicvision.com"},"repository":{"url":"git+https://github.com/applicvision/frontend-friends.git","type":"git"},"_npmVersion":"10.5.2","description":"Build frontend easily","directories":{},"_nodeVersion":"20.13.1","_hasShrinkwrap":false,"devDependencies":{"@playwright/test":"^1.41.2","@applicvision/js-toolbox":"latest"},"_npmOperationalInternal":{"tmp":"tmp/frontend-friends_1.6.1_1746550056299_0.8973539971789788","host":"s3://npm-registry-packages-npm-production"}},"1.6.2":{"name":"@applicvision/frontend-friends","version":"1.6.2","license":"MIT","_id":"@applicvision/frontend-friends@1.6.2","maintainers":[{"name":"mansh","email":"accountmail@applicvision.com"}],"homepage":"https://github.com/applicvision/frontend-friends#readme","bugs":{"url":"https://github.com/applicvision/frontend-friends/issues"},"dist":{"shasum":"719af5e8fb9c7e4ac48f221c8b46524a198faa20","tarball":"https://registry.npmjs.org/@applicvision/frontend-friends/-/frontend-friends-1.6.2.tgz","fileCount":16,"integrity":"sha512-W1jFmlYNl6Reebs0u6HpobD3N8NiPu6UWA8p9USwvxkMXKSRyc2/qYnpmvzNgBFk/JCH9djMe/Yul2BRA4kX3A==","signatures":[{"sig":"MEUCIQCsHWOEca/5vdEXjYLCnu159uEs2wx+a9EyTaKsMpAlZQIgXwGGYy04CiGXopFFV/rVTxGylPZCRdn1TLOE/CEP37Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":96302},"main":"./src/index.js","type":"module","exports":{".":"./src/index.js","./store":"./src/store.js","./island":"./src/dynamic-island.js","./router":"./src/router/router.js","./deep-watch":"./src/deep-watch.js","./base-router":"./src/router/base-router.js","./parse-shape":"./src/parse-shape.js","./browser-router":"./src/router/browser-router.js","./dynamic-fragment":"./src/dynamic-fragment.js","./attribute-helpers":"./src/attribute-helpers.js","./router/router-link":"./src/router/router-link.js","./declarative-element":"./src/declarative-element.js","./router/dynamic-island":"./src/router/dynamic-island.js"},"gitHead":"1c5be018d8183b054cc0b1f463f0fcb37048ff77","scripts":{"tdd":"test-browser --watch test --watch src","node-tdd":"node --watch --test **/*.nodetest.js","node-test":"node --test **/*.nodetest.js","serve-docs":"self-serve docs --base frontend-friends"},"_npmUser":{"name":"mansh","email":"accountmail@applicvision.com"},"repository":{"url":"git+https://github.com/applicvision/frontend-friends.git","type":"git"},"_npmVersion":"10.5.2","description":"Build frontend easily","directories":{},"_nodeVersion":"20.13.1","_hasShrinkwrap":false,"devDependencies":{"@playwright/test":"^1.41.2","@applicvision/js-toolbox":"latest"},"_npmOperationalInternal":{"tmp":"tmp/frontend-friends_1.6.2_1746609761998_0.32522432998800355","host":"s3://npm-registry-packages-npm-production"}},"1.6.3":{"name":"@applicvision/frontend-friends","version":"1.6.3","license":"MIT","_id":"@applicvision/frontend-friends@1.6.3","maintainers":[{"name":"mansh","email":"accountmail@applicvision.com"}],"homepage":"https://github.com/applicvision/frontend-friends#readme","bugs":{"url":"https://github.com/applicvision/frontend-friends/issues"},"dist":{"shasum":"ce30406f389b2f8aefef779429716ba1bf430514","tarball":"https://registry.npmjs.org/@applicvision/frontend-friends/-/frontend-friends-1.6.3.tgz","fileCount":16,"integrity":"sha512-72aIA+pJIc1EL3MyCHvp+Gy8UW0je3B3b2jI1P+I8zluBdyWNJKCWMDqAFOYsCq8ZB84i0S0HQPePLSEkjF6lw==","signatures":[{"sig":"MEQCIBBgmShNpC2jM1DXze/Lm36mr5pCZAejt1yicnfhGGmTAiAtKVOep1q3hceieTVqUtka45+odKAZYAuRbwPpC8TrOg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":96349},"main":"./src/index.js","type":"module","exports":{".":"./src/index.js","./store":"./src/store.js","./island":"./src/dynamic-island.js","./router":"./src/router/router.js","./deep-watch":"./src/deep-watch.js","./base-router":"./src/router/base-router.js","./parse-shape":"./src/parse-shape.js","./browser-router":"./src/router/browser-router.js","./dynamic-fragment":"./src/dynamic-fragment.js","./attribute-helpers":"./src/attribute-helpers.js","./router/router-link":"./src/router/router-link.js","./declarative-element":"./src/declarative-element.js","./router/dynamic-island":"./src/router/dynamic-island.js"},"gitHead":"d0042a5654029efda28585b4f4f0d3df74f03898","scripts":{"tdd":"test-browser --watch test --watch src","node-tdd":"node --watch --test **/*.nodetest.js","node-test":"node --test **/*.nodetest.js","serve-docs":"self-serve docs --base frontend-friends"},"_npmUser":{"name":"mansh","email":"accountmail@applicvision.com"},"repository":{"url":"git+https://github.com/applicvision/frontend-friends.git","type":"git"},"_npmVersion":"10.5.2","description":"Build frontend easily","directories":{},"_nodeVersion":"20.13.1","_hasShrinkwrap":false,"devDependencies":{"@playwright/test":"^1.41.2","@applicvision/js-toolbox":"latest"},"_npmOperationalInternal":{"tmp":"tmp/frontend-friends_1.6.3_1746694570990_0.6366382234746097","host":"s3://npm-registry-packages-npm-production"}},"1.6.4":{"name":"@applicvision/frontend-friends","version":"1.6.4","license":"MIT","_id":"@applicvision/frontend-friends@1.6.4","maintainers":[{"name":"mansh","email":"accountmail@applicvision.com"}],"homepage":"https://github.com/applicvision/frontend-friends#readme","bugs":{"url":"https://github.com/applicvision/frontend-friends/issues"},"dist":{"shasum":"2099dd688a738c56052f207309b6557c6cec97e7","tarball":"https://registry.npmjs.org/@applicvision/frontend-friends/-/frontend-friends-1.6.4.tgz","fileCount":16,"integrity":"sha512-WOI9ye9qiM2U/KUaDwMFFk7MESgujTZgU/3rmLa9hC8uFkQ+MRQN0QHWWGVdYm/Q0sLVyo55J7aLHMg9brSfXA==","signatures":[{"sig":"MEUCIQCqsldumDPcrHpCbKtRYLMVyonzPisAHSuBTGmq988q+QIgZgZ79n0SJvlCfl6bhs58dSOdGX2pZybHX6lPk7J8h0w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":96380},"main":"./src/index.js","type":"module","exports":{".":"./src/index.js","./store":"./src/store.js","./island":"./src/dynamic-island.js","./router":"./src/router/router.js","./deep-watch":"./src/deep-watch.js","./base-router":"./src/router/base-router.js","./parse-shape":"./src/parse-shape.js","./browser-router":"./src/router/browser-router.js","./dynamic-fragment":"./src/dynamic-fragment.js","./attribute-helpers":"./src/attribute-helpers.js","./router/router-link":"./src/router/router-link.js","./declarative-element":"./src/declarative-element.js","./router/dynamic-island":"./src/router/dynamic-island.js"},"gitHead":"d8ccab9749ba8348ba340b6885fa7047c67eb108","scripts":{"tdd":"test-browser --watch test --watch src","node-tdd":"node --watch --test **/*.nodetest.js","node-test":"node --test **/*.nodetest.js","serve-docs":"self-serve docs --base frontend-friends"},"_npmUser":{"name":"mansh","email":"accountmail@applicvision.com"},"repository":{"url":"git+https://github.com/applicvision/frontend-friends.git","type":"git"},"_npmVersion":"10.5.2","description":"Build frontend easily","directories":{},"_nodeVersion":"20.13.1","_hasShrinkwrap":false,"devDependencies":{"@playwright/test":"^1.41.2","@applicvision/js-toolbox":"latest"},"_npmOperationalInternal":{"tmp":"tmp/frontend-friends_1.6.4_1746730717204_0.6369447427170727","host":"s3://npm-registry-packages-npm-production"}},"1.7.0":{"name":"@applicvision/frontend-friends","version":"1.7.0","license":"MIT","_id":"@applicvision/frontend-friends@1.7.0","maintainers":[{"name":"mansh","email":"accountmail@applicvision.com"}],"homepage":"https://github.com/applicvision/frontend-friends#readme","bugs":{"url":"https://github.com/applicvision/frontend-friends/issues"},"dist":{"shasum":"57cef5ad6930eb4c53eb114caa2a25170f45f57b","tarball":"https://registry.npmjs.org/@applicvision/frontend-friends/-/frontend-friends-1.7.0.tgz","fileCount":16,"integrity":"sha512-hSdXFkrC6n68SVLa7KYYao7nU41+FkQ9vFTgKJYZZwin5pBMwqfnQyUfvmwi/DaOvaHk5ALZqUtZ/Cq+tXaG9A==","signatures":[{"sig":"MEUCIF9AslUv512sxofu+i5XkhHzrzFYtKgmv48uTBE25vwxAiEA1na4wko9U3zW7aXrWkg0ULIoB9NgDuBR6ed6tchI8qc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":99495},"main":"./src/index.js","type":"module","exports":{".":"./src/index.js","./store":"./src/store.js","./island":"./src/dynamic-island.js","./router":"./src/router/router.js","./deep-watch":"./src/deep-watch.js","./base-router":"./src/router/base-router.js","./parse-shape":"./src/parse-shape.js","./browser-router":"./src/router/browser-router.js","./dynamic-fragment":"./src/dynamic-fragment.js","./attribute-helpers":"./src/attribute-helpers.js","./router/router-link":"./src/router/router-link.js","./declarative-element":"./src/declarative-element.js","./router/dynamic-island":"./src/router/dynamic-island.js"},"gitHead":"6717fdad58f881c51f97858d3c13e400f9fac887","scripts":{"tdd":"test-browser --watch test --watch src","node-tdd":"node --watch --test **/*.nodetest.js","node-test":"node --test **/*.nodetest.js","serve-docs":"self-serve docs --base frontend-friends"},"_npmUser":{"name":"mansh","email":"accountmail@applicvision.com"},"repository":{"url":"git+https://github.com/applicvision/frontend-friends.git","type":"git"},"_npmVersion":"10.5.2","description":"Build frontend easily","directories":{},"_nodeVersion":"20.13.1","_hasShrinkwrap":false,"devDependencies":{"@playwright/test":"^1.41.2","@applicvision/js-toolbox":"latest"},"_npmOperationalInternal":{"tmp":"tmp/frontend-friends_1.7.0_1747041215908_0.8763153331602329","host":"s3://npm-registry-packages-npm-production"}},"1.8.0":{"name":"@applicvision/frontend-friends","version":"1.8.0","license":"MIT","_id":"@applicvision/frontend-friends@1.8.0","maintainers":[{"name":"mansh","email":"accountmail@applicvision.com"}],"homepage":"https://github.com/applicvision/frontend-friends#readme","bugs":{"url":"https://github.com/applicvision/frontend-friends/issues"},"dist":{"shasum":"363b5dcbf4da74f94b0ffa27b7466f9d631a2f1e","tarball":"https://registry.npmjs.org/@applicvision/frontend-friends/-/frontend-friends-1.8.0.tgz","fileCount":16,"integrity":"sha512-ZDgMSyieHz1c7sWsooLyzZRCJDSDwbGWjKtEshqVy6Pg9s9h2DxmbAZvjZyn13gwmu0iI5II6YRaeXFUXXNyTw==","signatures":[{"sig":"MEUCICcycDOQVzOGS+vImxC3XUaO38GnyLKBCMYEgCpECW0zAiEAtpn9ZR5lXHBzY6AT/7zZUREVPLSNn0CNZq0yD8kMBFQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":101081},"main":"./src/index.js","type":"module","exports":{".":"./src/index.js","./store":"./src/store.js","./island":"./src/dynamic-island.js","./router":"./src/router/router.js","./deep-watch":"./src/deep-watch.js","./base-router":"./src/router/base-router.js","./parse-shape":"./src/parse-shape.js","./browser-router":"./src/router/browser-router.js","./dynamic-fragment":"./src/dynamic-fragment.js","./attribute-helpers":"./src/attribute-helpers.js","./router/router-link":"./src/router/router-link.js","./declarative-element":"./src/declarative-element.js","./router/dynamic-island":"./src/router/dynamic-island.js"},"gitHead":"650914358de4c077725d868a42eea5f4f27f8705","scripts":{"tdd":"test-browser --watch test --watch src","node-tdd":"node --watch --test **/*.nodetest.js","node-test":"node --test **/*.nodetest.js","serve-docs":"self-serve docs --base frontend-friends"},"_npmUser":{"name":"mansh","actor":{"name":"mansh","type":"user","email":"accountmail@applicvision.com"},"email":"accountmail@applicvision.com"},"repository":{"url":"git+https://github.com/applicvision/frontend-friends.git","type":"git"},"_npmVersion":"10.9.2","description":"Build frontend easily","directories":{},"_nodeVersion":"22.15.1","_hasShrinkwrap":false,"devDependencies":{"@playwright/test":"^1.41.2","@applicvision/js-toolbox":"latest"},"_npmOperationalInternal":{"tmp":"tmp/frontend-friends_1.8.0_1750590168640_0.04847665415637503","host":"s3://npm-registry-packages-npm-production"}},"1.9.0":{"name":"@applicvision/frontend-friends","version":"1.9.0","license":"MIT","_id":"@applicvision/frontend-friends@1.9.0","maintainers":[{"name":"mansh","email":"accountmail@applicvision.com"}],"homepage":"https://github.com/applicvision/frontend-friends#readme","bugs":{"url":"https://github.com/applicvision/frontend-friends/issues"},"dist":{"shasum":"56d431cffca5a445d30a87fd1e85857c7736e5cc","tarball":"https://registry.npmjs.org/@applicvision/frontend-friends/-/frontend-friends-1.9.0.tgz","fileCount":16,"integrity":"sha512-hWYOj9wvK/f+19exZP2kxlc/KJsClSta4NIxzmwIQBKgJl+Fm9DTW0yyoUr0FHOiE6utQ6OQYQVGOu5Q7ZXnCg==","signatures":[{"sig":"MEUCIQCKqJba52m1G7go5z8xOXEKKtoK7BiSiyGl/dxNCWBf8wIgJ97uOY4EsWjhIw5v4cod+URXYzF10QTEbNtaZcogcGM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":102927},"main":"./src/index.js","type":"module","exports":{".":"./src/index.js","./store":"./src/store.js","./island":"./src/dynamic-island.js","./router":"./src/router/router.js","./deep-watch":"./src/deep-watch.js","./base-router":"./src/router/base-router.js","./parse-shape":"./src/parse-shape.js","./browser-router":"./src/router/browser-router.js","./dynamic-fragment":"./src/dynamic-fragment.js","./attribute-helpers":"./src/attribute-helpers.js","./router/router-link":"./src/router/router-link.js","./declarative-element":"./src/declarative-element.js","./router/dynamic-island":"./src/router/dynamic-island.js"},"gitHead":"db000d716c8bf5720dcce2734f332fbd81490a38","scripts":{"tdd":"test-browser --watch test --watch src","node-tdd":"node --watch --test **/*.nodetest.js","node-test":"node --test **/*.nodetest.js","serve-docs":"self-serve docs --base frontend-friends"},"_npmUser":{"name":"mansh","email":"accountmail@applicvision.com"},"repository":{"url":"git+https://github.com/applicvision/frontend-friends.git","type":"git"},"_npmVersion":"10.9.2","description":"Build frontend easily","directories":{},"_nodeVersion":"22.15.1","_hasShrinkwrap":false,"devDependencies":{"@playwright/test":"^1.41.2","@applicvision/js-toolbox":"latest"},"_npmOperationalInternal":{"tmp":"tmp/frontend-friends_1.9.0_1757324837180_0.8539741332785191","host":"s3://npm-registry-packages-npm-production"}},"1.10.0":{"name":"@applicvision/frontend-friends","version":"1.10.0","license":"MIT","_id":"@applicvision/frontend-friends@1.10.0","maintainers":[{"name":"mansh","email":"accountmail@applicvision.com"}],"homepage":"https://github.com/applicvision/frontend-friends#readme","bugs":{"url":"https://github.com/applicvision/frontend-friends/issues"},"dist":{"shasum":"e24f0efffa5f1fd30d882e3aea41d3aa824cdf7d","tarball":"https://registry.npmjs.org/@applicvision/frontend-friends/-/frontend-friends-1.10.0.tgz","fileCount":16,"integrity":"sha512-BWKJ3OnfZwuotmOur+G6qWeWyGYYlRQ8JPrFz1bv9/ps2Q6r8MHuh4ZlEQrtmw66LxGFcJ8N+FdSxYUqK9Y0KA==","signatures":[{"sig":"MEQCIG9f6k7ZykwQwUinodsBGVnZXUuTMpQGhmOWhp7zDfUFAiBEv4VFzKbw0DjubQOJojrXT+6Ju/ibaH/lNPaBXsnDvQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":103606},"main":"./src/index.js","type":"module","exports":{".":"./src/index.js","./store":"./src/store.js","./island":"./src/dynamic-island.js","./router":"./src/router/router.js","./deep-watch":"./src/deep-watch.js","./base-router":"./src/router/base-router.js","./parse-shape":"./src/parse-shape.js","./browser-router":"./src/router/browser-router.js","./dynamic-fragment":"./src/dynamic-fragment.js","./attribute-helpers":"./src/attribute-helpers.js","./router/router-link":"./src/router/router-link.js","./declarative-element":"./src/declarative-element.js","./router/dynamic-island":"./src/router/dynamic-island.js"},"gitHead":"839a3a54fecc644d16262948f3f4c64f781fb9c2","scripts":{"tdd":"test-browser --watch test --watch src","node-tdd":"node --watch --test **/*.nodetest.js","node-test":"node --test **/*.nodetest.js","serve-docs":"self-serve docs --base frontend-friends"},"_npmUser":{"name":"mansh","email":"accountmail@applicvision.com"},"repository":{"url":"git+https://github.com/applicvision/frontend-friends.git","type":"git"},"_npmVersion":"10.9.2","description":"Build frontend easily","directories":{},"_nodeVersion":"22.15.1","_hasShrinkwrap":false,"devDependencies":{"@playwright/test":"^1.41.2","@applicvision/js-toolbox":"latest"},"_npmOperationalInternal":{"tmp":"tmp/frontend-friends_1.10.0_1757765197544_0.08732798306694156","host":"s3://npm-registry-packages-npm-production"}},"1.10.1":{"name":"@applicvision/frontend-friends","version":"1.10.1","license":"MIT","_id":"@applicvision/frontend-friends@1.10.1","maintainers":[{"name":"mansh","email":"accountmail@applicvision.com"}],"homepage":"https://github.com/applicvision/frontend-friends#readme","bugs":{"url":"https://github.com/applicvision/frontend-friends/issues"},"dist":{"shasum":"1ff894e1679988b223b84510738dc1a4a0b7ee07","tarball":"https://registry.npmjs.org/@applicvision/frontend-friends/-/frontend-friends-1.10.1.tgz","fileCount":16,"integrity":"sha512-9+HUwIli01FrIy1qrDDNBN74F3Lqa+fg/k8656Sq/h7Fu4lo45MPRMSwgkByWfx7VyGxjbxbQZcS/+9e5UHhzg==","signatures":[{"sig":"MEUCIQCSUIDkNBlrbR9WmDDB+03ACSEeg8G8dd9YT3ROTWHuvwIgY4IsOz7bc5IWlqhBsWsM0aDAH+4DVdq8x1xPXTQG4Yk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":104080},"main":"./src/index.js","type":"module","exports":{".":"./src/index.js","./store":"./src/store.js","./island":"./src/dynamic-island.js","./router":"./src/router/router.js","./deep-watch":"./src/deep-watch.js","./base-router":"./src/router/base-router.js","./parse-shape":"./src/parse-shape.js","./browser-router":"./src/router/browser-router.js","./dynamic-fragment":"./src/dynamic-fragment.js","./attribute-helpers":"./src/attribute-helpers.js","./router/router-link":"./src/router/router-link.js","./declarative-element":"./src/declarative-element.js","./router/dynamic-island":"./src/router/dynamic-island.js"},"gitHead":"e4d787d9a6c46613e9b9fe4c9a75a1661d9b0bc1","scripts":{"tdd":"test-browser --watch test --watch src","node-tdd":"node --watch --test **/*.nodetest.js","node-test":"node --test **/*.nodetest.js","serve-docs":"self-serve docs --base frontend-friends"},"_npmUser":{"name":"mansh","email":"accountmail@applicvision.com"},"repository":{"url":"git+https://github.com/applicvision/frontend-friends.git","type":"git"},"_npmVersion":"10.9.2","description":"Build frontend easily","directories":{},"_nodeVersion":"22.15.1","_hasShrinkwrap":false,"devDependencies":{"@playwright/test":"^1.41.2","@applicvision/js-toolbox":"latest"},"_npmOperationalInternal":{"tmp":"tmp/frontend-friends_1.10.1_1758225960217_0.5987282520566664","host":"s3://npm-registry-packages-npm-production"}},"1.11.0":{"name":"@applicvision/frontend-friends","version":"1.11.0","license":"MIT","_id":"@applicvision/frontend-friends@1.11.0","maintainers":[{"name":"mansh","email":"accountmail@applicvision.com"}],"homepage":"https://github.com/applicvision/frontend-friends#readme","bugs":{"url":"https://github.com/applicvision/frontend-friends/issues"},"dist":{"shasum":"ed8a0d98af91f3319747def38e27b9e101722087","tarball":"https://registry.npmjs.org/@applicvision/frontend-friends/-/frontend-friends-1.11.0.tgz","fileCount":16,"integrity":"sha512-haeXpMCrfV7feTf/IP293utdsocAVa8F2zxU2cxzd+5MgKBrahCcNEgXazWLBgdipj+mYm64Y/iV/6tV8ONuug==","signatures":[{"sig":"MEQCIC7PB4Jl3Lse7AcEEjRiFy7kRNIBlHbkmsADJYUUz0xCAiA86u+/+izx7FeQ4/01dKi2Lc+gw/EIlErQXyYZ/lsl9Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":104438},"main":"./src/index.js","type":"module","exports":{".":"./src/index.js","./store":"./src/store.js","./island":"./src/dynamic-island.js","./router":"./src/router/router.js","./deep-watch":"./src/deep-watch.js","./base-router":"./src/router/base-router.js","./parse-shape":"./src/parse-shape.js","./browser-router":"./src/router/browser-router.js","./dynamic-fragment":"./src/dynamic-fragment.js","./attribute-helpers":"./src/attribute-helpers.js","./router/router-link":"./src/router/router-link.js","./declarative-element":"./src/declarative-element.js","./router/dynamic-island":"./src/router/dynamic-island.js"},"gitHead":"13a4f9d8347c9596a1f6d2b1607596463f5312a8","scripts":{"tdd":"test-browser --watch test --watch src","node-tdd":"node --watch --test **/*.nodetest.js","node-test":"node --test **/*.nodetest.js","serve-docs":"self-serve docs --base frontend-friends"},"_npmUser":{"name":"mansh","email":"accountmail@applicvision.com"},"repository":{"url":"git+https://github.com/applicvision/frontend-friends.git","type":"git"},"_npmVersion":"10.9.2","description":"Build frontend easily","directories":{},"_nodeVersion":"22.15.1","_hasShrinkwrap":false,"devDependencies":{"@playwright/test":"^1.41.2","@applicvision/js-toolbox":"latest"},"_npmOperationalInternal":{"tmp":"tmp/frontend-friends_1.11.0_1759695935682_0.026776285601821437","host":"s3://npm-registry-packages-npm-production"}},"1.11.1":{"name":"@applicvision/frontend-friends","version":"1.11.1","license":"MIT","_id":"@applicvision/frontend-friends@1.11.1","maintainers":[{"name":"mansh","email":"accountmail@applicvision.com"}],"homepage":"https://github.com/applicvision/frontend-friends#readme","bugs":{"url":"https://github.com/applicvision/frontend-friends/issues"},"dist":{"shasum":"c2b58cecc3d8bbd05c845e1f81a68f29e24e2c6b","tarball":"https://registry.npmjs.org/@applicvision/frontend-friends/-/frontend-friends-1.11.1.tgz","fileCount":16,"integrity":"sha512-iTm+kz+OM2DM+eFd1SiRz5iUATiyoeQ2C5XoCIi730xW+vMeuyUVCRwKSu/frUZ0VRfL2qJ5vw1CZqv882pEBw==","signatures":[{"sig":"MEYCIQDqr+mxTmNQIM5alk7/iPOA+t03jpLeqFo0j3vd80RmuAIhAL/+EOEThd77/YvFs2xlfJkDEUWVbouZfDLU4XpX2790","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":105540},"main":"./src/index.js","type":"module","exports":{".":"./src/index.js","./store":"./src/store.js","./island":"./src/dynamic-island.js","./router":"./src/router/router.js","./deep-watch":"./src/deep-watch.js","./base-router":"./src/router/base-router.js","./parse-shape":"./src/parse-shape.js","./browser-router":"./src/router/browser-router.js","./dynamic-fragment":"./src/dynamic-fragment.js","./attribute-helpers":"./src/attribute-helpers.js","./router/router-link":"./src/router/router-link.js","./declarative-element":"./src/declarative-element.js","./router/dynamic-island":"./src/router/dynamic-island.js"},"gitHead":"010fa5e30d39a0a6a990d13e0280a62607185ee0","scripts":{"tdd":"test-browser --watch test --watch src","node-tdd":"node --watch --test **/*.nodetest.js","node-test":"node --test **/*.nodetest.js","serve-docs":"self-serve docs --base frontend-friends"},"_npmUser":{"name":"mansh","email":"accountmail@applicvision.com"},"repository":{"url":"git+https://github.com/applicvision/frontend-friends.git","type":"git"},"_npmVersion":"10.9.2","description":"Build frontend easily","directories":{},"_nodeVersion":"22.15.1","_hasShrinkwrap":false,"devDependencies":{"@playwright/test":"^1.41.2","@applicvision/js-toolbox":"latest"},"_npmOperationalInternal":{"tmp":"tmp/frontend-friends_1.11.1_1759785033017_0.366106294468576","host":"s3://npm-registry-packages-npm-production"}},"1.12.0":{"name":"@applicvision/frontend-friends","version":"1.12.0","license":"MIT","_id":"@applicvision/frontend-friends@1.12.0","maintainers":[{"name":"mansh","email":"accountmail@applicvision.com"}],"homepage":"https://github.com/applicvision/frontend-friends#readme","bugs":{"url":"https://github.com/applicvision/frontend-friends/issues"},"dist":{"shasum":"7be14698634fd85c15910d124ef10fc3540e68f8","tarball":"https://registry.npmjs.org/@applicvision/frontend-friends/-/frontend-friends-1.12.0.tgz","fileCount":18,"integrity":"sha512-0/38hWMyG8uQYVOIiCR6xytMIe2ExjTAa6kARquNALOhje21++5g4Sb8UQuFCtK689EP/aGWZMSnsUERbK/ZYw==","signatures":[{"sig":"MEYCIQD2FbcwM146jnu4yvF/M1S0hdB4Y75XpZnPPiiG62C+tAIhALfroSU1xCqzwhllBANJVPDdlIYecSKT2LLNj4h9kX1f","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":107494},"main":"./src/index.js","type":"module","exports":{".":"./src/index.js","./store":"./src/store.js","./island":"./src/dynamic-island.js","./router":"./src/router/router.js","./deep-watch":"./src/deep-watch.js","./base-router":"./src/router/base-router.js","./parse-shape":"./src/parse-shape.js","./browser-router":"./src/router/browser-router.js","./dynamic-fragment":"./src/dynamic-fragment.js","./attribute-helpers":"./src/attribute-helpers.js","./router/router-link":"./src/router/router-link.js","./special-attributes":"./src/special-attributes.js","./declarative-element":"./src/declarative-element.js","./router/dynamic-island":"./src/router/dynamic-island.js"},"gitHead":"cff08e4a7b9df9b2744326dde10508afa8098a7f","scripts":{"tdd":"test-browser --watch test --watch src","node-tdd":"node --watch --test **/*.nodetest.js","node-test":"node --test **/*.nodetest.js","serve-docs":"self-serve docs --base frontend-friends"},"_npmUser":{"name":"mansh","email":"accountmail@applicvision.com"},"repository":{"url":"git+https://github.com/applicvision/frontend-friends.git","type":"git"},"_npmVersion":"10.9.2","description":"Build frontend easily","directories":{},"_nodeVersion":"22.15.1","_hasShrinkwrap":false,"devDependencies":{"@playwright/test":"^1.56.1","@applicvision/js-toolbox":"latest"},"_npmOperationalInternal":{"tmp":"tmp/frontend-friends_1.12.0_1761682662593_0.10544618451641963","host":"s3://npm-registry-packages-npm-production"}},"1.12.1":{"name":"@applicvision/frontend-friends","version":"1.12.1","license":"MIT","_id":"@applicvision/frontend-friends@1.12.1","maintainers":[{"name":"mansh","email":"accountmail@applicvision.com"}],"homepage":"https://github.com/applicvision/frontend-friends#readme","bugs":{"url":"https://github.com/applicvision/frontend-friends/issues"},"dist":{"shasum":"dd760f1d099282d2653a4b7d05629ff712a98825","tarball":"https://registry.npmjs.org/@applicvision/frontend-friends/-/frontend-friends-1.12.1.tgz","fileCount":18,"integrity":"sha512-2y0pdVYqzo9HCNHRQFgLI4GFHPldEGV1Zg8nZBxV25tPKLCqmtRIXmpTJ+QizKR2xPyiZUVeh1d+/Oo5d3aDmQ==","signatures":[{"sig":"MEYCIQCOeL4xglKfhMxzuwGCgOqnLD7Dhot556ny0Xl5So8AMwIhAMCnlXmmG+hnpGuLyMcGnectiCy2+KFNTtrIBv5OMgjB","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":107534},"main":"./src/index.js","type":"module","exports":{".":"./src/index.js","./store":"./src/store.js","./island":"./src/dynamic-island.js","./router":"./src/router/router.js","./deep-watch":"./src/deep-watch.js","./base-router":"./src/router/base-router.js","./parse-shape":"./src/parse-shape.js","./browser-router":"./src/router/browser-router.js","./dynamic-fragment":"./src/dynamic-fragment.js","./attribute-helpers":"./src/attribute-helpers.js","./router/router-link":"./src/router/router-link.js","./special-attributes":"./src/special-attributes.js","./declarative-element":"./src/declarative-element.js","./router/dynamic-island":"./src/router/dynamic-island.js"},"gitHead":"254f9511a87adf62dda31cea71b3b8db7a68666f","scripts":{"tdd":"test-browser --watch test --watch src","node-tdd":"node --watch --test **/*.nodetest.js","node-test":"node --test **/*.nodetest.js","serve-docs":"self-serve docs --base frontend-friends"},"_npmUser":{"name":"mansh","email":"accountmail@applicvision.com"},"repository":{"url":"git+https://github.com/applicvision/frontend-friends.git","type":"git"},"_npmVersion":"11.6.2","description":"Build frontend easily","directories":{},"_nodeVersion":"24.11.1","_hasShrinkwrap":false,"devDependencies":{"@playwright/test":"^1.56.1","@applicvision/js-toolbox":"latest"},"_npmOperationalInternal":{"tmp":"tmp/frontend-friends_1.12.1_1769199526251_0.146165894892049","host":"s3://npm-registry-packages-npm-production"}},"1.13.0":{"name":"@applicvision/frontend-friends","version":"1.13.0","license":"MIT","_id":"@applicvision/frontend-friends@1.13.0","maintainers":[{"name":"mansh","email":"accountmail@applicvision.com"}],"homepage":"https://github.com/applicvision/frontend-friends#readme","bugs":{"url":"https://github.com/applicvision/frontend-friends/issues"},"dist":{"shasum":"609b15329e79baf4d83f3086ceba2d00195e2bac","tarball":"https://registry.npmjs.org/@applicvision/frontend-friends/-/frontend-friends-1.13.0.tgz","fileCount":18,"integrity":"sha512-/Zwp0dWq2zYw18gReru1UB29wG4/jP8x+B6hhhrYxL3xbASFds9znXBMQDh4ThZRn/yeuE5+iEyvwqs5oL0Jnw==","signatures":[{"sig":"MEUCIQCYDDDLauz6Vpyq8QFYUAZet13dstNB5bxaMf84MoldYQIgYVjE6i+9fNl6DjnMrbm0YPXjmLZsfW9ET9llMW09ZOc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":108189},"main":"./src/index.js","type":"module","exports":{".":"./src/index.js","./store":"./src/store.js","./island":"./src/dynamic-island.js","./router":"./src/router/router.js","./deep-watch":"./src/deep-watch.js","./base-router":"./src/router/base-router.js","./parse-shape":"./src/parse-shape.js","./browser-router":"./src/router/browser-router.js","./dynamic-fragment":"./src/dynamic-fragment.js","./attribute-helpers":"./src/attribute-helpers.js","./router/router-link":"./src/router/router-link.js","./special-attributes":"./src/special-attributes.js","./declarative-element":"./src/declarative-element.js","./router/dynamic-island":"./src/router/dynamic-island.js"},"gitHead":"2c8aa152b764c7cce2e312be0b388494f18a28d1","scripts":{"tdd":"test-browser --watch test --watch src","node-tdd":"node --watch --test **/*.nodetest.js","node-test":"node --test **/*.nodetest.js","serve-docs":"self-serve docs --base frontend-friends"},"_npmUser":{"name":"mansh","email":"accountmail@applicvision.com"},"repository":{"url":"git+https://github.com/applicvision/frontend-friends.git","type":"git"},"_npmVersion":"11.6.2","description":"Build frontend easily","directories":{},"_nodeVersion":"24.11.1","_hasShrinkwrap":false,"devDependencies":{"@playwright/test":"^1.56.1","@applicvision/js-toolbox":"latest"},"_npmOperationalInternal":{"tmp":"tmp/frontend-friends_1.13.0_1769347182183_0.48978990619486096","host":"s3://npm-registry-packages-npm-production"}},"1.14.0":{"name":"@applicvision/frontend-friends","version":"1.14.0","license":"MIT","_id":"@applicvision/frontend-friends@1.14.0","maintainers":[{"name":"mansh","email":"accountmail@applicvision.com"}],"homepage":"https://github.com/applicvision/frontend-friends#readme","bugs":{"url":"https://github.com/applicvision/frontend-friends/issues"},"dist":{"shasum":"b30b2578e588f96e9e21b4bebd88ecba39844d01","tarball":"https://registry.npmjs.org/@applicvision/frontend-friends/-/frontend-friends-1.14.0.tgz","fileCount":18,"integrity":"sha512-NK7koie1PYyGzVuNRFSiCyB6+Pq83twxtaHSavOI6/2KDzC67VhsIUu5mhjBEvp4GuUjnxmXf30So38rQpS6/Q==","signatures":[{"sig":"MEYCIQD+A665fyazUZKVCdMhFwjOET8ENzqL1cF2nbrQhP+aLwIhAJ2CinFP4WUz847fbu6q73KOI/jmuprpWA+MnJqrorax","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":110025},"main":"./src/index.js","type":"module","exports":{".":"./src/index.js","./store":"./src/store.js","./island":"./src/dynamic-island.js","./router":"./src/router/router.js","./deep-watch":"./src/deep-watch.js","./base-router":"./src/router/base-router.js","./parse-shape":"./src/parse-shape.js","./browser-router":"./src/router/browser-router.js","./dynamic-fragment":"./src/dynamic-fragment.js","./attribute-helpers":"./src/attribute-helpers.js","./router/router-link":"./src/router/router-link.js","./special-attributes":"./src/special-attributes.js","./declarative-element":"./src/declarative-element.js","./router/dynamic-island":"./src/router/dynamic-island.js"},"gitHead":"e2320f325d28beb30e82daf85ccc86894eff4a97","scripts":{"tdd":"test-browser --watch test --watch src","node-tdd":"node --watch --test **/*.nodetest.js","node-test":"node --test **/*.nodetest.js","serve-docs":"self-serve docs --base frontend-friends"},"_npmUser":{"name":"mansh","email":"accountmail@applicvision.com"},"repository":{"url":"git+https://github.com/applicvision/frontend-friends.git","type":"git"},"_npmVersion":"11.6.2","description":"Build frontend easily","directories":{},"_nodeVersion":"24.11.1","_hasShrinkwrap":false,"devDependencies":{"@playwright/test":"^1.56.1","@applicvision/js-toolbox":"latest"},"_npmOperationalInternal":{"tmp":"tmp/frontend-friends_1.14.0_1769367386638_0.2637082441453289","host":"s3://npm-registry-packages-npm-production"}},"1.15.0":{"name":"@applicvision/frontend-friends","version":"1.15.0","license":"MIT","_id":"@applicvision/frontend-friends@1.15.0","maintainers":[{"name":"mansh","email":"accountmail@applicvision.com"}],"homepage":"https://github.com/applicvision/frontend-friends#readme","bugs":{"url":"https://github.com/applicvision/frontend-friends/issues"},"dist":{"shasum":"c06606fcc9af7b12a4e80853a236e9df31abd552","tarball":"https://registry.npmjs.org/@applicvision/frontend-friends/-/frontend-friends-1.15.0.tgz","fileCount":27,"integrity":"sha512-7DhJiM2FgRJd1WmH4o43fokTrK+L0FO0VBeIs/mU5F3P4dz8uRpkZl3IpjRsaVoJZMsvzuEos60ZU3r1TowWaQ==","signatures":[{"sig":"MEQCICO3i2H2g3gyHTKhS2vAz4X/BJCDwvRVTgGjZi1YrKx6AiBvkY6ngGZ+cw2+5r/qRro2mKp8l9aEs8/zYhogtc2EoA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":120562},"main":"./src/index.js","type":"module","exports":{".":{"types":"./types/src/index.d.ts","default":"./src/index.js"},"./store":{"types":"./types/src/store.d.ts","default":"./src/store.js"},"./island":{"types":"./types/src/dynamic-island.d.ts","default":"./src/dynamic-island.js"},"./router":"./src/router/router.js","./deep-watch":{"types":"./types/src/deep-watch.d.ts","default":"./src/deep-watch.js"},"./base-router":"./src/router/base-router.js","./parse-shape":{"types":"./types/src/parse-shape.d.ts","default":"./src/parse-shape.js"},"./browser-router":"./src/router/browser-router.js","./dynamic-fragment":{"types":"./types/src/dynamic-fragment.d.ts","default":"./src/dynamic-fragment.js"},"./attribute-helpers":{"types":"./types/src/attribute-helpers.d.ts","default":"./src/attribute-helpers.js"},"./router/router-link":"./src/router/router-link.js","./special-attributes":{"types":"./types/src/special-attributes.d.ts","default":"./src/special-attributes.js"},"./declarative-element":{"types":"./types/src/declarative-element.d.ts","default":"./src/declarative-element.js"},"./router/dynamic-island":"./src/router/dynamic-island.js"},"gitHead":"b751bf676c287be3eb1a9b802d902ed32746f3a8","scripts":{"tdd":"test-browser --watch test --watch src","node-tdd":"node --watch --test **/*.nodetest.js","node-test":"node --test **/*.nodetest.js","serve-docs":"self-serve docs --base frontend-friends","build-types":"tsc -p tsconfig.types.json"},"_npmUser":{"name":"mansh","email":"accountmail@applicvision.com"},"repository":{"url":"git+https://github.com/applicvision/frontend-friends.git","type":"git"},"_npmVersion":"11.6.2","description":"Build frontend easily","directories":{},"_nodeVersion":"24.11.1","_hasShrinkwrap":false,"devDependencies":{"@types/node":"^25.2.0","@playwright/test":"^1.56.1","@applicvision/js-toolbox":"latest"},"_npmOperationalInternal":{"tmp":"tmp/frontend-friends_1.15.0_1770363569827_0.6921644786524508","host":"s3://npm-registry-packages-npm-production"}},"1.16.0":{"name":"@applicvision/frontend-friends","version":"1.16.0","license":"MIT","_id":"@applicvision/frontend-friends@1.16.0","maintainers":[{"name":"mansh","email":"accountmail@applicvision.com"}],"homepage":"https://github.com/applicvision/frontend-friends#readme","bugs":{"url":"https://github.com/applicvision/frontend-friends/issues"},"dist":{"shasum":"cc145f91d64b9c24712924a12f4a7965cf09fe71","tarball":"https://registry.npmjs.org/@applicvision/frontend-friends/-/frontend-friends-1.16.0.tgz","fileCount":27,"integrity":"sha512-mgXnmZV9mxN1C6No4RVMFAmD0h4pzLqSTVewzYzYUl8n05PuWw7ch9qnieH8W/V1t73TrAVstCOH7oH3hT41Sw==","signatures":[{"sig":"MEUCIHko7FLS4A/Lieg1sbGzD1xTTStjWpCln5qg016ez41/AiEAx/d34lxPzfbL9Hm4gHf7lmJnStdw0+V34nSq2P9/cWk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":121482},"main":"./src/index.js","type":"module","exports":{".":{"types":"./types/src/index.d.ts","default":"./src/index.js"},"./store":{"types":"./types/src/store.d.ts","default":"./src/store.js"},"./island":{"types":"./types/src/dynamic-island.d.ts","default":"./src/dynamic-island.js"},"./router":"./src/router/router.js","./deep-watch":{"types":"./types/src/deep-watch.d.ts","default":"./src/deep-watch.js"},"./base-router":"./src/router/base-router.js","./parse-shape":{"types":"./types/src/parse-shape.d.ts","default":"./src/parse-shape.js"},"./browser-router":"./src/router/browser-router.js","./dynamic-fragment":{"types":"./types/src/dynamic-fragment.d.ts","default":"./src/dynamic-fragment.js"},"./attribute-helpers":{"types":"./types/src/attribute-helpers.d.ts","default":"./src/attribute-helpers.js"},"./router/router-link":"./src/router/router-link.js","./special-attributes":{"types":"./types/src/special-attributes.d.ts","default":"./src/special-attributes.js"},"./declarative-element":{"types":"./types/src/declarative-element.d.ts","default":"./src/declarative-element.js"},"./router/dynamic-island":"./src/router/dynamic-island.js"},"gitHead":"6f401bc7e0c4795febba23ad7aa269e172bfa98b","scripts":{"tdd":"test-browser --watch test --watch src","node-tdd":"node --watch --test **/*.nodetest.js","node-test":"node --test **/*.nodetest.js","serve-docs":"self-serve docs --base frontend-friends","build-types":"tsc -p tsconfig.types.json"},"_npmUser":{"name":"mansh","email":"accountmail@applicvision.com"},"repository":{"url":"git+https://github.com/applicvision/frontend-friends.git","type":"git"},"_npmVersion":"11.6.2","description":"Build frontend easily","directories":{},"_nodeVersion":"24.11.1","_hasShrinkwrap":false,"devDependencies":{"@types/node":"^25.2.0","@playwright/test":"^1.56.1","@applicvision/js-toolbox":"latest"},"_npmOperationalInternal":{"tmp":"tmp/frontend-friends_1.16.0_1770395352589_0.24760278436929672","host":"s3://npm-registry-packages-npm-production"}},"1.16.1":{"name":"@applicvision/frontend-friends","version":"1.16.1","license":"MIT","_id":"@applicvision/frontend-friends@1.16.1","maintainers":[{"name":"mansh","email":"accountmail@applicvision.com"}],"homepage":"https://github.com/applicvision/frontend-friends#readme","bugs":{"url":"https://github.com/applicvision/frontend-friends/issues"},"dist":{"shasum":"6ad3860bbdd167a401dcb2b568eb1bf1c23b750c","tarball":"https://registry.npmjs.org/@applicvision/frontend-friends/-/frontend-friends-1.16.1.tgz","fileCount":27,"integrity":"sha512-dX2ifM74/RCXrsUF4nmyqZrb+eVnyIixWoLQdXf+ydHUZaaVl2mRbg0irqEtA0NA+AAhSvV6/nCB91v+5IcTHw==","signatures":[{"sig":"MEQCIBe0oNq5e7fX7MBjzrmMV5zyIae4PM7Cugs+9kIp7wvEAiB/sj9x/kfevMoXN2gR4kZVMUc1E6ePH3K5JD+J3w7JoA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":121475},"main":"./src/index.js","type":"module","exports":{".":{"types":"./types/src/index.d.ts","default":"./src/index.js"},"./store":{"types":"./types/src/store.d.ts","default":"./src/store.js"},"./island":{"types":"./types/src/dynamic-island.d.ts","default":"./src/dynamic-island.js"},"./router":"./src/router/router.js","./deep-watch":{"types":"./types/src/deep-watch.d.ts","default":"./src/deep-watch.js"},"./base-router":"./src/router/base-router.js","./parse-shape":{"types":"./types/src/parse-shape.d.ts","default":"./src/parse-shape.js"},"./browser-router":"./src/router/browser-router.js","./dynamic-fragment":{"types":"./types/src/dynamic-fragment.d.ts","default":"./src/dynamic-fragment.js"},"./attribute-helpers":{"types":"./types/src/attribute-helpers.d.ts","default":"./src/attribute-helpers.js"},"./router/router-link":"./src/router/router-link.js","./special-attributes":{"types":"./types/src/special-attributes.d.ts","default":"./src/special-attributes.js"},"./declarative-element":{"types":"./types/src/declarative-element.d.ts","default":"./src/declarative-element.js"},"./router/dynamic-island":"./src/router/dynamic-island.js"},"gitHead":"a9bcfee0b0fc6aaafc0f9cc0e0bbfad8e0ce279e","scripts":{"tdd":"test-browser --watch test --watch src","node-tdd":"node --watch --test **/*.nodetest.js","node-test":"node --test **/*.nodetest.js","serve-docs":"self-serve docs --base frontend-friends","build-types":"tsc -p tsconfig.types.json"},"_npmUser":{"name":"mansh","email":"accountmail@applicvision.com"},"repository":{"url":"git+https://github.com/applicvision/frontend-friends.git","type":"git"},"_npmVersion":"11.6.2","description":"Build frontend easily","directories":{},"_nodeVersion":"24.11.1","_hasShrinkwrap":false,"devDependencies":{"@types/node":"^25.2.0","@playwright/test":"^1.56.1","@applicvision/js-toolbox":"latest"},"_npmOperationalInternal":{"tmp":"tmp/frontend-friends_1.16.1_1770933369736_0.9601315963787354","host":"s3://npm-registry-packages-npm-production"}},"1.16.2":{"name":"@applicvision/frontend-friends","version":"1.16.2","license":"MIT","_id":"@applicvision/frontend-friends@1.16.2","maintainers":[{"name":"mansh","email":"accountmail@applicvision.com"}],"homepage":"https://github.com/applicvision/frontend-friends#readme","bugs":{"url":"https://github.com/applicvision/frontend-friends/issues"},"dist":{"shasum":"4545f58e405882f47c86950bd8a4c7c3f3ca9062","tarball":"https://registry.npmjs.org/@applicvision/frontend-friends/-/frontend-friends-1.16.2.tgz","fileCount":27,"integrity":"sha512-bFQgME/ixus3w3Ql0D0OBy0du/G160ED0Ogb3UC4eF2Yi8/XiYel83BenpPH6sPp5XxLO7FMqUg8Ed4JuK79hw==","signatures":[{"sig":"MEQCICQGPbFA4E0iYgbhY8u9NDP9qJnDJu47/sNNEP/XpcpfAiBzhfPQqLFOv+/2BZmBUIstsIwwU4y5xphqBg3TtdT4BA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":121478},"main":"./src/index.js","type":"module","exports":{".":{"types":"./types/src/index.d.ts","default":"./src/index.js"},"./store":{"types":"./types/src/store.d.ts","default":"./src/store.js"},"./island":{"types":"./types/src/dynamic-island.d.ts","default":"./src/dynamic-island.js"},"./router":"./src/router/router.js","./deep-watch":{"types":"./types/src/deep-watch.d.ts","default":"./src/deep-watch.js"},"./base-router":"./src/router/base-router.js","./parse-shape":{"types":"./types/src/parse-shape.d.ts","default":"./src/parse-shape.js"},"./browser-router":"./src/router/browser-router.js","./dynamic-fragment":{"types":"./types/src/dynamic-fragment.d.ts","default":"./src/dynamic-fragment.js"},"./attribute-helpers":{"types":"./types/src/attribute-helpers.d.ts","default":"./src/attribute-helpers.js"},"./router/router-link":"./src/router/router-link.js","./special-attributes":{"types":"./types/src/special-attributes.d.ts","default":"./src/special-attributes.js"},"./declarative-element":{"types":"./types/src/declarative-element.d.ts","default":"./src/declarative-element.js"},"./router/dynamic-island":"./src/router/dynamic-island.js"},"gitHead":"cca3c20ec75b44c49e69eff3942757315a695256","scripts":{"tdd":"test-browser --watch test --watch src","node-tdd":"node --watch --test **/*.nodetest.js","node-test":"node --test **/*.nodetest.js","serve-docs":"self-serve docs --base frontend-friends","build-types":"tsc -p tsconfig.types.json"},"_npmUser":{"name":"mansh","email":"accountmail@applicvision.com"},"repository":{"url":"git+https://github.com/applicvision/frontend-friends.git","type":"git"},"_npmVersion":"11.6.2","description":"Build frontend easily","directories":{},"_nodeVersion":"24.11.1","_hasShrinkwrap":false,"devDependencies":{"@types/node":"^25.2.0","@playwright/test":"^1.56.1","@applicvision/js-toolbox":"latest"},"_npmOperationalInternal":{"tmp":"tmp/frontend-friends_1.16.2_1771276991370_0.3980656863105394","host":"s3://npm-registry-packages-npm-production"}},"1.16.3":{"name":"@applicvision/frontend-friends","version":"1.16.3","description":"Build frontend easily","type":"module","license":"MIT","repository":{"type":"git","url":"git+https://github.com/applicvision/frontend-friends.git"},"main":"./src/index.js","exports":{".":{"types":"./types/src/index.d.ts","default":"./src/index.js"},"./declarative-element":{"types":"./types/src/declarative-element.d.ts","default":"./src/declarative-element.js"},"./special-attributes":{"types":"./types/src/special-attributes.d.ts","default":"./src/special-attributes.js"},"./island":{"types":"./types/src/dynamic-island.d.ts","default":"./src/dynamic-island.js"},"./dynamic-fragment":{"types":"./types/src/dynamic-fragment.d.ts","default":"./src/dynamic-fragment.js"},"./store":{"types":"./types/src/store.d.ts","default":"./src/store.js"},"./parse-shape":{"types":"./types/src/parse-shape.d.ts","default":"./src/parse-shape.js"},"./deep-watch":{"types":"./types/src/deep-watch.d.ts","default":"./src/deep-watch.js"},"./attribute-helpers":{"types":"./types/src/attribute-helpers.d.ts","default":"./src/attribute-helpers.js"},"./router":"./src/router/router.js","./base-router":"./src/router/base-router.js","./browser-router":"./src/router/browser-router.js","./router/dynamic-island":"./src/router/dynamic-island.js","./router/router-link":"./src/router/router-link.js"},"scripts":{"tdd":"test-browser --watch test --watch src","node-test":"node --test **/*.nodetest.js","node-tdd":"node --watch --test **/*.nodetest.js","serve-docs":"self-serve docs --base frontend-friends","build-types":"tsc -p tsconfig.types.json"},"devDependencies":{"@applicvision/js-toolbox":"latest","@playwright/test":"^1.56.1","@types/node":"^25.2.0"},"gitHead":"98e409ebe220f12ce6ef24f5ddbf3e991db4b5a6","_id":"@applicvision/frontend-friends@1.16.3","bugs":{"url":"https://github.com/applicvision/frontend-friends/issues"},"homepage":"https://github.com/applicvision/frontend-friends#readme","_nodeVersion":"24.11.1","_npmVersion":"11.6.2","dist":{"integrity":"sha512-XO+thZ6j2Vfr0++1ZOlfrfYc3AuVU3OGAdNQvxTWfeNHqFB+MSfdxb1WZwXAwV2A4di+fesCHF4+j1w8t98WyQ==","shasum":"a5cf726d790ed28ab6237aa4a48c39a8ece8389e","tarball":"https://registry.npmjs.org/@applicvision/frontend-friends/-/frontend-friends-1.16.3.tgz","fileCount":27,"unpackedSize":121538,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCRQzlxbgsRB6S6xNXZbmSNN5HwFEpc9tfG+Kir/LcMrAIgOUNn/qeOv622bzz4L16bjovm+5dnPviksIxDEb9sd94="}]},"_npmUser":{"name":"mansh","email":"accountmail@applicvision.com"},"directories":{},"maintainers":[{"name":"mansh","email":"accountmail@applicvision.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/frontend-friends_1.16.3_1772100553926_0.8101694209833381"},"_hasShrinkwrap":false}},"time":{"created":"2025-02-09T10:46:46.067Z","modified":"2026-02-26T10:09:14.215Z","1.0.0":"2025-02-09T10:46:46.367Z","1.0.1":"2025-02-10T10:01:32.469Z","1.0.2":"2025-02-10T11:20:06.544Z","1.0.3":"2025-02-11T20:26:44.901Z","1.0.4":"2025-02-11T20:51:36.399Z","1.1.0":"2025-02-20T22:10:09.696Z","1.2.0":"2025-03-29T11:02:43.658Z","1.2.1":"2025-04-09T19:19:26.000Z","1.2.2":"2025-04-13T06:34:57.907Z","1.2.3":"2025-04-13T10:38:26.841Z","1.3.0":"2025-04-16T17:52:19.961Z","1.3.1":"2025-04-16T18:02:55.348Z","1.4.0":"2025-04-18T10:32:29.056Z","1.4.1":"2025-04-23T20:17:51.397Z","1.5.0":"2025-04-29T08:06:04.127Z","1.5.1":"2025-05-03T21:43:48.827Z","1.6.0":"2025-05-06T13:20:51.476Z","1.6.1":"2025-05-06T16:47:36.533Z","1.6.2":"2025-05-07T09:22:42.196Z","1.6.3":"2025-05-08T08:56:11.173Z","1.6.4":"2025-05-08T18:58:37.452Z","1.7.0":"2025-05-12T09:13:36.103Z","1.8.0":"2025-06-22T11:02:48.836Z","1.9.0":"2025-09-08T09:47:17.364Z","1.10.0":"2025-09-13T12:06:37.758Z","1.10.1":"2025-09-18T20:06:00.401Z","1.11.0":"2025-10-05T20:25:35.883Z","1.11.1":"2025-10-06T21:10:33.211Z","1.12.0":"2025-10-28T20:17:42.799Z","1.12.1":"2026-01-23T20:18:46.403Z","1.13.0":"2026-01-25T13:19:42.312Z","1.14.0":"2026-01-25T18:56:26.867Z","1.15.0":"2026-02-06T07:39:29.998Z","1.16.0":"2026-02-06T16:29:12.745Z","1.16.1":"2026-02-12T21:56:09.884Z","1.16.2":"2026-02-16T21:23:11.519Z","1.16.3":"2026-02-26T10:09:14.082Z"},"bugs":{"url":"https://github.com/applicvision/frontend-friends/issues"},"license":"MIT","homepage":"https://github.com/applicvision/frontend-friends#readme","repository":{"type":"git","url":"git+https://github.com/applicvision/frontend-friends.git"},"description":"Build frontend easily","maintainers":[{"name":"mansh","email":"accountmail@applicvision.com"}],"readme":"# Frontend Friends &nbsp;&nbsp;&nbsp; [![Tests](https://github.com/applicvision/frontend-friends/actions/workflows/test.yml/badge.svg)](https://github.com/applicvision/frontend-friends/actions/workflows/test.yml) [![NPM Version](https://img.shields.io/npm/v/%40applicvision%2Ffrontend-friends)](https://www.npmjs.com/package/@applicvision/frontend-friends) [![install size](https://packagephobia.com/badge?p=@applicvision/frontend-friends@latest)](https://packagephobia.com/result?p=@applicvision/frontend-friends@latest)\n\n\n\n*Say hi to your new best friends for frontend development!*\n\nFrontend friends offer a lightweight alternative to massive SPA-libraries. The humble wish is to provide you with a great developer experience as you navigate between declarative views, easy-to-follow state management, two-way bindings, effective list rendering, component authoring and interactive islands. All this with type hints, but without any build step or extra dependencies.\n\n\n\n## Getting started\n\nTo get the best developer experience, install Frontend Friends as an npm package.\n\n```console\n$ npm install @applicvision/frontend-friends\n```\n\nThen import it in your JavaScript.\n\n```javascript\nimport { island, html } from '@applicvision/frontend-friends'\n\nconst app = island(\n  () => html`<section>\n    ${['You', 'did', 'it!'].map(\n      text => html`<p>${text}</p>`\n    )}\n  </section>`\n)\n\napp.mount(document.body)\n```\n\nThen to check it out in your browser you have two options; CDN or build tool.\n\n### CDN\nThe easiest way to get started is to let your web page get the code from a CDN which can deliver ES modules, such as JSDeliver, and their [modules CDN](https://www.jsdelivr.com/esm), or [esm.sh](https://esm.sh).\n\nFirst, add an importmap to your html-file. This tells the browser to fetch all imports of `@applicvision/frontend-friends` from esm.sh.\n\n```html\n<script type=\"importmap\">\n{\n  \"imports\": {\n    \"@applicvision/frontend-friends\": \"https://esm.sh/@applicvision/frontend-friends\",\n    \"@applicvision/frontend-friends/\": \"https://esm.sh/@applicvision/frontend-friends/\"\n  }\n}\n</script>\n```\n\nThen, add a script tag pointing to your application:\n\n```html\n<script type=\"module\" src=\"main.js\"></script>\n```\n\nAnd that's it! Now serve your files any way you like, and start building your web application, using modern technologies without any intermediate build tool.\n\n*But why `npm install` if the code is fetched from CDN?*\n\nGood question! It is not needed for the application to run in the browser, but it is highly recommended to get the correct developer experience. [Here](https://www.typescriptlang.org/docs/handbook/modules/guides/choosing-compiler-options.html#im-writing-es-modules-for-the-browser-with-no-bundler-or-module-compiler) is some more information.\n\n### Build tool\n\nSince Frontend Friends is shipped as an npm package, it is naturally also possible to use in a build tool setup.\nFor instance, using vite:\n\n```console\n$ npm install -D vite\n```\n\nAnd then just start the dev server:\n\n```console\n$ npx vite\n```\n\nUsing this strategy, no `<script type=\"importmap\">` should be used.\n\nFor more information on using Vite, please consult their great documentation at https://vite.dev/\n\n## Creating your first component\n\nFrontend Friends leverages the built-in way to work with components; [Custom elements](https://developer.mozilla.org/en-US/docs/Web/API/Web_components/Using_custom_elements). So, as soon as the components are defined in the custom elements registry, they can be used anywhere on the page. Either straight in HTML, by dynamic creation `document.createElement`, or even in another view system such as Vue or React.\n\nLet's say we want a greeting component. Here is a simple example:\n\n\n```javascript\nimport { DeclarativeElement, html } from '@applicvision/frontend-friends'\n\n// Make a class which extends DeclarativeElement\nclass GreetingLabel extends DeclarativeElement {\n\n  // This will make the element react to changes to the 'name' attribute\n  static observedAttributes = ['name']\n\n  // The render function is called whenever the view needs an update\n  // It should return a tagged template string, using the imported html function from frontend-friends\n  render() {\n    \n    // This simply returns markup for a header with text Hello plus the name passed as attribute\n    return html`<h2>Hello ${this.getAttribute('name')}!</h2>`\n  }\n\n  // Lastly, add a static initialization block to define the class in the custom elements registry.\n  static { customElements.define('greeting-label', this) }\n}\n```\n\nThe name of the element has to include a hyphen, and follow some other [rules](https://developer.mozilla.org/en-US/docs/Web/API/CustomElementRegistry/define#valid_custom_element_names).\n\nThe `html` tag function in front of the backtick string literal might look a bit unfamiliar. But it has many advantages. Under the hood it is used both to determine which parts of the template are dynamic and which parts are not, and also to automatically cache pieces of rendered markup for potential reuse.\n\nThe tagged template strategy is also used in [Lit](https://lit.dev/docs/templates/overview/).\n\nAnd it actually brings one additional advantage: we can get context awareness in the string. In the example code blocks here we get syntax highlighting for HTML even though we are in a JavaScript context. And there are useful extensions for VS Code to improve the developer experience. Feel free to explore available [extensions](https://marketplace.visualstudio.com/search?term=html%20tagged%20template&target=VSCode&category=All%20categories&sortBy=Relevance).\n</details>\n\nBut now, back to our code. Our component is ready! We can now use the element directly in our HTML:\n\n```html\n<greeting-label name=\"World\"></greeting-label>\n<!-- note that custom elements must have a closing tag, even if they are 'empty' and not designed to render any content -->\n```\n\nThe element can also be created dynamically:\n\n```javascript\nconst greetingLabel = document.createElement('greeting-label')\ngreetingLabel.setAttribute('name', 'World')\ndocument.body.appendChild(greetingLabel)\n// Updating the attribute will re-render the element\ngreetingLabel.setAttribute('name', 'New world')\n```\n\n## Creating an island\n\nNow let's use our `greeting-label` in a context together with an input field where the user could enter the name to be passed to the `greeting-label`. To do that, we can define a little 'micro-app'. These small pieces of logic are sometimes referred to as [islands](https://jasonformat.com/islands-architecture/).\n\n```javascript\nimport { island, html } from '@applicvision/frontend-friends'\n\nconst app = island(\n  // The first argument to island can be thought of as a setup function. It is called once at island creation.\n  // Put your initial state in a property called 'state' on the object returned.\n  // Changes to that object will cause the island to update.\n  function () { \n    return { state: { name: '' }}\n  },\n  // The second argument is the render function.\n  // It is called with the current state of the island every time a visual update is needed.\n  ({ state }) => html`\n    <input\n      placeholder=\"Enter your name\"\n      value=${state.name}\n      oninput=${updateName}\n    >\n    <greeting-label name=${state.name || 'stranger'}></greeting-label>\n  `\n)\n\nfunction updateName(event) {\n\tapp.state.name = event.target.value\n}\n\n// Here we assume an element with id app somewhere in the document.\napp.mount(document.getElementById('app'))\n```\n\nThis is quite a common pattern, so there is an easier way; we can use a two-way binding. That means we let the state be changed also directly by the input field. To enable this, a special attribute is used, `ff-share`. This indicates a two-way binding. It corresponds to `v-model` in [Vue](https://vuejs.org/api/built-in-directives.html#v-model).\n\nSo we rewrite the previous code slightly.\n\n```javascript\n// twoway is a little helper that simply creates an object with a set and a get function, which is the shape required for the two-way binding.\nimport { island, html, twoway } from '@applicvision/frontend-friends'\n\nconst app = island(\n  () => ({ state: { name: '' }}),\n  ({ state }) => html`\n    <input\n      placeholder=\"Enter your name\"\n      ff-share=${twoway(state, 'name')}\n    >\n    <greeting-label name=${state.name || 'stranger'}></greeting-label>\n  `\n)\n\napp.mount(document.getElementById('app'))\n```\n\n## Examples\nA more extended example is located in the docs folder of the repository. The JavaScript can be found [here](https://github.com/applicvision/frontend-friends/blob/main/docs/js/todo-app.js). And, to check out the result of the example, please visit https://applicvision.github.io/frontend-friends/examples/todo.\n\n\n## Typescript\n\nYes, you can use TypeScript. Frontend friends includes JSDoc annotation for most of the API. For instance, DeclarativeElement can be a generic class if using shared state:\n\n```typescript\nclass MyStatefulElement extends DeclarativeElement<boolean> {\n  render() {\n    // this.sharedState state is boolean here\n    return html`active: ${this.sharedState}`\n  }\n}\n```\n\n## API Documentation\n\nAPI documentation is available [here](https://github.com/applicvision/frontend-friends/blob/main/docs/api/README.md).\n","readmeFilename":"README.md"}