@svebcomponents/ssr-astro Changelog
0.2.2
Patch Changes
- Updated dependencies [c45de74]
- @svebcomponents/ssr@0.7.0
0.2.1
Patch Changes
- Updated dependencies [039d2ed]
- @svebcomponents/ssr@0.6.0
0.2.0
Minor Changes
-
e7267f8: Promote the Vue, React and Astro host integrations from experimental to beta.
They now carry the same status as the rest of the toolchain: ready for real-world evaluation and early production adoption, with APIs that may still change before 1.0. Each integration’s known constraints are unchanged and stay documented under its Current Limitations.
Patch Changes
-
e7267f8: Documentation pass across the package READMEs ahead of the beta launch.
@svebcomponents/ssr,ssr-vue,ssr-reactandssr-astrogained the install command they were missing.@svebcomponents/build’s options table was missinghydratable,ssrEntryFileNameandsvelteConfig, and did not show how a package with several components composesdefineConfigcalls.@svebcomponents/ssr’s package-author example usedimportwithouttypeswhere every other example in the docs usesdefaultwith them, and theenable-asyncopt-in for non-Svelte hosts was undocumented.- The three integration READMEs each restated the shared SSR layer’s
behaviour — the Lit renderer registry, the server-side
svelterequirement, the declarative shadow DOM contract, the definition of an asynchronous component. Each now links to the canonical explanation and keeps only what is specific to its framework. - Removed references to internal
e2e/*directories, which readers cannot run, and normalised the product name to lowercasesvebcomponents.
-
86e6596: Declare
license,descriptionandhomepage, and ship the license text in the published tarball.Every package was published without a
licensefield and without a license file of its own. npm only includesLICENSE*from the package directory, so the repository’s MIT license never reached consumers and automated license scanners had nothing to read. Each package now carries its own copy ofLICENSE.mdalongside"license": "MIT".descriptionis what npm shows on the package page and in search results, andhomepagenow points at each package’s reference page on the documentation site. -
Updated dependencies [86e6596]
-
Updated dependencies [e7267f8]
-
Updated dependencies [e7267f8]
-
Updated dependencies [86e6596]
-
Updated dependencies [86e6596]
-
Updated dependencies [86e6596]
- @svebcomponents/ssr@0.5.0
- @svebcomponents/utils@0.3.0
0.1.0
Minor Changes
-
8b18d71: Add
@svebcomponents/ssr-astro, an Astro host integration for server-rendering custom elements.A Vite plugin rewrites custom element tags in
.astrotemplates to a wrapper component, which drives the element’s registeredElementRendererand emits declarative shadow DOM. Setup is a single integration entry; there is no client-side counterpart, because Astro ships no JavaScript for these elements — the browser parses the shadow root and the element hydrates itself.Astro frontmatter is an async module scope, so asynchronous element renderers work through the same wrapper as synchronous ones, with no sync/async split.
Two implementation notes, both non-obvious:
- The rewrite runs in Vite’s
loadhook rather thantransform. Astro compiles.astroto JavaScript in its owntransform, from a plugin that isenforce: "pre"and registered ahead of integration-supplied plugins, so atransformhere would only ever see compiled output. - The wrapper closes its
<template>explicitly; a self-closing<template />is not treated as void by Astro’s compiler and swallows the<slot />into the shadow content.
Detection needs no heuristics — Astro’s parser classifies dashed tags as a dedicated
custom-elementAST node, so there is no “contains a dash” rule and no reserved SVG/MathML exclusion list. - The rewrite runs in Vite’s
Patch Changes
- Updated dependencies [e858eca]
- Updated dependencies [ab7d1cd]
- Updated dependencies [567aef3]
- Updated dependencies [0d1077f]
- @svebcomponents/ssr@0.4.0
- @svebcomponents/utils@0.2.0