* Add polling
* Rename file
* Add `how_to_redirect_the_page_from_the_backend`
* Add Hello World example guide
* Add to nav, start on polling
* Remove `.leading` from code snippets
* Fix typo
* How to bind keydown events to specific keys
* How to redirect from the backend (#565)
* Add how tos with demos
* Fixes
* Fixes
* Add snippets
* Rename to location in snippet
* Wording
* Tweaks
* Prep for merging
* Improve wording
---------
Co-authored-by: Dominik Tarnowski <dom@tdom.dev>
* Revamp apply and cleanup to be based primarily on MutationObserver
* Improve `data-on` timing functions
Fixes#519
* inline cast
* Update library/src/engine/engine.ts
Co-authored-by: Thomas Threadgold <2460166+Regaez@users.noreply.github.com>
* cleanup and merge with develop
* Add timing example
* remove apply
---------
Co-authored-by: Thomas Threadgold <2460166+Regaez@users.noreply.github.com>
Co-authored-by: Ben Croker <ben@putyourlightson.com>
* Feature: added clojure sdk
Chore: rebasing on latest
(last commit from clojure-sdk d6259824908c)
* Fix: alphabetical order
* Docs: Actual broadcast example
* Test: adding shell test support
Fix: order of options in data-lines for execute scripts events
Fix: fixed signal handling / missing options
Refactor: using the generated constants for boolean options
* Test: passing shell tests
Chore: task build
* Add release note
* Add docs
* Add default value and trim
* Add multiline suggestion to error
* Join using semicolon only
* Revert removing line break
* Improve code comments
* Fix typo
* Fix
* Use button element
* Build
* rust sdk
* add settle duration an use view transition to `RemoveFragments`
* replace `std::time::Duration` with `core::time::Duration`
* add `settle_duration` and `use_view_transition` setters to `RemoveFragments`
* remove `workspace` from `Cargo.toml`
* update `Cargo.lock`
* align documentation with official documentation
* change description
* use consts
* fix typo in `consts.go`
* code snippets
* add semi colons to bool consts
* fix example
* always include `retry_duration` in event body
* fix typo
* add extra newline to every event
* remove unnecessary `.as_ref()`
* remove `datastar-request: true` validation from `ReadSignals`
* add retry and extra newline to doc tests
* add tests and update package files
This means we don't need to write a JS parser in regex and keeps
things simple.
I haven't updated the docs to mention this or added specific error
handling. Figured that could be done in a separate PR.
This PR does fix all the tests where \n was used as a statement delimiter
* site sdk/typescript bring snippets into line with other examples
* sdk/typescript remove mention of readSignals in getting started snippet
---------
Co-authored-by: Ben Croker <57572400+bencroker@users.noreply.github.com>
* sdk/ts add warning about http1
* sdk/ts improve readme example
and add snippets to go site
* sdk/ts fix type and import errors
* ts/sdk fix type error in node readme example
* sdk/ts improve snippets and examples
Slimmed down the snippets setup example and added it to the readme, then
moved the readme examples to their own files in a new examples folder to
make place for other examples.
Also fixed md links in readme.
* sdk/ts --unstable-sloppy-imports is no longer required
* sdk/ts fixed some type / import errors
* Rename sdk/ts to sdk/typescript
* sdk/typescript simplify setup snippet
* First draft of renaming nest/ed to namespace/d
After a lengthy discussion on discord it was suggested that we rename
`nested` signals to `namespaced` signals. For a few reasons:
1. Nested signals are used for namespacing.
2. We don't support or plan to support root nodes being signals
3. Nested signals should not be used to recreate SPAs and are there
for namespacing convenience (bulk add/remove) not
lookup (read/watch).
4. The naming was causing confusion.
Not sure if we still need to specify that only nodes are signals now
that nested signals are called namespaced signals.
I haven't renamed the implementation's yet as that's an implementation
detail we can address later.
Link to discord conversation:
https://discord.com/channels/1296224603642925098/1296225503610671224/1327365393563783238
* Fix persist example test
* Update datastar_expressions.md
* Update attribute_plugins.md
---------
Co-authored-by: Ben Croker <57572400+bencroker@users.noreply.github.com>
* Can .value be removed?
Fixes#428
* get dialog working
* add } to terminators
* Add fujs.svg
* whackamole
* sigh
* recursive regex tag template literals, lol
* Regex example
* (jacks|lack|of|complete|surprise)
* persist fixed
* fix current regex example
* current state
* Update all examples
* regex version of signals, actions and escapement
* Fix Go examples
* fix templates
* Add `@` to actions in examples
* Revert `.Value`
* frontpage
* all test pass
* move to @get/post/put/patch/delete
* Fix up docs and examples
* Add true client size to readme
* Add v1.0.0-beta.1 release notes
* @ → $
* Add space
* Fix more docs and examples
* missed files in merge
---------
Co-authored-by: Ben Croker <ben@putyourlightson.com>
* scratch no longer has a /tmp dir, move to alpine
we need all the files cause Docker COPY doesn't support glob
* Update routes_home.templ (#319)
Remove two typos
* toggleAll & setAll use path instead of regex (#318)
* toggleAll & setAll use path instead of regex
Fixes#317
* Fix wording
---------
Co-authored-by: Ben Croker <57572400+bencroker@users.noreply.github.com>
* Update release note
* Update go_deeper.md (#320)
Minor edits to Signals section, for grammar, clarity
* Make retries and backoff configurable (#316)
Fixes#190
* Fix links to SDKs
* Tweak intro code
* Improve getting started guide
* Fix and improve getting started guide
* Add web components
* evt.detail.value not working for third party libs (#326)
* evt.detail.value not working for third party libs
Fixes#324
* regex is never fun
* fix possible xss on errors
* Add circular logo
* fix clipboard usage on front page
* Support closing SSE connection from client side (#327)
Fixes#276
* Fix link in readme
* refactor: `nodejs`, `npm`, and `pnpm` are needed for the `libpub` task
* data-ref bug (#333)
* data-ref bug
Fixes#331
* Merge branch 'develop' of github.com:starfederation/datastar into delaneyj/issue331
* adds context.WithTimeout to site smoketests (#334)
removes got lib refs
* Java SDK (#321)
* Examples
* SDK and Readme
* Added build files
* Fixed Readme
* add SDKs to frontpage
* TODONE: BEN!
* Importing Datastar (#335)
Fixes#329
* bad link
* Rename default constant (#330)
* Rename default constant
* Fix PHP usage
* Build
* Remove Teleport from docs
* Bundler bug (#347)
Fixes#339
* make modifiers spec compliant (#346)
* make modifiers spec compliant
Fixes#345
* `_` for modifier args is now back to `.`. Please let it end
* remove unused error
* bump version
* Release notes and VSCode release
* Update VSCode version number
* Fix up modifier docs
---------
Co-authored-by: Wm Talcott <32972881+codetalcott@users.noreply.github.com>
Co-authored-by: Ben Croker <57572400+bencroker@users.noreply.github.com>
Co-authored-by: Ben Croker <ben@putyourlightson.com>
Co-authored-by: Andrew Welch <andrew@nystudio107.com>
Co-authored-by: zangster300 <nick0xbb8@gmail.com>
Co-authored-by: Peter Humulock <rphumulock@gmail.com>
* Fix newline in SDK protocol for paths. (#281)
* 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 <ben@putyourlightson.com>
* Rename data-store to data-merge-signals. (#280)
* Make title dynamic in site (#277)
* Make title dynamic in site
Fixes#263
* Update meta tags
---------
Co-authored-by: Ben Croker <ben@putyourlightson.com>
* 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 <ben@putyourlightson.com>
Co-authored-by: Andrew Welch <andrew@nystudio107.com>
Co-authored-by: Ben Croker <57572400+bencroker@users.noreply.github.com>
* side effects
* Delaneyj/issue270 (#282)
* 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 <ben@putyourlightson.com>
* Move to `@` for actions (#283)
* move to @ for actions
* Rename store to signals for #284 (#289)
* Rename store to signals #284 passes tests
---------
Co-authored-by: Delaney Gillilan <delaneygillilan@gmail.com>
* Update CHANGELOG.md
* Release notes
* Preprocessor to macro (#290)
* Preprocessor to macro Fixes#285
---------
Co-authored-by: Andrew Welch <andrew@nystudio107.com>
* Remove RefMacro
* Tweka wording
* Fix docs
* Support explicit syntax (#297)
* 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 <andrew@nystudio107.com>
Co-authored-by: Ben Croker <ben@putyourlightson.com>
Co-authored-by: Ben Croker <57572400+bencroker@users.noreply.github.com>
* fix signals type elision
---------
Co-authored-by: Ben Croker <ben@putyourlightson.com>
Co-authored-by: Andrew Welch <andrew@nystudio107.com>
Co-authored-by: Ben Croker <57572400+bencroker@users.noreply.github.com>