Commit Graph
56 Commits
Author SHA1 Message Date
Leonard 07613c806b Fix #1367 (#1471)
* Bump cargo_toml to 1.16.0

* Format
2023-09-18 18:51:04 -05:00
Evan Almloff 49a127b31e deduplicate serve code with hot reloading in the CLI crate 2023-09-09 16:18:52 -05:00
ealmloff d5d974d5a3 Bump the dioxus-cli to 0.4.1 (#1424)
* bump the dioxus-cli version

* bump DIOXUS_CLI_VERSION constant

* Merge branch 'master' into bump-cli
2023-09-04 15:10:27 -05:00
YuKun LiuandEvan Almloff 2cfa0e4ea9 fix: prettier_build unavailabe (#1410)
Co-authored-by: Evan Almloff <evanalmloff@gmail.com>
2023-09-02 18:31:34 -05:00
fanyang 4511b37da8 Fix cli compile error due to tauri bundler adding fields (#1416)
New fields for debian settings:

- desktop_template

For NSIS settings:

- custom_language_files
- template
2023-09-02 06:44:31 -05:00
Vinicius Gobbo Antunes de Oliveira fa39408d58 If mkcert not enabled, require cert_path and key_path to be specified or error. (#1342) 2023-08-17 07:58:56 -05:00
Steven Pecht 1ab5a03aef Use to identify cargo build artifact if present (#1344) 2023-08-12 19:25:17 -05:00
Brian Donovan a025617db3 refactor(cli): use more semantic Instant::elapsed (#1307)
Plus, one of these was incorrectly subtracting the end time from the start time.
2023-08-07 11:08:51 -05:00
Jonathan Kelley 56c3dcc437 Merge pull request #1301 from eventualbuddha/chore/cli/remove-unused-fn
chore(cli): remove unused function
2023-08-06 23:09:28 -07:00
Brian Donovan 03e02591ec fix(cli): allows extracting files without separate directory entries
Some zip files do not list directories separately from files. For example, a zip might contain `dir/file.txt` without a corresponding entry for just `dir/`. This should be okay, so we just create the leading paths for the files we extract as necessary.

Also adds tests for the expected and dangerous path cases of `extract_zip`.
2023-08-04 21:28:09 -07:00
Brian Donovan 14e7c50478 fix(cli): prevent "zip slip" vulnerability in tool extract
Using the name directly from a zip archive's entry and writing to it is a potential security vulnerability. More information about the vulnerability can be found here: https://security.snyk.io/research/zip-slip-vulnerability and here https://docs.rs/zip/latest/zip/read/struct.ZipFile.html#warnings.

It looks like the previous version maybe tried to remove `\` characters to prevent this, but only in directory paths?
2023-08-04 20:02:07 -07:00
Brian Donovan 7a7397bbb4 chore(cli): remove unused module (#1302)
It seems this was replaced by the `plugin.rs` module in 6cce4b9f4d.
2023-08-04 17:01:04 -05:00
Brian Donovan a77ff1c820 docs(cli): update subcommand comments (#1303)
A bunch of these were copy-pasted from `build`. This commit updates them to be the same as what their `dx help` string is.
2023-08-04 17:00:41 -05:00
Brian Donovan 5c62947835 refactor(cli): move check module alongside others (#1304)
There was no reason for `check` to be defined as `check/mod.rs` when all the others were at the top level e.g. `serve.rs`.
2023-08-04 17:00:19 -05:00
Brian Donovan 63bb5cc758 chore(cli): remove unused function
I believe that technically this function is part of the public API via `dioxus_cli::cli::cfg::parse_public_url`. However, I don't see any evidence that this function is actually used inside or outside this crate. The last use within the crate was removed in January 2022 (9bb10c65a3).
2023-08-04 13:52:49 -07:00
Brian Donovan 6d154b5072 Minor Proxy Improvements (#1289)
* fix(serve): provide a clear error with pathless proxy URLs

Without this, `dx serve` panics with this message:

```
Paths must start with a `/`. Use "/" for
 root routes
 ```

 That's not very clear. Instead, we can detect this situation and provide a better error message:

```
Error: 🚫 Serving project failed: Failed to establish proxy: Proxy backend URL must have a non-empty path, e.g. http://localhost:8080/api instead of http://localhost:8080
```

* docs(config): correct format for `web.proxy`
2023-08-04 13:44:56 -05:00
Brian Donovan ab1d64bc4a docs(cli): fix typo (#1294)
"tripple" should be "triple".
2023-08-04 12:49:31 -05:00
Jonathan Kelley 418c03e2cd Merge pull request #1252 from Demonthos/non-generic-link
Remove autogenerated functions/components from the routable macro
2023-07-26 18:11:32 -07:00
Evan Almloff 7bf0926938 use tauri bundle 1.2 2023-07-26 12:53:00 -07:00
Evan Almloff 489338d642 create cli bundle command 2023-07-26 12:40:50 -07:00
Evan Almloff e7a9161066 fix link component 2023-07-26 10:18:39 -07:00
Jonathan Kelley 6751d5941b Merge pull request #1215 from eventualbuddha/feat/check/rules-of-hooks
feat(check): adds `dx check`
2023-07-25 11:57:02 -07:00
Brian Donovan dc7e1a5f13 docs(clean): fix copy-paste docs from build (#1240) 2023-07-24 11:32:13 -05:00
Brian Donovan 2c2534d1cc feat(check): adds dx check
At the moment this only checks the Rules of Hooks, ensuring that hook functions (i.e. `use_*`) are being called as expected.

https://dioxuslabs.com/docs/0.3/guide/en/interactivity/hooks.html

Closes #1202
2023-07-23 16:06:55 -07:00
Jonathan Kelley 1ed277154a Merge pull request #1210 from Demonthos/desktop-serve-cli
Move desktop hot reload into the CLI
2023-07-19 19:48:09 -07:00
Evan Almloff b6ea722d94 fix some edge cases around multiline attributes 2023-07-19 16:59:20 -07:00
Jonathan Kelley 90d23714da Fix clippy around pathbuf 2023-07-19 13:44:38 -07:00
Jonathan Kelley 9185afdba8 Merge branch 'master' into desktop-serve-cli 2023-07-19 13:33:02 -07:00
Jonathan Kelley cd30b42e2d Merge branch 'master' into jk/remove-dioxus-bin 2023-07-18 18:31:48 -07:00
Evan Almloff f3b3c0698b fix clippy 2023-07-18 12:43:02 -07:00
Evan Almloff 4a0869de7b cargo fix 2023-07-18 12:41:48 -07:00
Evan Almloff 98e2b4acbd fix normal desktop serve 2023-07-18 12:40:47 -07:00
Evan Almloff 2c1c147828 fix desktop hot reloading 2023-07-18 11:55:56 -07:00
Evan Almloff 0c5025ffa0 WIP desktop serve hot reload 2023-07-18 10:24:29 -07:00
Evan Almloff f2c4233ef4 Merge branch 'master' into router-typesafe 2023-07-17 17:24:42 -07:00
Evan Almloff 7453486448 fix formatting 2023-07-17 15:12:57 -07:00
Miles Murgaw 4b70b1ce96 revision: find bin from workspace Cargo.toml 2023-07-17 14:30:05 -04:00
Miles Murgaw 9fab3cf4e3 Merge branch 'master' into cli-stuff 2023-07-15 12:40:23 -04:00
Brian Donovan 9cef71b6b9 fix(cli): improve error message for invalid config (#1200)
Previously an invalid `Dioxus.toml` file would yield this error when running e.g. `dx serve`:

```
Error: Failed to load `Dioxus.toml` because: Dioxus.toml parse failed
```

This doesn't give any indication why it failed to parse. This commit updates it to include why the parsing failed, e.g.:

```
Error: Failed to load Dioxus config because: Dioxus.toml missing field `name` for key `application` at line 38 column 1
```

I initially had it format the message to include `Dioxus.toml:38:1` to be clickable in some terminals, but the location specified didn't always seem particularly relevant to the actual problem so I left it as-is.

This also fixes what I believe would be an issue on case-sensitive file systems where if `dioxus.toml` existed it would try to read `Dioxus.toml`.

I'm still fairly new to Rust, so the `.as_path()` calls may not be the best way to deal with the fact that the borrow checker wouldn't let me re-use `crate_dir` and `dioxus_conf_file`. I'm open to suggestions!
2023-07-15 11:13:22 -05:00
Miles Murgaw d710b92696 fix: do it correctly 2023-07-14 20:41:27 -04:00
Miles Murgaw 41fd7a1040 feat: bin flag for serve and build 2023-07-14 20:06:54 -04:00
Miles Murgaw 9d259b6073 revision: remove nestedness 2023-07-14 18:30:27 -04:00
Jonathan Kelley 16763c065b Rename dioxus to dx in examples and fullstack 2023-07-14 13:53:06 -07:00
Miles Murgaw 120fccc53d fix: full & hot reload 2023-07-12 02:09:13 -04:00
Miles Murgaw 5bc9e4556b feat: custom mkcert paths 2023-07-11 23:01:37 -04:00
Miles Murgaw b47e4fedcc feat: default web.https config 2023-07-11 19:49:41 -04:00
Miles Murgaw d83b00ff0f feat: mkcert 2023-07-11 16:38:34 -04:00
Miles Murgaw ffb056798a revision: organize 2023-07-11 15:51:56 -04:00
Miles Murgaw db93252faf feat: cli use local certificate 2023-07-11 00:25:16 -04:00
Jonathan Kelley 9fe7dc9b91 clippy 2023-07-07 18:28:07 -07:00