forked from comit-network/xmr-btc-swap
-
Notifications
You must be signed in to change notification settings - Fork 5
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
ci: auto generate typescript bindings (#56)
This PR - removes `tauriModel.ts` from git and instead - generates `tauriModel.ts` everytime `vite` starts or `vite` detects a change in `swap/src/` To do that I have introduced the `gen-bindings` and `check-bindings` commands as well as improved documentation. Following this PR, the Typescript bindings to our Tauri commands will be automatically re-generated upon the instant a source file is changed! This closes #49
- Loading branch information
1 parent
bcd2d95
commit 1fe6391
Showing
6 changed files
with
76 additions
and
292 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -23,3 +23,6 @@ dist-ssr | |
*.njsproj | ||
*.sln | ||
*.sw? | ||
|
||
# Autogenerated bindings | ||
src/models/tauriModel.ts |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,13 +1,40 @@ | ||
# Tauri + React + Typescript | ||
|
||
This template should help get you started developing with Tauri, React and Typescript in Vite. | ||
|
||
## Recommended IDE Setup | ||
|
||
- [VS Code](https://code.visualstudio.com/) + [Tauri](https://marketplace.visualstudio.com/items?itemName=tauri-apps.tauri-vscode) + [rust-analyzer](https://marketplace.visualstudio.com/items?itemName=rust-lang.rust-analyzer) | ||
|
||
## Requirements | ||
|
||
- For compiling the Rust code: `cargo` and `cargo tauri` ([installation](https://v2.tauri.app/reference/cli/)) | ||
- For running the Typescript code: `node` and `yarn` | ||
- For formatting and bindings: `dprint` (`cargo install dprint@0.39.1`) and `typeshare` (`cargo install typeshare-cli`) | ||
- If you are on Windows and you want to use the `check-bindings` command you'll need to manually install the GNU DiffUtils ([installation](https://gnuwin32.sourceforge.net/packages/diffutils.htm)) and GNU CoreUtils ([installtion](https://gnuwin32.sourceforge.net/packages/coreutils.htm)). Remember to add the installation path (probably `C:\Program Files (x86)\GnuWin32\bin`) to the `PATH` in your enviroment variables. | ||
|
||
## Start development servers | ||
|
||
For development, we need to run both `vite` and `tauri` servers: | ||
|
||
```bash | ||
cd src-gui | ||
yarn install && yarn run dev | ||
# let this run | ||
``` | ||
|
||
```bash | ||
cd src-tauri | ||
cargo tauri dev | ||
# let this run as well | ||
``` | ||
|
||
## Generate bindings for Tauri API | ||
|
||
Running `yarn run dev` or `yarn build` should automatically re-build the Typescript bindings whenever something changes. You can also manually trigger this using the `gen-bindings` command: | ||
|
||
```bash | ||
yarn run gen-bindings | ||
``` | ||
|
||
You can also check whether the current bindings are up to date: | ||
|
||
```bash | ||
typeshare --lang=typescript --output-file ./src/models/tauriModel.ts ../swap/src | ||
yarn run check-bindings | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
Oops, something went wrong.