diff --git a/packages/element-web-module-api/Dockerfile b/packages/element-web-module-api/Dockerfile new file mode 100644 index 0000000000..93d2e32ab4 --- /dev/null +++ b/packages/element-web-module-api/Dockerfile @@ -0,0 +1,21 @@ +ARG ELEMENT_VERSION=latest + +FROM --platform=$BUILDPLATFORM node:lts-alpine AS builder + +ARG BUILD_CONTEXT + +RUN apk add --no-cache jq + +WORKDIR /app +COPY package.json yarn.lock ./ +COPY ./$BUILD_CONTEXT/package.json ./$BUILD_CONTEXT/ +RUN yarn install --frozen-lockfile --ignore-scripts +COPY tsconfig.json ./ +COPY ./$BUILD_CONTEXT ./$BUILD_CONTEXT +RUN cd $BUILD_CONTEXT && yarn vite build +RUN mkdir /modules +RUN cp -r ./$BUILD_CONTEXT/lib/ /modules/$(jq -r '"\(.name)-v\(.version)"' ./$BUILD_CONTEXT/package.json) + +FROM ghcr.io/element-hq/element-web:${ELEMENT_VERSION} + +COPY --from=builder /modules /tmp/element-web-modules/ \ No newline at end of file diff --git a/packages/element-web-module-api/README.md b/packages/element-web-module-api/README.md index b5cdac7d96..93186ed438 100644 --- a/packages/element-web-module-api/README.md +++ b/packages/element-web-module-api/README.md @@ -52,6 +52,10 @@ class ExampleModule implements Module { // ... ``` +## Releases + +The API is versioned using semver, with the major version incremented for breaking changes. + ## Copyright & License Copyright (c) 2025 New Vector Ltd