sprae

∴ DOM tree microhydration

MIT License

Downloads
611
Stars
93
Committers
5
sprae - v10.9.0 Latest Release

Published by dy 4 months ago

  • Introduces sprae.umd.js entry for standalone use
  • Makes :value binding, like :model in alpine
  • Optimizes bundling
sprae - v10.8.2

Published by dy 4 months ago

What's Changed

  • <template :each :if :text> #20
  • Fixed :each :if :text combinations
  • Removed $<value> interpolation
  • Fixed events chains :ona..onb
  • stopImmediatePropagation as :onevt.stop.immediate
  • .escape -> .esc, .character -> .char
  • .letter modifier matches any unicode, not just latin
  • Untracked props as {_x}
  • Streamlined store API
  • Avoid subscriptions to non-mutable array methods like .filter
  • Removed class marker ∴
  • Optimized core engine
  • :with as mixin instead of prototype chain

Full Changelog: https://github.com/dy/sprae/compare/v10.0.1...v10.8.0

sprae - v10.1.2

Published by dy 5 months ago

What's Changed

  • Reintroduced proxy state: simpler user-side code, simpler internals
  • Removed DOM diffing
  • Store separated into object / array store for different optimization strategies
  • Flat with / each scopes
  • Better signal providers interop
  • Misc optimizations
  • Smaller size
  • Better performance

Full Changelog: https://github.com/dy/sprae/compare/v9.0.0...v10.1.2

sprae - v9.0.0

Published by dy 8 months ago

What's Changed

  • Safe eval & sandbox via justin
  • Native signals based on ulive, switchable to other providers
  • Pluggable directives
  • Added fragments for :text, :if, :each via <template>
  • Added simple string interpolation via 'a $<b>'
  • Reorganized & streamlined internals, optimized engine

Full Changelog: https://github.com/dy/sprae/compare/v8.0.1...v9.0.0

sprae - v8.0.1

Published by dy 11 months ago

What's Changed

  • Signals-proxy is used as a base for store
  • Full support of array store
  • Removed dom-diff algo in favor of direct items management
  • Fixed memory leaks
  • Enhanced performance
  • Made unkeyed
  • Fixed js-framework-benchmark cases

Full Changelog: https://github.com/dy/sprae/compare/v7.0.0...v8.0.0

sprae - v7.0.0

Published by dy 12 months ago

What's Changed

  • Reintroduces signals-based store with enhanced performance & fixed bugs

Full Changelog: https://github.com/dy/sprae/compare/v6.0.0...v7.0.0

sprae - v6.0.0

Published by dy over 1 year ago

  • Introduces @evt attributes for inline events
  • Removes events chaining due to limited usefulness
  • Removes .toggle modifier
  • Removes :on directive, keeps :onevt for raw event listeners

Full Changelog: https://github.com/dy/sprae/compare/v5.3.0...v6.0.0

sprae - v5.3.0

Published by dy over 1 year ago

  • Fixes 1-index for number iterator
  • Enables per-element context as :each :with
  • Make state support getters with proper context and subscription
  • Handle undefined classes

Full Changelog: https://github.com/dy/sprae/compare/v5.1.0...v5.3.0

sprae - v5.1.0

Published by dy over 1 year ago

  • Introduce :render for instantiating templates
  • Renambe :scope back to :with to use as :render :with
  • Extend sandbox with window, document etc
  • Fix :class for SVG elements
  • Fix Object.constructor access for state
  • Minor perf improvement
  • Minor state update bugs

Full Changelog: https://github.com/dy/sprae/compare/v4.0.0...v5.1.0

sprae - v4.0.0

Published by dy over 1 year ago

  • Added autoinit entry sprae.auto.js to avoid including as module
  • :with renamed to :scope
  • Removed :aria, :data as non-essential
  • Async batched updates

Full Changelog: https://github.com/dy/sprae/compare/v3.0.0...v4.0.0

sprae - v3.0.0

Published by dy over 1 year ago

  • @preact/signals and signal-struct is replaced with in-house proxy-based effectful state.
  • Added sandboxing with extensibility.
  • Size reduced (5.1kb -> 3.8kb).
  • Removed reactive fields support. They can be connected manually or via sube.

Full Changelog: https://github.com/dy/sprae/compare/v2.14.2...v3.0.0

sprae - v2.14.0

Published by dy over 1 year ago

  • Make parallel chain events
  • Add .toggle modifier
  • Better modifiers organization
  • Chains support modifiers
  • .alnum, .arrow, .character, .digit modifiers
  • Fix throttle and debounce
  • Add css variables support :style="{'--foo': bar}"

Full Changelog: https://github.com/dy/sprae/compare/v2.13.0...v2.8.0

sprae - v2.8.0

Published by dy almost 2 years ago

  • Generic event modifiers
  • Key event modifiers
  • Mutable arrays in store

Full Changelog: https://github.com/dy/sprae/compare/v2.7.1...v2.8.0

sprae - v2.7.1

Published by dy almost 2 years ago

  • Add :key attribute for caching :each
  • Make directive teardowns
  • Make :if, :with, :each primary attributes
  • Resprae runs batch update

Full Changelog: https://github.com/dy/sprae/compare/v2.5.5...v2.7.1

sprae - v2.5.0

Published by dy almost 2 years ago

  • Reintroduce reworked optimized prototype-based :with
sprae - v2.4.0

Published by dy almost 2 years ago

  • Event ranges: :onfocus..onblur instead of dash - that allows custom event names
  • Better error message for :onevt
sprae - v2.3.0

Published by dy almost 2 years ago

  • Streamlined internal update flow
  • More transparent state: removed :with directive, less shadowing
  • Removed element-props in favor of direct updates
  • Getters turn into computed
  • :ref exposes elements into state
  • Fixed events sequence
Package Rankings
Top 17.0% on Npmjs.org
Badges
Extracted from project README
tests npm bundle size npm
Related Projects