diff --git a/Dockerfile b/Dockerfile index 7f4ebc2d15..4d0670731d 100644 --- a/Dockerfile +++ b/Dockerfile @@ -45,7 +45,10 @@ COPY --chown=hermes:hermes . . # Build browser dashboard and terminal UI assets. RUN cd web && npm run build && \ - cd ../ui-tui && npm run build + cd ../ui-tui && npm run build && \ + rm -rf node_modules/@hermes/ink && \ + cp -R packages/hermes-ink node_modules/@hermes/ink && \ + node -e "import('@hermes/ink')" # ---------- Permissions ---------- # Make install dir world-readable so any HERMES_UID can read it at runtime. diff --git a/tests/tools/test_dockerfile_pid1_reaping.py b/tests/tools/test_dockerfile_pid1_reaping.py index 7538162798..57400c6e44 100644 --- a/tests/tools/test_dockerfile_pid1_reaping.py +++ b/tests/tools/test_dockerfile_pid1_reaping.py @@ -122,3 +122,13 @@ def test_dockerfile_builds_tui_assets(dockerfile_text): and "run build" in step for step in _run_steps(dockerfile_text) ) + + +def test_dockerfile_materializes_local_tui_ink_package(dockerfile_text): + assert any( + "ui-tui" in step + and "node_modules/@hermes/ink" in step + and "packages/hermes-ink" in step + and "import('@hermes/ink')" in step + for step in _run_steps(dockerfile_text) + )