mirror of
https://github.com/alexbelgium/hassio-addons.git
synced 2026-09-10 03:39:09 +02:00
fix(mealie): build the frontend with pnpm and the upstream lockfile (#3046)
* fix(mealie): build the frontend with pnpm and the upstream lockfile Upstream mealie migrated frontend/ from yarn to pnpm in v3.24.0 and deleted frontend/yarn.lock. Our builder stage kept running "yarn install --frozen-lockfile", which silently degraded to a fresh, unpinned resolution of every dependency. That worked until a newer vuetify 4.x release dropped the "vuetify/labs/rules" entry point, at which point "nuxt generate" failed with: Rolldown failed to resolve import "vuetify/labs/rules" from "virtual:nuxt:.nuxt%2Fvuetify-nuxt-plugin.client.mjs" and the v3.25.1 updater build was reverted. Mirror upstream's docker/Dockerfile frontend stage instead: node:24, a global pnpm@11, and "pnpm install --frozen-lockfile" against the committed pnpm-lock.yaml, so the dependency set is the one upstream tests. Also copy the frontend tree with "cp -a frontend/." so dotfiles such as .nuxtignore come across, and shallow-clone the tag. Bumps the add-on to v3.25.1, the version the updater bot could not build. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> * chore: record the shipped upstream release in updater.json Each PR publishes an upstream version the updater bot had already selected before CI reverted its commit, but updater.json still recorded the previous one. The updater reads upstream_version as CURRENT and enters its update path whenever it differs from the latest tag, so its next run would process the same release again and derive a synthetic trailing-.1 version, producing a redundant release, a duplicate CHANGELOG entry and a wasted build. These values are exactly what the bot itself wrote in the reverted commit; this restores its own record for a release now being shipped rather than choosing a new one. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -1,4 +1,8 @@
|
||||
|
||||
## v3.25.1 (2026-09-05)
|
||||
- Update to latest version from mealie-recipes/mealie (changelog : https://github.com/mealie-recipes/mealie/releases)
|
||||
- Build the ingress frontend with pnpm and the upstream lockfile: upstream dropped frontend/yarn.lock in v3.24.0, so the previous yarn install resolved dependencies unpinned and the build broke on a vuetify release without "vuetify/labs/rules"
|
||||
|
||||
## v3.24.0 (2026-08-29)
|
||||
- Update to latest version from mealie-recipes/mealie (changelog : https://github.com/mealie-recipes/mealie/releases)
|
||||
|
||||
|
||||
@@ -15,24 +15,30 @@
|
||||
#################
|
||||
|
||||
# Stage 1: Build Frontend with SUB_PATH
|
||||
FROM node:22 AS frontend-builder
|
||||
# Mirrors upstream docker/Dockerfile: node:24 + pnpm, installing from the
|
||||
# committed pnpm-lock.yaml. Upstream dropped frontend/yarn.lock in v3.24.0, so a
|
||||
# yarn install here resolved every dependency fresh and eventually picked a
|
||||
# vuetify release without "vuetify/labs/rules", breaking "nuxt generate".
|
||||
FROM node:24 AS frontend-builder
|
||||
|
||||
# Set the SUB_PATH environment variable
|
||||
ARG SUB_PATH="/mealie/"
|
||||
ENV SUB_PATH=$SUB_PATH
|
||||
|
||||
ENV MEALIE_VERSION="v3.24.0"
|
||||
ENV MEALIE_VERSION="v3.25.1"
|
||||
|
||||
RUN npm install --global pnpm@11
|
||||
|
||||
# Clone the Mealie repository to get the frontend source code
|
||||
WORKDIR /frontend
|
||||
# hadolint ignore=DL3003
|
||||
RUN mkdir -p /frontend/tempdir && cd /frontend/tempdir && \
|
||||
git clone --branch "$MEALIE_VERSION" https://github.com/mealie-recipes/mealie.git . && \
|
||||
cp -rf frontend/* /frontend && cd /frontend && rm -rf tempdir && \
|
||||
yarn install --prefer-offline --frozen-lockfile --non-interactive --production=false --network-timeout 1000000
|
||||
git clone --depth 1 --branch "$MEALIE_VERSION" https://github.com/mealie-recipes/mealie.git . && \
|
||||
cp -a frontend/. /frontend/ && cd /frontend && rm -rf tempdir && \
|
||||
pnpm install --frozen-lockfile
|
||||
|
||||
# Build the frontend
|
||||
RUN yarn generate
|
||||
RUN pnpm generate
|
||||
|
||||
# Stage 2: Build the Final Image
|
||||
FROM hkotel/mealie:latest
|
||||
|
||||
@@ -114,4 +114,4 @@ schema:
|
||||
slug: mealie
|
||||
udev: true
|
||||
url: https://github.com/alexbelgium/hassio-addons
|
||||
version: "v3.24.0"
|
||||
version: "v3.25.1"
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
{
|
||||
"github_beta": "true",
|
||||
"github_fulltag": "true",
|
||||
"last_update": "2026-08-29",
|
||||
"last_update": "2026-09-05",
|
||||
"paused": "false",
|
||||
"repository": "alexbelgium/hassio-addons",
|
||||
"slug": "mealie",
|
||||
"source": "github",
|
||||
"upstream_repo": "mealie-recipes/mealie",
|
||||
"upstream_version": "v3.24.0"
|
||||
"upstream_version": "v3.25.1"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user