Skip to contents

Validates that a Shiny application can be built as an Electron app. Checks app structure, configuration, runtime availability, dependencies, and signing credentials. Reports issues without aborting.

Usage

app_check(
  appdir = ".",
  app_type = NULL,
  runtime_strategy = NULL,
  platform = NULL,
  sign = NULL,
  verbose = TRUE
)

Arguments

appdir

Character string. Path to the app directory. Default ".".

app_type

Character string or NULL. App type override. If NULL, reads from config or autodetects from files in appdir.

runtime_strategy

Character string or NULL. Runtime strategy override.

platform

Character vector or NULL. Target platforms override.

sign

Logical or NULL. Signing override.

verbose

Logical. Whether to print the report. Default TRUE.

Value

Invisible list with:

pass

Logical. TRUE if no errors found.

errors

Character vector of fatal issues.

warnings

Character vector of non-fatal issues.

info

Character vector of informational notes.

Examples

# \donttest{
# Check a bundled example app
app_check(example_app("r"))
#> 
#> ── App Check: demo-single ──────────────────────────────────────────────────────
#>  Config: no _shinyelectron.yml (using defaults)
#>  Type: "r-shiny"
#>  Runtime strategy: "shinylive"
#>  Platform(s): "linux"
#>  App structure: app.R found
#>  Node.js: 22.23.1 + npm 10.9.8
#>  shinylive R package: installed
#>  Dependencies: bslib, shiny
#>  Code signing: "disabled"
#>  Icon: not configured (default Electron icon)
#> 
#> ── Result ──
#> 
#>  Ready to build! Run: `export("/home/runner/work/_temp/Library/shinyelectron/demos/demo-single", "output")`
# }

if (FALSE) { # \dontrun{
# Check your own app, with optional overrides
app_check("path/to/my/app")
app_check("my-app", app_type = "r-shiny", runtime_strategy = "system")
} # }