Fix: anchor lib/ ignore patterns to repo root, add web/src/lib/utils.ts

The catch-all `lib/` pattern in both .gitignore and .dockerignore (intended
to exclude Python venv lib dirs) silently swallowed `web/src/lib/utils.ts`.
That's why every Docker build got "ENOENT /web/src/lib/utils" — the file
was never committed and never copied into the container, but local builds
worked because the file existed on disk.

Anchor `lib/` and `lib64/` to the repo root with `/lib/` and `/lib64/`,
then add the previously-ignored utils.ts.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-04-25 12:55:52 +00:00
parent 5718b8dfc9
commit e4e2fa5bc8
3 changed files with 37 additions and 4 deletions
+2 -2
View File
@@ -15,8 +15,8 @@ dist/
downloads/
eggs/
.eggs/
lib/
lib64/
/lib/
/lib64/
parts/
sdist/
var/
+2 -2
View File
@@ -154,8 +154,8 @@ dist/
downloads/
eggs/
.eggs/
lib/
lib64/
/lib/
/lib64/
parts/
sdist/
var/
+33
View File
@@ -0,0 +1,33 @@
import { type ClassValue, clsx } from "clsx";
import { twMerge } from "tailwind-merge";
export function cn(...inputs: ClassValue[]) {
return twMerge(clsx(inputs));
}
export function formatCurrencyILS(amount: number | null | undefined): string {
if (amount == null || isNaN(amount)) return "—";
return new Intl.NumberFormat("he-IL", {
style: "currency",
currency: "ILS",
maximumFractionDigits: 0,
}).format(amount);
}
export function formatDate(iso: string | null | undefined): string {
if (!iso) return "—";
try {
return new Date(iso).toLocaleDateString("he-IL", {
year: "numeric",
month: "2-digit",
day: "2-digit",
});
} catch {
return iso;
}
}
export function formatNumber(n: number | null | undefined): string {
if (n == null || isNaN(n)) return "—";
return new Intl.NumberFormat("he-IL").format(n);
}