From aa870286aceda74b2569c8afb50c755fcf1a4c5d Mon Sep 17 00:00:00 2001 From: alvarosabu Date: Sun, 21 Sep 2025 13:28:18 +0200 Subject: [PATCH] feat: add @nuxt/scripts and enhance production configuration - Added `@nuxt/scripts` to `package.json` for improved script management. - Updated `nuxt.config.ts` to include a new `$production` configuration for Fathom Analytics integration, enhancing tracking capabilities. - Adjusted `pnpm-lock.yaml` to reflect the new dependencies and ensure compatibility. These changes improve the overall functionality and maintainability of the project by streamlining script handling and enhancing analytics integration. --- nuxt.config.ts | 10 +++++ package.json | 2 + pnpm-lock.yaml | 112 ++++++++++++++++++++++++++++++++++++++++--------- 3 files changed, 104 insertions(+), 20 deletions(-) diff --git a/nuxt.config.ts b/nuxt.config.ts index b397993b..06e558a7 100644 --- a/nuxt.config.ts +++ b/nuxt.config.ts @@ -12,6 +12,7 @@ export default defineNuxtConfig({ '@nuxt/image', '@nuxt/devtools', '@tresjs/nuxt', + '@nuxt/scripts', ], css: ['~/assets/styles/main.css'], @@ -56,4 +57,13 @@ export default defineNuxtConfig({ }, compatibilityDate: '2024-08-29', + $production: { + scripts: { + registry: { + fathomAnalytics: { + site: 'RCNYLVAZ', + }, + }, + }, + }, }) \ No newline at end of file diff --git a/package.json b/package.json index c74dc4b7..04fcc975 100644 --- a/package.json +++ b/package.json @@ -31,6 +31,7 @@ "@nuxt/icon": "2.0.0", "@nuxt/image": "^1.11.0", "@nuxt/kit": "^4.1.2", + "@nuxt/scripts": "0.11.13", "@nuxt/ui": "^3.3.4", "@nuxtjs/color-mode": "^3.5.2", "@tresjs/cientos": "5.0.0", @@ -39,6 +40,7 @@ "@tresjs/nuxt": "5.0.0", "@tweakpane/plugin-essentials": "^0.2.1", "@types/three": "^0.180.0", + "@unhead/vue": "^2.0.3", "gsap": "^3.13.0", "nuxt": "^4.1.2", "nuxt-svgo": "^4.2.6", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 67af063a..de595367 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -16,7 +16,7 @@ importers: version: 1.9.0(@typescript-eslint/utils@8.44.0(eslint@8.57.1)(typescript@5.9.2))(@vue/compiler-sfc@3.5.21)(eslint-import-resolver-node@0.3.9)(eslint@8.57.1)(magicast@0.3.5)(typescript@5.9.2)(vite@7.1.6(@types/node@24.1.0)(jiti@2.5.1)(lightningcss@1.30.1)(terser@5.43.1)(yaml@2.8.0)) '@nuxt/ui-pro': specifier: ^3.3.4 - version: 3.3.4(@babel/parser@7.28.4)(@netlify/blobs@9.1.2)(change-case@5.4.4)(db0@0.3.2(better-sqlite3@12.2.0))(embla-carousel@8.6.0)(ioredis@5.7.0)(jwt-decode@4.0.0)(magicast@0.3.5)(typescript@5.9.2)(vite@7.1.6(@types/node@24.1.0)(jiti@2.5.1)(lightningcss@1.30.1)(terser@5.43.1)(yaml@2.8.0))(vue-router@4.5.1(vue@3.5.21(typescript@5.9.2)))(vue@3.5.21(typescript@5.9.2))(zod@3.25.76) + version: 3.3.4(@babel/parser@7.28.4)(@netlify/blobs@9.1.2)(change-case@5.4.4)(db0@0.3.2(better-sqlite3@12.2.0))(embla-carousel@8.6.0)(ioredis@5.7.0)(jwt-decode@4.0.0)(magicast@0.3.5)(typescript@5.9.2)(valibot@1.1.0(typescript@5.9.2))(vite@7.1.6(@types/node@24.1.0)(jiti@2.5.1)(lightningcss@1.30.1)(terser@5.43.1)(yaml@2.8.0))(vue-router@4.5.1(vue@3.5.21(typescript@5.9.2)))(vue@3.5.21(typescript@5.9.2))(zod@3.25.76) '@tresjs/post-processing': specifier: 3.0.0-next.0 version: 3.0.0-next.0(@tresjs/core@5.0.0(three@0.180.0)(vue@3.5.21(typescript@5.9.2)))(three@0.180.0)(typescript@5.9.2)(vue@3.5.21(typescript@5.9.2)) @@ -59,7 +59,7 @@ importers: version: 1.2.68 '@nuxt/content': specifier: ^3.7.1 - version: 3.7.1(better-sqlite3@12.2.0)(magicast@0.3.5) + version: 3.7.1(better-sqlite3@12.2.0)(magicast@0.3.5)(valibot@1.1.0(typescript@5.9.2)) '@nuxt/fonts': specifier: 0.11.4 version: 0.11.4(@netlify/blobs@9.1.2)(db0@0.3.2(better-sqlite3@12.2.0))(ioredis@5.7.0)(magicast@0.3.5)(vite@7.1.6(@types/node@24.1.0)(jiti@2.5.1)(lightningcss@1.30.1)(terser@5.43.1)(yaml@2.8.0)) @@ -72,9 +72,12 @@ importers: '@nuxt/kit': specifier: ^4.1.2 version: 4.1.2(magicast@0.3.5) + '@nuxt/scripts': + specifier: 0.11.13 + version: 0.11.13(@netlify/blobs@9.1.2)(@unhead/vue@2.0.17(vue@3.5.21(typescript@5.9.2)))(db0@0.3.2(better-sqlite3@12.2.0))(ioredis@5.7.0)(magicast@0.3.5)(typescript@5.9.2)(vue@3.5.21(typescript@5.9.2)) '@nuxt/ui': specifier: ^3.3.4 - version: 3.3.4(@babel/parser@7.28.4)(@netlify/blobs@9.1.2)(change-case@5.4.4)(db0@0.3.2(better-sqlite3@12.2.0))(embla-carousel@8.6.0)(ioredis@5.7.0)(jwt-decode@4.0.0)(magicast@0.3.5)(typescript@5.9.2)(vite@7.1.6(@types/node@24.1.0)(jiti@2.5.1)(lightningcss@1.30.1)(terser@5.43.1)(yaml@2.8.0))(vue-router@4.5.1(vue@3.5.21(typescript@5.9.2)))(vue@3.5.21(typescript@5.9.2))(zod@3.25.76) + version: 3.3.4(@babel/parser@7.28.4)(@netlify/blobs@9.1.2)(change-case@5.4.4)(db0@0.3.2(better-sqlite3@12.2.0))(embla-carousel@8.6.0)(ioredis@5.7.0)(jwt-decode@4.0.0)(magicast@0.3.5)(typescript@5.9.2)(valibot@1.1.0(typescript@5.9.2))(vite@7.1.6(@types/node@24.1.0)(jiti@2.5.1)(lightningcss@1.30.1)(terser@5.43.1)(yaml@2.8.0))(vue-router@4.5.1(vue@3.5.21(typescript@5.9.2)))(vue@3.5.21(typescript@5.9.2))(zod@3.25.76) '@nuxtjs/color-mode': specifier: ^3.5.2 version: 3.5.2(magicast@0.3.5) @@ -96,6 +99,9 @@ importers: '@types/three': specifier: ^0.180.0 version: 0.180.0 + '@unhead/vue': + specifier: ^2.0.3 + version: 2.0.17(vue@3.5.21(typescript@5.9.2)) gsap: specifier: ^3.13.0 version: 3.13.0 @@ -1085,6 +1091,24 @@ packages: resolution: {integrity: sha512-uFr13C6c52OFbF3hZVIV65KvhQRyrwp1GlAm7EVNGjebY8279QEel57T4R9UA1dn2Et6CBynBFhWoFwwo97Pig==} engines: {node: ^14.18.0 || >=16.10.0} + '@nuxt/scripts@0.11.13': + resolution: {integrity: sha512-8es3Mt8TxM+77icxI+Gelds0txaYR0ZfLORB9I2bgUC6p6ID0n3F+7aoEhCWiyVKgVd2cI17yCJwXSPABN5xTg==} + peerDependencies: + '@stripe/stripe-js': ^7.0.0 + '@types/google.maps': ^3.58.1 + '@types/vimeo__player': ^2.18.3 + '@types/youtube': ^0.1.0 + '@unhead/vue': ^2.0.3 + peerDependenciesMeta: + '@stripe/stripe-js': + optional: true + '@types/google.maps': + optional: true + '@types/vimeo__player': + optional: true + '@types/youtube': + optional: true + '@nuxt/telemetry@2.6.6': resolution: {integrity: sha512-Zh4HJLjzvm3Cq9w6sfzIFyH9ozK5ePYVfCUzzUQNiZojFsI2k1QkSBrVI9BGc6ArKXj/O6rkI6w7qQ+ouL8Cag==} engines: {node: '>=18.12.0'} @@ -3591,10 +3615,6 @@ packages: resolution: {integrity: sha512-HqD3yTBfnBxIrbnM1DoD6Pcq8NECnh8d4As1Qgh0z5Gg3jRRIqijury0CL3ghu/edArpUYiYqQiDUQBIs4np3Q==} engines: {node: '>=10.0.0'} - enhanced-resolve@5.18.2: - resolution: {integrity: sha512-6Jw4sE1maoRJo3q8MsSIn2onJFbLTOjY9hlx4DZXmOKvLRd1Ok2kXmAGXaafL2+ijsJZ1ClYbl/pmqr9+k4iUQ==} - engines: {node: '>=10.13.0'} - enhanced-resolve@5.18.3: resolution: {integrity: sha512-d4lC8xfavMeBjzGr2vECC3fsGXziXZQyJxD868h2M/mBI3PwAuODxAkLkq5HYuvrPYcUtiLzsTo8U3PgX3Ocww==} engines: {node: '>=10.13.0'} @@ -6979,6 +6999,14 @@ packages: resolution: {integrity: sha512-0/A9rDy9P7cJ+8w1c9WD9V//9Wj15Ce2MPz8Ri6032usz+NfePxx5AcN3bN+r6ZL6jEo066/yNYB3tn4pQEx+A==} hasBin: true + valibot@1.1.0: + resolution: {integrity: sha512-Nk8lX30Qhu+9txPYTwM0cFlWLdPFsFr6LblzqIySfbZph9+BFsAHsNvHOymEviUepeIW6KFHzpX8TKhbptBXXw==} + peerDependencies: + typescript: '>=5' + peerDependenciesMeta: + typescript: + optional: true + validate-npm-package-license@3.0.4: resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} @@ -8232,7 +8260,7 @@ snapshots: transitivePeerDependencies: - magicast - '@nuxt/content@3.7.1(better-sqlite3@12.2.0)(magicast@0.3.5)': + '@nuxt/content@3.7.1(better-sqlite3@12.2.0)(magicast@0.3.5)(valibot@1.1.0(typescript@5.9.2))': dependencies: '@nuxt/kit': 4.1.2(magicast@0.3.5) '@nuxtjs/mdc': 0.17.4(magicast@0.3.5) @@ -8283,6 +8311,7 @@ snapshots: zod-to-json-schema: 3.24.6(zod@3.25.76) optionalDependencies: better-sqlite3: 12.2.0 + valibot: 1.1.0(typescript@5.9.2) transitivePeerDependencies: - bufferutil - drizzle-orm @@ -8646,6 +8675,49 @@ snapshots: std-env: 3.9.0 ufo: 1.6.1 + '@nuxt/scripts@0.11.13(@netlify/blobs@9.1.2)(@unhead/vue@2.0.17(vue@3.5.21(typescript@5.9.2)))(db0@0.3.2(better-sqlite3@12.2.0))(ioredis@5.7.0)(magicast@0.3.5)(typescript@5.9.2)(vue@3.5.21(typescript@5.9.2))': + dependencies: + '@nuxt/kit': 4.1.2(magicast@0.3.5) + '@unhead/vue': 2.0.17(vue@3.5.21(typescript@5.9.2)) + '@vueuse/core': 13.9.0(vue@3.5.21(typescript@5.9.2)) + consola: 3.4.2 + defu: 6.1.4 + h3: 1.15.4 + magic-string: 0.30.19 + ofetch: 1.4.1 + ohash: 2.0.11 + pathe: 2.0.3 + pkg-types: 2.3.0 + sirv: 3.0.2 + std-env: 3.9.0 + ufo: 1.6.1 + unplugin: 2.3.10 + unstorage: 1.17.1(@netlify/blobs@9.1.2)(db0@0.3.2(better-sqlite3@12.2.0))(ioredis@5.7.0) + valibot: 1.1.0(typescript@5.9.2) + transitivePeerDependencies: + - '@azure/app-configuration' + - '@azure/cosmos' + - '@azure/data-tables' + - '@azure/identity' + - '@azure/keyvault-secrets' + - '@azure/storage-blob' + - '@capacitor/preferences' + - '@deno/kv' + - '@netlify/blobs' + - '@planetscale/database' + - '@upstash/redis' + - '@vercel/blob' + - '@vercel/functions' + - '@vercel/kv' + - aws4fetch + - db0 + - idb-keyval + - ioredis + - magicast + - typescript + - uploadthing + - vue + '@nuxt/telemetry@2.6.6(magicast@0.3.5)': dependencies: '@nuxt/kit': 3.19.1(magicast@0.3.5) @@ -8663,12 +8735,12 @@ snapshots: transitivePeerDependencies: - magicast - '@nuxt/ui-pro@3.3.4(@babel/parser@7.28.4)(@netlify/blobs@9.1.2)(change-case@5.4.4)(db0@0.3.2(better-sqlite3@12.2.0))(embla-carousel@8.6.0)(ioredis@5.7.0)(jwt-decode@4.0.0)(magicast@0.3.5)(typescript@5.9.2)(vite@7.1.6(@types/node@24.1.0)(jiti@2.5.1)(lightningcss@1.30.1)(terser@5.43.1)(yaml@2.8.0))(vue-router@4.5.1(vue@3.5.21(typescript@5.9.2)))(vue@3.5.21(typescript@5.9.2))(zod@3.25.76)': + '@nuxt/ui-pro@3.3.4(@babel/parser@7.28.4)(@netlify/blobs@9.1.2)(change-case@5.4.4)(db0@0.3.2(better-sqlite3@12.2.0))(embla-carousel@8.6.0)(ioredis@5.7.0)(jwt-decode@4.0.0)(magicast@0.3.5)(typescript@5.9.2)(valibot@1.1.0(typescript@5.9.2))(vite@7.1.6(@types/node@24.1.0)(jiti@2.5.1)(lightningcss@1.30.1)(terser@5.43.1)(yaml@2.8.0))(vue-router@4.5.1(vue@3.5.21(typescript@5.9.2)))(vue@3.5.21(typescript@5.9.2))(zod@3.25.76)': dependencies: '@ai-sdk/vue': 1.2.12(vue@3.5.21(typescript@5.9.2))(zod@3.25.76) '@nuxt/kit': 4.1.2(magicast@0.3.5) '@nuxt/schema': 4.1.2 - '@nuxt/ui': 3.3.4(@babel/parser@7.28.4)(@netlify/blobs@9.1.2)(change-case@5.4.4)(db0@0.3.2(better-sqlite3@12.2.0))(embla-carousel@8.6.0)(ioredis@5.7.0)(jwt-decode@4.0.0)(magicast@0.3.5)(typescript@5.9.2)(vite@7.1.6(@types/node@24.1.0)(jiti@2.5.1)(lightningcss@1.30.1)(terser@5.43.1)(yaml@2.8.0))(vue-router@4.5.1(vue@3.5.21(typescript@5.9.2)))(vue@3.5.21(typescript@5.9.2))(zod@3.25.76) + '@nuxt/ui': 3.3.4(@babel/parser@7.28.4)(@netlify/blobs@9.1.2)(change-case@5.4.4)(db0@0.3.2(better-sqlite3@12.2.0))(embla-carousel@8.6.0)(ioredis@5.7.0)(jwt-decode@4.0.0)(magicast@0.3.5)(typescript@5.9.2)(valibot@1.1.0(typescript@5.9.2))(vite@7.1.6(@types/node@24.1.0)(jiti@2.5.1)(lightningcss@1.30.1)(terser@5.43.1)(yaml@2.8.0))(vue-router@4.5.1(vue@3.5.21(typescript@5.9.2)))(vue@3.5.21(typescript@5.9.2))(zod@3.25.76) '@standard-schema/spec': 1.0.0 '@vueuse/core': 13.9.0(vue@3.5.21(typescript@5.9.2)) consola: 3.4.2 @@ -8687,6 +8759,7 @@ snapshots: unplugin-auto-import: 19.3.0(@nuxt/kit@4.1.2(magicast@0.3.5))(@vueuse/core@13.9.0(vue@3.5.21(typescript@5.9.2))) unplugin-vue-components: 28.8.0(@babel/parser@7.28.4)(@nuxt/kit@4.1.2(magicast@0.3.5))(vue@3.5.21(typescript@5.9.2)) optionalDependencies: + valibot: 1.1.0(typescript@5.9.2) zod: 3.25.76 transitivePeerDependencies: - '@azure/app-configuration' @@ -8731,7 +8804,7 @@ snapshots: - vue - vue-router - '@nuxt/ui@3.3.4(@babel/parser@7.28.4)(@netlify/blobs@9.1.2)(change-case@5.4.4)(db0@0.3.2(better-sqlite3@12.2.0))(embla-carousel@8.6.0)(ioredis@5.7.0)(jwt-decode@4.0.0)(magicast@0.3.5)(typescript@5.9.2)(vite@7.1.6(@types/node@24.1.0)(jiti@2.5.1)(lightningcss@1.30.1)(terser@5.43.1)(yaml@2.8.0))(vue-router@4.5.1(vue@3.5.21(typescript@5.9.2)))(vue@3.5.21(typescript@5.9.2))(zod@3.25.76)': + '@nuxt/ui@3.3.4(@babel/parser@7.28.4)(@netlify/blobs@9.1.2)(change-case@5.4.4)(db0@0.3.2(better-sqlite3@12.2.0))(embla-carousel@8.6.0)(ioredis@5.7.0)(jwt-decode@4.0.0)(magicast@0.3.5)(typescript@5.9.2)(valibot@1.1.0(typescript@5.9.2))(vite@7.1.6(@types/node@24.1.0)(jiti@2.5.1)(lightningcss@1.30.1)(terser@5.43.1)(yaml@2.8.0))(vue-router@4.5.1(vue@3.5.21(typescript@5.9.2)))(vue@3.5.21(typescript@5.9.2))(zod@3.25.76)': dependencies: '@iconify/vue': 5.0.0(vue@3.5.21(typescript@5.9.2)) '@internationalized/date': 3.9.0 @@ -8778,6 +8851,7 @@ snapshots: vaul-vue: 0.4.1(reka-ui@2.5.0(typescript@5.9.2)(vue@3.5.21(typescript@5.9.2)))(vue@3.5.21(typescript@5.9.2)) vue-component-type-helpers: 3.0.7 optionalDependencies: + valibot: 1.1.0(typescript@5.9.2) vue-router: 4.5.1(vue@3.5.21(typescript@5.9.2)) zod: 3.25.76 transitivePeerDependencies: @@ -10118,7 +10192,7 @@ snapshots: magic-string: 0.30.19 pathe: 2.0.3 tinyglobby: 0.2.15 - unplugin: 2.3.5 + unplugin: 2.3.10 unplugin-utils: 0.2.4 webpack: 5.100.2(esbuild@0.25.10) webpack-sources: 3.3.3 @@ -11435,12 +11509,6 @@ snapshots: engine.io-parser@5.2.3: {} - enhanced-resolve@5.18.2: - dependencies: - graceful-fs: 4.2.11 - tapable: 2.2.2 - optional: true - enhanced-resolve@5.18.3: dependencies: graceful-fs: 4.2.11 @@ -11929,7 +11997,7 @@ snapshots: eslint@8.57.1: dependencies: - '@eslint-community/eslint-utils': 4.7.0(eslint@8.57.1) + '@eslint-community/eslint-utils': 4.9.0(eslint@8.57.1) '@eslint-community/regexpp': 4.12.1 '@eslint/eslintrc': 2.1.4 '@eslint/js': 8.57.1 @@ -15825,6 +15893,10 @@ snapshots: uuid@11.1.0: optional: true + valibot@1.1.0(typescript@5.9.2): + optionalDependencies: + typescript: 5.9.2 + validate-npm-package-license@3.0.4: dependencies: spdx-correct: 3.2.0 @@ -16052,7 +16124,7 @@ snapshots: acorn-import-phases: 1.0.4(acorn@8.15.0) browserslist: 4.25.1 chrome-trace-event: 1.0.4 - enhanced-resolve: 5.18.2 + enhanced-resolve: 5.18.3 es-module-lexer: 1.7.0 eslint-scope: 5.1.1 events: 3.3.0