aboutsummaryrefslogtreecommitdiff
path: root/test
Commit message (Collapse)AuthorAge
* ๐Ÿ”€ Use vitest for runtime/vdom testing. (#124)Jacob Scearcy2024-05-06
| | | | | | | * ๐Ÿงช move tests into test directory, bump birdie to ignore non-gleam files * implement feedback * add comments, update doc
* :recycle: Mark runtime tests as erlang-only.Hayleigh Thompson2024-04-25
|
* :recycle: Remove use of depcrecated function.composeHayleigh Thompson2024-04-25
|
* ๐Ÿ”€ Escape attribute values when emitting static HTML. (#113)bgw2024-04-25
| | | | | * fix: add the escape function over custom attribute values * fix: update class and style attribute values to be escaped
* ๐Ÿ”€ Add support for element fragments. (#99)Jacob Scearcy2024-04-19
| | | | | | | | | | | | | | | | | | | | | | | | | * #16 add fragment POC * WIP * 16 add fragment support to morph * add keys for fragments * ensure proper fragment order, refactor to handle fragment/element more similarly * fix comment typo, incorrect child typo, simplify key check * fix comment typo * add snapshot tests * flatten fragment using fold right, appending elements * doc update --------- Co-authored-by: Hayleigh Thompson <me@hayleigh.dev>
* ๐Ÿ”€ Refactor vdom and add support for keyed vnodes. (#83)Hayleigh Thompson2024-03-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * :truck: Keep around old vdom implementation for reference. * :sparkles: Add a keyed vdom node. * :alembic: Experiment with a different approach for handling component children. * :construction: Here be scary works in progress. * :sparkles: Implement keyed node diffing. * :recycle: Don't use deprecated 'isOk' checks. * :recycle: Remove separate Keyed node and add 'key' field to Element node. * :sparkles: Add support for server components into new vdom. * :bug: Fix broken build script. * :recycle: Don't emit data-lustre-key attributes for server component patches. * :package: Generate server component runtime. * :bug: Fixed a bug where server component keys were ambiguous when double digit. * :package: Generate server component runtime. * :recycle: Refactor 'keyed' element to force all children of a node to be keyed. * :memo: Consistently format '**Note**:'. * :bug: Fixed bug with falsey className/style/innerHTML attributes. * :bug: Fixed a bug not handling undefined 'prev' nodes correctly. * :package: Generate server component runtime.
* :truck: Move cli code to lustre-labs/dev-tools.Hayleigh Thompson2024-03-22
|
* :alembic: Update tests to handle correct boolean attribute output.Hayleigh Thompson2024-03-14
|
* :wrench: Create a build script for bundling the server component runtime.Hayleigh Thompson2024-02-15
|
* :truck: Move runtime module into internals/.Hayleigh Thompson2024-01-27
|
* :alembic: Set up some basic snapshot tests.Hayleigh Thompson2024-01-27
|
* โœจ Add universal components that can run on the server (#39)Hayleigh Thompson2024-01-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * :heavy_plus_sign: Add gleam_erlang gleam_otp and gleam_json dependencies. * :sparkles: Add json encoders for elememnts and attributes. * :sparkles: Add the ability to perform an effect with a custom dispatch function. * :construction: Experiment with a server-side component runtime. * :construction: Expose special server click events. * :construction: Experiment with a server-side component runtime. * :construction: Experiment with a server-side component runtime. * :construction: Experiment with a server-side component runtime. * :construction: Create a basic server component client bundle. * :construction: Create a basic server component demo. * :bug: Fixed a bug where the runtime stopped performing patches. * :refactor: Roll back introduction of shadow dom. * :recycle: Refactor to Custom Element-based approach to encapsulating server components. * :truck: Move some things around. * :sparkles: Add a minified version of the server component runtime. * :wrench: Add lustre/server/* to internal modules. * :recycle: on_attribute_change and on_client_event handlers are now functions not dicts. * :recycle: Refactor server component event handling to no longer need explicit tags. * :fire: Remove unnecessary attempt to stringify events. * :memo: Start documeint lustre/server functions. * :construction: Experiment with a js implementation of the server component backend runtime. * :recycle: Experiment with an API that makes heavier use of conditional complilation. * :recycle: Big refactor to unify server components, client components, and client apps. * :bug: Fixed some bugs with client runtimes. * :recycle: Update examples to new lustre api/ * :truck: Move server demo into examples/ folder/ * :wrench: Add lustre/runtime to internal modules. * :construction: Experiment with a diffing implementation. * :wrench: Hide internal modules from docs. * :heavy_plus_sign: Update deps to latest versions. * :recycle: Move diffing and vdom code into separate internal modules. * :sparkles: Bring server components to feature parity with client components. * :recycle: Update server component demo. * :bug: Fix bug where attribute changes weren't properly broadcast. * :fire: Remove unused 'Patch' type. * :recycle: Stub out empty js implementations so we can build for js. * :memo: Docs for the docs gods. * :recycle: Rename lustre.server_component to lustre.component.
* :truck: Move examples out of test so CI doesn't break.Hayleigh Thompson2023-09-22
|
* :recycle: So long monorepo.Hayleigh Thompson2023-09-19
|
* :truck: Shift things around to accomodate a monorepo.Hayleigh Thompson2023-08-19
|
* :sparkles: Update component example to test whether slots work.Hayleigh Thompson2023-07-23
|
* :recycle: Namespace the html and svg modules under the element module.Hayleigh Thompson2023-07-20
|
* :sparkles: Create a separate module for namespaced svg elements.Hayleigh Thompson2023-07-20
|
* :recycle: Explicitly handle namespaced elements in the vdom tree.Hayleigh Thompson2023-07-20
|
* :sparkles: Add proper svg support.Hayleigh Thompson2023-07-20
|
* :recycle:Hayleigh Thompson2023-07-20
| | | | Rename terse 'h' and 't' to 'element' and 'text'.
* :sparkles: Create a contrived example showing off the component api.Hayleigh Thompson2023-07-19
|
* :lipstick: Format debug output nicely.Hayleigh Thompson2023-07-19
|
* :truck: Rename 'Cmd' to 'Effect' to better communicate what they're all about.Hayleigh Thompson2023-07-19
|
* :truck: Move examples into a subdirectory so they're more obviously not tests.Hayleigh Thompson2023-07-19
|
* :recycle: Update examples for new html API.Hayleigh Thompson2023-07-18
|
* :sparkles: Create an example showing nested 'components' and mapping messages.Hayleigh Thompson2023-07-12
|
* :fire: Remove unused imports.Hayleigh Thompson2023-07-12
|
* :sparkles: Create a simple example for handling input.v3.0.0-rc.3Hayleigh Thompson2023-07-12
|
* Revert ":sparkles: Create a simple example for handling input."Hayleigh Thompson2023-07-12
| | | | This reverts commit 67ec0498443ca3972dcfb4775992d6b7d7e8dd87.
* :sparkles: Create a simple example for handling input.Hayleigh Thompson2023-07-12
|
* โ™ป๏ธ Replace React with diffhtml (#10)Hayleigh Thompson2023-07-10
| | | | | | | | | | | | | | | * :wrench: Remove react dependency, add vite for running examples. * :heavy_plus_sign: Update stdlib version to 0.29 * :fire: Remove old examples. * :sparkles: Vendor diffhtml and update runtime ffi code to replace react. * :recycle: Refactor all the things now react is gone. * :memo: Remove references to react in the readme. * :sparkles: Create a simple counter example.
* :bookmark: Code for 3.0.0-rc.13.0.0-rc.1Hayleigh Thompson2023-04-27
|
* :recycle: Remove unused imports.Hayleigh Thompson2023-04-05
|
* ๐Ÿ› Avoid a race condition when dispatch is used twice from outside (#8)Kero van Gelder2023-04-05
| | | | | | | | | | | | | | | | | * Upgrade examples to lustre 2.0 * Upgrade to gleam 0.27.0 * Fix: avoid a race condition when dispatch is used twice from outside E.g. websocket open + websocket msg arriving Application returns a Cmd from update(model, msg) but the Effect handler is *not* ran be React 18 before the websocket msg-arriving is handled by the Reducer. Result: The Cmd returned by update(model, msg) is dropped silently. --------- Co-authored-by: Kero van Gelder <kero@chmeee.org>
* :construction: Experiment using monaco editor for the lustre playground.Hayleigh Thompson2022-05-22
|
* :sparkles: Update counter example to show off fancy Cmds and dispatch features.Hayleigh Thompson2022-05-21
|
* :sparkles: Add twind to the examples for nicer styling.Hayleigh Thompson2022-05-20
|
* :truck: Move examples around to support multiple apps at once.Hayleigh Thompson2022-05-14
|
* :sparkles: Create a simple counter example.Hayleigh Thompson2022-05-14