fix: Fix product page syntax errors

1. Remove duplicate/broken code in product tables section
2. Fix PostCSS config for Tailwind 4
3. Add @tailwindcss/postcss dependency
4. Remove --production flag from Dockerfile (sharp required)

All fixes enable successful Docker build with favicon working.
This commit is contained in:
Kunthawat Greethong
2026-03-03 14:57:46 +07:00
parent a26dad6159
commit 6562a1748f
10139 changed files with 1502525 additions and 19 deletions

20
node_modules/astro/dist/vite-plugin-utils/index.d.ts generated vendored Normal file
View File

@@ -0,0 +1,20 @@
import type { AstroConfig } from '../types/public/config.js';
export declare function getFileInfo(id: string, config: AstroConfig): {
fileId: string;
fileUrl: string | undefined;
};
/**
* Normalizes different file names like:
*
* - /@fs/home/user/project/src/pages/index.astro
* - /src/pages/index.astro
*
* as absolute file paths with forward slashes.
*/
export declare function normalizeFilename(filename: string, root: URL): string;
export declare function cleanUrl(url: string): string;
/**
* Detect `?url`, `?raw`, and `?direct`, in which case we usually want to skip
* transforming any code with this queries as Vite will handle it directly.
*/
export declare function hasSpecialQueries(id: string): boolean;

45
node_modules/astro/dist/vite-plugin-utils/index.js generated vendored Normal file
View File

@@ -0,0 +1,45 @@
import { fileURLToPath } from "node:url";
import ancestor from "common-ancestor-path";
import {
appendExtension,
appendForwardSlash,
removeLeadingForwardSlashWindows
} from "../core/path.js";
import { viteID } from "../core/util.js";
function getFileInfo(id, config) {
const sitePathname = appendForwardSlash(
config.site ? new URL(config.base, config.site).pathname : config.base
);
const fileId = id.split("?")[0];
let fileUrl = fileId.includes("/pages/") ? fileId.replace(/^.*?\/pages\//, sitePathname).replace(/(?:\/index)?\.(?:md|markdown|mdown|mkdn|mkd|mdwn|astro)$/, "") : void 0;
if (fileUrl && config.trailingSlash === "always") {
fileUrl = appendForwardSlash(fileUrl);
}
if (fileUrl && config.build.format === "file") {
fileUrl = appendExtension(fileUrl, "html");
}
return { fileId, fileUrl };
}
function normalizeFilename(filename, root) {
if (filename.startsWith("/@fs")) {
filename = filename.slice("/@fs".length);
} else if (filename.startsWith("/") && !ancestor(filename, fileURLToPath(root))) {
const url = new URL("." + filename, root);
filename = viteID(url);
}
return removeLeadingForwardSlashWindows(filename);
}
const postfixRE = /[?#].*$/s;
function cleanUrl(url) {
return url.replace(postfixRE, "");
}
const specialQueriesRE = /(?:\?|&)(?:url|raw|direct)(?:&|$)/;
function hasSpecialQueries(id) {
return specialQueriesRE.test(id);
}
export {
cleanUrl,
getFileInfo,
hasSpecialQueries,
normalizeFilename
};