{"_id":"@octanejs/seo","_rev":"44-38f89edecdd73fc1f8fa89b42cc27ee4","name":"@octanejs/seo","dist-tags":{"latest":"0.0.44"},"versions":{"0.0.2":{"name":"@octanejs/seo","version":"0.0.2","author":{"name":"Dominic Gannaway","email":"dg@domgan.com"},"license":"MIT","_id":"@octanejs/seo@0.0.2","maintainers":[{"name":"trueadm","email":"dg@domgan.com"},{"name":"leonidaz_npm","email":"lbarenblit@gmail.com"},{"name":"webeferen","email":"michal.makowski97@gmail.com"}],"dist":{"shasum":"7f7de2cd2945d0c0bdff7e586041a9c3e3c1c993","tarball":"https://registry.npmjs.org/@octanejs/seo/-/seo-0.0.2.tgz","fileCount":12,"integrity":"sha512-oJFx/5B76SiQQw0AqViVAx35RaW8uFclBWY/Pn+iY38d9FoylhL9X2tsEak7bDShoVW0+8FAGP65tPoieayx/Q==","signatures":[{"sig":"MEUCIQCnlw7iC2y47UiqPHEFsVIF6OEHgvtzDSoA5kuR6DmogAIgHoVDmlKE3b50r6xDkGKBwZp2NcpXVn9wsyCpIqfU0GE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":50048},"main":"src/index.ts","type":"module","types":"src/index.ts","module":"src/index.ts","engines":{"node":">=22"},"exports":{".":"./src/index.ts"},"scripts":{"test":"vitest run"},"_npmUser":{"name":"trueadm","email":"dg@domgan.com"},"repository":{"url":"git+https://github.com/octanejs/octane.git","type":"git","directory":"packages/seo"},"description":"SEO metadata for Octane, declarative <Title>/<Meta>/<Link>/<JsonLd> with last-wins merging, server-rendered into <head> and adopted on hydration.","directories":{},"_nodeVersion":"26.0.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"octane":"0.1.17","vitest":"^4.1.10"},"peerDependencies":{"octane":"0.1.17"},"_npmOperationalInternal":{"tmp":"tmp/seo_0.0.2_1785152801995_0.6372683040958995","host":"s3://npm-registry-packages-npm-production"}},"0.0.3":{"name":"@octanejs/seo","version":"0.0.3","author":{"name":"Dominic Gannaway","email":"dg@domgan.com"},"license":"MIT","_id":"@octanejs/seo@0.0.3","maintainers":[{"name":"trueadm","email":"dg@domgan.com"},{"name":"leonidaz_npm","email":"lbarenblit@gmail.com"},{"name":"webeferen","email":"michal.makowski97@gmail.com"}],"dist":{"shasum":"eec902caa2d0d209de2836b32dcb88f3dc26df8e","tarball":"https://registry.npmjs.org/@octanejs/seo/-/seo-0.0.3.tgz","fileCount":12,"integrity":"sha512-Hqc2oNZtn4kN4tFhVgh8goxKr0h+xKFPfqZikyZuiX757PANsJUElW6gqf79VDM+j9g/uJnoUeQiPZ1wExBX6Q==","signatures":[{"sig":"MEYCIQCG52gUFATagEY7Cm34Ofdb25HJXCRAe6u5eyeIePCFTAIhAIEaGkWj3XIhK4AT9uaOFj15PiltZEwvoqOSP0cRO3eJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@octanejs%2fseo@0.0.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":50048},"main":"src/index.ts","type":"module","types":"src/index.ts","module":"src/index.ts","engines":{"node":">=22"},"exports":{".":"./src/index.ts"},"scripts":{"test":"vitest run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fc159f3e-4c24-428a-b5a9-e06bd2a1aa5b"}},"repository":{"url":"git+https://github.com/octanejs/octane.git","type":"git","directory":"packages/seo"},"description":"SEO metadata for Octane, declarative <Title>/<Meta>/<Link>/<JsonLd> with last-wins merging, server-rendered into <head> and adopted on hydration.","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"octane":"0.1.18","vitest":"^4.1.10"},"peerDependencies":{"octane":"0.1.18"},"_npmOperationalInternal":{"tmp":"tmp/seo_0.0.3_1785253972856_0.1989333757897267","host":"s3://npm-registry-packages-npm-production"}},"0.0.4":{"name":"@octanejs/seo","version":"0.0.4","author":{"name":"Dominic Gannaway","email":"dg@domgan.com"},"license":"MIT","_id":"@octanejs/seo@0.0.4","maintainers":[{"name":"trueadm","email":"dg@domgan.com"},{"name":"leonidaz_npm","email":"lbarenblit@gmail.com"},{"name":"webeferen","email":"michal.makowski97@gmail.com"}],"dist":{"shasum":"bf28772e64461fbcbf0138a639867dbb7ffa9bc8","tarball":"https://registry.npmjs.org/@octanejs/seo/-/seo-0.0.4.tgz","fileCount":12,"integrity":"sha512-CYMEuCH9u0EI/YCfQ+iNvUixhht0V64jwQGNTlyfEfw0TxR495qeKcSiZbgGItaCh3NsNXYtxN+J0tJ+zkPlpg==","signatures":[{"sig":"MEYCIQD+5MGNvce2AFYQhdCFvuuJjGGmQ1zY9yRxzbIg6WBK9QIhAMN5whWYAr8otR/4b8RTQocoZDvlYkq1Qwfh7d8RZbwo","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@octanejs%2fseo@0.0.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":50048},"main":"src/index.ts","type":"module","types":"src/index.ts","module":"src/index.ts","engines":{"node":">=22"},"exports":{".":"./src/index.ts"},"scripts":{"test":"vitest run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fc159f3e-4c24-428a-b5a9-e06bd2a1aa5b"}},"repository":{"url":"git+https://github.com/octanejs/octane.git","type":"git","directory":"packages/seo"},"description":"SEO metadata for Octane, declarative <Title>/<Meta>/<Link>/<JsonLd> with last-wins merging, server-rendered into <head> and adopted on hydration.","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"octane":"0.1.19","vitest":"^4.1.10"},"peerDependencies":{"octane":"0.1.19"},"_npmOperationalInternal":{"tmp":"tmp/seo_0.0.4_1785329673512_0.25405701715577256","host":"s3://npm-registry-packages-npm-production"}},"0.0.5":{"name":"@octanejs/seo","version":"0.0.5","author":{"name":"Dominic Gannaway","email":"dg@domgan.com"},"license":"MIT","_id":"@octanejs/seo@0.0.5","maintainers":[{"name":"trueadm","email":"dg@domgan.com"},{"name":"leonidaz_npm","email":"lbarenblit@gmail.com"},{"name":"webeferen","email":"michal.makowski97@gmail.com"}],"dist":{"shasum":"08f79281feb7b0dad9401935ef898587cc8607d3","tarball":"https://registry.npmjs.org/@octanejs/seo/-/seo-0.0.5.tgz","fileCount":12,"integrity":"sha512-f2aXe4hza3rKRNgkaQB8TmFpZeibOX520R997QgDpPZIO7+Q+e8ZRG932NrV0svpMdAfeM3cDqSKdrTJm/ajHA==","signatures":[{"sig":"MEUCIGTnqKOtFlucRwd/NuAaV0hiHI+bbTaKSdv/YBfFGBDGAiEAq8WwegFUJMwJlv+HRVHibB0I+nJkApN3kGShMfwrAKs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@octanejs%2fseo@0.0.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":50048},"main":"src/index.ts","type":"module","types":"src/index.ts","module":"src/index.ts","engines":{"node":">=22"},"exports":{".":"./src/index.ts"},"scripts":{"test":"vitest run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fc159f3e-4c24-428a-b5a9-e06bd2a1aa5b"}},"repository":{"url":"git+https://github.com/octanejs/octane.git","type":"git","directory":"packages/seo"},"description":"SEO metadata for Octane, declarative <Title>/<Meta>/<Link>/<JsonLd> with last-wins merging, server-rendered into <head> and adopted on hydration.","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"octane":"0.1.20","vitest":"^4.1.10"},"peerDependencies":{"octane":"0.1.20"},"_npmOperationalInternal":{"tmp":"tmp/seo_0.0.5_1785377505040_0.3755293966243016","host":"s3://npm-registry-packages-npm-production"}},"0.0.6":{"name":"@octanejs/seo","version":"0.0.6","author":{"name":"Dominic Gannaway","email":"dg@domgan.com"},"license":"MIT","_id":"@octanejs/seo@0.0.6","maintainers":[{"name":"trueadm","email":"dg@domgan.com"},{"name":"leonidaz_npm","email":"lbarenblit@gmail.com"},{"name":"webeferen","email":"michal.makowski97@gmail.com"}],"dist":{"shasum":"8ad20969eb06d643d145eb1ca582919037736950","tarball":"https://registry.npmjs.org/@octanejs/seo/-/seo-0.0.6.tgz","fileCount":12,"integrity":"sha512-m2VgqVvOsSOovShTawT/mlsoxi2nIlZ/IhUqn9lRLr5X2JYYREfCVgifon9SlueHANdK/IeuEero4lYZWHVjdQ==","signatures":[{"sig":"MEUCIQDwfr2DVurQK0uk5c5HMmebq1qxSdIboSuMuiA8X01o9wIgZYVCXeSRsNUGFhYkM4saTMVtdCJL3GOVuRaQO82ahpo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@octanejs%2fseo@0.0.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":50048},"main":"src/index.ts","type":"module","types":"src/index.ts","module":"src/index.ts","engines":{"node":">=22"},"exports":{".":"./src/index.ts"},"scripts":{"test":"vitest run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fc159f3e-4c24-428a-b5a9-e06bd2a1aa5b"}},"repository":{"url":"git+https://github.com/octanejs/octane.git","type":"git","directory":"packages/seo"},"description":"SEO metadata for Octane, declarative <Title>/<Meta>/<Link>/<JsonLd> with last-wins merging, server-rendered into <head> and adopted on hydration.","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"octane":"0.1.21","vitest":"^4.1.10"},"peerDependencies":{"octane":"0.1.21"},"_npmOperationalInternal":{"tmp":"tmp/seo_0.0.6_1785406840189_0.203708132966804","host":"s3://npm-registry-packages-npm-production"}},"0.0.7":{"name":"@octanejs/seo","version":"0.0.7","author":{"name":"Dominic Gannaway","email":"dg@domgan.com"},"license":"MIT","_id":"@octanejs/seo@0.0.7","maintainers":[{"name":"trueadm","email":"dg@domgan.com"},{"name":"leonidaz_npm","email":"lbarenblit@gmail.com"},{"name":"webeferen","email":"michal.makowski97@gmail.com"}],"dist":{"shasum":"038889f8c98a403dba094796eed272011633bf0c","tarball":"https://registry.npmjs.org/@octanejs/seo/-/seo-0.0.7.tgz","fileCount":12,"integrity":"sha512-4uI6y6VMXI8uHsvSpNUYeFd1Y2czXOIDMkWTi7mhxPtcpjVSH41Jjhpk2dCRXghHIXRNc0xmkY/8SdZL3UZbEg==","signatures":[{"sig":"MEUCIQDE/TxAEK5/AelokFuSXCqpAuhXQ6aabo0XMy7vv/yzewIgAXHA76QL0u0DoCkkapHeD6Qu3TUcvZ3kAKUxMGDELtY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@octanejs%2fseo@0.0.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":50048},"main":"src/index.ts","type":"module","types":"src/index.ts","module":"src/index.ts","engines":{"node":">=22"},"exports":{".":"./src/index.ts"},"scripts":{"test":"vitest run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fc159f3e-4c24-428a-b5a9-e06bd2a1aa5b"}},"repository":{"url":"git+https://github.com/octanejs/octane.git","type":"git","directory":"packages/seo"},"description":"SEO metadata for Octane, declarative <Title>/<Meta>/<Link>/<JsonLd> with last-wins merging, server-rendered into <head> and adopted on hydration.","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"octane":"0.1.22","vitest":"^4.1.10"},"peerDependencies":{"octane":"0.1.22"},"_npmOperationalInternal":{"tmp":"tmp/seo_0.0.7_1785526125739_0.15541769293858199","host":"s3://npm-registry-packages-npm-production"}},"0.0.8":{"name":"@octanejs/seo","version":"0.0.8","author":{"name":"Dominic Gannaway","email":"dg@domgan.com"},"license":"MIT","_id":"@octanejs/seo@0.0.8","maintainers":[{"name":"trueadm","email":"dg@domgan.com"},{"name":"leonidaz_npm","email":"lbarenblit@gmail.com"},{"name":"webeferen","email":"michal.makowski97@gmail.com"}],"dist":{"shasum":"091e87122d6114f2e86fd9f6a4b1bcdb024653a5","tarball":"https://registry.npmjs.org/@octanejs/seo/-/seo-0.0.8.tgz","fileCount":12,"integrity":"sha512-DQa5AT0Pn4tvvAVwLwB0pQbR79mtM2l7YNBBmSw/d0TlSvUOXAqXtEJxbW/CUHGAAELmH+j2e4fgx29vtgIWdQ==","signatures":[{"sig":"MEQCIBiYOFBEC4zoQpeMI4jeanOCLbJN3r07MNchH9+FaPOgAiBvWVo4Kiv2UJlVTNFZWRrTJ3ZRhDsqfd9xtzrrTmTVkQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@octanejs%2fseo@0.0.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":50048},"main":"src/index.ts","type":"module","types":"src/index.ts","module":"src/index.ts","engines":{"node":">=22"},"exports":{".":"./src/index.ts"},"scripts":{"test":"vitest run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fc159f3e-4c24-428a-b5a9-e06bd2a1aa5b"}},"repository":{"url":"git+https://github.com/octanejs/octane.git","type":"git","directory":"packages/seo"},"description":"SEO metadata for Octane, declarative <Title>/<Meta>/<Link>/<JsonLd> with last-wins merging, server-rendered into <head> and adopted on hydration.","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"octane":"0.1.23","vitest":"^4.1.10"},"peerDependencies":{"octane":"0.1.23"},"_npmOperationalInternal":{"tmp":"tmp/seo_0.0.8_1785630756785_0.4994414831591434","host":"s3://npm-registry-packages-npm-production"}},"0.0.9":{"name":"@octanejs/seo","version":"0.0.9","author":{"name":"Dominic Gannaway","email":"dg@domgan.com"},"license":"MIT","_id":"@octanejs/seo@0.0.9","maintainers":[{"name":"trueadm","email":"dg@domgan.com"},{"name":"leonidaz_npm","email":"lbarenblit@gmail.com"},{"name":"webeferen","email":"michal.makowski97@gmail.com"}],"dist":{"shasum":"29bd6eb1af582858632039f2b5952dd9d40a9a40","tarball":"https://registry.npmjs.org/@octanejs/seo/-/seo-0.0.9.tgz","fileCount":12,"integrity":"sha512-AdFGu44AX1/QSHquMQ4KOcMMr6JKjbEFDdx0ehyTz5A2QCuYbOd1GyvDdBtN9jBnO0ZPGARuJud9U3nyhCusnw==","signatures":[{"sig":"MEUCIF6j/R6fEMzZMeO7ICKi4iPJzFIZr9VsVn2mjGvoRjXJAiEA3wvBr4J2xQE81MCZkqTM8oYRRbzaY2zatuK2laZKPPg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@octanejs%2fseo@0.0.9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":50048},"main":"src/index.ts","type":"module","types":"src/index.ts","module":"src/index.ts","engines":{"node":">=22"},"exports":{".":"./src/index.ts"},"scripts":{"test":"vitest run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fc159f3e-4c24-428a-b5a9-e06bd2a1aa5b"}},"repository":{"url":"git+https://github.com/octanejs/octane.git","type":"git","directory":"packages/seo"},"description":"SEO metadata for Octane, declarative <Title>/<Meta>/<Link>/<JsonLd> with last-wins merging, server-rendered into <head> and adopted on hydration.","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"octane":"0.1.24","vitest":"^4.1.10"},"peerDependencies":{"octane":"0.1.24"},"_npmOperationalInternal":{"tmp":"tmp/seo_0.0.9_1785857428870_0.2059910534639986","host":"s3://npm-registry-packages-npm-production"}},"0.0.10":{"name":"@octanejs/seo","version":"0.0.10","author":{"name":"Dominic Gannaway","email":"dg@domgan.com"},"license":"MIT","_id":"@octanejs/seo@0.0.10","maintainers":[{"name":"trueadm","email":"dg@domgan.com"},{"name":"leonidaz_npm","email":"lbarenblit@gmail.com"},{"name":"webeferen","email":"michal.makowski97@gmail.com"}],"dist":{"shasum":"93c45063aac0022d804ffa4b62e030c84dd7e1b6","tarball":"https://registry.npmjs.org/@octanejs/seo/-/seo-0.0.10.tgz","fileCount":12,"integrity":"sha512-Kb63HTUifr1XnBu6ohttYQlt3MY01Ze/Pu0qprWSsfp6DnaZd15P2HTE7sMPvsbbgfKZIiKqs171KuoJSLBYig==","signatures":[{"sig":"MEQCIDJ617NTSyGYBv/yMXxs5BaWOUgSfqhjMynQOvT2vqO7AiBL3nkKGvKhDbtIgKqvHP/Z2T9QKlzYCu3Y/8d0TWIliA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@octanejs%2fseo@0.0.10","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":50054},"main":"src/index.ts","type":"module","types":"src/index.ts","module":"src/index.ts","engines":{"node":">=22.22.2"},"exports":{".":"./src/index.ts"},"scripts":{"test":"vitest run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fc159f3e-4c24-428a-b5a9-e06bd2a1aa5b"}},"repository":{"url":"git+https://github.com/octanejs/octane.git","type":"git","directory":"packages/seo"},"description":"SEO metadata for Octane, declarative <Title>/<Meta>/<Link>/<JsonLd> with last-wins merging, server-rendered into <head> and adopted on hydration.","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"octane":"0.1.25","vitest":"^4.1.10"},"peerDependencies":{"octane":"0.1.25"},"_npmOperationalInternal":{"tmp":"tmp/seo_0.0.10_1785879746785_0.7919154145033818","host":"s3://npm-registry-packages-npm-production"}},"0.0.11":{"name":"@octanejs/seo","version":"0.0.11","author":{"name":"Dominic Gannaway","email":"dg@domgan.com"},"license":"MIT","_id":"@octanejs/seo@0.0.11","maintainers":[{"name":"trueadm","email":"dg@domgan.com"},{"name":"leonidaz_npm","email":"lbarenblit@gmail.com"},{"name":"webeferen","email":"michal.makowski97@gmail.com"}],"dist":{"shasum":"dfdabfcd5c54f27caba35b3cdbcf7c2bcb2e5e42","tarball":"https://registry.npmjs.org/@octanejs/seo/-/seo-0.0.11.tgz","fileCount":12,"integrity":"sha512-2nCMdw4SN+e2EClgxIQulsQaeorNPf+iOxrhnXmP6om9bg3X/pY7MvLhO98gDLKv8nQHQbdSpVrnA1Plplegyg==","signatures":[{"sig":"MEUCIQCG7BuqtD/uszoKvLfCY856xrWAg7pFDBL5DC74Ak/q7wIgXwuc1bmOmAcICVaXSAtetEvg97naX7He3Tv9TA/DEMo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@octanejs%2fseo@0.0.11","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":50054},"main":"src/index.ts","type":"module","types":"src/index.ts","module":"src/index.ts","engines":{"node":">=22.22.2"},"exports":{".":"./src/index.ts"},"scripts":{"test":"vitest run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fc159f3e-4c24-428a-b5a9-e06bd2a1aa5b"}},"repository":{"url":"git+https://github.com/octanejs/octane.git","type":"git","directory":"packages/seo"},"description":"SEO metadata for Octane, declarative <Title>/<Meta>/<Link>/<JsonLd> with last-wins merging, server-rendered into <head> and adopted on hydration.","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"octane":"0.1.26","vitest":"^4.1.10"},"peerDependencies":{"octane":"0.1.26"},"_npmOperationalInternal":{"tmp":"tmp/seo_0.0.11_1785965637493_0.508842100437847","host":"s3://npm-registry-packages-npm-production"}},"0.0.12":{"name":"@octanejs/seo","version":"0.0.12","author":{"name":"Dominic Gannaway","email":"dg@domgan.com"},"license":"MIT","_id":"@octanejs/seo@0.0.12","maintainers":[{"name":"trueadm","email":"dg@domgan.com"},{"name":"leonidaz_npm","email":"lbarenblit@gmail.com"},{"name":"webeferen","email":"michal.makowski97@gmail.com"}],"dist":{"shasum":"3c5af4cc41b8b4017d6eedb03f8e3f7ef974409f","tarball":"https://registry.npmjs.org/@octanejs/seo/-/seo-0.0.12.tgz","fileCount":12,"integrity":"sha512-6I0+bOAkWtowxmUa/YkkrDs7asibCqhAYXsa28F8Z43LvGfyfQyHyHMY/WebAhZIjp6Fl/s9xpeySqmrWFJa2g==","signatures":[{"sig":"MEYCIQCuviTOlBpaYTMG28QFATgqaT0hsDu0XyRWFykK/0PrFAIhAJwg3WMaRWWQBm08zXMOJ/2/jT5kRgn+dokuTX4dXB9D","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@octanejs%2fseo@0.0.12","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":50054},"main":"src/index.ts","type":"module","types":"src/index.ts","module":"src/index.ts","engines":{"node":">=22.22.2"},"exports":{".":"./src/index.ts"},"scripts":{"test":"vitest run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fc159f3e-4c24-428a-b5a9-e06bd2a1aa5b"}},"repository":{"url":"git+https://github.com/octanejs/octane.git","type":"git","directory":"packages/seo"},"description":"SEO metadata for Octane, declarative <Title>/<Meta>/<Link>/<JsonLd> with last-wins merging, server-rendered into <head> and adopted on hydration.","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"octane":"0.1.27","vitest":"^4.1.10"},"peerDependencies":{"octane":"0.1.27"},"_npmOperationalInternal":{"tmp":"tmp/seo_0.0.12_1785979774525_0.7641620350692033","host":"s3://npm-registry-packages-npm-production"}},"0.0.13":{"name":"@octanejs/seo","version":"0.0.13","author":{"name":"Dominic Gannaway","email":"dg@domgan.com"},"license":"MIT","_id":"@octanejs/seo@0.0.13","maintainers":[{"name":"trueadm","email":"dg@domgan.com"},{"name":"leonidaz_npm","email":"lbarenblit@gmail.com"},{"name":"webeferen","email":"michal.makowski97@gmail.com"}],"dist":{"shasum":"86ffdf1681ec35e67cf480dc6ec1a1656bd429e4","tarball":"https://registry.npmjs.org/@octanejs/seo/-/seo-0.0.13.tgz","fileCount":12,"integrity":"sha512-MBeCqoxLZmOq4pXsJweTsqoC9At+tgnROMykuKj+sla+/t3VwW9zRakRNXgkkLyeLJ2HM/+4VYpEaYLnL+JsMw==","signatures":[{"sig":"MEUCIBCttJS+6ygfAep56qRPjoK/5nohereDqQRqnQK/HfbsAiEAljj2FyQWTqKvywTY2Iu02CXzKqA90T1jaG43NJdDMIw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@octanejs%2fseo@0.0.13","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":50054},"main":"src/index.ts","type":"module","types":"src/index.ts","module":"src/index.ts","engines":{"node":">=22.22.2"},"exports":{".":"./src/index.ts"},"scripts":{"test":"vitest run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fc159f3e-4c24-428a-b5a9-e06bd2a1aa5b"}},"repository":{"url":"git+https://github.com/octanejs/octane.git","type":"git","directory":"packages/seo"},"description":"SEO metadata for Octane, declarative <Title>/<Meta>/<Link>/<JsonLd> with last-wins merging, server-rendered into <head> and adopted on hydration.","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"octane":"0.1.28","vitest":"^4.1.10"},"peerDependencies":{"octane":"0.1.28"},"_npmOperationalInternal":{"tmp":"tmp/seo_0.0.13_1785994747223_0.575340286186574","host":"s3://npm-registry-packages-npm-production"}},"0.0.14":{"name":"@octanejs/seo","version":"0.0.14","author":{"name":"Dominic Gannaway","email":"dg@domgan.com"},"license":"MIT","_id":"@octanejs/seo@0.0.14","maintainers":[{"name":"trueadm","email":"dg@domgan.com"},{"name":"leonidaz_npm","email":"lbarenblit@gmail.com"},{"name":"webeferen","email":"michal.makowski97@gmail.com"}],"dist":{"shasum":"862fb2fa5703503de19aa3f5e425d1d4d4eeb037","tarball":"https://registry.npmjs.org/@octanejs/seo/-/seo-0.0.14.tgz","fileCount":12,"integrity":"sha512-/HZ4wvDrWH/rETkJU3Zr8GsBJeEyG4e+fiYbz2KEQ5Ytp2Ib1enGwGXGwX70e5TtWYgKmCLR2qqRwWlRSCY+hg==","signatures":[{"sig":"MEQCIChb5D+k5kvfB4Sga5gxn8OcaF6ukO0WDaH0Tbg2ESxRAiBFOhAiZ6yz8h5cpnAhUMERu7MtaMOpnbPg1rP7Q96Rew==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@octanejs%2fseo@0.0.14","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":50054},"main":"src/index.ts","type":"module","types":"src/index.ts","module":"src/index.ts","engines":{"node":">=22.22.2"},"exports":{".":"./src/index.ts"},"scripts":{"test":"vitest run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fc159f3e-4c24-428a-b5a9-e06bd2a1aa5b"}},"repository":{"url":"git+https://github.com/octanejs/octane.git","type":"git","directory":"packages/seo"},"description":"SEO metadata for Octane, declarative <Title>/<Meta>/<Link>/<JsonLd> with last-wins merging, server-rendered into <head> and adopted on hydration.","directories":{},"_nodeVersion":"24.19.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"octane":"0.1.29","vitest":"^4.1.10"},"peerDependencies":{"octane":"0.1.29"},"_npmOperationalInternal":{"tmp":"tmp/seo_0.0.14_1786075692718_0.9773548902875231","host":"s3://npm-registry-packages-npm-production"}},"0.0.15":{"name":"@octanejs/seo","version":"0.0.15","author":{"name":"Dominic Gannaway","email":"dg@domgan.com"},"license":"MIT","_id":"@octanejs/seo@0.0.15","maintainers":[{"name":"trueadm","email":"dg@domgan.com"},{"name":"leonidaz_npm","email":"lbarenblit@gmail.com"},{"name":"webeferen","email":"michal.makowski97@gmail.com"}],"dist":{"shasum":"22882a3799736a824eb98cded7b9d32a87d5e89c","tarball":"https://registry.npmjs.org/@octanejs/seo/-/seo-0.0.15.tgz","fileCount":12,"integrity":"sha512-i8zO4tttV3J1hspmJf/aWG7SJauwfEivPMYpE2L6Vr1SuDfs9rx/ME+IUoCEHEofwU5tyYUMSrV2QHUx8CwYTA==","signatures":[{"sig":"MEUCICM3/3/S+h6B+pyrIkuUsuvL+k/4Cjq2XPcDK24chUr6AiEAguAUKF3Gu6oQlVCT7WaLONIpH1nqbAp2X+PPyDmGHho=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@octanejs%2fseo@0.0.15","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":50054},"main":"src/index.ts","type":"module","types":"src/index.ts","module":"src/index.ts","engines":{"node":">=22.22.2"},"exports":{".":"./src/index.ts"},"scripts":{"test":"vitest run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fc159f3e-4c24-428a-b5a9-e06bd2a1aa5b"}},"repository":{"url":"git+https://github.com/octanejs/octane.git","type":"git","directory":"packages/seo"},"description":"SEO metadata for Octane, declarative <Title>/<Meta>/<Link>/<JsonLd> with last-wins merging, server-rendered into <head> and adopted on hydration.","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"octane":"0.1.30","vitest":"^4.1.10"},"peerDependencies":{"octane":"0.1.30"},"_npmOperationalInternal":{"tmp":"tmp/seo_0.0.15_1786154292267_0.3944835144844354","host":"s3://npm-registry-packages-npm-production"}},"0.0.16":{"name":"@octanejs/seo","version":"0.0.16","author":{"name":"Dominic Gannaway","email":"dg@domgan.com"},"license":"MIT","_id":"@octanejs/seo@0.0.16","maintainers":[{"name":"trueadm","email":"dg@domgan.com"},{"name":"leonidaz_npm","email":"lbarenblit@gmail.com"},{"name":"webeferen","email":"michal.makowski97@gmail.com"}],"dist":{"shasum":"0aa245c1fe2b8e9e52bd051a0689eb41c2b48459","tarball":"https://registry.npmjs.org/@octanejs/seo/-/seo-0.0.16.tgz","fileCount":12,"integrity":"sha512-V3SBL+243Ohoog3rXpfLGz9UF+VaRHp1Zo//kxskuD1UHVrHyBL5OSQEsD5z90zDAmqdwpOVAoknrAMzstQh7w==","signatures":[{"sig":"MEYCIQCLaXU8xE3Le7w4/7vok1B+fnC3bkmgOZIMZPsGZgRlVQIhAIkK4OhjKA6iyAUOV9VUuelnR8MiSavxYdKm3KHQltTz","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@octanejs%2fseo@0.0.16","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":50054},"main":"src/index.ts","type":"module","types":"src/index.ts","module":"src/index.ts","engines":{"node":">=22.22.2"},"exports":{".":"./src/index.ts"},"scripts":{"test":"vitest run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fc159f3e-4c24-428a-b5a9-e06bd2a1aa5b"}},"repository":{"url":"git+https://github.com/octanejs/octane.git","type":"git","directory":"packages/seo"},"description":"SEO metadata for Octane, declarative <Title>/<Meta>/<Link>/<JsonLd> with last-wins merging, server-rendered into <head> and adopted on hydration.","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"octane":"0.1.31","vitest":"^4.1.10"},"peerDependencies":{"octane":"0.1.31"},"_npmOperationalInternal":{"tmp":"tmp/seo_0.0.16_1786194567902_0.7216414097751513","host":"s3://npm-registry-packages-npm-production"}},"0.0.17":{"name":"@octanejs/seo","version":"0.0.17","author":{"name":"Dominic Gannaway","email":"dg@domgan.com"},"license":"MIT","_id":"@octanejs/seo@0.0.17","maintainers":[{"name":"trueadm","email":"dg@domgan.com"},{"name":"leonidaz_npm","email":"lbarenblit@gmail.com"},{"name":"webeferen","email":"michal.makowski97@gmail.com"}],"dist":{"shasum":"842dbb5b3b99615d15a806cdfe3191963c8b0116","tarball":"https://registry.npmjs.org/@octanejs/seo/-/seo-0.0.17.tgz","fileCount":12,"integrity":"sha512-QI945MF3VA1f6B9YufR1aICdufjtba4+xa1A8Mhp/k1LnDhdvJ8ySpn9vCdXSmK8xZ8oMPMJqK5OVibDVSJekw==","signatures":[{"sig":"MEQCIFNcwHktIl80/1P5bAZ8LVqu4LEWFFBZVrUoBx4LsXsKAiArETPxAX7Yc3FlFRJFNd8Kl6DREhLW03AlA4M6Vqkf0A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@octanejs%2fseo@0.0.17","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":50054},"main":"src/index.ts","type":"module","types":"src/index.ts","module":"src/index.ts","engines":{"node":">=22.22.2"},"exports":{".":"./src/index.ts"},"scripts":{"test":"vitest run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fc159f3e-4c24-428a-b5a9-e06bd2a1aa5b"}},"repository":{"url":"git+https://github.com/octanejs/octane.git","type":"git","directory":"packages/seo"},"description":"SEO metadata for Octane, declarative <Title>/<Meta>/<Link>/<JsonLd> with last-wins merging, server-rendered into <head> and adopted on hydration.","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"octane":"0.1.32","vitest":"^4.1.10"},"peerDependencies":{"octane":"0.1.32"},"_npmOperationalInternal":{"tmp":"tmp/seo_0.0.17_1786277633097_0.3717867875220424","host":"s3://npm-registry-packages-npm-production"}},"0.0.18":{"name":"@octanejs/seo","version":"0.0.18","author":{"name":"Dominic Gannaway","email":"dg@domgan.com"},"license":"MIT","_id":"@octanejs/seo@0.0.18","maintainers":[{"name":"trueadm","email":"dg@domgan.com"},{"name":"leonidaz_npm","email":"lbarenblit@gmail.com"},{"name":"webeferen","email":"michal.makowski97@gmail.com"}],"dist":{"shasum":"f30f42b0aed2a0d0c53300a55cc8bb4091a5ede2","tarball":"https://registry.npmjs.org/@octanejs/seo/-/seo-0.0.18.tgz","fileCount":12,"integrity":"sha512-nNnk+nNg4C0osgKtqTSRadhYY5INZxvEshlZ9UsopXMiDbmUktkefMMf7S08ClseVYwtsJI+icmbgCWgx2bLfQ==","signatures":[{"sig":"MEUCIBaeypl8wYRqA9n8hXA4c+ymv5bM/4MEYUOWQIik5yuxAiEAoq7ui8tJndO06PlKjCHAQr6FenT+07SDcnHPllYrgTU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@octanejs%2fseo@0.0.18","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":50054},"main":"src/index.ts","type":"module","types":"src/index.ts","module":"src/index.ts","engines":{"node":">=22.22.2"},"exports":{".":"./src/index.ts"},"scripts":{"test":"vitest run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fc159f3e-4c24-428a-b5a9-e06bd2a1aa5b"}},"repository":{"url":"git+https://github.com/octanejs/octane.git","type":"git","directory":"packages/seo"},"description":"SEO metadata for Octane, declarative <Title>/<Meta>/<Link>/<JsonLd> with last-wins merging, server-rendered into <head> and adopted on hydration.","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"octane":"0.1.33","vitest":"^4.1.10"},"peerDependencies":{"octane":"0.1.33"},"_npmOperationalInternal":{"tmp":"tmp/seo_0.0.18_1786323085201_0.052375270571448196","host":"s3://npm-registry-packages-npm-production"}},"0.0.19":{"name":"@octanejs/seo","version":"0.0.19","author":{"name":"Dominic Gannaway","email":"dg@domgan.com"},"license":"MIT","_id":"@octanejs/seo@0.0.19","maintainers":[{"name":"trueadm","email":"dg@domgan.com"},{"name":"leonidaz_npm","email":"lbarenblit@gmail.com"},{"name":"webeferen","email":"michal.makowski97@gmail.com"}],"dist":{"shasum":"ebf789e5be4f5924587abfd70c27ef69edb79724","tarball":"https://registry.npmjs.org/@octanejs/seo/-/seo-0.0.19.tgz","fileCount":12,"integrity":"sha512-ZY+NyurBGUSlps6BeYRr0UlHCMPYtCzRNtzM7jg6T+B/VrJt2T22S6CRk685AKomsJVg9cxyXoG/WtOVQFBHzw==","signatures":[{"sig":"MEYCIQDe/bj/l+fLBGyXHz2T46cPScUx89cy0R+yGRgmohVKugIhAInk8rQB+hzO1pxk/LNySXkbsfCdK0uDjAOWp2ULqJ8e","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@octanejs%2fseo@0.0.19","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":50054},"main":"src/index.ts","type":"module","types":"src/index.ts","module":"src/index.ts","engines":{"node":">=22.22.2"},"exports":{".":"./src/index.ts"},"scripts":{"test":"vitest run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fc159f3e-4c24-428a-b5a9-e06bd2a1aa5b"}},"repository":{"url":"git+https://github.com/octanejs/octane.git","type":"git","directory":"packages/seo"},"description":"SEO metadata for Octane, declarative <Title>/<Meta>/<Link>/<JsonLd> with last-wins merging, server-rendered into <head> and adopted on hydration.","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"octane":"0.1.34","vitest":"^4.1.10"},"peerDependencies":{"octane":"0.1.34"},"_npmOperationalInternal":{"tmp":"tmp/seo_0.0.19_1786385797291_0.5139659188697121","host":"s3://npm-registry-packages-npm-production"}},"0.0.20":{"name":"@octanejs/seo","version":"0.0.20","author":{"name":"Dominic Gannaway","email":"dg@domgan.com"},"license":"MIT","_id":"@octanejs/seo@0.0.20","maintainers":[{"name":"trueadm","email":"dg@domgan.com"},{"name":"leonidaz_npm","email":"lbarenblit@gmail.com"},{"name":"webeferen","email":"michal.makowski97@gmail.com"}],"dist":{"shasum":"4f773756f3648bac2cabb12156b6bb23d8464cf0","tarball":"https://registry.npmjs.org/@octanejs/seo/-/seo-0.0.20.tgz","fileCount":12,"integrity":"sha512-kajmRUam73pt5B1pqMQBkZdvO5JFTO8++kN94QOIbyHXmlUNoJro/Dea2CBO5K/aYZjIXihNHCDFMaxw/wRvUA==","signatures":[{"sig":"MEQCIA3B+P5s1NHUNJ71ARDQHkVWwIa7VEjzuXE1W4KCVgBAAiBQMy5N0wNg3tZPvOruKLY4BLa64fQ8fTHKo5sMbMCVGg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@octanejs%2fseo@0.0.20","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":50054},"main":"src/index.ts","type":"module","types":"src/index.ts","module":"src/index.ts","engines":{"node":">=22.22.2"},"exports":{".":"./src/index.ts"},"scripts":{"test":"vitest run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fc159f3e-4c24-428a-b5a9-e06bd2a1aa5b"}},"repository":{"url":"git+https://github.com/octanejs/octane.git","type":"git","directory":"packages/seo"},"description":"SEO metadata for Octane, declarative <Title>/<Meta>/<Link>/<JsonLd> with last-wins merging, server-rendered into <head> and adopted on hydration.","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"octane":"0.1.35","vitest":"^4.1.10"},"peerDependencies":{"octane":"0.1.35"},"_npmOperationalInternal":{"tmp":"tmp/seo_0.0.20_1786408293149_0.24524766503085704","host":"s3://npm-registry-packages-npm-production"}},"0.0.21":{"name":"@octanejs/seo","version":"0.0.21","author":{"name":"Dominic Gannaway","email":"dg@domgan.com"},"license":"MIT","_id":"@octanejs/seo@0.0.21","maintainers":[{"name":"trueadm","email":"dg@domgan.com"},{"name":"leonidaz_npm","email":"lbarenblit@gmail.com"},{"name":"webeferen","email":"michal.makowski97@gmail.com"}],"dist":{"shasum":"de5c241cfc301e94c55d0184c545314b08575203","tarball":"https://registry.npmjs.org/@octanejs/seo/-/seo-0.0.21.tgz","fileCount":12,"integrity":"sha512-3HyZ3abK4VGs29lz4tMcUi7bM5BYDUzbQp/o6pMtSFNYUJ2HK0QeFJnRVpDysmeVk2RLAWS9Miu/Bya3yozErw==","signatures":[{"sig":"MEUCIDrNxw4EiaIE4IXyaNHmPppJEvxPmo/gX6uakEbEEhzUAiEA63Ofwwnse5m0RPbTplYouLXPYP3QujSO/aalAG9fCdA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@octanejs%2fseo@0.0.21","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":50054},"main":"src/index.ts","type":"module","types":"src/index.ts","module":"src/index.ts","engines":{"node":">=22.22.2"},"exports":{".":"./src/index.ts"},"scripts":{"test":"vitest run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fc159f3e-4c24-428a-b5a9-e06bd2a1aa5b"}},"repository":{"url":"git+https://github.com/octanejs/octane.git","type":"git","directory":"packages/seo"},"description":"SEO metadata for Octane, declarative <Title>/<Meta>/<Link>/<JsonLd> with last-wins merging, server-rendered into <head> and adopted on hydration.","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"octane":"0.1.36","vitest":"^4.1.10"},"peerDependencies":{"octane":"0.1.36"},"_npmOperationalInternal":{"tmp":"tmp/seo_0.0.21_1786531334658_0.1276818717297239","host":"s3://npm-registry-packages-npm-production"}},"0.0.22":{"name":"@octanejs/seo","version":"0.0.22","author":{"name":"Dominic Gannaway","email":"dg@domgan.com"},"license":"MIT","_id":"@octanejs/seo@0.0.22","maintainers":[{"name":"trueadm","email":"dg@domgan.com"},{"name":"leonidaz_npm","email":"lbarenblit@gmail.com"},{"name":"webeferen","email":"michal.makowski97@gmail.com"}],"dist":{"shasum":"5ae2e369f98ee6a9169291117b9056c4d1c4767c","tarball":"https://registry.npmjs.org/@octanejs/seo/-/seo-0.0.22.tgz","fileCount":12,"integrity":"sha512-1YoUrs/pl+KOCm07d1O2ZAbX9hIzZEHdZ/r9mlAMlHk2mA6yuX7GrBQWzdI3QCNnWqeO9MjA71iR3hDiEV5/Dw==","signatures":[{"sig":"MEQCIFtTF4M5tNykmyhGtsvwX0MNm43KDjXtpTUKTs64KOJaAiBp9eK8RyOs271X/EMCY28HA2tp5ARdO5JRZBpebU0uYA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@octanejs%2fseo@0.0.22","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":50054},"main":"src/index.ts","type":"module","types":"src/index.ts","module":"src/index.ts","engines":{"node":">=22.22.2"},"exports":{".":"./src/index.ts"},"scripts":{"test":"vitest run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fc159f3e-4c24-428a-b5a9-e06bd2a1aa5b"}},"repository":{"url":"git+https://github.com/octanejs/octane.git","type":"git","directory":"packages/seo"},"description":"SEO metadata for Octane, declarative <Title>/<Meta>/<Link>/<JsonLd> with last-wins merging, server-rendered into <head> and adopted on hydration.","directories":{},"_nodeVersion":"24.19.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"octane":"0.1.37","vitest":"^4.1.10"},"peerDependencies":{"octane":"0.1.37"},"_npmOperationalInternal":{"tmp":"tmp/seo_0.0.22_1786658138489_0.15560723951947275","host":"s3://npm-registry-packages-npm-production"}},"0.0.23":{"name":"@octanejs/seo","version":"0.0.23","author":{"name":"Dominic Gannaway","email":"dg@domgan.com"},"license":"MIT","_id":"@octanejs/seo@0.0.23","maintainers":[{"name":"trueadm","email":"dg@domgan.com"},{"name":"leonidaz_npm","email":"lbarenblit@gmail.com"},{"name":"webeferen","email":"michal.makowski97@gmail.com"}],"dist":{"shasum":"bae995a3fc8fe96db29ed6962b2603b136ffd736","tarball":"https://registry.npmjs.org/@octanejs/seo/-/seo-0.0.23.tgz","fileCount":12,"integrity":"sha512-vOANGJwhj6X+8cfmc9lpHBwGrcsHAodA5EIfzh8n4G6IuXsr8nM0bh+NHJbjkOEW0YFGbSscT/uwQLD1a9ytEg==","signatures":[{"sig":"MEYCIQCNkCjCif58tUr7j7Sx/w8SVx/1+KEpWWEm4hYNugXWPgIhAL+0c+99cCKAF3mVIrdF7/zzLrGyPg1hBZo+8fQqnrZM","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@octanejs%2fseo@0.0.23","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":50054},"main":"src/index.ts","type":"module","types":"src/index.ts","module":"src/index.ts","engines":{"node":">=22.22.2"},"exports":{".":"./src/index.ts"},"scripts":{"test":"vitest run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fc159f3e-4c24-428a-b5a9-e06bd2a1aa5b"}},"repository":{"url":"git+https://github.com/octanejs/octane.git","type":"git","directory":"packages/seo"},"description":"SEO metadata for Octane, declarative <Title>/<Meta>/<Link>/<JsonLd> with last-wins merging, server-rendered into <head> and adopted on hydration.","directories":{},"_nodeVersion":"24.19.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"octane":"0.1.38","vitest":"^4.1.10"},"peerDependencies":{"octane":"0.1.38"},"_npmOperationalInternal":{"tmp":"tmp/seo_0.0.23_1786727561943_0.8550810247088636","host":"s3://npm-registry-packages-npm-production"}},"0.0.24":{"name":"@octanejs/seo","version":"0.0.24","author":{"name":"Dominic Gannaway","email":"dg@domgan.com"},"license":"MIT","_id":"@octanejs/seo@0.0.24","maintainers":[{"name":"trueadm","email":"dg@domgan.com"},{"name":"leonidaz_npm","email":"lbarenblit@gmail.com"},{"name":"webeferen","email":"michal.makowski97@gmail.com"}],"dist":{"shasum":"e78124318e3542ea652650c8fdf36fdd6089778a","tarball":"https://registry.npmjs.org/@octanejs/seo/-/seo-0.0.24.tgz","fileCount":12,"integrity":"sha512-z1I/pUQklWX2F+sfgpyBvDDoYTrfcoHbfBZ6Hjz151mH0iafgNe/D7N0QNDVlO+ns9pwT7xXawBtl4T9+HA39A==","signatures":[{"sig":"MEUCICrcMoBUCv/Td0EKyT5HgFR+Bpa5O5P+WU1pYTjrchJtAiEAqC/giqyZB6oRI4uVZiJDsK+lwPiCsNjSfGBxgRyUPr8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@octanejs%2fseo@0.0.24","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":50054},"main":"src/index.ts","type":"module","types":"src/index.ts","module":"src/index.ts","engines":{"node":">=22.22.2"},"exports":{".":"./src/index.ts"},"scripts":{"test":"vitest run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fc159f3e-4c24-428a-b5a9-e06bd2a1aa5b"}},"repository":{"url":"git+https://github.com/octanejs/octane.git","type":"git","directory":"packages/seo"},"description":"SEO metadata for Octane, declarative <Title>/<Meta>/<Link>/<JsonLd> with last-wins merging, server-rendered into <head> and adopted on hydration.","directories":{},"_nodeVersion":"24.19.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"octane":"0.1.39","vitest":"^4.1.10"},"peerDependencies":{"octane":"0.1.39"},"_npmOperationalInternal":{"tmp":"tmp/seo_0.0.24_1786960121377_0.738956434573572","host":"s3://npm-registry-packages-npm-production"}},"0.0.25":{"name":"@octanejs/seo","version":"0.0.25","author":{"name":"Dominic Gannaway","email":"dg@domgan.com"},"license":"MIT","_id":"@octanejs/seo@0.0.25","maintainers":[{"name":"trueadm","email":"dg@domgan.com"},{"name":"leonidaz_npm","email":"lbarenblit@gmail.com"},{"name":"webeferen","email":"michal.makowski97@gmail.com"}],"dist":{"shasum":"bd631681058e9ce3417d5053dbd28428066da268","tarball":"https://registry.npmjs.org/@octanejs/seo/-/seo-0.0.25.tgz","fileCount":12,"integrity":"sha512-YQtZUW4oeY2oaDxwdnPdMLCpwwCaTobxGSe+qPGDtqDMvTWylIjD4/c7pKa6KDuX3MpqX1nbq3Oor44zf7RDNw==","signatures":[{"sig":"MEQCICHCO+iqmTdamC5uoXf+qNcXQPRs6G42CW85g/2DKc4zAiAsEF/5Do6ZqDtS9bPYBDu1YQck0uttjxzofq3j3PHuOA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@octanejs%2fseo@0.0.25","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":50054},"main":"src/index.ts","type":"module","types":"src/index.ts","module":"src/index.ts","engines":{"node":">=22.22.2"},"exports":{".":"./src/index.ts"},"scripts":{"test":"vitest run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fc159f3e-4c24-428a-b5a9-e06bd2a1aa5b"}},"repository":{"url":"git+https://github.com/octanejs/octane.git","type":"git","directory":"packages/seo"},"description":"SEO metadata for Octane, declarative <Title>/<Meta>/<Link>/<JsonLd> with last-wins merging, server-rendered into <head> and adopted on hydration.","directories":{},"_nodeVersion":"24.19.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"octane":"0.1.40","vitest":"^4.1.10"},"peerDependencies":{"octane":"0.1.40"},"_npmOperationalInternal":{"tmp":"tmp/seo_0.0.25_1787077370063_0.8026550820629959","host":"s3://npm-registry-packages-npm-production"}},"0.0.26":{"name":"@octanejs/seo","version":"0.0.26","author":{"name":"Dominic Gannaway","email":"dg@domgan.com"},"license":"MIT","_id":"@octanejs/seo@0.0.26","maintainers":[{"name":"trueadm","email":"dg@domgan.com"},{"name":"leonidaz_npm","email":"lbarenblit@gmail.com"},{"name":"webeferen","email":"michal.makowski97@gmail.com"}],"dist":{"shasum":"8cf91f06ae1febe10281f78ff35263fbbe16be29","tarball":"https://registry.npmjs.org/@octanejs/seo/-/seo-0.0.26.tgz","fileCount":12,"integrity":"sha512-TDX3UXBvKYMaQI53OjJKImY7tziZPZ+gscc9h90b3po1Q3zTgSUOPm/LRUS+dswF51xVd2lmJUoGWyZ5k3AUZA==","signatures":[{"sig":"MEYCIQCVNqvefQWsS+5MLncSOeHzYdajDRU9tem0GVKl4OuIiQIhAPRFjIBa9wUVHeylV78TtybfCBawa7cvtHTpLuGaVjMe","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@octanejs%2fseo@0.0.26","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":50054},"main":"src/index.ts","type":"module","types":"src/index.ts","module":"src/index.ts","engines":{"node":">=22.22.2"},"exports":{".":"./src/index.ts"},"scripts":{"test":"vitest run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fc159f3e-4c24-428a-b5a9-e06bd2a1aa5b"}},"repository":{"url":"git+https://github.com/octanejs/octane.git","type":"git","directory":"packages/seo"},"description":"SEO metadata for Octane, declarative <Title>/<Meta>/<Link>/<JsonLd> with last-wins merging, server-rendered into <head> and adopted on hydration.","directories":{},"_nodeVersion":"24.19.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"octane":"0.1.41","vitest":"^4.1.10"},"peerDependencies":{"octane":"0.1.41"},"_npmOperationalInternal":{"tmp":"tmp/seo_0.0.26_1787143699043_0.8939488002062157","host":"s3://npm-registry-packages-npm-production"}},"0.0.27":{"name":"@octanejs/seo","version":"0.0.27","author":{"name":"Dominic Gannaway","email":"dg@domgan.com"},"license":"MIT","_id":"@octanejs/seo@0.0.27","maintainers":[{"name":"trueadm","email":"dg@domgan.com"},{"name":"leonidaz_npm","email":"lbarenblit@gmail.com"},{"name":"webeferen","email":"michal.makowski97@gmail.com"}],"dist":{"shasum":"dcf2ab6b3ab2ae814f0d5017b24f4bb04ca26766","tarball":"https://registry.npmjs.org/@octanejs/seo/-/seo-0.0.27.tgz","fileCount":12,"integrity":"sha512-jPR6QJwyVL65z086X14dzLcBiWrow3Hb8LMJzSYyxPRGKxxy63cwXRyo5ftyxhZjVyLDZKnoJQ1gu8n4qaXFCg==","signatures":[{"sig":"MEQCIGR6GgVXwYNRNv0oQU7HAkM7B3rVR51euPzTkuRR004YAiA1siJmeB3MLn2Y0uNx+DDN7mc6uT/atdjEgs4Rx4x6DQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@octanejs%2fseo@0.0.27","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":50054},"main":"src/index.ts","type":"module","types":"src/index.ts","module":"src/index.ts","engines":{"node":">=22.22.2"},"exports":{".":"./src/index.ts"},"scripts":{"test":"vitest run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fc159f3e-4c24-428a-b5a9-e06bd2a1aa5b"}},"repository":{"url":"git+https://github.com/octanejs/octane.git","type":"git","directory":"packages/seo"},"description":"SEO metadata for Octane, declarative <Title>/<Meta>/<Link>/<JsonLd> with last-wins merging, server-rendered into <head> and adopted on hydration.","directories":{},"_nodeVersion":"24.19.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"octane":"0.1.42","vitest":"^4.1.10"},"peerDependencies":{"octane":"0.1.42"},"_npmOperationalInternal":{"tmp":"tmp/seo_0.0.27_1787243694897_0.013537317044932662","host":"s3://npm-registry-packages-npm-production"}},"0.0.28":{"name":"@octanejs/seo","version":"0.0.28","author":{"name":"Dominic Gannaway","email":"dg@domgan.com"},"license":"MIT","_id":"@octanejs/seo@0.0.28","maintainers":[{"name":"trueadm","email":"dg@domgan.com"},{"name":"leonidaz_npm","email":"lbarenblit@gmail.com"},{"name":"webeferen","email":"michal.makowski97@gmail.com"}],"dist":{"shasum":"c2d31724944261b785b3f775b6f66340f703c366","tarball":"https://registry.npmjs.org/@octanejs/seo/-/seo-0.0.28.tgz","fileCount":12,"integrity":"sha512-37sRcarZz3yyTBSOSmRrbRTg51ebc8MwSAzmz3fWDbYklX9BdDlCh9KSADFe6R1e2gsnvLpGk9OwwroOA+wHRA==","signatures":[{"sig":"MEQCIHVfsy/+H/YBAh8bzoc4JdjUL3iOd7oeRMMEFNWe8PphAiBTrGZ03lmkntSQ+4ZMR2j/RiqizfaQx68ElEXKE0hJmA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@octanejs%2fseo@0.0.28","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":50054},"main":"src/index.ts","type":"module","types":"src/index.ts","module":"src/index.ts","engines":{"node":">=22.22.2"},"exports":{".":"./src/index.ts"},"scripts":{"test":"vitest run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fc159f3e-4c24-428a-b5a9-e06bd2a1aa5b"}},"repository":{"url":"git+https://github.com/octanejs/octane.git","type":"git","directory":"packages/seo"},"description":"SEO metadata for Octane, declarative <Title>/<Meta>/<Link>/<JsonLd> with last-wins merging, server-rendered into <head> and adopted on hydration.","directories":{},"_nodeVersion":"24.19.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"octane":"0.1.43","vitest":"^4.1.10"},"peerDependencies":{"octane":"0.1.43"},"_npmOperationalInternal":{"tmp":"tmp/seo_0.0.28_1787322279900_0.14512940353620984","host":"s3://npm-registry-packages-npm-production"}},"0.0.29":{"name":"@octanejs/seo","version":"0.0.29","author":{"name":"Dominic Gannaway","email":"dg@domgan.com"},"license":"MIT","_id":"@octanejs/seo@0.0.29","maintainers":[{"name":"trueadm","email":"dg@domgan.com"},{"name":"leonidaz_npm","email":"lbarenblit@gmail.com"},{"name":"webeferen","email":"michal.makowski97@gmail.com"}],"dist":{"shasum":"171018faac54e0dfe59ee342bf388537b32abfd2","tarball":"https://registry.npmjs.org/@octanejs/seo/-/seo-0.0.29.tgz","fileCount":12,"integrity":"sha512-FEh/wjNg/MU+1IdmkGssQHnHIZbT+yq1fWUCSQ6ysj6EBC6/GtINP6msTVq/C/LPXVkPrpbcK5mQU0reSbvlig==","signatures":[{"sig":"MEYCIQCWoDeHEYb+BT+VhBjor8ZsFWZSJdS6N98TtFTMUsJqRAIhAI/qeor5OIUdF4QGnisIylHTR6eyMe/XnjBwx1JAFV5a","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@octanejs%2fseo@0.0.29","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":50054},"main":"src/index.ts","type":"module","types":"src/index.ts","module":"src/index.ts","engines":{"node":">=22.22.2"},"exports":{".":"./src/index.ts"},"scripts":{"test":"vitest run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fc159f3e-4c24-428a-b5a9-e06bd2a1aa5b"}},"repository":{"url":"git+https://github.com/octanejs/octane.git","type":"git","directory":"packages/seo"},"description":"SEO metadata for Octane, declarative <Title>/<Meta>/<Link>/<JsonLd> with last-wins merging, server-rendered into <head> and adopted on hydration.","directories":{},"_nodeVersion":"24.19.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"octane":"0.1.44","vitest":"^4.1.10"},"peerDependencies":{"octane":"0.1.44"},"_npmOperationalInternal":{"tmp":"tmp/seo_0.0.29_1787358793002_0.7973562117449191","host":"s3://npm-registry-packages-npm-production"}},"0.0.30":{"name":"@octanejs/seo","version":"0.0.30","author":{"name":"Dominic Gannaway","email":"dg@domgan.com"},"license":"MIT","_id":"@octanejs/seo@0.0.30","maintainers":[{"name":"trueadm","email":"dg@domgan.com"},{"name":"leonidaz_npm","email":"lbarenblit@gmail.com"},{"name":"webeferen","email":"michal.makowski97@gmail.com"}],"dist":{"shasum":"8b3a3994d5c655bd9356d702f24aa526a58d27b2","tarball":"https://registry.npmjs.org/@octanejs/seo/-/seo-0.0.30.tgz","fileCount":12,"integrity":"sha512-J0qt7s0u/FTPL/QDtpeeUGk/CJwlKGJ+gY3XUrpBAu3PV9pXmad2j+3HVkAv5Cn43ggGpsN2HRIf4f2qom3OFw==","signatures":[{"sig":"MEQCIAHjfTCjCNm2PyfhEzauY38f3W7+C0JcLAJeoitDBQWSAiAiLP6DTMhokI2ZEffTqhuuWVMsy2zRiZcwchyxI/YLzw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@octanejs%2fseo@0.0.30","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":50054},"main":"src/index.ts","type":"module","types":"src/index.ts","module":"src/index.ts","engines":{"node":">=22.22.2"},"exports":{".":"./src/index.ts"},"scripts":{"test":"vitest run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fc159f3e-4c24-428a-b5a9-e06bd2a1aa5b"}},"repository":{"url":"git+https://github.com/octanejs/octane.git","type":"git","directory":"packages/seo"},"description":"SEO metadata for Octane, declarative <Title>/<Meta>/<Link>/<JsonLd> with last-wins merging, server-rendered into <head> and adopted on hydration.","directories":{},"_nodeVersion":"24.19.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"octane":"0.1.45","vitest":"^4.1.10"},"peerDependencies":{"octane":"0.1.45"},"_npmOperationalInternal":{"tmp":"tmp/seo_0.0.30_1787572926071_0.3240188037311549","host":"s3://npm-registry-packages-npm-production"}},"0.0.31":{"name":"@octanejs/seo","version":"0.0.31","author":{"name":"Dominic Gannaway","email":"dg@domgan.com"},"license":"MIT","_id":"@octanejs/seo@0.0.31","maintainers":[{"name":"trueadm","email":"dg@domgan.com"},{"name":"leonidaz_npm","email":"lbarenblit@gmail.com"},{"name":"webeferen","email":"michal.makowski97@gmail.com"}],"dist":{"shasum":"311785880ff4ee1caab133934b95e46a73120815","tarball":"https://registry.npmjs.org/@octanejs/seo/-/seo-0.0.31.tgz","fileCount":12,"integrity":"sha512-keaN2wubvKHAy9LZLy6qk72X7DdnaK8JEveugqw/HtBuykzbCPNFQMIhHEfJS0IQSSWyuCoVhCFz/blU/2Gfqw==","signatures":[{"sig":"MEUCIFOGra0ltjINMnY3qEAlkq2K9vEUNLnyII63UUeQyDjiAiEAoAqYi3ygCj1da1O+6eVmCJ3bAeGmg24iCRllMntbxS0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@octanejs%2fseo@0.0.31","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":50054},"main":"src/index.ts","type":"module","types":"src/index.ts","module":"src/index.ts","engines":{"node":">=22.22.2"},"exports":{".":"./src/index.ts"},"scripts":{"test":"vitest run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fc159f3e-4c24-428a-b5a9-e06bd2a1aa5b"}},"repository":{"url":"git+https://github.com/octanejs/octane.git","type":"git","directory":"packages/seo"},"description":"SEO metadata for Octane, declarative <Title>/<Meta>/<Link>/<JsonLd> with last-wins merging, server-rendered into <head> and adopted on hydration.","directories":{},"_nodeVersion":"24.19.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"octane":"0.1.46","vitest":"^4.1.10"},"peerDependencies":{"octane":"0.1.46"},"_npmOperationalInternal":{"tmp":"tmp/seo_0.0.31_1787585219442_0.1416756745433414","host":"s3://npm-registry-packages-npm-production"}},"0.0.32":{"name":"@octanejs/seo","version":"0.0.32","author":{"name":"Dominic Gannaway","email":"dg@domgan.com"},"license":"MIT","_id":"@octanejs/seo@0.0.32","maintainers":[{"name":"trueadm","email":"dg@domgan.com"},{"name":"leonidaz_npm","email":"lbarenblit@gmail.com"},{"name":"webeferen","email":"michal.makowski97@gmail.com"}],"dist":{"shasum":"2c02e2dd688386d10034993bbdaf551124bbd993","tarball":"https://registry.npmjs.org/@octanejs/seo/-/seo-0.0.32.tgz","fileCount":12,"integrity":"sha512-W2xXlnnbuM2gvzI0VdHSKmwnTkXsFjrRIibkFmECAVhBvK7GUbOUrF6OFhmoW0oo6+z3YzMY0tW87lsMLxfyuw==","signatures":[{"sig":"MEUCIQDP40brlatnX1SvVqei3ZBJzVf3qCVPdsHXmsF3kGo5hAIgOrVgqEDwV7mMByLO7vmSJ8mGnizyGoUqqaYDOkktgQY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@octanejs%2fseo@0.0.32","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":50054},"main":"src/index.ts","type":"module","types":"src/index.ts","module":"src/index.ts","engines":{"node":">=22.22.2"},"exports":{".":"./src/index.ts"},"scripts":{"test":"vitest run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fc159f3e-4c24-428a-b5a9-e06bd2a1aa5b"}},"repository":{"url":"git+https://github.com/octanejs/octane.git","type":"git","directory":"packages/seo"},"description":"SEO metadata for Octane, declarative <Title>/<Meta>/<Link>/<JsonLd> with last-wins merging, server-rendered into <head> and adopted on hydration.","directories":{},"_nodeVersion":"24.19.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"octane":"0.1.47","vitest":"^4.1.10"},"peerDependencies":{"octane":"0.1.47"},"_npmOperationalInternal":{"tmp":"tmp/seo_0.0.32_1787748821333_0.9315394233209433","host":"s3://npm-registry-packages-npm-production"}},"0.0.33":{"name":"@octanejs/seo","version":"0.0.33","author":{"name":"Dominic Gannaway","email":"dg@domgan.com"},"license":"MIT","_id":"@octanejs/seo@0.0.33","maintainers":[{"name":"trueadm","email":"dg@domgan.com"},{"name":"leonidaz_npm","email":"lbarenblit@gmail.com"},{"name":"webeferen","email":"michal.makowski97@gmail.com"},{"name":"jonkwheeler","email":"jon.k.wheeler@gmail.com"}],"dist":{"shasum":"579d911a60a27f260e24a6d32167ec4a9e6b48d7","tarball":"https://registry.npmjs.org/@octanejs/seo/-/seo-0.0.33.tgz","fileCount":12,"integrity":"sha512-rn4ooLSi66Vw5GNffTm34YFT7qzbIGfbZl6gCXAODiiJkum0gAC7IbYoOn4c/BoCEB4EKiwfO2MLWZczatrG+A==","signatures":[{"sig":"MEUCIQDCqvlsvUZ1UABQ6/hEKr+ST30XfLPGepR3YC4ngwQ/OwIgGt9gTBYfnu6sVDhwtsMxS9Bfg4H2PYtdklmzZKmKt8k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@octanejs%2fseo@0.0.33","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":50054},"main":"src/index.ts","type":"module","types":"src/index.ts","module":"src/index.ts","engines":{"node":">=22.22.2"},"exports":{".":"./src/index.ts"},"scripts":{"test":"vitest run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fc159f3e-4c24-428a-b5a9-e06bd2a1aa5b"}},"repository":{"url":"git+https://github.com/octanejs/octane.git","type":"git","directory":"packages/seo"},"description":"SEO metadata for Octane, declarative <Title>/<Meta>/<Link>/<JsonLd> with last-wins merging, server-rendered into <head> and adopted on hydration.","directories":{},"_nodeVersion":"24.19.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"octane":"0.1.48","vitest":"^4.1.10"},"peerDependencies":{"octane":"0.1.48"},"_npmOperationalInternal":{"tmp":"tmp/seo_0.0.33_1787837240933_0.03673660767804798","host":"s3://npm-registry-packages-npm-production"}},"0.0.34":{"name":"@octanejs/seo","version":"0.0.34","author":{"name":"Dominic Gannaway","email":"dg@domgan.com"},"license":"MIT","_id":"@octanejs/seo@0.0.34","maintainers":[{"name":"trueadm","email":"dg@domgan.com"},{"name":"leonidaz_npm","email":"lbarenblit@gmail.com"},{"name":"webeferen","email":"michal.makowski97@gmail.com"},{"name":"jonkwheeler","email":"jon.k.wheeler@gmail.com"}],"dist":{"shasum":"12d3041660128364af3610e2dc13d752c006dac4","tarball":"https://registry.npmjs.org/@octanejs/seo/-/seo-0.0.34.tgz","fileCount":12,"integrity":"sha512-45cihoGdnzqofbXv3htiFGPp6FW0IrmrwlwLe8evPmMW5erimQfIWpPvrtxZgH/MpG5TSEtKNoC8U0y2TyXFxQ==","signatures":[{"sig":"MEQCIAYzHnJQXIzR70k/AJ9LabYmsHHRIS7yWIHXBZaIqSltAiAlIZjtC2NxzsZ3DwxCYmHO4yziARFc1DhGC6NkfnuFsw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@octanejs%2fseo@0.0.34","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":50054},"main":"src/index.ts","type":"module","types":"src/index.ts","module":"src/index.ts","engines":{"node":">=22.22.2"},"exports":{".":"./src/index.ts"},"scripts":{"test":"vitest run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fc159f3e-4c24-428a-b5a9-e06bd2a1aa5b"}},"repository":{"url":"git+https://github.com/octanejs/octane.git","type":"git","directory":"packages/seo"},"description":"SEO metadata for Octane, declarative <Title>/<Meta>/<Link>/<JsonLd> with last-wins merging, server-rendered into <head> and adopted on hydration.","directories":{},"_nodeVersion":"24.19.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"octane":"0.1.49","vitest":"^4.1.10"},"peerDependencies":{"octane":"0.1.49"},"_npmOperationalInternal":{"tmp":"tmp/seo_0.0.34_1787916678047_0.7595869267151376","host":"s3://npm-registry-packages-npm-production"}},"0.0.35":{"name":"@octanejs/seo","version":"0.0.35","author":{"name":"Dominic Gannaway","email":"dg@domgan.com"},"license":"MIT","_id":"@octanejs/seo@0.0.35","maintainers":[{"name":"trueadm","email":"dg@domgan.com"},{"name":"leonidaz_npm","email":"lbarenblit@gmail.com"},{"name":"webeferen","email":"michal.makowski97@gmail.com"},{"name":"jonkwheeler","email":"jon.k.wheeler@gmail.com"}],"dist":{"shasum":"fea82cfd9e405f8f47a8cca689f6fdc4af94da91","tarball":"https://registry.npmjs.org/@octanejs/seo/-/seo-0.0.35.tgz","fileCount":12,"integrity":"sha512-D+wAutuPvPJ5SDu2LWwwMWtIyUmG/H7vAsvrTn2qU75eMbDympNU2qtqaLuuI3Ky6MaRKudfANsXvxx+7vQW0g==","signatures":[{"sig":"MEYCIQDQToXZLfrufeHgi7M15ApZBWADFmq7DCMskx/v9LQBcwIhALeNaTOH9EUNxkYX39vi2oZeJW/adx30n+cS9r5bqK5p","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@octanejs%2fseo@0.0.35","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":50054},"main":"src/index.ts","type":"module","types":"src/index.ts","module":"src/index.ts","engines":{"node":">=22.22.2"},"exports":{".":"./src/index.ts"},"scripts":{"test":"vitest run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fc159f3e-4c24-428a-b5a9-e06bd2a1aa5b"}},"repository":{"url":"git+https://github.com/octanejs/octane.git","type":"git","directory":"packages/seo"},"description":"SEO metadata for Octane, declarative <Title>/<Meta>/<Link>/<JsonLd> with last-wins merging, server-rendered into <head> and adopted on hydration.","directories":{},"_nodeVersion":"24.19.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"octane":"0.1.50","vitest":"^4.1.10"},"peerDependencies":{"octane":"0.1.50"},"_npmOperationalInternal":{"tmp":"tmp/seo_0.0.35_1788108972156_0.963265252630412","host":"s3://npm-registry-packages-npm-production"}},"0.0.36":{"name":"@octanejs/seo","version":"0.0.36","author":{"name":"Dominic Gannaway","email":"dg@domgan.com"},"license":"MIT","_id":"@octanejs/seo@0.0.36","maintainers":[{"name":"trueadm","email":"dg@domgan.com"},{"name":"leonidaz_npm","email":"lbarenblit@gmail.com"},{"name":"webeferen","email":"michal.makowski97@gmail.com"},{"name":"jonkwheeler","email":"jon.k.wheeler@gmail.com"}],"dist":{"shasum":"bb8ad617c19e8c943c177a4a84fd129a31d7a8ed","tarball":"https://registry.npmjs.org/@octanejs/seo/-/seo-0.0.36.tgz","fileCount":12,"integrity":"sha512-3UxbKoKVe/NcYpuXsM5Bit188A1GI5hSLsMLjFe9miIBMVm/xK+w5mGGXTJm/Cr2zIUJYczNX1cIqbu1+wR/PA==","signatures":[{"sig":"MEYCIQCTG+QMlb9GBOORa9lW4VBdWjMlRhkKuYU9ZuVdhzuNWwIhALXD/X1cy3l6j1r77U0IDJwhUNn7PKazbflQ1UXJHom5","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@octanejs%2fseo@0.0.36","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":50054},"main":"src/index.ts","type":"module","types":"src/index.ts","module":"src/index.ts","engines":{"node":">=22.22.2"},"exports":{".":"./src/index.ts"},"scripts":{"test":"vitest run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fc159f3e-4c24-428a-b5a9-e06bd2a1aa5b"}},"repository":{"url":"git+https://github.com/octanejs/octane.git","type":"git","directory":"packages/seo"},"description":"SEO metadata for Octane, declarative <Title>/<Meta>/<Link>/<JsonLd> with last-wins merging, server-rendered into <head> and adopted on hydration.","directories":{},"_nodeVersion":"24.19.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"octane":"0.1.51","vitest":"^4.1.10"},"peerDependencies":{"octane":"0.1.51"},"_npmOperationalInternal":{"tmp":"tmp/seo_0.0.36_1788273606560_0.05582036318528272","host":"s3://npm-registry-packages-npm-production"}},"0.0.37":{"name":"@octanejs/seo","version":"0.0.37","author":{"name":"Dominic Gannaway","email":"dg@domgan.com"},"license":"MIT","_id":"@octanejs/seo@0.0.37","maintainers":[{"name":"trueadm","email":"dg@domgan.com"},{"name":"leonidaz_npm","email":"lbarenblit@gmail.com"},{"name":"webeferen","email":"michal.makowski97@gmail.com"},{"name":"jonkwheeler","email":"jon.k.wheeler@gmail.com"}],"dist":{"shasum":"9333062d46028a3b1b643bac087d1e47ecd671dc","tarball":"https://registry.npmjs.org/@octanejs/seo/-/seo-0.0.37.tgz","fileCount":12,"integrity":"sha512-9EAqgmJ5obQdzxrPudpdinROD8tGFIe8ND5V1Ai04bfMLIOFLh48iVnXTxNJr9Sgw8eEnjrO2XAymrYf34CZuw==","signatures":[{"sig":"MEYCIQDVsVQwCifu5D+zwedTlkLC2GKoDpxd8hrAqPk6E655OgIhAOsF0tPZBNjFzbb0VncA8LWd7JZu+MpveSAaqBNCf6mm","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@octanejs%2fseo@0.0.37","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":50064},"main":"src/index.ts","type":"module","types":"src/index.ts","module":"src/index.ts","engines":{"node":">=22.22.2"},"exports":{".":"./src/index.ts"},"scripts":{"test":"vitest run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fc159f3e-4c24-428a-b5a9-e06bd2a1aa5b"}},"repository":{"url":"git+https://github.com/octanejs/octane.git","type":"git","directory":"packages/seo"},"description":"SEO metadata for Octane, declarative <Title>/<Meta>/<Link>/<JsonLd> with last-wins merging, server-rendered into <head> and adopted on hydration.","directories":{},"_nodeVersion":"24.19.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"octane":"0.2.0","vitest":"^4.1.10"},"peerDependencies":{"octane":"^0.1.51 || ^0.2.0"},"_npmOperationalInternal":{"tmp":"tmp/seo_0.0.37_1788310308671_0.25716492647387423","host":"s3://npm-registry-packages-npm-production"}},"0.0.38":{"name":"@octanejs/seo","version":"0.0.38","author":{"name":"Dominic Gannaway","email":"dg@domgan.com"},"license":"MIT","_id":"@octanejs/seo@0.0.38","maintainers":[{"name":"trueadm","email":"dg@domgan.com"},{"name":"leonidaz_npm","email":"lbarenblit@gmail.com"},{"name":"webeferen","email":"michal.makowski97@gmail.com"},{"name":"jonkwheeler","email":"jon.k.wheeler@gmail.com"}],"dist":{"shasum":"6b78eadd2388c456796d906be95290d0d2f788d7","tarball":"https://registry.npmjs.org/@octanejs/seo/-/seo-0.0.38.tgz","fileCount":12,"integrity":"sha512-LGwmcPzs22NshysnKMUG5XTN2bHeDLd8e/m00g6v5Gv7coVBQkp4QIxzi9IBBkqDvzTjfuZErimytFmygNUKxA==","signatures":[{"sig":"MEQCIGI0WheUVsU0y/JYkcZNy9vpVYogYtg3asYS0BfB6hmKAiBIUz1pHUQatYlUyjxDQGNyRe+sWveuoYTkKq/f0oPgvg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIH1YdksureUhlOSEgj4t5b8ARulRw/z3xqXHlJe1ebdqAiBAtvMz7urxtQ1eR92pH1CXsMYuxLEYN4baXcUHURoZ8g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@octanejs%2fseo@0.0.38","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":51545},"main":"src/index.ts","type":"module","types":"src/index.ts","module":"src/index.ts","engines":{"node":">=22.22.2"},"exports":{".":"./src/index.ts"},"scripts":{"test":"vitest run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fc159f3e-4c24-428a-b5a9-e06bd2a1aa5b"}},"repository":{"url":"git+https://github.com/octanejs/octane.git","type":"git","directory":"packages/seo"},"description":"SEO metadata for Octane, declarative <Title>/<Meta>/<Link>/<JsonLd> with last-wins merging, server-rendered into <head> and adopted on hydration.","directories":{},"_nodeVersion":"24.20.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"octane":"0.2.4","vitest":"^4.1.10"},"peerDependencies":{"octane":"^0.1.51 || ^0.2.0"},"_npmOperationalInternal":{"tmp":"tmp/seo_0.0.38_1788727849326_0.7015151054441873","host":"s3://npm-registry-packages-npm-production"}},"0.0.39":{"name":"@octanejs/seo","version":"0.0.39","author":{"name":"Dominic Gannaway","email":"dg@domgan.com"},"license":"MIT","_id":"@octanejs/seo@0.0.39","maintainers":[{"name":"trueadm","email":"dg@domgan.com"},{"name":"leonidaz_npm","email":"lbarenblit@gmail.com"},{"name":"webeferen","email":"michal.makowski97@gmail.com"},{"name":"jonkwheeler","email":"jon.k.wheeler@gmail.com"}],"dist":{"shasum":"2c620ac948508f2f379d44be36d281b5b45a5e30","tarball":"https://registry.npmjs.org/@octanejs/seo/-/seo-0.0.39.tgz","fileCount":12,"integrity":"sha512-ofrgnPFBHh5wdKHFa85Mdrw9NCNTF6x7KhLFJLYST4ayOVD1v1pA4Y23+citppM3AJ/OEpBvDt8RZUQ5t1npQQ==","signatures":[{"sig":"MEYCIQCkbcii+YhpsjrCVBMzVauqf0fnbxMCBYc/wjtsdC4P5gIhAJe8uY4ic5zzqjXTPHHhbhzXIbQ1BrGD489lamCxAoA8","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIFWSUcP5udVyFyDHuEXERN/vZ0sTcsGQpaKtl/CQinWrAiAd/v71CXR7020VWy1EfFPOnprF00yeiAHrxfs81Oup3g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@octanejs%2fseo@0.0.39","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":51362},"main":"src/index.ts","type":"module","types":"src/index.ts","module":"src/index.ts","engines":{"node":">=22.22.2"},"exports":{".":"./src/index.ts"},"scripts":{"test":"vitest run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fc159f3e-4c24-428a-b5a9-e06bd2a1aa5b"}},"repository":{"url":"git+https://github.com/octanejs/octane.git","type":"git","directory":"packages/seo"},"description":"SEO metadata for Octane, declarative <Title>/<Meta>/<Link>/<JsonLd> with last-wins merging, server-rendered into <head> and adopted on hydration.","directories":{},"_nodeVersion":"24.20.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"octane":"0.2.8","vitest":"^4.1.10"},"peerDependencies":{"octane":"^0.1.51 || ^0.2.0"},"_npmOperationalInternal":{"tmp":"tmp/seo_0.0.39_1789124510899_0.6323670553667342","host":"s3://npm-registry-packages-npm-production"}},"0.0.40":{"name":"@octanejs/seo","version":"0.0.40","author":{"name":"Dominic Gannaway","email":"dg@domgan.com"},"license":"MIT","_id":"@octanejs/seo@0.0.40","maintainers":[{"name":"trueadm","email":"dg@domgan.com"},{"name":"leonidaz_npm","email":"lbarenblit@gmail.com"},{"name":"webeferen","email":"michal.makowski97@gmail.com"},{"name":"jonkwheeler","email":"jon.k.wheeler@gmail.com"}],"dist":{"shasum":"37925109ac2633aa5c1e743bd2def35893f6bd7d","tarball":"https://registry.npmjs.org/@octanejs/seo/-/seo-0.0.40.tgz","fileCount":12,"integrity":"sha512-j9ESzdi7sF6gVapU0ldX3E7rAnSGECOGrMzbCwDwazihKX8mDjs1n7iyWWbyQ4Vz6sAjct9XR7sINXilYqjPDQ==","signatures":[{"sig":"MEYCIQC/mswg13N0wBw+nm3dxT0O4J+cy99mT9NMT3LCNdnSYAIhAJ5L2NZW1U7Ua+CXNVfXRleYytG51SAFAVBLV45EB8IB","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDTzo4+vA6S3CPiK19gnFR4hf93Zsjfv6yzypDKW80FjgIga8bIR/EpppaxnFFn1gxP7ippWf06oIPpI69tDksjqPg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@octanejs%2fseo@0.0.40","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":51354},"main":"src/index.ts","type":"module","types":"src/index.ts","module":"src/index.ts","engines":{"node":">=22.22.2"},"exports":{".":"./src/index.ts"},"scripts":{"test":"vitest run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fc159f3e-4c24-428a-b5a9-e06bd2a1aa5b"}},"repository":{"url":"git+https://github.com/octanejs/octane.git","type":"git","directory":"packages/seo"},"description":"SEO metadata for Octane, declarative <Title>/<Meta>/<Link>/<JsonLd> with last-wins merging, server-rendered into <head> and adopted on hydration.","directories":{},"_nodeVersion":"24.20.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"octane":"0.3.0","vitest":"^4.1.10"},"peerDependencies":{"octane":"^0.1.51 || ^0.2.0 || ^0.3.0"},"_npmOperationalInternal":{"tmp":"tmp/seo_0.0.40_1789827694994_0.5016922132216246","host":"s3://npm-registry-packages-npm-production"}},"0.0.41":{"name":"@octanejs/seo","version":"0.0.41","author":{"name":"Dominic Gannaway","email":"dg@domgan.com"},"license":"MIT","_id":"@octanejs/seo@0.0.41","maintainers":[{"name":"trueadm","email":"dg@domgan.com"},{"name":"leonidaz_npm","email":"lbarenblit@gmail.com"},{"name":"webeferen","email":"michal.makowski97@gmail.com"},{"name":"jonkwheeler","email":"jon.k.wheeler@gmail.com"}],"dist":{"shasum":"91cf14c25789049c4922ffc24753214f5aa24faf","tarball":"https://registry.npmjs.org/@octanejs/seo/-/seo-0.0.41.tgz","fileCount":12,"integrity":"sha512-8avZOr6rTNuQPpFO7RQaMq1jDDlHS+3Ks7HQV7HdpR1GpbZxT16TkZDrygH12N9/MBQUtKrQQ3Ce8C/4RrHLaA==","signatures":[{"sig":"MEUCIA2QFDFNcKrR1DTNaFYyU7uisDyg4ulD92EDXGWki2LVAiEA1vTbhP3pAUxqnUgVHOCB7QmIE0a3cgnE4zqVfHKxBL0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCICPzHASn1Z0jblxCogoMvRrY+BGs3G8khclqH9FDi+qbAiEA5k3GwETqzdesXzboqDY2VhRN4zvzzF5Qn0RIpPB6b/M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@octanejs%2fseo@0.0.41","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":51333},"main":"src/index.ts","type":"module","types":"src/index.ts","module":"src/index.ts","engines":{"node":">=22.22.2"},"exports":{".":"./src/index.ts"},"scripts":{"test":"vitest run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fc159f3e-4c24-428a-b5a9-e06bd2a1aa5b"}},"repository":{"url":"git+https://github.com/octanejs/octane.git","type":"git","directory":"packages/seo"},"description":"SEO metadata for Octane, declarative <Title>/<Meta>/<Link>/<JsonLd> with last-wins merging, server-rendered into <head> and adopted on hydration.","directories":{},"_nodeVersion":"24.20.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"octane":"0.4.0","vitest":"^4.1.10"},"peerDependencies":{"octane":"^0.4.0"},"_npmOperationalInternal":{"tmp":"tmp/seo_0.0.41_1790029557178_0.21483791706778121","host":"s3://npm-registry-packages-npm-production"}},"0.0.42":{"name":"@octanejs/seo","version":"0.0.42","author":{"name":"Dominic Gannaway","email":"dg@domgan.com"},"license":"MIT","_id":"@octanejs/seo@0.0.42","maintainers":[{"name":"trueadm","email":"dg@domgan.com"},{"name":"leonidaz_npm","email":"lbarenblit@gmail.com"},{"name":"webeferen","email":"michal.makowski97@gmail.com"},{"name":"jonkwheeler","email":"jon.k.wheeler@gmail.com"}],"dist":{"shasum":"b3ff5bf3bbb1d3b19f96dc2e9e77473a265ec7c5","tarball":"https://registry.npmjs.org/@octanejs/seo/-/seo-0.0.42.tgz","fileCount":12,"integrity":"sha512-kIwvQt2AgiZGYCR6kh0ULKBuiMKEivDFFPAJbxTGwdFJHmuaengeTX+yHs6LKh4OV//ls++VVGO+uw05OUQCtQ==","signatures":[{"sig":"MEUCIQDcCpu3aL/TLIvl0SdoRN7sEu5DsaRtWLK6cZwDiqLjkQIgW6i6Jnqtai2IYkdRus30Vsj6ZUqeXiA8vHvxnvQ/kJ0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCLHv+qQ+JZCNCtdAwmCmLlRPEq0fH84jx80P9gPTfVJQIhALgXKbvoHkzGlGMu5TlrVO0RXB01XCjPtPG/hDdDcEK7","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@octanejs%2fseo@0.0.42","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":51333},"main":"src/index.ts","type":"module","types":"src/index.ts","module":"src/index.ts","engines":{"node":">=22.22.2"},"exports":{".":"./src/index.ts"},"scripts":{"test":"vitest run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fc159f3e-4c24-428a-b5a9-e06bd2a1aa5b"}},"repository":{"url":"git+https://github.com/octanejs/octane.git","type":"git","directory":"packages/seo"},"description":"SEO metadata for Octane, declarative <Title>/<Meta>/<Link>/<JsonLd> with last-wins merging, server-rendered into <head> and adopted on hydration.","directories":{},"_nodeVersion":"24.21.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"octane":"0.5.0","vitest":"^4.1.10"},"peerDependencies":{"octane":"^0.5.0"},"_npmOperationalInternal":{"tmp":"tmp/seo_0.0.42_1790268640090_0.4922531218992363","host":"s3://npm-registry-packages-npm-production"}},"0.0.43":{"name":"@octanejs/seo","version":"0.0.43","author":{"name":"Dominic Gannaway","email":"dg@domgan.com"},"license":"MIT","_id":"@octanejs/seo@0.0.43","maintainers":[{"name":"trueadm","email":"dg@domgan.com"},{"name":"leonidaz_npm","email":"lbarenblit@gmail.com"},{"name":"webeferen","email":"michal.makowski97@gmail.com"},{"name":"jonkwheeler","email":"jon.k.wheeler@gmail.com"}],"dist":{"shasum":"f342adda5d4c286f2d777be38c6fdd8f9429eef9","tarball":"https://registry.npmjs.org/@octanejs/seo/-/seo-0.0.43.tgz","fileCount":12,"integrity":"sha512-zDjyhuxUnWcRBGRPlLbM323Tb4hQl1+tqh0XKGTY+2FEBSYhSJdrwDW7w1Ct9hmrTfHTLcxxiBN4QkQvckyTOw==","signatures":[{"sig":"MEUCIBQq8cloXbXhQa2ALP76wxuwX1GnBH2HQbMTh0BWo9/MAiEAjOA5lsVZWeO730RH/ijFgXG4JHmf0nTs4Ke0GB37Wi8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQC6jdmMXwYTkFnI7G9m2c+JS6eTl5MW/d5/wOSqSu8iggIhAMcz9M1W6bQqFMRf96DPnSNVmZ0ARpr2YRoaQ30Qum9P","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@octanejs%2fseo@0.0.43","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":51333},"main":"src/index.ts","type":"module","types":"src/index.ts","module":"src/index.ts","engines":{"node":">=22.22.2"},"exports":{".":"./src/index.ts"},"scripts":{"test":"vitest run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fc159f3e-4c24-428a-b5a9-e06bd2a1aa5b"}},"repository":{"url":"git+https://github.com/octanejs/octane.git","type":"git","directory":"packages/seo"},"description":"SEO metadata for Octane, declarative <Title>/<Meta>/<Link>/<JsonLd> with last-wins merging, server-rendered into <head> and adopted on hydration.","directories":{},"_nodeVersion":"24.21.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"octane":"0.6.0","vitest":"^4.1.10"},"peerDependencies":{"octane":"^0.6.0"},"_npmOperationalInternal":{"tmp":"tmp/seo_0.0.43_1790359743156_0.10879052881106732","host":"s3://npm-registry-packages-npm-production"}},"0.0.44":{"_id":"@octanejs/seo@0.0.44","dist":{"shasum":"1d5ad02d3fd6c85696c51acb5b08ba4cab99331a","tarball":"https://registry.npmjs.org/@octanejs/seo/-/seo-0.0.44.tgz","fileCount":12,"integrity":"sha512-HLGri2I4fYLVS+5P7ituwpf8G0RTILyDa87qjV2V8JC5UXi9mkTk+4uS+hxj+gdaYqOpeyKjp4ZWwhvU9NuzaA==","signatures":[{"sig":"MEYCIQC2QvU8OqY3/LqA3GRxfEnMBq3NgjZ5PR8RgIZvS+L3kgIhAKuYYL3ZpWuUYud/Kud4Yc+ylo/jEug+EQrpjcqNIcFd","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDbd/shTOmOLXcs0IVDwZPwTSEMaH+aXtdbkislpuO+TQIhALuT3KQ5DpdQDoVcZILNGd+A9twCUnbLJrQhCJLLuFDf"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@octanejs%2fseo@0.0.44","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":51333},"main":"src/index.ts","name":"@octanejs/seo","type":"module","types":"src/index.ts","author":{"name":"Dominic Gannaway","email":"dg@domgan.com"},"module":"src/index.ts","engines":{"node":">=22.22.2"},"exports":{".":"./src/index.ts"},"license":"MIT","scripts":{"test":"vitest run"},"version":"0.0.44","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"fc159f3e-4c24-428a-b5a9-e06bd2a1aa5b"}},"repository":{"url":"git+https://github.com/octanejs/octane.git","type":"git","directory":"packages/seo"},"description":"SEO metadata for Octane, declarative <Title>/<Meta>/<Link>/<JsonLd> with last-wins merging, server-rendered into <head> and adopted on hydration.","directories":{},"maintainers":[{"name":"trueadm","email":"dg@domgan.com"},{"name":"leonidaz_npm","email":"lbarenblit@gmail.com"},{"name":"webeferen","email":"michal.makowski97@gmail.com"},{"name":"jonkwheeler","email":"jon.k.wheeler@gmail.com"}],"_nodeVersion":"24.21.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"octane":"0.7.0","vitest":"^4.1.10"},"peerDependencies":{"octane":"^0.7.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/seo_0.0.44_1790776944046_0.41368531944822307"}}},"time":{"created":"2026-07-27T11:46:41.791Z","modified":"2026-09-30T14:02:24.943Z","0.0.2":"2026-07-27T11:46:42.142Z","0.0.3":"2026-07-28T15:52:53.012Z","0.0.4":"2026-07-29T12:54:33.663Z","0.0.5":"2026-07-30T02:11:45.201Z","0.0.6":"2026-07-30T10:20:40.344Z","0.0.7":"2026-07-31T19:28:45.847Z","0.0.8":"2026-08-02T00:32:36.932Z","0.0.9":"2026-08-04T15:30:29.018Z","0.0.10":"2026-08-04T21:42:26.928Z","0.0.11":"2026-08-05T21:33:57.755Z","0.0.12":"2026-08-06T01:29:34.678Z","0.0.13":"2026-08-06T05:39:07.374Z","0.0.14":"2026-08-07T04:08:12.869Z","0.0.15":"2026-08-08T01:58:12.402Z","0.0.16":"2026-08-08T13:09:28.035Z","0.0.17":"2026-08-09T12:13:53.226Z","0.0.18":"2026-08-10T00:51:25.342Z","0.0.19":"2026-08-10T18:16:37.443Z","0.0.20":"2026-08-11T00:31:33.288Z","0.0.21":"2026-08-12T10:42:14.816Z","0.0.22":"2026-08-13T21:55:38.624Z","0.0.23":"2026-08-14T17:12:42.085Z","0.0.24":"2026-08-17T09:48:41.512Z","0.0.25":"2026-08-18T18:22:50.216Z","0.0.26":"2026-08-19T12:48:19.185Z","0.0.27":"2026-08-20T16:34:55.056Z","0.0.28":"2026-08-21T14:24:40.031Z","0.0.29":"2026-08-22T00:33:13.166Z","0.0.30":"2026-08-24T12:02:06.196Z","0.0.31":"2026-08-24T15:26:59.573Z","0.0.32":"2026-08-26T12:53:41.495Z","0.0.33":"2026-08-27T13:27:21.221Z","0.0.34":"2026-08-28T11:31:18.173Z","0.0.35":"2026-08-30T16:56:12.287Z","0.0.36":"2026-09-01T14:40:06.706Z","0.0.37":"2026-09-02T00:51:48.801Z","0.0.38":"2026-09-06T20:50:49.408Z","0.0.39":"2026-09-11T11:01:51.003Z","0.0.40":"2026-09-19T14:21:35.074Z","0.0.41":"2026-09-21T22:25:57.260Z","0.0.42":"2026-09-24T16:50:40.170Z","0.0.43":"2026-09-25T18:09:03.253Z","0.0.44":"2026-09-30T14:02:24.153Z"},"author":{"name":"Dominic Gannaway","email":"dg@domgan.com"},"license":"MIT","repository":{"url":"git+https://github.com/octanejs/octane.git","type":"git","directory":"packages/seo"},"description":"SEO metadata for Octane, declarative <Title>/<Meta>/<Link>/<JsonLd> with last-wins merging, server-rendered into <head> and adopted on hydration.","maintainers":[{"name":"trueadm","email":"dg@domgan.com"},{"name":"leonidaz_npm","email":"lbarenblit@gmail.com"},{"name":"webeferen","email":"michal.makowski97@gmail.com"},{"name":"jonkwheeler","email":"jon.k.wheeler@gmail.com"}],"readme":"# `@octanejs/seo`\n\nDeclarative document metadata for Octane: server-rendered into `<head>`, adopted\non hydration, and merged so the most specific declaration wins.\n\n```tsx\nimport { Head, Link, Meta, Script, Title } from '@octanejs/seo';\n\nfunction App() @{\n\t<Head>\n\t\t<Head>\n\t\t\t<Title text=\"Acme\" />\n\t\t\t<Meta name=\"description\" content=\"Widgets for everyone\" />\n\t\t</Head>\n\t\t<Router />\n\t</Head>\n}\n\nfunction ProductPage(props: { product: Product }) @{\n\t<>\n\t\t<Head>\n\t\t\t<Title text={props.product.name} />\n\t\t\t<Meta name=\"description\" content={props.product.blurb} />\n\t\t\t<Link rel=\"canonical\" href={'/p/' + props.product.slug} />\n\t\t\t<Script type=\"application/ld+json\" json={{ '@type': 'Product', name: props.product.name }} />\n\t\t</Head>\n\t\t<main>…</main>\n\t</>\n}\n```\n\nThe product page's title and description replace the app-level ones. Everything\nelse the app declared stays.\n\n## Why a merge exists\n\nThe platform resolves duplicates by taking the **first** in tree order:\n`document.title` is defined as the first `<title>` element in the document, and\na crawler reads the first `meta[name=\"description\"]`. Authoring order runs the\nother way, with app defaults written before page specifics, so simply emitting\nboth would let the generic value win every time. Registrations are therefore\nkeyed by identity and the **last** one wins.\n\nIdentity is what the tag names, not the tag type. `meta[name]`,\n`meta[property]`, and `meta[http-equiv]` are separate channels. JSON-LD is keyed\nby `@type` (plus `@id`), so an `Article` replaces an `Article` while a\n`BreadcrumbList` sits alongside it.\n\n`<link>` needs three rules, because `href` is sometimes the value being set and\nsometimes the thing being identified:\n\n| rel | identity | effect |\n| --- | --- | --- |\n| `canonical`, `manifest`, `author`, `license`, `prev`, `next` | `rel` alone | one per document |\n| `alternate` (`hreflang`/`type`/`media`/`title`), `icon` and `apple-touch-icon` (`sizes`/`type`), `mask-icon`, `search` | the named slot, **not** `href` | a page moving the German alternate or the 32×32 icon replaces it |\n| everything else, including `preload`, `prefetch`, `preconnect`, `modulepreload`, `stylesheet`, and any rel not listed above | the target URL | two font preloads or two stylesheets coexist |\n\nUnknown rels fall in the last group deliberately: emitting two tags is a smaller\nmistake than silently dropping one.\n\n## `<Head>`, and where to put it\n\nWrap the app in one:\n\n```tsx\n<Head>\n\t<App />\n</Head>\n```\n\nThen use `<Head>` again wherever metadata belongs. **Position carries no\nmeaning.** Two blocks merge whether one contains the other or they sit in\nunrelated components, and precedence never depends on nesting depth: the last\nregistration of a given identity wins, so a page overrides a layout simply by\nrendering later. Tags written bare under the outer `<Head>`, with no block around\nthem, behave identically.\n\nThe outermost `<Head>` is what makes that true. The merge has to see every\nregistration before it emits anything, and a string renderer emits in document\norder, so blocks that owned their own metadata would each emit a set and the\nplatform's first-wins rule would hand the page to whichever rendered first. This\nwould then quietly break:\n\n```tsx\nfunction Page() @{\n\t<>\n\t\t<Head><Title text=\"Listing\" /></Head>\n\t\t<Detail />                    {/* its own <Head> is a SIBLING */}\n\t</>\n}\n```\n\nWith an outer `<Head>` around the app, `<Detail>` wins as written. A tag with no\n`<Head>` above it throws, and two `<Head>` elements where neither contains the\nother are reported in development.\n\n## Components\n\n| Component | Purpose |\n| --- | --- |\n| `<Title text=\"…\" />` | Document title |\n| `<Meta name/property/http-equiv … />` | Any meta tag |\n| `<Link rel=\"…\" href=\"…\" />` | canonical, alternate, icon, manifest |\n| `<Script type json / text />` | JSON-LD and other head scripts |\n| `<Seo … />` | The whole metadata object at once |\n\n`<Title>` takes its text as a **prop**, not JSX children. Element children\ncompile to a children block (a function), and coercing one to a string would put\nsource code in the document title, so that case throws instead.\n\n`<Seo>` is the object form and expands to the tags above:\n\n```tsx\n<Seo\n\ttitle=\"Post title\"\n\tdescription=\"Post summary\"\n\tcanonical=\"/blog/post\"\n\tsite=\"https://example.com\"\n\ttitleTemplate=\"%s · Example\"\n\topenGraph={{ type: 'article', images: [{ url: '/og.png', alt: 'Post', width: 1200, height: 630 }] }}\n\ttwitter={{ card: 'summary_large_image', site: '@example' }}\n\tlanguages={{ de: '/de/blog/post', 'x-default': '/blog/post' }}\n\trobots={{ index: true, follow: true, maxImagePreview: 'large' }}\n\tjsonLd={{ '@type': 'Article', headline: 'Post title' }}\n/>\n```\n\n## App-level settings\n\nThree things are declared once and apply everywhere, because the component that\nknows them is rarely the one that renders a page:\n\n- **`site`** absolute-ises the URLs a consumer reads without a base: `canonical`,\n  `link rel=\"alternate\"` hreflang addresses, `og:url`, `og:image`, and\n  `twitter:image`. It deliberately does **not** touch subresources the browser\n  fetches, so `preload`, `prefetch`, `modulepreload`, `stylesheet`, `icon`, and\n  `manifest` keep resolving against the document actually serving the response.\n  Rewriting those would make a preview deploy carrying the production `site` pull\n  fonts, CSS, and modules from production.\n- **`titleTemplate`** wraps each page's title, so `%s · Acme` applies to a page\n  that only sets `title: 'Pricing'`.\n- **The Open Graph and Twitter shell.** Declare `openGraph`/`twitter` once and\n  `og:title`, `og:description`, `og:url`, `twitter:title`, and\n  `twitter:description` are mirrored from whatever page renders, unless that page\n  names them itself. Only families you actually declared are filled, so an app\n  that never asked for Open Graph never emits it.\n\n```tsx\n// once, near the root\n<Seo\n\tsite=\"https://example.com\"\n\ttitleTemplate=\"%s · Example\"\n\topenGraph={{ type: 'website', siteName: 'Example' }}\n\ttwitter={{ card: 'summary_large_image' }}\n/>\n\n// and in a page, anywhere below\n<Seo title=\"Pricing\" description=\"Plans and limits.\" canonical=\"/pricing\" />\n```\n\nAll three are applied after the merge, once the whole tree has registered. The\nsocial mirror uses the raw title rather than the templated one, since\n`og:site_name` already carries what a template adds.\n\n## Server rendering\n\nMetadata registered during render reaches `<head>` in the served HTML, which is\nthe point: an effect-based approach never runs on the server, so crawlers would\nsee nothing. Under `@octanejs/vite-plugin` this works with no configuration.\n\nFor a custom server, render with `headChannel: 'separate'` and splice the\nreturned metadata into your template's `<head>`:\n\n```ts\nconst { html, css, head } = await prerender(App, props, { headChannel: 'separate' });\n```\n\nStreaming uses `onHeadReady(head)`, which fires before the shell is written. See\n`docs/ssr.md`.\n\nTwo caveats worth knowing:\n\n- **Remove any static `<title>` from `index.html`.** The hoisted metadata is\n  spliced at `<!--ssr-head-->`, after it, so a template title would win.\n- **Metadata that depends on suspended data does not reach a streamed shell.**\n  The shell flushes before the data settles. Derive metadata from data you\n  already have, or use the buffered renderer for those routes.\n\n## Hydration and navigation\n\nThe client adopts the server's elements instead of appending its own, updates\nthem in place rather than replacing them (a swapped `<link>` would re-fetch its\nresource), and removes what it owns when a page unmounts, so navigating between\nroutes never accumulates stale canonicals or `og:image` tags.\n","readmeFilename":""}