tauri/tooling/cli
tweidinger 3c2f79f6f3
Tauri ACL/Allowlist v2 Implementation and Plugin System Refactor (#8428)
* tauri-plugin concept

* wip

* move command module to its own directory

* wip: new command traits and generated code

* wip: whip

* wip: static dispatch

there is a man standing behind me

* wip

* re-add authority

* fix build [skip ci]

* parse plugin permissions

* merge permission files [skip ci]

* parse capabilities [skip ci]

* resolve acl (untested) [skip ci]

* split functionality, add some docs

* remove command2 stuff

* actually check runtime authority

* small fixes [skip ci]

* add function to auto generate basic permission for a command [skip ci]

* retrieve command scope, implement CommandArg [skip ci]

* fix tests [skip ci]

* global scope

* lint

* license headers [skip ci]

* skip canonicalize

* separate scope type in example

* remove inlinedpermission struct [skip ci]

* permission file schema

* capabilities schema

* move items from tauri-plugin to tauri-utils

this allows tauri-plugin to depend on tauri directly again
which will be used by the runtime feature as a superset to
existing plugin traits

* enable schema and glob [skip ci]

* fix glob [skip ci]

* fix capability schema [skip ci]

* enhance schema for permission set possible values [skip ci]

* permission set can reference other sets [skip ci]

* setup tests for resolving ACL

* fixture for permission set [skip ci]

* remote context test and small fix[skip ci]

* ignore empty scope [skip ci]

* code review [skip ci]

* lint [skip ci]

* runtime fixes

* readd schema feature on tauri-config-schema [skip ci]

* remove plugin example from workspace, it breaks workspace features resolution [skip ci]

* scope as array, add test [skip ci]

* accept new shapshot [skip ci]

* core plugin permissions, default is now a set

* license headers

* fix  on windows

* update global api

* glob is no longer optional on tauri-utils

* add missing permissions on api example [skip ci]

* remove ipc scope and dangerous remote access config

* lint

* fix asset scope usage

* create out dir [skip ci]

* reuse cargo_pkg_name [skip ci]

* capability window glob pattern [skip ci]

* add platforms for capability [skip ci]

* per platform schema [skip ci]

* lint [skip ci]

* rename allowlist build mod [skip ci]

* check restricted visibility

* simplify capability target [skip ci]

* hide codegen build behind tauri-build::try_run

* optimize build scripts [skip ci]

* fix tests

* tests for RuntimeAuthority::resolve_access

* remote domain glob pattern

* lint

---------

Co-authored-by: Chip Reed <chip@chip.sh>
Co-authored-by: Lucas Nogueira <lucas@tauri.app>
Co-authored-by: Lucas Nogueira <lucas@crabnebula.dev>
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2024-01-22 21:24:15 -03:00
..
node Apply Version Updates From Current Changes (#8438) 2024-01-16 18:11:50 -03:00
scripts Merge remote-tracking branch 'origin/dev' into next (#7067) 2023-05-29 21:29:24 -03:00
src feat: upgrade handlebars to 5.0 (#8615) 2024-01-16 17:21:18 +02:00
templates feat: Add files field in macos build config, closes #3290 (#7798) 2023-12-28 12:10:50 -03:00
build.rs chore: update license year (#6311) 2023-02-19 10:17:49 -03:00
Cargo.lock Apply Version Updates From Current Changes (#8438) 2024-01-16 18:11:50 -03:00
Cargo.toml Apply Version Updates From Current Changes (#8438) 2024-01-16 18:11:50 -03:00
CHANGELOG.md Apply Version Updates From Current Changes (#8438) 2024-01-16 18:11:50 -03:00
ENVIRONMENT_VARIABLES.md refactor!: match target triple for TAURI_ENV_ARCH (#8486) 2023-12-28 12:10:12 -03:00
LICENSE_APACHE-2.0 fix(cli): package license, remove test code (#3439) 2022-02-13 13:51:05 -03:00
LICENSE_MIT fix(cli): package license, remove test code (#3439) 2022-02-13 13:51:05 -03:00
metadata-v2.json Apply Version Updates From Current Changes (#8438) 2024-01-16 18:11:50 -03:00
metadata.json Apply Version Updates From Current Changes (v1) (#8377) 2023-12-13 14:43:54 -03:00
README.md Merge remote-tracking branch 'origin/dev' into next (#7067) 2023-05-29 21:29:24 -03:00
schema.json Tauri ACL/Allowlist v2 Implementation and Plugin System Refactor (#8428) 2024-01-22 21:24:15 -03:00
tauri-dev-watcher.gitignore fix(cli): ignore the gen folder on the dev watcher (#6232) 2023-02-09 14:50:33 -03:00
tauri.gitignore feat(bundler): cache bundling tools in a common dir for all projects (#4305) 2022-06-09 16:16:33 -03:00

Tauri CLI

status License test cli FOSSA Status Chat Server website https://good-labs.github.io/greater-good-affirmation/assets/images/badge.svg support

Component Version
tauri-cli

About Tauri

Tauri is a polyglot and generic system that is very composable and allows engineers to make a wide variety of applications. It is used for building applications for Desktop Computers using a combination of Rust tools and HTML rendered in a Webview. Apps built with Tauri can ship with any number of pieces of an optional JS API / Rust API so that webviews can control the system via message passing. In fact, developers can extend the default API with their own functionality and bridge the Webview and Rust-based backend easily.

Tauri apps can have custom menus and have tray-type interfaces. They can be updated, and are managed by the user's operating system as expected. They are very small, because they use the system's webview. They do not ship a runtime, since the final binary is compiled from rust. This makes the reversing of Tauri apps not a trivial task.

This module

This rust executable provides the full interface to all of the required activities for which the CLI is required. It will run on macOS, Windows, and Linux.

To learn more about the details of how all of these pieces fit together, please consult this ARCHITECTURE.md document.

Semver

tauri is following Semantic Versioning 2.0.

Licenses

Code: (c) 2015 - 2021 - The Tauri Programme within The Commons Conservancy.

MIT or MIT/Apache 2.0 where applicable.

Logo: CC-BY-NC-ND

Licensing Errata:

Because of publishing issues upstream, we soft-forked (and patched) both console and dialoguer crates because of untenable issues surrounding expected use on Windows.

This soft fork was introduced to the Tauri Codebase here.

console

license = "MIT"
authors = [
	"Armin Ronacher <armin.ronacher@active-4.com>"
]

dialoguer

license = "MIT"
authors = [
	"Armin Ronacher <armin.ronacher@active-4.com>",
	"Pavan Kumar Sunkara <pavan.sss1991@gmail.com>"
]