41 lines
1.2 KiB
JavaScript
41 lines
1.2 KiB
JavaScript
import { defineConfig } from 'astro/config';
|
|
import sitemap from '@astrojs/sitemap';
|
|
import { loadEnv } from "vite";
|
|
import { ALL_PRODUCTS } from './src/data/products';
|
|
import react from "@astrojs/react";
|
|
const {
|
|
SITE_URL
|
|
} = loadEnv(process.env.NODE_ENV, process.cwd(), "");
|
|
function generateRedirectsForAmazonProductIds() {
|
|
let redirects = {};
|
|
for (let p = 0; p < ALL_PRODUCTS.length; p++) {
|
|
let product = ALL_PRODUCTS[p];
|
|
if (product.amazonProductId && product.slug !== product.amazonProductId) {
|
|
redirects[`/${product.amazonProductId}`] = `/${product.slug}`;
|
|
}
|
|
}
|
|
return redirects;
|
|
}
|
|
|
|
|
|
// https://astro.build/config
|
|
export default defineConfig({
|
|
site: SITE_URL || 'http://localhost',
|
|
integrations: [sitemap(), react()],
|
|
redirects: generateRedirectsForAmazonProductIds()
|
|
// vite: {
|
|
// resolve: {
|
|
// alias: [
|
|
// { find: /^swiper\/(.+)/, replacement: 'swiper/$1 '},
|
|
// ],
|
|
// },
|
|
// },
|
|
// experimental: {
|
|
// resolveId: (id) => {
|
|
// if (id === 'swiper') {
|
|
// return './node_modules/swiper/swiper.esm.js';
|
|
// }
|
|
// return null;
|
|
// }
|
|
// }
|
|
}); |