diff --git a/astro.config.mjs b/astro.config.mjs index 9e1adfc..0de0137 100644 --- a/astro.config.mjs +++ b/astro.config.mjs @@ -1,13 +1,10 @@ // @ts-check import { defineConfig } from "astro/config"; - import vue from "@astrojs/vue"; - import node from "@astrojs/node"; - import tailwindcss from "@tailwindcss/vite"; - import icon from "astro-icon"; +import yeskunallumami from "@yeskunall/astro-umami"; // https://astro.build/config export default defineConfig({ @@ -16,7 +13,23 @@ export default defineConfig({ build: { inlineStylesheets: "always", }, - integrations: [vue(), icon()], + integrations: [ + vue(), + icon(), + yeskunallumami({ + id: "c7e24af4-5f14-4881-9c25-85a97abda9f1", + hostUrl: "https://analytics.atri.dad", + withPartytown: true, + }), + ], + + security: { + csp: { + scriptDirective: { + resources: ["'self'"], + }, + }, + }, adapter: node({ mode: "standalone", diff --git a/package.json b/package.json index 8cb4afc..555e1d2 100644 --- a/package.json +++ b/package.json @@ -10,11 +10,13 @@ }, "dependencies": { "@astrojs/node": "10.0.0-beta.0", + "@astrojs/partytown": "^2.1.4", "@astrojs/vue": "6.0.0-beta.0", "@fontsource-variable/inter": "^5.2.8", "@fontsource-variable/roboto-slab": "^5.2.8", "@heroicons/vue": "^2.2.0", "@tailwindcss/vite": "^4.1.18", + "@yeskunall/astro-umami": "^0.0.7", "astro": "6.0.0-beta.6", "astro-icon": "^1.1.5", "motion-v": "^1.10.2", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f81c97f..5350391 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -11,6 +11,9 @@ importers: '@astrojs/node': specifier: 10.0.0-beta.0 version: 10.0.0-beta.0(astro@6.0.0-beta.6(@types/node@25.1.0)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@4.57.1)(typescript@5.7.3)(yaml@2.7.0)) + '@astrojs/partytown': + specifier: ^2.1.4 + version: 2.1.4 '@astrojs/vue': specifier: 6.0.0-beta.0 version: 6.0.0-beta.0(@types/node@25.1.0)(astro@6.0.0-beta.6(@types/node@25.1.0)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@4.57.1)(typescript@5.7.3)(yaml@2.7.0))(jiti@2.6.1)(lightningcss@1.30.2)(rollup@4.57.1)(vue@3.5.27(typescript@5.7.3))(yaml@2.7.0) @@ -26,6 +29,9 @@ importers: '@tailwindcss/vite': specifier: ^4.1.18 version: 4.1.18(vite@7.3.1(@types/node@25.1.0)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.7.0)) + '@yeskunall/astro-umami': + specifier: ^0.0.7 + version: 0.0.7(astro@6.0.0-beta.6(@types/node@25.1.0)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@4.57.1)(typescript@5.7.3)(yaml@2.7.0)) astro: specifier: 6.0.0-beta.6 version: 6.0.0-beta.6(@types/node@25.1.0)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@4.57.1)(typescript@5.7.3)(yaml@2.7.0) @@ -83,6 +89,9 @@ packages: peerDependencies: astro: ^6.0.0-alpha.0 + '@astrojs/partytown@2.1.4': + resolution: {integrity: sha512-loUrAu0cGYFDC6dHVRiomdsBJ41VjDYXPA+B3Br51V5hENFgDSOLju86OIj1TvBACcsB22UQV7BlppODDG5gig==} + '@astrojs/prism@4.0.0-beta.2': resolution: {integrity: sha512-3snR85nTXnXvgmFJ43AacCQcylk+mpsiQ5Gmr9hcR5IrEA6+EvaYfaF9jlxZqJIZYey/9ubSRmaERtwDhV/FeA==} engines: {node: ^20.19.1 || >=22.12.0} @@ -743,6 +752,11 @@ packages: '@polka/url@1.0.0-next.29': resolution: {integrity: sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==} + '@qwik.dev/partytown@0.11.2': + resolution: {integrity: sha512-795y49CqBiKiwKAD+QBZlzlqEK275hVcazZ7wBPSfgC23L+vWuA7PJmMpgxojOucZHzYi5rAAQ+IP1I3BKVZxw==} + engines: {node: '>=18.0.0'} + hasBin: true + '@rolldown/pluginutils@1.0.0-rc.2': resolution: {integrity: sha512-izyXV/v+cHiRfozX62W9htOAvwMo4/bXKDrQ+vom1L1qRuexPock/7VZDAhnpHCLNejd3NJ6hiab+tO0D44Rgw==} @@ -1121,6 +1135,11 @@ packages: peerDependencies: vue: ^3.5.0 + '@yeskunall/astro-umami@0.0.7': + resolution: {integrity: sha512-8W/At28qKyPGepwvVumgJX0VZ0F9KK4M4zNDQfUZ3iBJpAKUTAkdIXM7i7I+PFsP7rXOo/AVgcDXDOv9L03QhQ==} + peerDependencies: + astro: ^3.0.0 || ^4.0.0 || ^5.0.0 + acorn@8.15.0: resolution: {integrity: sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==} engines: {node: '>=0.4.0'} @@ -1397,6 +1416,10 @@ packages: domutils@3.2.2: resolution: {integrity: sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==} + dotenv@16.6.1: + resolution: {integrity: sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow==} + engines: {node: '>=12'} + dset@3.1.4: resolution: {integrity: sha512-2QF/g9/zTaPDc3BjNcVTGoBbXBgYfMTTceLaYcFJ/W9kggFUkhxD/hMEeuLKbugyef9SqAx8cpgwlIP/jinUTA==} engines: {node: '>=4'} @@ -2710,6 +2733,11 @@ snapshots: transitivePeerDependencies: - supports-color + '@astrojs/partytown@2.1.4': + dependencies: + '@qwik.dev/partytown': 0.11.2 + mrmime: 2.0.1 + '@astrojs/prism@4.0.0-beta.2': dependencies: prismjs: 1.30.0 @@ -3272,6 +3300,10 @@ snapshots: '@polka/url@1.0.0-next.29': {} + '@qwik.dev/partytown@0.11.2': + dependencies: + dotenv: 16.6.1 + '@rolldown/pluginutils@1.0.0-rc.2': {} '@rollup/pluginutils@5.3.0(rollup@4.57.1)': @@ -3641,6 +3673,10 @@ snapshots: dependencies: vue: 3.5.27(typescript@5.7.3) + '@yeskunall/astro-umami@0.0.7(astro@6.0.0-beta.6(@types/node@25.1.0)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@4.57.1)(typescript@5.7.3)(yaml@2.7.0))': + dependencies: + astro: 6.0.0-beta.6(@types/node@25.1.0)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@4.57.1)(typescript@5.7.3)(yaml@2.7.0) + acorn@8.15.0: {} ansi-align@3.0.1: @@ -3981,6 +4017,8 @@ snapshots: domelementtype: 2.3.0 domhandler: 5.0.3 + dotenv@16.6.1: {} + dset@3.1.4: {} ee-first@1.1.1: {}