mirror of
https://github.com/comit-network/xmr-btc-swap.git
synced 2025-11-28 19:50:20 -05:00
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
This commit is contained in:
parent
bcd2d95f03
commit
1fe6391b7b
6 changed files with 77 additions and 293 deletions
|
|
@ -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)
|
||||
|
||||
## Generate bindings for Tauri API
|
||||
## 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
|
||||
typeshare --lang=typescript --output-file ./src/models/tauriModel.ts ../swap/src
|
||||
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
|
||||
yarn run check-bindings
|
||||
```
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue