Commit graph

194 commits

Author SHA1 Message Date
Evan Almloff
b965fc23e9 use a temp directory for the hot reloading pipe on desktop, fullstack and liveview 2023-12-06 17:01:51 -06:00
Raul Cesar Teixeira
8149868ebc
Fixed conflict of "--verbose" and "--quiet" flags (#1686)
Co-authored-by: Raul Cesar <raul@zideco.dev>
2023-12-04 18:11:02 -06:00
Felix F Xu
d404ddfccf
fix false notification/rebuild for dx hot-reload (#1684)
* fix false notification/rebuild for dx hot-reload

* Make sure we have permissions and the changed file exists before reading the metadata

---------

Co-authored-by: ealmloff <evanalmloff@gmail.com>
2023-12-03 20:02:30 -06:00
Felix F Xu
a2ca1760c9
Set local_socket_stream to blocking (default) (#1682) 2023-12-02 19:25:27 -06:00
Evan Almloff
532ffaa614 fix merge 2023-11-20 18:36:18 -06:00
Evan Almloff
557630c419 Merge branch 'master' into cli-config-library 2023-11-20 18:35:24 -06:00
Evan Almloff
8cf8f66c27 add more logging to desktop hot reloading 2023-11-20 09:47:03 -06:00
Evan Almloff
0ee21dff1e fix missing item in hot reloading diffing 2023-11-20 09:33:39 -06:00
HJin.me
ff6c7efb41
fix: tailwind.css use absolute path (#1649) 2023-11-19 11:22:54 -06:00
Raman Hafiyatulin
098689083d
Related to #1547: use dioxus-cli within a workspace (wildcard-members, real package names) (#1642)
* Related to #1547: use `dioxus-cli` within a workspace

Although the `dx` CLI allows to specify a package name to chose from workspace members,
it does not support workspace members specified as glob-wildcards.
Neither it respects the effective package name, specified in the crate's `Cargo.toml`.

This PR addresses that issue:
- upon `dx build ...`, if the `--bin` CLI-argument is provided, treat the current dir as a workspace;
- search through the workspace's `members`: resolve each of them with `glob`;
- assume that any workspace member has a `Cargo.toml` in it (cargo does it, so it's okay);
- read said manifest, and check the package name in it;
- if found — there we have our sought package.

* Use cargo-metadata to find out the workspace structure

* glob is unused
2023-11-15 15:14:16 -06:00
Evan Almloff
e11f3fdc48 fix clippy 2023-11-15 09:30:15 -06:00
Evan Almloff
9bb464dd7d fix cli tests 2023-11-15 09:29:15 -06:00
Evan Almloff
cd48b3b7f9 allow base_path in the CLI 2023-11-15 08:23:12 -06:00
Evan Almloff
1ed66a54cc fix cli configuration environment variable 2023-11-14 15:50:04 -06:00
Evan Almloff
06be18a591 export lazy current config 2023-11-14 15:34:06 -06:00
Evan Almloff
5dc3486c53 Merge branch 'cli-serde-default' into cli-config-library 2023-11-10 16:26:58 -06:00
ealmloff
79e3fe677f
Merge branch 'master' into cli-serde-default 2023-11-10 16:22:53 -06:00
Evan Almloff
1b7017f67b fix formatting 2023-11-09 08:36:14 -06:00
Evan Almloff
8a2d170d96 pull out the CLI config data into a separate library 2023-11-08 12:48:25 -06:00
xTeKc
ca556ea9cb
update readme (#1615)
* Fix wasm-bindgen version mismatch

* fixes #1613
2023-11-06 13:32:42 -06:00
Evan Almloff
4215e2b247 fix cargo.toml/lock path capitalization for linux 2023-11-03 13:09:33 -05:00
divinerapier
f372144fd7
Bump tauri bundler for using proxy to fetch resources
Signed-off-by: divinerapier <sihao.fang@outlook.com>
2023-11-03 11:01:00 +08:00
Alex Parrill
52fb080193 Use indentation settings in dx fmt and vscode extension
Adds the ability to specify an indent string to public autofmt methods - either
a sequence of spaces or a tab character.

Get the indentation style and size from rustfmt for dx fmt, or from the editor
settings for the vscode extension.

Closes #1595
2023-11-01 17:24:18 -04:00
Evan Almloff
51f342417a add examples to the default watch path 2023-10-30 14:41:41 -05:00
Falco Hirschenberger
d4e6876ff6
Silence desktop build outputs from cargo (#1584)
Silence additional disturbing output from cargo in desktop builds
2023-10-27 08:29:43 -05:00
Evan Almloff
9d19f4d204 fix clippy 2023-10-16 10:44:08 -05:00
Evan Almloff
9f729dd6de fix clippy 2023-10-14 14:32:08 -05:00
ealmloff
a7736284c8
Merge branch 'master' into intigrate-collect-assets 2023-10-12 08:46:27 -05:00
Evan Almloff
b26985ea6c make debug build of fullstack applications load faster by default 2023-10-10 14:23:58 -05:00
Leonard
2d1234c3d1
Include README and Dioxus logo in package docs (#1536)
* Include README in docs.rs and add Dioxus logo

* Update README.md
2023-10-10 10:52:48 -05:00
Evan Almloff
b76f129083 Merge branch 'master' into intigrate-collect-assets 2023-10-10 09:57:16 -05:00
Leonard
c65a49fd0f
Remove redundant directories (#1535)
Also fix typo
2023-10-10 09:50:58 -05:00
Marc Espín
c8c4e85e65
feat: Remove unused deps (#1447)
* feat: Reduce dioxus-cli deps

* remove more unused deps
2023-10-09 10:14:46 -05:00
Timothy Mertz
cde1e886d6
cli: Add ability for autofmt to read stdin (#1529)
This change adds the ability for autofmt to read from stdin by using
'-f -' or '--file -'
2023-10-09 08:20:31 -05:00
Sridhar Ratnakumar
0d7bc86250
cli: Log connection errors during dx serve in desktop apps (#1515)
* cli: Log connection errors during `dx serve` in desktop apps

* add a note about the dioxus CLI

---------

Co-authored-by: Evan Almloff <evanalmloff@gmail.com>
2023-10-09 07:56:23 -05:00
Leonard
459f24d5e9
Clarify where serve warnings come from (#1524) 2023-10-05 13:05:14 -05:00
Sridhar Ratnakumar
91752e7220
cli: Fix typo, resouces (#1516) 2023-10-04 08:20:13 -05:00
Evan Almloff
e2f50cc689 Merge branch 'master' into intigrate-collect-assets 2023-09-22 07:56:00 -05:00
Leonard
07613c806b
Fix #1367 (#1471)
* Bump cargo_toml to 1.16.0

* Format
2023-09-18 18:51:04 -05:00
Evan Almloff
f976e08f71 Merge branch 'master' into intigrate-collect-assets 2023-09-17 19:40:14 -05:00
Evan Almloff
070ef6aec9 Merge branch 'master' into cli-serde-default 2023-09-17 19:00:13 -05:00
Evan Almloff
49a127b31e deduplicate serve code with hot reloading in the CLI crate 2023-09-09 16:18:52 -05:00
Evan Almloff
ffb5de91d1 Merge branch 'master' into intigrate-collect-assets 2023-09-05 13:45:37 -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
Jonathan Kelley
4009064767
Merge pull request #1415 from ealmloff/pin-tauri-deps
Pin Tauri dependencies to a minor version
2023-09-04 11:30:25 -07:00
Evan Almloff
148b35a87a fix clippy 2023-09-04 08:42:30 -05:00
Evan Almloff
282e098086 Merge branch 'master' into intigrate-collect-assets 2023-09-04 08:42:14 -05:00
Marc Espín
95887e836c
fix: Add the --locked param to every cli installation command (#1427) 2023-09-04 07:28:38 -05:00
Evan Almloff
bc94f36934 restrict tauri bundler version to 1.3.0 only 2023-09-03 13:36:56 -05:00
YuKun Liu
2cfa0e4ea9
fix: prettier_build unavailabe (#1410)
Co-authored-by: Evan Almloff <evanalmloff@gmail.com>
2023-09-02 18:31:34 -05:00
Evan Almloff
71264b1ee3 bump bundler to "=1.3.*" 2023-09-02 18:28:44 -05:00
Evan Almloff
24f22b1b87 Merge branch 'master' into pin-tauri-deps 2023-09-02 18:15:29 -05:00
Leonard
94f76946fc
Improve CLI docs (#1404)
* Improve CLI docs

* Fixed all the typos (hopefully).
* Improved the bad English. This encompasses grammar, vocabulary, generally awkward phrases, etc. The result is easier to read and understand, and in some cases shorter.
* Made some formatting improvements. This includes making formatting more consistent, but I changed some of it to be better, at least in my opinion.
* Removed certain unnecessities, the biggest one being the commands documentation. I think this is unnecessary because of the `dx --help` command. It also needs to be updated every time a command gets added/updated/removed. It doesn't really provide much extra insight than `dx --help`.
* Improved plugin documentation. I added a warning to ignore all of it, which is ironic, but the fact is that plugins are probably going to change. But by the time I learned that, I already made some changes to the plugin docs. This includes a better guide on how to get started (although still bad since the plugin system is too messy), and some general changes like the aforementioned English or formatting.
* And more. I can't list it all, but I didn't use any destructive changes. The content might be reformatted (to be shorter or easier to understand), but the meaning isn't lost.

* Fix grammar in packages/cli/docs/src/creating.md

Co-authored-by: Evan Simkowitz <esimkowitz@users.noreply.github.com>

* Update README.md

* Change config example

---------

Co-authored-by: Evan Simkowitz <esimkowitz@users.noreply.github.com>
2023-09-02 17:59:20 -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
Evan Almloff
d94e2c104c pin Tauri dependencies to a minor version 2023-09-01 10:27:28 -05:00
Evan Simkowitz
de87ba6548
Update all uncommented commands to remove actions-rs (#1366)
* Update all uncommented commands to remove actions-rs (#1)

* install target in toolchain action

* add linux target explicitly

* try latest

* fix install
2023-08-22 19:48:03 -05:00
Evan Almloff
e162e3e4cf fix formatting 2023-08-21 16:07:49 -05:00
Evan Almloff
99268acc05 add an option to skip assets in the CLI 2023-08-21 16:05:25 -05:00
Evan Almloff
5eca11fe3d update collect assets name 2023-08-18 14:54:57 -05:00
Evan Almloff
4ee2bc259d fix clippy 2023-08-18 14:45:03 -05:00
Evan Almloff
1c58352456 implement fullstack assets integration 2023-08-18 14:30:23 -05:00
Evan Almloff
afb8578605 Merge branch 'fullstack-serve' into intigrate-collect-assets 2023-08-18 14:03:55 -05:00
Evan Almloff
e3aac14ec9 make clippy happy 2023-08-18 13:57:05 -05:00
Evan Almloff
bd743fa2f9 Add fullstack platform to serve and build commands 2023-08-18 13:55:00 -05:00
Evan Almloff
1ed814668a Set an environment variable during serve for bundling 2023-08-18 11:12:56 -05:00
Evan Almloff
9bfe9682b5 integrate with the bundle command 2023-08-18 10:27:38 -05:00
Evan Almloff
213b80790b fix release desktop builds 2023-08-18 09:55:49 -05:00
Evan Almloff
62f8e0f727 fix fullstack assets 2023-08-17 09:56:59 -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
Evan Almloff
77d11f6d9a Fix the asset config in the CLI 2023-08-16 17:24:30 -05:00
Evan Almloff
c402b6cd36 collect assets in desktop debug mode 2023-08-16 17:01:51 -05:00
Evan Almloff
8d3c11ef15 inject included styles and preload images into the head 2023-08-16 16:16:34 -05:00
Evan Almloff
0ec085fbbd add collect assets 2023-08-16 14:03:28 -05:00
Evan Simkowitz
3e24b3d34a
Publish CLI binaries for cargo-binstall (#1358)
* add test release pipeline

* fix

* debug

* oops forgot checkout

* debug

* fix if

* blah

* fix working dir

* fix cargo build path

* add publish step

* add cache

* fix path

* use package instead of working dir

* fix cache path

* fix typo in checksum

* fix upload artifact loop

* add more comments

* add binstall metadata

* test simplified action

* fix target

* remove dispatch

* fix permissions

* remove mac arm config

* update comments

* update comment

* replace unmaintained actions-rs
2023-08-15 13:41:32 -05:00
Steven Pecht
1ab5a03aef
Use to identify cargo build artifact if present (#1344) 2023-08-12 19:25:17 -05:00
Evan Almloff
8d1c17ba7d fix clippy 2023-08-09 11:10:41 -07:00
Evan Almloff
8b4e0b3e07 Use serde default instead of options in the CLI 2023-08-08 15:33:48 -07: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
39e89c1fac
Bump crate versions, fix any publish errors 2023-07-31 18:49:54 -07:00
Jonathan Kelley
8a875acdd2
Adjust versions, add authors, move server macro to top level 2023-07-31 17:59:36 -07: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
420bc39ecc
docs(cli): re-sync dx --help output 2023-07-23 18:57:23 -07: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
91d4207fa7
Merge branch 'master' into feature/use-shared-state-better-diagnostics 2023-07-20 10:51:10 -07:00
Jonathan Kelley
f0289068a2
Merge pull request #1219 from Demonthos/improve-build-times
Halve Build Times
2023-07-20 10:50:15 -07:00
Andrea Frigido
dccad58f1d Update license field following SPDX 2.1 license expression standard 2023-07-20 18:00:07 +01:00