diff --git a/apps/marketing/next.config.js b/apps/marketing/next.config.js
index 940536efa..0f7b7ad5c 100644
--- a/apps/marketing/next.config.js
+++ b/apps/marketing/next.config.js
@@ -2,6 +2,7 @@
const fs = require('fs');
const path = require('path');
const { withContentlayer } = require('next-contentlayer');
+const { withAxiom } = require('next-axiom');
const ENV_FILES = ['.env', '.env.local', `.env.${process.env.NODE_ENV || 'development'}`];
@@ -95,4 +96,4 @@ const config = {
},
};
-module.exports = withContentlayer(config);
+module.exports = withAxiom(withContentlayer(config));
diff --git a/apps/marketing/package.json b/apps/marketing/package.json
index f6af3a9ff..b9cee4f45 100644
--- a/apps/marketing/package.json
+++ b/apps/marketing/package.json
@@ -26,6 +26,7 @@
"micro": "^10.0.1",
"next": "14.0.3",
"next-auth": "4.24.5",
+ "next-axiom": "^1.1.1",
"next-contentlayer": "^0.3.4",
"next-plausible": "^3.10.1",
"perfect-freehand": "^1.2.0",
diff --git a/apps/marketing/src/app/layout.tsx b/apps/marketing/src/app/layout.tsx
index 99a1a6483..2790adb35 100644
--- a/apps/marketing/src/app/layout.tsx
+++ b/apps/marketing/src/app/layout.tsx
@@ -2,6 +2,7 @@ import { Suspense } from 'react';
import { Caveat, Inter } from 'next/font/google';
+import { AxiomWebVitals } from 'next-axiom';
import { PublicEnvScript } from 'next-runtime-env';
import { FeatureFlagProvider } from '@documenso/lib/client-only/providers/feature-flag';
@@ -67,6 +68,8 @@ export default async function RootLayout({ children }: { children: React.ReactNo
+
+
diff --git a/apps/web/next.config.js b/apps/web/next.config.js
index d670dab47..af82847c0 100644
--- a/apps/web/next.config.js
+++ b/apps/web/next.config.js
@@ -2,6 +2,7 @@
const fs = require('fs');
const path = require('path');
const { version } = require('./package.json');
+const { withAxiom } = require('next-axiom');
const ENV_FILES = ['.env', '.env.local', `.env.${process.env.NODE_ENV || 'development'}`];
@@ -91,4 +92,4 @@ const config = {
},
};
-module.exports = config;
+module.exports = withAxiom(config);
diff --git a/apps/web/package.json b/apps/web/package.json
index 4f6617d1e..484659740 100644
--- a/apps/web/package.json
+++ b/apps/web/package.json
@@ -33,6 +33,7 @@
"micro": "^10.0.1",
"next": "14.0.3",
"next-auth": "4.24.5",
+ "next-axiom": "^1.1.1",
"next-plausible": "^3.10.1",
"next-themes": "^0.2.1",
"perfect-freehand": "^1.2.0",
diff --git a/apps/web/src/app/layout.tsx b/apps/web/src/app/layout.tsx
index 7753e1e53..0f3d1607f 100644
--- a/apps/web/src/app/layout.tsx
+++ b/apps/web/src/app/layout.tsx
@@ -2,6 +2,7 @@ import { Suspense } from 'react';
import { Caveat, Inter } from 'next/font/google';
+import { AxiomWebVitals } from 'next-axiom';
import { PublicEnvScript } from 'next-runtime-env';
import { FeatureFlagProvider } from '@documenso/lib/client-only/providers/feature-flag';
@@ -71,6 +72,8 @@ export default async function RootLayout({ children }: { children: React.ReactNo
+
+
diff --git a/package-lock.json b/package-lock.json
index 3dc4e9776..5b1f8f0be 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -49,6 +49,7 @@
"micro": "^10.0.1",
"next": "14.0.3",
"next-auth": "4.24.5",
+ "next-axiom": "^1.1.1",
"next-contentlayer": "^0.3.4",
"next-plausible": "^3.10.1",
"perfect-freehand": "^1.2.0",
@@ -111,6 +112,7 @@
"micro": "^10.0.1",
"next": "14.0.3",
"next-auth": "4.24.5",
+ "next-axiom": "^1.1.1",
"next-plausible": "^3.10.1",
"next-themes": "^0.2.1",
"perfect-freehand": "^1.2.0",
@@ -16668,6 +16670,22 @@
}
}
},
+ "node_modules/next-axiom": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/next-axiom/-/next-axiom-1.1.1.tgz",
+ "integrity": "sha512-0r/TJ+/zetD+uDc7B+2E7WpC86hEtQ1U+DuWYrP/JNmUz+ZdPFbrZgzOSqaZ6TwYbXP56VVlPfYwq1YsKHTHYQ==",
+ "dependencies": {
+ "remeda": "^1.29.0",
+ "whatwg-fetch": "^3.6.2"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "next": ">=13.4",
+ "react": ">=18.0.0"
+ }
+ },
"node_modules/next-contentlayer": {
"version": "0.3.4",
"resolved": "https://registry.npmjs.org/next-contentlayer/-/next-contentlayer-0.3.4.tgz",
@@ -22936,6 +22954,11 @@
"resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
"integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ=="
},
+ "node_modules/whatwg-fetch": {
+ "version": "3.6.20",
+ "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.20.tgz",
+ "integrity": "sha512-EqhiFU6daOA8kpjOWTL0olhVOF3i7OrFzSYiGsEMB8GcXS+RrzauAERX65xMeNWVqxA6HXH2m69Z9LaKKdisfg=="
+ },
"node_modules/whatwg-url": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",