xmr-btc-swap/src-gui
Einliterflasche 1fe6391b7b
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
2024-08-31 11:41:33 +02:00
..
public feat: cargo project at root 2024-08-08 00:49:04 +02:00
src ci: auto generate typescript bindings (#56) 2024-08-31 11:41:33 +02:00
.gitignore ci: auto generate typescript bindings (#56) 2024-08-31 11:41:33 +02:00
eslint.config.js chore(gui): Upgrade @tauri-apps/api and add eslint 2024-08-26 15:04:22 +02:00
index.html fix: Prevent overscroll bounce 2024-08-09 20:27:47 +02:00
package.json ci: auto generate typescript bindings (#56) 2024-08-31 11:41:33 +02:00
README.md ci: auto generate typescript bindings (#56) 2024-08-31 11:41:33 +02:00
tsconfig.json wip: WithdrawDialog migrated to Tauri IPC 2024-08-09 19:46:58 +02:00
tsconfig.node.json feat: cargo project at root 2024-08-08 00:49:04 +02:00
vite.config.ts ci: auto generate typescript bindings (#56) 2024-08-31 11:41:33 +02:00
yarn.lock ci: auto generate typescript bindings (#56) 2024-08-31 11:41:33 +02:00

Requirements

  • For compiling the Rust code: cargo and cargo tauri (installation)
  • 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) and GNU CoreUtils (installtion). 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:

cd src-gui
yarn install && yarn run dev
# let this run
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:

yarn run gen-bindings

You can also check whether the current bindings are up to date:

yarn run check-bindings