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:
+2
-2
@@ -15,8 +15,8 @@ dist/
|
|||||||
downloads/
|
downloads/
|
||||||
eggs/
|
eggs/
|
||||||
.eggs/
|
.eggs/
|
||||||
lib/
|
/lib/
|
||||||
lib64/
|
/lib64/
|
||||||
parts/
|
parts/
|
||||||
sdist/
|
sdist/
|
||||||
var/
|
var/
|
||||||
|
|||||||
+2
-2
@@ -154,8 +154,8 @@ dist/
|
|||||||
downloads/
|
downloads/
|
||||||
eggs/
|
eggs/
|
||||||
.eggs/
|
.eggs/
|
||||||
lib/
|
/lib/
|
||||||
lib64/
|
/lib64/
|
||||||
parts/
|
parts/
|
||||||
sdist/
|
sdist/
|
||||||
var/
|
var/
|
||||||
|
|||||||
@@ -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);
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user