This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.
Releases
ultrahtml@1.0.0
Major Changes
95c0f73: ultrahtml is a complete markup toolkit with a tiny footprint. Parse, transform, and render HTML on the server, in the browser, with or without a build step.
Breaking Changes
The signature of transform has been updated. Rather than applying sanitization and component swapping by default, these have been split out to individual ultrahtml/transformers that can be applied modularly.
In ultrahtml@0.x, transform accepted an options object with sanitize and components. Other transformations would need to be applied outside of this flow.
In ultrahtml@1.x, transform accepts an array of transformers to apply. The sanitize and components options can be handled with the built-in transformers named sanitize and swap.
import { transform } from "ultrahtml";
import swap from "ultrahtml/transformers/swap";
import sanitize from "ultrahtml/transformers/sanitize";
await transform(markup, [
swap({ h1: "h2" }),
sanitize({ allowElements: ["h1", "h2", "h3"] })
]);
New Features
JSX Runtime
ultrahtml now comes with h and Fragment functions for JSX, as well as a jsx-runtime export.
Tranformers
Transformers are AST transformations that can be applied to any ultrahtml Node. Usually these are applied to entire documents.
Newinline transformer inlines CSS from <style> blocks directly to matching elements.
Newscope transformer scopes CSS from <style> blocks to the elements in a given document or component.
Patch Changes
4699020: Update JSX runtime child handling
da119c1: Fix transformer definitions
d29a0e2: Add resolveAsset option to the inline transformer
This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.
Releases
ultrahtml@1.0.0
Major Changes
95c0f73:
ultrahtml
is a complete markup toolkit with a tiny footprint. Parse, transform, and render HTML on the server, in the browser, with or without a build step.Breaking Changes
The signature of
transform
has been updated. Rather than applying sanitization and component swapping by default, these have been split out to individualultrahtml/transformers
that can be applied modularly.In
ultrahtml@0.x
,transform
accepted an options object withsanitize
andcomponents
. Other transformations would need to be applied outside of this flow.In
ultrahtml@1.x
,transform
accepts an array of transformers to apply. Thesanitize
andcomponents
options can be handled with the built-in transformers namedsanitize
andswap
.New Features
JSX Runtime
ultrahtml
now comes withh
andFragment
functions for JSX, as well as ajsx-runtime
export.Tranformers
Transformers are AST transformations that can be applied to any
ultrahtml
Node. Usually these are applied to entire documents.New
inline
transformer inlines CSS from<style>
blocks directly to matching elements.New
scope
transformer scopes CSS from<style>
blocks to the elements in a given document or component.Patch Changes
resolveAsset
option to theinline
transformer