Skip to content

Validate UI configuration files #2413

Open
Open

Description

@Ekhorn

User Story

As a developer I want to have consistent configurations, to catch miss-configurations before merging to master.

Description

Our UI requires many different configurations, when adding new packages or apps it's easy to forget certain options. It would be nice to create some standard definitions to help getting these correct.

This is to prevent failures on master and needing to fix them later on:

Examples

Or to help resolve:

Acceptance Criteria

  • 1. Validation rules
    • 1. TBD
    • 2. Consider loose dependency versioning to avoid duplicate dependencies (TODO: check if we have any in the first place)
  • 2. Must be compatible with custom projects.
  • 3. Decide whether to make this a pre-commit hook.

Implementation Notes

We can use the following script as inspiration https://gitlab.com/appsemble/appsemble/-/blob/main/packages/scripts/commands/validate.ts?ref_type=heads.

Activity

  1. added theissue type on Jan 13, 2026
  2. Ekhorn commented on Apr 2, 2026

    @Ekhorn
    ContributorAuthor

    I saw the following warning when publishing:

    ➤ YN0000: @openremote/model@workspace:ui/component/model STDOUT tsconfig.json(3,3): error TS5107: Option 'moduleResolution=node10' is deprecated and will stop functioning in TypeScript 7.0. Specify compilerOption '"ignoreDeprecations": "6.0"' to silence this error.

  3. Ekhorn commented on May 21, 2026

    @Ekhorn
    ContributorAuthor

    I have the following branch to introduce a Gradle conventions plugin https://github.com/openremote/openremote/tree/ui/conventions (started with the UI first, but I'm sure we could extend it to the rest of the projects)

  4. Ekhorn commented on May 21, 2026

    @Ekhorn
    ContributorAuthor

    Couple things I was thinking of as rules.

    • Don't duplicate translations across all languages if the English translation is the same. i18next will fallback to English translations anyways and this slightly increases the size for each translation file.
    • Use the latest i18next key pattern for plurals and ordinals
    • Define whether we want to have a single build directory for UI projects (because Gradle assumes projects don't have more than 1 build output path while the frontend projects often have multiple) or configure the Gradle clean task to include all paths (and make sure Gradle properly sees these paths as outputs).
  5. Ekhorn commented on Aug 4, 2026

    @Ekhorn
    ContributorAuthor
  6. added
    InfrastructureTopic Infrastructure: all features related to infrastructure features
    on Oct 16, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    InfrastructureTopic Infrastructure: all features related to infrastructure features

    Type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions