tauri/examples/api
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
..
dist Tauri ACL/Allowlist v2 Implementation and Plugin System Refactor (#8428) 2024-01-22 21:24:15 -03:00
isolation-dist refactor(core): use webview's URI schemes for IPC (#7170) 2023-08-10 10:12:38 -03:00
public refactor(examples/api): new look (#4465) 2022-07-03 22:15:23 -03:00
src Tauri ACL/Allowlist v2 Implementation and Plugin System Refactor (#8428) 2024-01-22 21:24:15 -03:00
src-tauri Tauri ACL/Allowlist v2 Implementation and Plugin System Refactor (#8428) 2024-01-22 21:24:15 -03:00
.gitignore chore(examples): ignore mobile artifacts on api example 2022-11-18 13:11:18 -03:00
.setup-cross.sh fix(cross): Fix docker image and cross setup (#8094) 2023-10-26 13:58:56 -03:00
.taurignore feat(cli): automatically use .taurignore, ref #4617 (#4623) 2022-07-28 18:58:38 -03:00
index.html feat: add tray and menu javascript APIs and events, closes #6617 (#7709) 2023-11-19 08:38:24 -03:00
jsconfig.json refactor(core&api)!: hide internal functions and reuse them in api.js & rename tauri module to primitives (#7942) 2023-10-17 09:40:20 -03:00
package.json chore(deps-dev): bump vite from 4.4.12 to 4.5.2 in /examples/api (#8646) 2024-01-20 04:50:55 +02:00
README.md feat: add tray and menu javascript APIs and events, closes #6617 (#7709) 2023-11-19 08:38:24 -03:00
screenshot.png fix(examples): icon transparency (#2450) 2021-08-16 13:01:53 -03:00
svelte.config.js refactor(core&api)!: hide internal functions and reuse them in api.js & rename tauri module to primitives (#7942) 2023-10-17 09:40:20 -03:00
unocss.config.js chore: update license year (#6311) 2023-02-19 10:17:49 -03:00
vite.config.js feat: add tray and menu javascript APIs and events, closes #6617 (#7709) 2023-11-19 08:38:24 -03:00
yarn.lock chore(deps-dev): bump vite from 4.4.12 to 4.5.2 in /examples/api (#8646) 2024-01-20 04:50:55 +02:00

API example

This example demonstrates Tauri's API capabilities using the @tauri-apps/api package. It's used as the main validation app, serving as the testbed of our development process. In the future, this app will be used on Tauri's integration tests.

App screenshot

Running the example

  • Compile Tauri go to root of the Tauri repo and run: Linux / Mac:
# choose to install node cli (1)
bash .scripts/setup.sh

Windows:

./.scripts/setup.ps1
  • Install dependencies (Run inside of this folder examples/api/)
# with yarn
$ yarn
# with npm
$ npm install
  • Run the app in development mode (Run inside of this folder examples/api/)
# with yarn
$ yarn tauri dev
# with npm
$ npm run tauri dev
  • Build an run the release app (Run inside of this folder examples/api/)
$ yarn tauri build
$ ./src-tauri/target/release/app