import { defineConfig } from 'astro/config' import vue from '@astrojs/vue' import tailwind from '@astrojs/tailwind' // Astro Netlify Reference // https://github.com/withastro/astro/tree/main/packages/integrations/netlify import netlify from '@astrojs/netlify/functions' // import sitemap from '@astrojs/sitemap' import partytown from '@astrojs/partytown' import tsconfigPaths from 'vite-tsconfig-paths' // import { viteCommonjs } from '@originjs/vite-plugin-commonjs' import { makeViteDefinitions } from './helpers/public-runtime-config.mjs' // yarn add --dev @esbuild-plugins/node-globals-polyfill // import { NodeGlobalsPolyfillPlugin } from '@esbuild-plugins/node-globals-polyfill' // yarn add --dev @esbuild-plugins/node-modules-polyfill // import { NodeModulesPolyfillPlugin } from '@esbuild-plugins/node-modules-polyfill' // You don't need to add this to deps, it's included by @esbuild-plugins/node-modules-polyfill // import rollupNodePolyFill from 'rollup-plugin-node-polyfills' console.log( 'Running Astro Config File' ) // https://astro.build/config export default defineConfig({ publicDir: './static', site: 'https://doesitarm.com', integrations: [ netlify({ dist: new URL('./dist/', import.meta.url) }), // Astro Vue Reference // https://github.com/withastro/astro/tree/main/packages/integrations/vue vue(), tailwind(), // Sitemap Reference // https://github.com/withastro/astro/blob/main/packages/integrations/sitemap/src/index.ts // https://github.com/withastro/astro/tree/main/packages/integrations/sitemap#configuration // sitemap({ // customPages: [ // '/relative-url', // 'https://doesitarm.com/absolute-url', // ] // }) partytown({ // Add dataLayer.push as a forwarding-event. // https://github.com/withastro/astro/tree/main/packages/integrations/partytown#configforward config: { forward: [ 'dataLayer.push' ] }, }), ], // Vite options // https://docs.astro.build/en/reference/configuration-reference/#vite vite: { // Vite: https://vitejs.dev/config/#define // esbuild: https://esbuild.github.io/api/#define define: { ...makeViteDefinitions() }, plugins: [ tsconfigPaths(), // viteCommonjs() ], resolve: { alias: { // This Rollup aliases are extracted from @esbuild-plugins/node-modules-polyfill, // see https://github.com/remorses/esbuild-plugins/blob/master/node-modules-polyfill/src/polyfills.ts // process and buffer are excluded because already managed // by node-globals-polyfill // util: 'rollup-plugin-node-polyfills/polyfills/util', // sys: 'util', // events: 'rollup-plugin-node-polyfills/polyfills/events', // stream: 'rollup-plugin-node-polyfills/polyfills/stream', // path: 'rollup-plugin-node-polyfills/polyfills/path', // querystring: 'rollup-plugin-node-polyfills/polyfills/qs', // punycode: 'rollup-plugin-node-polyfills/polyfills/punycode', // url: 'rollup-plugin-node-polyfills/polyfills/url', // string_decoder: // 'rollup-plugin-node-polyfills/polyfills/string-decoder', // http: 'rollup-plugin-node-polyfills/polyfills/http', // https: 'rollup-plugin-node-polyfills/polyfills/http', // os: 'rollup-plugin-node-polyfills/polyfills/os', // assert: 'rollup-plugin-node-polyfills/polyfills/assert', // constants: 'rollup-plugin-node-polyfills/polyfills/constants', // _stream_duplex: // 'rollup-plugin-node-polyfills/polyfills/readable-stream/duplex', // _stream_passthrough: // 'rollup-plugin-node-polyfills/polyfills/readable-stream/passthrough', // _stream_readable: // 'rollup-plugin-node-polyfills/polyfills/readable-stream/readable', // _stream_writable: // 'rollup-plugin-node-polyfills/polyfills/readable-stream/writable', // _stream_transform: // 'rollup-plugin-node-polyfills/polyfills/readable-stream/transform', // timers: 'rollup-plugin-node-polyfills/polyfills/timers', // console: 'rollup-plugin-node-polyfills/polyfills/console', // vm: 'rollup-plugin-node-polyfills/polyfills/vm', // zlib: 'rollup-plugin-node-polyfills/polyfills/zlib', // tty: 'rollup-plugin-node-polyfills/polyfills/tty', // domain: 'rollup-plugin-node-polyfills/polyfills/domain' } }, optimizeDeps: { esbuildOptions: { // Node.js global to browser globalThis // define: { // global: 'globalThis', // }, // Enable esbuild polyfill plugins plugins: [ // NodeGlobalsPolyfillPlugin({ // // process: true, // buffer: true // }), // NodeModulesPolyfillPlugin() ] } }, build: { commonjsOptions: { transformMixedEsModules: true }, rollupOptions: { plugins: [ // Enable rollup polyfills plugin // used during production bundling // rollupNodePolyFill() ] } } } })