From 598f6ff9d1f9d44980ed182ea8a3e5fcd3779e52 Mon Sep 17 00:00:00 2001 From: kyy Date: Tue, 19 May 2026 15:13:36 +0900 Subject: [PATCH] =?UTF-8?q?=EA=B3=B5=EC=9C=A0=20node=5Fmodules=20=EC=84=A4?= =?UTF-8?q?=EC=B9=98=20=EC=B6=A9=EB=8F=8C=20=EB=B0=A9=EC=A7=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- adminfront/scripts/runtime-mode.sh | 16 ++++++++++++ common/package-lock.json | 42 +++++++++++++++--------------- devfront/scripts/runtime-mode.sh | 16 ++++++++++++ orgfront/scripts/runtime-mode.sh | 16 ++++++++++++ 4 files changed, 69 insertions(+), 21 deletions(-) diff --git a/adminfront/scripts/runtime-mode.sh b/adminfront/scripts/runtime-mode.sh index 075505c8..fd466e85 100644 --- a/adminfront/scripts/runtime-mode.sh +++ b/adminfront/scripts/runtime-mode.sh @@ -51,6 +51,21 @@ ensure_frontend_dependencies() { return 0 fi + acquire_install_lock() { + lock_file="$WORKSPACE_DIR/.baron-deps-install.lock" + + if command -v flock >/dev/null 2>&1; then + exec 9>"$lock_file" + flock 9 + return 0 + fi + + while ! mkdir "$lock_file" 2>/dev/null; do + sleep 1 + done + trap 'rmdir "$lock_file" >/dev/null 2>&1 || true' EXIT INT TERM + } + if command -v sha256sum >/dev/null 2>&1; then deps_hash="$(sha256sum "$WORKSPACE_DIR/package.json" "$LOCK_FILE" 2>/dev/null | sha256sum | awk '{print $1}')" else @@ -61,6 +76,7 @@ ensure_frontend_dependencies() { if [ "$installed_hash" != "$deps_hash" ]; then echo "Installing frontend dependencies..." + acquire_install_lock if [ "$WORKSPACE_DIR" = "/workspace/common" ]; then (cd /workspace/common && pnpm install --filter "${APP_WORKSPACE_FILTER}..." --frozen-lockfile --ignore-scripts) else diff --git a/common/package-lock.json b/common/package-lock.json index a87ff1b7..04c0031f 100644 --- a/common/package-lock.json +++ b/common/package-lock.json @@ -2423,9 +2423,9 @@ "license": "MIT" }, "node_modules/@tanstack/query-core": { - "version": "5.100.10", - "resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-5.100.10.tgz", - "integrity": "sha512-8UR0yJR+GiQ40m3lPhUr0xbfAupe6GSQiksSBSa9SM2NjezFyxXCIA69/lz8cSoNKZLrw1/PktIyQBJcVeMi3w==", + "version": "5.100.11", + "resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-5.100.11.tgz", + "integrity": "sha512-lmE0994apShXPj8CUxgx4ch5yUJhE9k/+tVwihBvPOyerACWdBocfFg24t8+0RhtlTd7tEgchDkhlCxNssvDxw==", "license": "MIT", "funding": { "type": "github", @@ -2433,9 +2433,9 @@ } }, "node_modules/@tanstack/query-devtools": { - "version": "5.100.10", - "resolved": "https://registry.npmjs.org/@tanstack/query-devtools/-/query-devtools-5.100.10.tgz", - "integrity": "sha512-3DmJf25hDPus5IpVvp6ujXv6bKV2zPzI9vpbAmpJigsL/H6DPvPjmf7/Q9yVKEke//8fgeQ45abjgnLuyYxAiw==", + "version": "5.100.11", + "resolved": "https://registry.npmjs.org/@tanstack/query-devtools/-/query-devtools-5.100.11.tgz", + "integrity": "sha512-47rVBDuGMW/A4ekt3YQdz+q0JSIwktwGnWCYyQUvSs2/g/Oa+6Fi2/IQk4/Y4vf6u1uwI7hOogHslgMC8f3X/Q==", "license": "MIT", "funding": { "type": "github", @@ -2443,12 +2443,12 @@ } }, "node_modules/@tanstack/react-query": { - "version": "5.100.10", - "resolved": "https://registry.npmjs.org/@tanstack/react-query/-/react-query-5.100.10.tgz", - "integrity": "sha512-FLaZf2RCrA/Zgp4aiu5tG3TyasTRO7aZ99skxQpr3Hg/zXOhu6yq5FZCYQ/tRaJtM9ylnoK8tFK7PolXQadv6Q==", + "version": "5.100.11", + "resolved": "https://registry.npmjs.org/@tanstack/react-query/-/react-query-5.100.11.tgz", + "integrity": "sha512-J0f9s5x3LE1450nNNfYx+e/n0DMa0uOBdFJUy5r0RvmsXd4nB/n0rbHtHI1vYXhikNFan+wf51p6Tmp4c8ucrg==", "license": "MIT", "dependencies": { - "@tanstack/query-core": "5.100.10" + "@tanstack/query-core": "5.100.11" }, "funding": { "type": "github", @@ -2459,19 +2459,19 @@ } }, "node_modules/@tanstack/react-query-devtools": { - "version": "5.100.10", - "resolved": "https://registry.npmjs.org/@tanstack/react-query-devtools/-/react-query-devtools-5.100.10.tgz", - "integrity": "sha512-zes0+o9ef5rAZXJ9f/SeaLs2nufJaeVkZkl/Or9NGrWVF41kL9Od9ED9nCwtQlgiF2VGtrzhEw5AU/igAO+aAg==", + "version": "5.100.11", + "resolved": "https://registry.npmjs.org/@tanstack/react-query-devtools/-/react-query-devtools-5.100.11.tgz", + "integrity": "sha512-75RFlJEG53Ed/Cxe5WLmgIpOElPNpgLZq7h0fLFnM5XwTYxSTk1rX/gC6MqGVXsSdrbP7zn7hPSJx9MinwiUHA==", "license": "MIT", "dependencies": { - "@tanstack/query-devtools": "5.100.10" + "@tanstack/query-devtools": "5.100.11" }, "funding": { "type": "github", "url": "https://github.com/sponsors/tannerlinsley" }, "peerDependencies": { - "@tanstack/react-query": "^5.100.10", + "@tanstack/react-query": "^5.100.11", "react": "^18 || ^19" } }, @@ -2798,9 +2798,9 @@ } }, "node_modules/baseline-browser-mapping": { - "version": "2.10.30", - "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.30.tgz", - "integrity": "sha512-xjOFN16Ha1+Rz4nFYKqHU/LSB+gx/Vi3yQLX7r7sAW+Wa+8hhF2h4pvqTrTMc8+WcDBEunnUurr46Jvv0jk3Vg==", + "version": "2.10.31", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.31.tgz", + "integrity": "sha512-MujYO3eP72uvmSE0i4wltsodRfIpZATP3jvzRNRGGxgzId7aVocVJJV3nf01qnzzKFGxQVC9bpWxl5cjxTr/7Q==", "dev": true, "license": "Apache-2.0", "bin": { @@ -3164,9 +3164,9 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.5.357", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.357.tgz", - "integrity": "sha512-NHlTIQDK8fmVwHwuIzmXYEJ1Ewq3D9wDNc0cWXxDGysP6Pb21giwGNkxiTifyKy/4SoPuN5l6GLP1W9Sv7zB2g==", + "version": "1.5.359", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.359.tgz", + "integrity": "sha512-8lPELWuYZIWk7NDvCNthtmMw/7Q5Wu25NpM4djFMHBmk8DubPAtL4YTOp7ou0e7HyJtwkVlWv8XMLURnrtgJQw==", "dev": true, "license": "ISC" }, diff --git a/devfront/scripts/runtime-mode.sh b/devfront/scripts/runtime-mode.sh index f6e7b03e..1582472c 100644 --- a/devfront/scripts/runtime-mode.sh +++ b/devfront/scripts/runtime-mode.sh @@ -51,6 +51,21 @@ ensure_frontend_dependencies() { return 0 fi + acquire_install_lock() { + lock_file="$WORKSPACE_DIR/.baron-deps-install.lock" + + if command -v flock >/dev/null 2>&1; then + exec 9>"$lock_file" + flock 9 + return 0 + fi + + while ! mkdir "$lock_file" 2>/dev/null; do + sleep 1 + done + trap 'rmdir "$lock_file" >/dev/null 2>&1 || true' EXIT INT TERM + } + if command -v sha256sum >/dev/null 2>&1; then deps_hash="$(sha256sum "$WORKSPACE_DIR/package.json" "$LOCK_FILE" 2>/dev/null | sha256sum | awk '{print $1}')" else @@ -61,6 +76,7 @@ ensure_frontend_dependencies() { if [ "$installed_hash" != "$deps_hash" ]; then echo "Installing frontend dependencies..." + acquire_install_lock if [ "$WORKSPACE_DIR" = "/workspace/common" ]; then (cd /workspace/common && pnpm install --filter "${APP_WORKSPACE_FILTER}..." --frozen-lockfile --ignore-scripts) else diff --git a/orgfront/scripts/runtime-mode.sh b/orgfront/scripts/runtime-mode.sh index ca677fa6..2407c4af 100644 --- a/orgfront/scripts/runtime-mode.sh +++ b/orgfront/scripts/runtime-mode.sh @@ -51,6 +51,21 @@ ensure_frontend_dependencies() { return 0 fi + acquire_install_lock() { + lock_file="$WORKSPACE_DIR/.baron-deps-install.lock" + + if command -v flock >/dev/null 2>&1; then + exec 9>"$lock_file" + flock 9 + return 0 + fi + + while ! mkdir "$lock_file" 2>/dev/null; do + sleep 1 + done + trap 'rmdir "$lock_file" >/dev/null 2>&1 || true' EXIT INT TERM + } + if command -v sha256sum >/dev/null 2>&1; then deps_hash="$(sha256sum "$WORKSPACE_DIR/package.json" "$LOCK_FILE" 2>/dev/null | sha256sum | awk '{print $1}')" else @@ -61,6 +76,7 @@ ensure_frontend_dependencies() { if [ "$installed_hash" != "$deps_hash" ]; then echo "Installing frontend dependencies..." + acquire_install_lock if [ "$WORKSPACE_DIR" = "/workspace/common" ]; then (cd /workspace/common && pnpm install --filter "${APP_WORKSPACE_FILTER}..." --frozen-lockfile --ignore-scripts) else