Ultrahtml Versions Save

v1.0.2

1 year ago

Patch Changes

  • c7a1ef6: Fix edge case with <script> parsing

v1.0.1

1 year ago

Patch Changes

  • b136e51: Fix unhandled edge case with sanitize transformer
  • dce0b68: Fix style and script elements having their contents parsed as HTML

v1.0.0

1 year ago

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 [email protected], transform accepted an options object with sanitize and components. Other transformations would need to be applied outside of this flow.

    import { transform } from "ultrahtml";
    
    await transform(markup, {
      components: { h1: "h2" },
      sanitize: { allowElements: ["h1", "h2", "h3"] }
    });
    

    In [email protected], 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.

    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

  • 4699020: Update JSX runtime child handling
  • da119c1: Fix transformer definitions
  • d29a0e2: Add resolveAsset option to the inline transformer
  • 401b13a: Fix JSX runtime types
  • 44a771e: Update list of void HTML tags

v1.0.0-next.4

1 year ago

Patch Changes

  • d29a0e2: Add resolveAsset option to the inline transformer

v1.0.0-next.3

1 year ago

Patch Changes

  • 4699020: Update JSX runtime child handling

v1.0.0-next.2

1 year ago

Patch Changes

  • 401b13a: Fix JSX runtime types

v1.0.0-next.1

1 year ago

Patch Changes

  • da119c1: Fix transformer definitions

v1.0.0-next.0

1 year ago

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 [email protected], transform accepted an options object with sanitize and components. Other transformations would need to be applied outside of this flow.

    import { transform } from "ultrahtml";
    
    await transform(markup, {
      components: { h1: "h2" },
      sanitize: { allowElements: ["h1", "h2", "h3"] }
    });
    

    In [email protected], 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.

    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.

v0.4.0

1 year ago

Minor Changes

  • 83c2e35: Improve declarations for node types

v0.3.3

1 year ago

Patch Changes

  • 3b8fb6e: Remove bundledDependencies field