Skip to content

nordeck/element-web-modules

Repository files navigation

Element Web Modules

CI

A collection of modules for Element using the Module API.

Included Modules

Element Web Guest Module

A module to login as a guest. This module also requires the installation of a Synapse module:

Element Web openDesk Module

A module to provide openDesk specific functionality.

Element Web Widget Lifecycle Module

A module to approve widget capabilities so the user is asked:

Element Web Widget Toggles Module

A module to provide widget toggles.

Prebuilt Element Containers With Modules

We provide some version combinations of Element Web with the modules as a container under packages. These are built automatically by our CI and not tested further, but should otherwise be ready to use.

The tagging scheme for the container signifies the versions of the components going into it: <component>-[v if tagged version]<tag or git commit hash>. This pattern repeats up to 5 times for the 5 possible components:

  • ew Element Web
  • g Guest module
  • od openDesk module
  • wl Widget Lifecycle module
  • wt Widget Toggles module

For example, the tag ew-v1.11.86-g-v2.0.0-od-v0.5.0-wl-v1.0.1-wt-v0.1.0 signifies the combination of all 5 latest stable releases at the time of writing. As another example, ew-v1.11.84-g-v2.0.0-od-ae0b6e6-wl-54f75f3 is Element Web release 1.11.84, Guest module release 2.0.0, different git versions for the openDesk and Widget Lifecycle modules, and the Widget Toggles module was not included.

Getting Started

Development on the modules happens at GitHub.

How to Contribute

Please take a look at our Contribution Guidelines.

Development

Requirements

You need to install Node.js (>= 20.0.0, prefer using an LTS version) and run yarn to work on this package.

Install Dependencies

After checkout, run yarn install to download the required dependencies

Warning

Do not use npm install when working with this package.

Available Scripts

In the project root directory, you can run:

  • yarn build: Build the production version of the modules.
  • yarn test: Watch all files for changes and run tests.
  • yarn tsc: Check TypeScript types for errors in the modules.
  • yarn lint: Run eslint on the module.
  • yarn prettier:write: Run prettier on all files to format them.
  • yarn depcheck: Check for missing or unused dependencies.
  • yarn deduplicate: Deduplicate dependencies in the yarn.lock file.
  • yarn changeset: Generate a changeset that provides a description of a change.
  • yarn docker:build: Builds a container from the output of yarn build.

Versioning

This package uses automated versioning. Each change should be accompanied with a specification of the impact (patch, minor, or major) and a description of the change. Use yarn changeset to generate a new changeset for a pull request. Learn more in the .changeset folder.

Once the change is merged to main, a “Version Packages” pull request will be created. As soon as the project maintainers merged it, the package will be released and the container is published.

License

This project is licensed under APACHE 2.0.

Sponsors

openDesk      Nordeck

This project is part of openDesk.