Next.js Supabase V3 (#463)

Version 3 of the kit:
- Radix UI replaced with Base UI (using the Shadcn UI patterns)
- next-intl replaces react-i18next
- enhanceAction deprecated; usage moved to next-safe-action
- main layout now wrapped with [locale] path segment
- Teams only mode
- Layout updates
- Zod v4
- Next.js 16.2
- Typescript 6
- All other dependencies updated
- Removed deprecated Edge CSRF
- Dynamic Github Action runner
This commit is contained in:
Giancarlo Buomprisco
2026-03-24 13:40:38 +08:00
committed by GitHub
parent 4912e402a3
commit 7ebff31475
840 changed files with 71395 additions and 20095 deletions

View File

@@ -1,7 +1,7 @@
{
"name": "scripts",
"private": true,
"version": "0.1.0",
"private": true,
"scripts": {
"dev": "node ./src/dev.mjs",
"checks": "node ./src/checks.mjs",

View File

@@ -49,7 +49,9 @@ function checkEnvFiles(rootPath) {
return;
}
console.error(`⚠️ Secret key "${secret}" found in ${file} on line ${index + 1}`);
console.error(
`⚠️ Secret key "${secret}" found in ${file} on line ${index + 1}`,
);
hasSecrets = true;
}
@@ -76,13 +78,15 @@ function checkEnvFiles(rootPath) {
} else {
const appName = rootPath.split('/').pop();
console.log(`✅ No secret keys found in staged environment files for the app ${appName}`);
console.log(
`✅ No secret keys found in staged environment files for the app ${appName}`,
);
}
}
const apps = readdirSync('../../apps');
apps.forEach(app => {
apps.forEach((app) => {
checkEnvFiles(`../../apps/${app}`);
});
@@ -98,7 +102,7 @@ function isValueWhitelisted(key, value) {
}
if (Array.isArray(whiteListedValue)) {
return whiteListedValue.some(allowed => {
return whiteListedValue.some((allowed) => {
if (allowed instanceof RegExp) {
return allowed.test(value);
}
@@ -108,4 +112,4 @@ function isValueWhitelisted(key, value) {
}
return whiteListedValue.trim() === value.trim();
}
}

View File

@@ -1,3 +1,3 @@
import './version.mjs';
import './license.mjs';
import './requirements.mjs';
import './requirements.mjs';