Fix Docker build #57

Merged
an.di merged 1 commits from adilallo/FixDockerBuild into main 2026-05-23 20:30:33 +00:00
Owner

Fix Docker build: regenerate lockfile on Linux, upgrade Storybook lint plugin

The first release attempt failed: npm ci inside node:20-bookworm-slim
rejected the lockfile because (a) it was generated on darwin-arm64 and
only contained darwin native binaries, and (b) eslint-plugin-storybook@9
peers storybook@^9 while we run storybook@10.

  • Regenerate package-lock.json inside a clean Linux container so
    platform-specific natives (lightningcss-linux--gnu, @tailwindcss/oxide-
    linux-
    -gnu, @next/swc-linux-*-gnu, etc.) land in the lockfile.
  • Upgrade eslint-plugin-storybook 9 -> 10.4.1 (released for Storybook 10).
  • Add @storybook/react and @testing-library/dom as explicit devDeps; the
    new transitive hoist depths break top-level imports otherwise.
  • Drop the stale knip ignore for @storybook/react.
  • Switch the Dockerfile deps stage from npm ci --ignore-scripts to
    npm install. The lockfile records sub-tree resolutions inconsistently
    between npm 10/11 and darwin/linux; npm install is still bounded by
    the lockfile but tolerates the platform-specific reshuffles Next.js
    needs at build time.
  • Copy prisma/ into the deps stage so the project postinstall succeeds
    and the explicit npx prisma generate step in the builder stage is
    no longer needed.

Verified: docker build, tsc, storybook:build, knip, vitest (1238 tests).

Fix Docker build: regenerate lockfile on Linux, upgrade Storybook lint plugin The first release attempt failed: `npm ci` inside `node:20-bookworm-slim` rejected the lockfile because (a) it was generated on darwin-arm64 and only contained darwin native binaries, and (b) `eslint-plugin-storybook@9` peers `storybook@^9` while we run `storybook@10`. - Regenerate package-lock.json inside a clean Linux container so platform-specific natives (lightningcss-linux-*-gnu, @tailwindcss/oxide- linux-*-gnu, @next/swc-linux-*-gnu, etc.) land in the lockfile. - Upgrade eslint-plugin-storybook 9 -> 10.4.1 (released for Storybook 10). - Add @storybook/react and @testing-library/dom as explicit devDeps; the new transitive hoist depths break top-level imports otherwise. - Drop the stale knip ignore for @storybook/react. - Switch the Dockerfile deps stage from `npm ci --ignore-scripts` to `npm install`. The lockfile records sub-tree resolutions inconsistently between npm 10/11 and darwin/linux; `npm install` is still bounded by the lockfile but tolerates the platform-specific reshuffles Next.js needs at build time. - Copy prisma/ into the deps stage so the project postinstall succeeds and the explicit `npx prisma generate` step in the builder stage is no longer needed. Verified: docker build, tsc, storybook:build, knip, vitest (1238 tests).
an.di added 1 commit 2026-05-23 20:30:16 +00:00
an.di self-assigned this 2026-05-23 20:30:22 +00:00
an.di merged commit 528ee0e2d9 into main 2026-05-23 20:30:33 +00:00
an.di deleted branch adilallo/FixDockerBuild 2026-05-23 20:30:33 +00:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: CommunityRule/community-rule#57