diff --git a/eslint.config.mjs b/eslint.config.mjs
index 0a5b089e31..557d75c22b 100644
--- a/eslint.config.mjs
+++ b/eslint.config.mjs
@@ -21,7 +21,8 @@ export default tsConfig(
       'npmDist',
       'npmEsmDist',
       'denoDist',
-      'website',
+      'website/.next',
+      'website/out',
       'integrationTests/ts/*.ts',
     ],
   },
@@ -882,6 +883,8 @@ export default tsConfig(
       'no-restricted-exports': 'off',
       'import/no-default-export': 'off',
       'import/no-nodejs-modules': 'off',
+      'import/unambiguous': 'off',
+      'n/no-missing-import': 'off', // allows linting from root of project when website packages are not installed
     },
   },
 );
diff --git a/website/next.config.mjs b/website/next.config.js
similarity index 100%
rename from website/next.config.mjs
rename to website/next.config.js
diff --git a/website/package.json b/website/package.json
index a69e6e4043..8e47515861 100644
--- a/website/package.json
+++ b/website/package.json
@@ -2,6 +2,7 @@
   "name": "website",
   "version": "0.0.0",
   "description": "The GraphQL.JS documentation website",
+  "type": "module",
   "private": true,
   "directories": {
     "doc": "docs"
diff --git a/website/postcss.config.js b/website/postcss.config.js
index cdbe50f3a4..444d84db0d 100644
--- a/website/postcss.config.js
+++ b/website/postcss.config.js
@@ -1,7 +1,9 @@
-module.exports = {
+const config = {
   plugins: {
     'tailwindcss/nesting': {},
     tailwindcss: {},
     autoprefixer: {},
   },
 };
+
+export default config;
diff --git a/website/tailwind.config.js b/website/tailwind.config.js
index 4cc2c447a2..384ecc396e 100644
--- a/website/tailwind.config.js
+++ b/website/tailwind.config.js
@@ -1,6 +1,6 @@
 import typography from '@tailwindcss/typography';
 
-module.exports = {
+const config = {
   content: [
     './pages/**/*.{ts,tsx,mdx}',
     './icons/**/*.{ts,tsx,mdx}',
@@ -39,3 +39,5 @@ module.exports = {
   plugins: [typography],
   darkMode: ['class', 'html[class~="dark"]'],
 };
+
+export default config;