Skip to content

Releases: alphanull/DomSmith

New API for properly destroying plugins and some fixes

Choose a tag to compare

@alphanull alphanull released this 19 Dec 14:05
e8f3a8e

[2.2.0] - 2025-12-18

Added

  • New global DomSmith method DomSmith.destroyPlugins() for (final) plugin cleanup. Iterates over all plugins and calls destroyPlugin() on them.
  • New plugin API destroyPlugin() that can be used for plugin specific cleanup

Fixed

  • Plugin destroy() method should now be called correctly

MInor fixes

Choose a tag to compare

@alphanull alphanull released this 13 Dec 21:39
4e81835

[2.1.1] - 2025-12-14

Fixed

  • The domSmithInputRange plugin now respects the "disabled" state
  • Prevents (accidental) double unmount
  • Updated dev dependencies

Introducing Plugins

Choose a tag to compare

@alphanull alphanull released this 24 Jul 16:21
aebeb63

[2.1.0] – 2025-07-24

Added

  • Plugin System: New extensible plugin architecture with registerPlugin() method
  • Enhanced Mount/Unmount System:
  • Input Range Plugin: Touch-drag support for <input type="range"> elements
  • Select Wrapper Plugin: Automatic wrapping of <select> elements
  • Legacy Property Support: Automatic migration from old property names
  • New destroy() Method: Replaces deprecated teardown() method

Changed

  • Constructor API: Now accepts options object instead of just parent node
  • Improved Event Handling: Better event handler management and cleanup
  • Documentation: Updated JSDoc comments and inline documentation

Deprecated

  • teardown() method - Use destroy() instead
  • Legacy property names: tag, text, ref, nodes, events - Use _tag, _text, _ref, _nodes, _events instead

Docs Update & npm

Choose a tag to compare

@alphanull alphanull released this 27 Apr 21:03
cf05e92

[2.0.1] – 2025-04-27

Added

  • @alphanull/domsmith is on npm now!

Changed

  • updated inline documentation
  • updated README.md

🎉 First Public Release — v2.0.0

Choose a tag to compare

@alphanull alphanull released this 08 Apr 23:19
f18ff43

This is the first public release of DomSmith, a utility class that helps to dynamically generate a DOM tree based on a declarative configuration. It supports event handling, DOM node creation, manipulation, and removal. While this marks the first official release, DomSmith has been in internal use and steady development since 2016.

Features

  • Declarative DOM Creation: Create complex DOM structures with simple JSON-like configurations.
  • HTML & SVG Support: Automatically uses the correct namespace (including <foreignObject> support).
  • Centralized Event Handling: Easily attach events and ensure proper cleanup.
  • Direct References: Expose element references directly on the builder instance.
  • Node Replacement & Removal: Dynamically update and remove parts of your DOM tree.
  • Teardown: Fully clean up the DOM and internal state.