Overview

UIX

App Configuration

A UIX app can be configured with 2 types of files: An app.dx file that specifies general options for the entire app, and individual .dx files located in frontend or backend directories that specify options for the specific endpoints.

DATEX Script files (.dx)

UIX uses DATEX Script files as its configuration files.

DATEX Script is a superset of JSON. It also supports URLs, relative paths and user-defined types. Single- and multiline comments can be used.

Example:

MyFile.dx
{ normalJSON: [1, "text", {"a": "b"}], url: https://example.com, // this is a comment relativePath: ../my/file/path, } /* This is a multiline comment */

To learn more about DATEX Script, check out the DATEX documentation.

The app.dx file

The app.dx file serves as the main configuration file for a UIX application. It defines essential settings, metadata, and optional features that shape how your app behaves and appears.

General Options

The following options provide some general information or behavior of the app.

  • name: (text) - The name of the app
  • description: (text) - Short description for the app
  • icon: (text or url) - URL path to an app icon image - can also be a relative path, e.g. ./common/res/icon.png
  • installable: (boolean) - Tells UIX to make the app installable as standalone web app
  • meta: (Record<string,string>) - Custom <meta> tags (name and content) that wille be added to the HTML head
  • manifest: Record<string,any> - Custom web manifest options that override the defaults set by UIX
  • experimental_features: string[] - List of experimental UIX features that should be activated

Experimental Features

Experimental features are subject to change and might be enabled by default in future versions of UIX. To enable specific features, add them to the experimental_features list in the app.dx file.

Available experimental features:

  • indirect-references: Sets the INDIRECT_REFERENCES flag for the DATEX Runtime, which enables for indirect references to pointers from other pointers.
  • view-transitions: Enables CSS view transitions for backend navigations and frontend navigations.
  • sqlite-storage: Uses the SQLite storage location on the backend for storing persistent data. The SQLite storage is faster, has more storage capacity and better support for pattern matching.

Did this doc help you?

Privacy Policy

Help us improving our docs

Our documentations are fully open source. Something is wrong or unclear?

Make a contribution