diff --git a/packages/tauri/README.md b/packages/tauri/README.md index bee5ede4..24c4076c 100644 --- a/packages/tauri/README.md +++ b/packages/tauri/README.md @@ -1,52 +1,56 @@ -# @padloc/tauri (experimental) +# @padloc/tauri -Cross-platform native app builder for Padloc, powered by +Native cross-platform app, powered by [Tauri](https://github.com/tauri-apps/tauri). -## How To Use +## Setup -1. Follow the steps described in the - [Getting Started](https://github.com/padloc/padloc/blob/master/README.md#getting-started) - section of repo readme. +The `@padloc/tauri` package is meant to be used from within the +[Padloc monorepo](../../README.md). -2. Follow Tauri's - [setup guide](https://tauri.studio/docs/getting-started/intro/#setting-up-your-environment) - for your platform. +```sh +git clone git@github.com:padloc/padloc.git +cd padloc +npm ci +cd packages/tauri +``` -3. Build the app: +You also need to follow +[Tauri's setup guide](https://tauri.studio/docs/getting-started/intro/#setting-up-your-environment) - ```sh - cd packages/tauri - npm run build - ``` +## Building - Don't forget to set the server url - [configuration variable](https://github.com/padloc/padloc/blob/master/README.md#configuration). - For example, if you want the app to connect to the official Padloc server: +To build the app, run: - ```sh - PL_SERVER_URL=https://api.padloc.app npm run build - ``` +```sh +npm run build +``` -## TODOs +The resulting build can be fund in the `dist` folder. -Initial tests look very promising. Some things that still need figuring out. +You can also build a debug version of the app, useful for - well - debugging: -- [ ] **Persistent Storage**: Using IndexedDB doesn't work here for various - reasons. Best option is probably writing a simple storage backend using - Tauri's [file system api](https://tauri.studio/docs/api/js#file-system). -- [ ] **Copy & Paste**: Doesn't work out of the box. Figure out steps to make - it work. -- [ ] **Auto-updating**: Must-have feature for desktop apps at least those not - distributed through app stores or package managers. Not available in - Tauri yet, but apparently on the roadmap. -- [ ] **Code-signing**: Also on Tauri's roadmap, but not available yet -- [ ] **Run without the embedded web server**: Would be the safer choice - security-wise but doesn't seem to work as-is. Need to figure out what - changes are needed to make it work. -- [ ] **Mobile**: Waiting for Tauri to support Android and iOS builds, which - could potentially replace Cordova. -- [ ] **Biometric Authentication**: This is a must-have on mobile but it would - be nice to have it on desktop as well -- [ ] **Secure Enclave / Key Store**: Along with biometric authentication, - this is a requirement for biometric unlock. +```sh +npm run build:debug +``` + +### Build options + +All build options are provided as environment variables: + +| Variable Name | Description | Default | +| --------------- | -------------------------------------------------- | -------- | +| `PL_SERVER_URL` | URL to the [server component](../server/README.md) | `./dist` | + +## Development + +For rapid development, there is also dev mode: + +```sh +npm run dev +``` + +## Contributing + +For info on how to contribute to Padloc, please refer to the +[monorepo readme](../../README.md#contributing).