Commit Graph

455 Commits

Author SHA1 Message Date
Ar4ys 36b2f919dd
feat: signifiantly improved error reporting in `view` macro (#2289)
* Added name span to .build in component_to_tokens

* Added #[allow(unreachable_code)] to  leptos::component_view inside component_to_tokens

* Added span to name reference in component_to_tokens

* Added span to leptos::component_props_builder in component_to_tokens

* Added span to props in component_to_tokens

* Added span to "on" method in events component_to_tokens

* Added spans in directive_call_from_attribute_node

* Added spans in fragment_to_tokens and it's ssr version

* Added span to props in slot_to_tokens

* Added span to the whole slot quote

* Changed slots's name span to last slot node

* Added span to the slot vec

* Added #[allow(unreachable_code)] to `.into()` in slot_to_tokens

* Added span to `.build()` in slot_to_tokens

* Added span for the whole component

* Added span to "clone:" directive

* Added span to ".children()"

* Removed unused "_span" param from fragment_to_tokens and fragment_to_tokens_ssr

* Removed unnecessary parenthesis around values in `attribute_to_tokens`

* Removed unnecessary curly braces around value in `spread_attrs`

* Removed unnecessary parenthesis around children in `element_to_tokens`

* Added catch-all span to element_to_tokens

* Formatted `quote!` according to official guidelines

* Updated view/snapshots in leptos_macro

* Added span to spread props in element_to_tokens_ssr

* Removed unnecessary curly braces in element_to_token_ssr

* Updated view/snapshots in leptos_macro

* Added view macro tests to leptos_macro

* Fixed clippy warnings in view macro output

* Updated view snapshots in tests

* Fixed expected_one_let_bind_got_none test in leptos_macro

* Removed snapshot tests in leptos_macro/tests/ui/view

---------

Co-authored-by: Greg Johnston <greg.johnston@gmail.com>
2024-04-08 08:14:33 -04:00
Lukas Potthast 119c9ea23f
feat: allow spreading of both attributes and event handlers (#2432) 2024-04-05 14:30:34 -04:00
Greg Johnston a9034a92b0
fix: handle directives properly in SSR mode (closes #2488) (#2477) 2024-04-01 17:29:30 -04:00
Greg Johnston 41f3c46830
chore: bump nightly version in examples (#2479) 2024-04-01 15:16:53 -04:00
martin frances f3d19ca744
Minor: Ran cargo clippy --fix (#2461)
Manually reviewed the changes. All look like reasonable nudges.

A summary :-

In one place removed a redundant call to .clone().

In two places, now using clone_from() which clippy says
**MAY** be an optimisation.
2024-03-23 18:27:31 -07:00
Roland Fredenhagen 4e578e335b
chore: update attribute-derive (#2438) 2024-03-18 11:39:34 -04:00
battmdpkq 4faf3fa894
chore: fix types in some comments (#2413)
Signed-off-by: battmdpkq <cmaker@163.com>
2024-03-09 07:38:25 -05:00
ARSON 372a241d78
feat: allow #[prop(attrs)] on slots (#2396) 2024-03-04 17:34:21 -08:00
Baptiste 5b40881e77
fix: specify path to `wasm_bindgen` in island macro (#2387) 2024-03-01 10:15:19 -05:00
Paul Hansen 6a83161368
chore: add MSRV (#2360) 2024-02-28 07:19:09 -05:00
Greg Johnston 531ea74e33 chore: cargo fmt in `leptos_macro` 2024-02-24 07:12:46 -05:00
zoomiti 753bf1ed54
Fix Broken Doc links and Deprecate `FromUtf8Error` in `oco.rs` (#2318)
* fix: deprecate `FromUtf8Error` in `oco.rs`

* chore: fix broken doc links (#859)

* chore: fix broken doc link to server attribute macro

* cargo fmt
2024-02-21 19:24:40 -08:00
Sam Judelson 747aba0d7f
add comment specifying edgecase of server function prefixes (#2345) 2024-02-20 18:17:20 -08:00
eliza aa3700ffb9
feat: add `impl_from` argument to `#[server]` proc_macro (#2335)
* Add `impl_into` argument

* Add `impl_into` argument

* Revert unneeded changes

* Address review comments

Rename `impl_into` back to be `impl_from`
Rework docstring

* Fix typo in docstring
2024-02-19 21:16:46 -05:00
Joseph Cruz 65b7603192
fix(ci): address clippy issue (#2278)
* fix(ci): address clippy issue
* fix(ci): add missing nightly specifications
* fix(ci):  set all nightly references
* chore(ci): do not lint example crates
2024-02-09 16:30:11 -05:00
blorbb 38bf73947f
fix: make directive `.into()` calls consistent (#2249) 2024-02-05 08:52:12 -05:00
Greg Johnston b367b68a43
fix: use `#[server(default)]` to pass use default values for a field (#2231) 2024-01-26 14:46:31 -05:00
Saber Haj Rabiee 817ec045f7
chore: fix import of `quote::quote` (#2227) 2024-01-25 17:48:41 -05:00
Greg Johnston b3b18875c6 chore: allow unknown lints 2024-01-24 19:43:28 -05:00
Greg Johnston 5cbab48713 chore: avoid possible false positive in cargo check 2024-01-24 19:38:16 -05:00
Greg Johnston 46e7abf9ba allow custom req/res/client types 2024-01-19 15:48:14 -05:00
Greg Johnston 9488114801 docs 2024-01-19 14:16:58 -05:00
Rakshith Ravi f6ce82c9d1 Fixed tests for `server_fn` (#2167)
* Fixed server_fn tests

* Changed type_name to TypeId

* Fixed handling of leading slashes for server_fn endpoint
2024-01-19 14:16:18 -05:00
Greg Johnston c3e3ce7878 changes to get `todo_app_sqlite_axum` example working 2024-01-19 14:16:17 -05:00
benwis 197edebd51 Made some progress, started work on pavex integration as well 2024-01-19 14:16:03 -05:00
Greg Johnston d71feada7e
change: change all tracing levels to `trace` to reduce verbosity (#2176) 2024-01-13 08:19:12 -08:00
Greg Johnston 15946c6136
fix: emit original token stream when there are syntax errors in `#[component]` or `#[island]` function signature (closes #2133) (#2134) 2023-12-25 14:30:31 -05:00
Greg Johnston 9f4c480725
docs: specify form for component generics (#2129) 2023-12-23 07:36:28 -05:00
martin frances 34fb39c976
chore: fix lifetime on example (#2125)
```bash
cd leptos/leptos_macro/example
cargo clippy
```

warning: the following explicit lifetimes could be elided: 'a
  --> src/lib.rs:41:20
   |
41 | fn TestMutCallback<'a, F>(mut callback: F, value: &'a str) -> impl IntoView
   |                    ^^                              ^^
   |
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes
   = note: `#[warn(clippy::needless_lifetimes)]` on by default
help: elide the lifetimes
   |
41 - fn TestMutCallback<'a, F>(mut callback: F, value: &'a str) -> impl IntoView
41 + fn TestMutCallback<F>(mut callback: F, value: &str) -> impl IntoView
   |

warning: `example` (lib) generated 1 warning (run `cargo clippy --fix --lib -p example` to apply 1 suggestion)
2023-12-20 19:10:59 -05:00
martin frances ea80a21a54
chore: remove duplicate `itertools` versions (#2124)
The root cause is the family of leptos modules requiring both versions 0.10.5 and 0.11.0
This PR will fix that. ( Also needs a bump to 0.12.0 )

```
warning: multiple versions for dependency `itertools`: 0.10.5, 0.11.0
  |
  = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_crate_versions
note: the lint level is defined here
 --> src/lib.rs:4:9
  |
4 | #![warn(clippy::cargo)]
  |         ^^^^^^^^^^^^^
  = note: `#[warn(clippy::multiple_crate_versions)]` implied by `#[warn(clippy::cargo)]`
```
2023-12-20 19:10:00 -05:00
Greg Johnston 33590d487b
chore: clean up warnings causing CI issues (#2119) 2023-12-18 08:15:46 -05:00
Rakshith Ravi 880002de31
fix: pass through doc comments for server fns (#2099) 2023-12-17 20:40:22 -05:00
blorbb 19711e16b6
feat: improved macro hygiene (#2084) 2023-11-29 07:47:18 -05:00
Greg Johnston 18a92bbfd8
fix: improved rust-analyzer support in `#[component]` macro (#2075) 2023-11-27 19:37:43 -05:00
Greg Johnston 4e8c3accf2
fix: make prop serialization opt-in for devtools (closes #1952) (#2081) 2023-11-27 16:35:31 -05:00
blorbb 8573f22d96
fix: re-export `slice!` macro (#2008) 2023-11-11 06:47:15 -05:00
martin frances d7ca5f2e96
chore: typed-builder and typed-builder-macro - bumped version numbers. (#1958) 2023-10-29 21:49:48 -04:00
Sadra 30370a55e1
feat: add a `slice!()` macro (#1867) 2023-10-24 14:27:10 -04:00
Marc-Stefan Cassola c87328f5cf
feat: add directives with `use:` (#1821) 2023-10-19 16:15:36 -04:00
safx 9a70898b09
feat: optional named arguments for #[server] macro (#1904) 2023-10-19 16:07:43 -04:00
Greg Johnston be2d014f08 `v0.5.1` 2023-10-06 09:40:23 -04:00
Greg Johnston 1be25f0f47
fix: `clippy` "needless lifetimes" warning (closes #1825) (#1852) 2023-10-06 07:29:34 -04:00
Greg Johnston e0d15c1a09
fix: correctly quote spread attributes in `{..attrs}` syntax (closes #1826) (#1831) 2023-10-02 18:02:49 -04:00
martin frances fb914e1a50
chore: bump outdated dependencies in `leptos_macro` (#1796)
-attribute-derive = { version = "0.6", features = ["syn-full"] }
+attribute-derive = { version = "0.8", features = ["syn-full"] }
-itertools = "0.10"
+itertools = "0.11"
2023-09-29 13:05:57 -04:00
Julien Scholz 772bb1d60c
fix: improve rust-analyzer auto-completion (#1782) 2023-09-29 13:05:13 -04:00
Greg Johnston c9d132f007
change: use `let:` instead of `bind:` (#1774) 2023-09-25 20:33:36 -04:00
Greg Johnston d99269afac
docs: error in `view!` macro if you use `cx,` (#1772) 2023-09-22 17:29:55 -04:00
Fangdun Tsai 1d392483b4
chore(leptos_marco): enhancement of document generation (#1768) 2023-09-22 13:32:58 -04:00
Greg Johnston 1759a3e149
feat: correctly `use_context` between islands (#1747) 2023-09-19 21:16:47 -04:00
Village 2c12256260
feat: allow component names to be paths (#1725) 2023-09-15 18:18:29 -04:00