Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

v0.21.0 #308

Merged
merged 17 commits into from
Dec 5, 2024
Merged

v0.21.0 #308

merged 17 commits into from
Dec 5, 2024

Conversation

delaneyj
Copy link
Collaborator

@delaneyj delaneyj commented Dec 5, 2024

We’ve overhauled Datastar in v0.21.0, doubling down on making nestable signals declarative. To that end, we’ve removed special characters, made the API more explicit and consistent, and fixed some restrictions to nested signals that we discovered. Signal values are now accessed in expressions using the syntax signalName.value, actions no longer have a prefix, and attribute keys support nested signals using dot-delimited paths.

Added

  • Added the ability to merge one-off signals using the syntax data-signals-foo="value".
  • Added the ability to use dot-delimited paths to denote nested signals in applicable attribute keys (data-signals-foo.bar="value").
  • Added the ability to use multiple attributes using the syntax data-attributes="{attrName1: value1, attrName2: value2}".
  • Added the ability to use a single classes using the syntax data-class-hidden="foo.value".
  • Added the ability to use a key instead of a value to denote a signal name in the data-bind, data-indicator and data-ref attributes (data-bind-foo, data-indicator-foo, data-ref-foo).
  • Added error codes and links to descriptions in the console for every error thrown.

Changed

  • Signals no longer have the $ prefix and must be acessed using a .value suffix (signalName.value).
  • Action plugins no longer have the $ prefix.
  • Renamed the data-store attribute to data-signals.
  • Renamed the data-bind attribute to data-attributes.
  • Renamed the data-model attribute to data-bind.
  • Changed the data-* attribute modifier delimiter from . to : (data-on-keydown:debounce_100ms:throttle_lead="value").
  • The the get(), post(), put(), and delete() plugins have been replaced by a single sse() plugin that accepts the method as an option (sse(url, {method="get"})).
  • The setAll() and toggleAll plugins now accept a dot-delimited path format, instead of a regular expression.

Fixed

  • Fixed headers not merging correctly.
  • Fixed new lines in the SDK protocol for paths.

delaneyj and others added 15 commits November 28, 2024 17:08
* Fix newline in SDK protocol for paths.
Fixes #272

* Update PHP SDK

* Fix newline in SDK protocol for paths in Go SDK #272

* Tweak wording

---------

Co-authored-by: Ben Croker <[email protected]>
* Make title dynamic in site (#277)

* Make title dynamic in site
Fixes #263

* Update meta tags

---------

Co-authored-by: Ben Croker <[email protected]>

* Add release note

* Rename data-store to data-merge-signals.
Fixes #269

* Fix backend reference docs and example

* feat: Add fly-deploy.yaml, manually triggered via GH only for now

* Rename data-store to data-merge-signals.
Fixes #269

* Update SDK #269

---------

Co-authored-by: Ben Croker <[email protected]>
Co-authored-by: Andrew Welch <[email protected]>
Co-authored-by: Ben Croker <[email protected]>
* Start work on data-model removal #270

* move files  #270

* move all test and examples to data-bind from data-model

* merge consts

* Add release note

---------

Co-authored-by: Ben Croker <[email protected]>
* move to @ for actions
* Rename store to signals #284 passes tests

---------

Co-authored-by: Delaney Gillilan <[email protected]>
* Preprocessor to macro Fixes #285

---------

Co-authored-by: Andrew Welch <[email protected]>
* refactor: Use Docker-dev for the base image, and build all the things

* refactor: Log in to the registry

* refactor: Run on workflow changes

* chore: revert changes

* Improve homepage title

* delete everything first

* add top level sdk folder
move go SDK
add back bundles and stuff to make tsbuild work

* update go SDK url

* fix: Fix issue with `make task`

* fix: Fix multiple linux arch’s, add `support` as a `deploy` dep

* refactor: Install `flyctl`

* refactor: Output to the current directory

* refactor: ignore .out

* refactor: Run via Docker container

* refactor: Use `flyctl` instead of the alias

* refactor: Docker-in-Docker

As per “The Socket Solution” here: https://jpetazzo.github.io/2015/09/03/do-not-use-docker-in-docker-for-ci/

* refactor: Fix comment

* refactor: Make fly alias

* refactor: Use fly alias

* add vendored back in

* fix: Revert relative paths

* refactor: Revert ignoring `.out`

* refactor: Run flyctl in the CI container

* refactor: Remove flyctl

* refactor: Remove socket bind mount

* refactor: Add `flyctl` back in so `make task deploy` can be done locally

* add types and nested signals

* Add canonical meta tag

* add more stuff back in

* add ( i think ) the rest of the plugins

* lazy generation ReactiveExpresison, get click to edit working

* data-merge-signals to data-signals
start @action to action

* Add WIP release notes

* update more examples removing @ syntax and moving to sse action

* remove deprecated examples

* The great $ purge of 2024

* Add error codes

* working on v21 syntax  #296
fix bind/intersect lazy reactiveExpression gen

* Fix todo demo

* Reorder plugins

* Start markdown errors

* Finish markdown errors

* Update release notes

* Add release note

* Update release note

* remove dup and require checks

* fix signals JSON usage
fix throttle/debounce lead/trail port

* make js obj helper
auto formatting
signal value needed explicit period prefix for value
data-signals lazy generates due to possible expressons
removeSignal applies after eval

* update test, 127/127

* Create VSCode extension (#295)

* Add attributes

* Finish attributes

* Fix repo URL

* Finish

* change attributes

* fix attributes

* VSCode extension improvements

* fix data-attributes example

* Fix a BEN!

* support individual data-class-foo calls

* error page

* Rework error pages

* Simplify

* Rework errors

* Fixes

* Delete `console.log` from library

* #296 persist back in

* Add missing error

* remove mouse move until I implement correctly

* i hate javascript

* . syntax for modifiers now :

* Extract plugin rules

* Add clarification comment

* support xor key or value for bind/ref/indicator

* Add KeyValRules

* Remove unused properties

* Update VSCode extension

* Update docs

* Improve getting started guide

* logic restored

* autogen error sidebar links

* fixed Restructure folders #287

* fix scroll test
* Prep docs for release

* Fixed check for exclusive requirements

* Build

* img diff

* add errors to nested signals
fix getting started

---------

Co-authored-by: Andrew Welch <[email protected]>
Co-authored-by: Ben Croker <[email protected]>
Co-authored-by: Ben Croker <[email protected]>
@delaneyj delaneyj requested a review from bencroker as a code owner December 5, 2024 16:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants