sapling/addons/isl-standalone/src-tauri/Cargo.toml
Evan Krause eb2a1c384f Standalone Tauri app
Summary:
See this document for more information:
https://docs.google.com/document/d/1kSdc86XNyPMt_rTB8uggYOZQ0hf4k7Fq4NhK1N3taZE/edit#

The idea here is to make a standalone application to access ISL, rather than using `sl web` to open ISL in a browser. This makes ISL feel more native and lets it use OS windowing features.

Since ISL is a web application, we need a browser-like technology like electron. Electron is quite bloated, so Tauri is a good alternative for our use case.

We only need to run `sl web` and embed that into a webview with Tauri. We don't need to produce entirely new javascript bundles for Tauri. This means the Tauri application shell can be updated independently of the actual ISL client/server code.

I don't intend to pursue this much futher right now, since the next steps involve figuring out distribution mechanisms and build pipelines. But I figured it was worth publishing and even landing this so it's easily accessible in the near future.

Reviewed By: quark-zju

Differential Revision: D40149722

fbshipit-source-id: 8225ffd54d77141254166676af65b991d4a1a3c1
2023-03-16 11:34:35 -07:00

29 lines
895 B
TOML

[package]
name = "isl"
version = "0.0.1"
description = "Interactive Smartlog UI for Sapling SCM."
authors = ["meta"]
license = "MIT"
repository = "https://github.com/facebook/sapling"
default-run = "isl"
edition = "2021"
rust-version = "1.57"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[build-dependencies]
tauri-build = { version = "1.1.1", features = [] }
[dependencies]
serde_json = "1.0"
serde = { version = "1.0", features = ["derive"] }
tauri = { version = "1.1.1", features = ["api-all"] }
[features]
# by default Tauri runs in production mode
# when `tauri dev` runs it is executed with `cargo run --no-default-features` if `devPath` is an URL
default = [ "custom-protocol" ]
# this feature is used for production builds where `devPath` points to the filesystem
# DO NOT remove this
custom-protocol = [ "tauri/custom-protocol" ]