Open-next Cloudflare / Docker / Setup (#248)

* Add Cloudflare generator with Wrangler and OpenNext support

This update introduces a new Cloudflare generator to streamline configuration and deployment via Wrangler and OpenNext. It registers the necessary templates, modifies project files, and adds Cloudflare-specific scripts and dependencies to the package.json. Additionally, .hbs files are updated in .prettierignore for formatting consistency.

* Add GitHub username prompt and improve setup scripts

Introduce a prompt for GitHub username to personalize project setup. Enhance the setup scripts by adding PNPM verification, configuring `upstream` remote, and removing the `origin` remote. Adjust health check and error handling for better reliability.

* Add Dockerfile generator to turbo generators

Introduced a new generator to create Dockerfile configurations for standalone Next.js applications. This includes modifying `next.config.mjs` for standalone output, updating dependencies in `package.json`, and adding a Dockerfile template. The generator is now registered in the turbo setup.

* Add console-based logger implementation. This is required for edge environments such as Cloudflare.

* Remove deprecated Supabase client utilities

The `server-actions-client`, `route-handler-client`, and `server-component-client` utilities have been removed in favor of `getSupabaseServerClient`. This simplifies and consolidates the API, ensuring consistency across server-side usage. Version bumped to 2.9.0 to reflect breaking changes.
This commit is contained in:
Giancarlo Buomprisco
2025-04-29 09:12:08 +07:00
committed by GitHub
parent 76bfeddd32
commit 4cfb4f936f
20 changed files with 441 additions and 230 deletions

View File

@@ -0,0 +1,9 @@
const Logger = {
info: console.info,
error: console.error,
warn: console.warn,
debug: console.debug,
fatal: console.error,
}
export { Logger };

View File

@@ -2,8 +2,9 @@ import { createRegistry } from '../registry';
import { Logger as LoggerInstance } from './logger';
// Define the type for the logger provider. Currently supporting 'pino'.
type LoggerProvider = 'pino';
type LoggerProvider = 'pino' | 'console';
// Use pino as the default logger provider
const LOGGER = (process.env.LOGGER ?? 'pino') as LoggerProvider;
// Create a registry for logger implementations
@@ -16,6 +17,13 @@ loggerRegistry.register('pino', async () => {
return PinoLogger;
});
// Register the 'console' logger implementation
loggerRegistry.register('console', async () => {
const { Logger: ConsoleLogger } = await import('./impl/console');
return ConsoleLogger;
});
/**
* @name getLogger
* @description Retrieves the logger implementation based on the LOGGER environment variable using the registry API.