import {defineConfig, sharpImageService} from "astro/config";
import svelte from "@astrojs/svelte";
import tailwind from "@astrojs/tailwind";
import configureI18n from "./astro-i18n.adapter";
import sitemap from "@astrojs/sitemap";

import robotsTxt from "astro-robots-txt";
import {resolve} from "node:url";
import path from "node:path";
import mdx from "@astrojs/mdx";

// https://astro.build/config
export default defineConfig({
    output: "static",
    image: {
        service: sharpImageService(),
    },
    compressHTML: true,
    site: "https://steamwar.de",
    integrations: [
        svelte(),
        tailwind({
            configFile: "./tailwind.config.cjs",
        }),
        configureI18n(),
        sitemap({
            i18n: {
                defaultLocale: "en", locales: {
                    en: "en-US", de: "de-DE",
                },
            },
        }),
        robotsTxt({
            policy: [{
                userAgent: "*", disallow: ["/admin", "/login", "/dashboard", "/de", "/_astro"],
            }],
        }),
        mdx()
    ],
    vite: {
        resolve: {
            alias: {
                "@components": path.resolve("./src/components"),
                "@pages": path.resolve("./src/pages"),
                "@styles": path.resolve("./src/styles"),
                "@utils": path.resolve("./src/util"),
                "@type": path.resolve("./src/components/types"),
                "@images": path.resolve("./src/images"),
                "@layouts": path.resolve("./src/layouts"),
                "@repo": path.resolve("./src/components/repo"),
                "@stores": path.resolve("./src/components/stores"),
            },
        },
    },
});