From 6cd6f9db00fa9d1e822e9ffc253e821a7c235963 Mon Sep 17 00:00:00 2001 From: 7ttp <117663341+7ttp@users.noreply.github.com> Date: Mon, 26 Oct 2026 18:13:30 +0530 Subject: [PATCH 1/2] fix(cli): show ethereum web3 example in init config (CLI-2854) --- .../cli/src/shared/init/project-init.templates.ts | 6 +++++- .../init/project-init.templates.unit.test.ts | 15 ++++++++++++++- 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/apps/cli/src/shared/init/project-init.templates.ts b/apps/cli/src/shared/init/project-init.templates.ts index 2d4e0ef25b..8f88d5abaa 100644 --- a/apps/cli/src/shared/init/project-init.templates.ts +++ b/apps/cli/src/shared/init/project-init.templates.ts @@ -16,7 +16,7 @@ port = 54321 schemas = ["public", "graphql_public"] # Extra schemas to add to the search_path of every request. extra_search_path = ["public", "extensions"] -# The maximum number of rows returns from a view, table, or stored procedure. Limits payload size +# The maximum number of rows returned from a view, table, or stored procedure. Limits payload size # for accidental or malicious requests. max_rows = 1000 # Controls whether new tables, views, sequences and functions created in the \`public\` schema by @@ -344,6 +344,10 @@ email_optional = false [auth.web3.solana] enabled = false +# Allow Ethereum wallet holders to sign in to your project via the Sign in with Ethereum (SIWE, EIP-4361) standard. +# [auth.web3.ethereum] +# enabled = true + # Use Firebase Auth as a third-party provider alongside Supabase Auth. [auth.third_party.firebase] enabled = false diff --git a/apps/cli/src/shared/init/project-init.templates.unit.test.ts b/apps/cli/src/shared/init/project-init.templates.unit.test.ts index fcb288038d..75b2a3da02 100644 --- a/apps/cli/src/shared/init/project-init.templates.unit.test.ts +++ b/apps/cli/src/shared/init/project-init.templates.unit.test.ts @@ -65,6 +65,14 @@ const NATIVE_AUTO_EXPOSE_COMMENT = `# without explicit GRANTs, matching the clou # instead. Left unset, a fresh project falls back to \`true\`. # auto_expose_new_tables = true`; +/* Only the native template documents the Ethereum web3 provider and spells the + `max_rows` comment correctly; the vendored scaffold is left as shipped. */ +const NATIVE_WEB3_ETHEREUM_EXAMPLE = ` +# Allow Ethereum wallet holders to sign in to your project via the Sign in with Ethereum (SIWE, EIP-4361) standard. +# [auth.web3.ethereum] +# enabled = true +`; + const renderExpectedNativeEject = renderExpectedGoEject.pipe( Effect.map((eject) => eject @@ -72,7 +80,12 @@ const renderExpectedNativeEject = renderExpectedGoEject.pipe( '# content_path = "./templates/password_changed_notification.html"', '# content_path = "./supabase/templates/password_changed_notification.html"', ) - .replace(GO_AUTO_EXPOSE_COMMENT, NATIVE_AUTO_EXPOSE_COMMENT), + .replace(GO_AUTO_EXPOSE_COMMENT, NATIVE_AUTO_EXPOSE_COMMENT) + .replace("rows returns from", "rows returned from") + .replace( + "[auth.web3.solana]\nenabled = false\n", + `[auth.web3.solana]\nenabled = false\n${NATIVE_WEB3_ETHEREUM_EXAMPLE}`, + ), ), ); From db57bf54f4556e4d62794845c4fd7e35ae6e073c Mon Sep 17 00:00:00 2001 From: 7ttp <117663341+7ttp@users.noreply.github.com> Date: Mon, 26 Oct 2026 22:10:09 +0530 Subject: [PATCH 2/2] nit --- apps/cli/src/shared/init/project-init.templates.ts | 2 +- apps/cli/src/shared/init/project-init.templates.unit.test.ts | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/apps/cli/src/shared/init/project-init.templates.ts b/apps/cli/src/shared/init/project-init.templates.ts index 8f88d5abaa..6eb69bc41b 100644 --- a/apps/cli/src/shared/init/project-init.templates.ts +++ b/apps/cli/src/shared/init/project-init.templates.ts @@ -339,7 +339,7 @@ skip_nonce_check = false # If enabled, it will allow the user to successfully authenticate when the provider does not return an email address. email_optional = false -# Allow Solana wallet holders to sign in to your project via the Sign in with Solana (SIWS, EIP-4361) standard. +# Allow Solana wallet holders to sign in to your project via the Sign in with Solana (SIWS) standard. # You can configure "web3" rate limit in the [auth.rate_limit] section and set up [auth.captcha] if self-hosting. [auth.web3.solana] enabled = false diff --git a/apps/cli/src/shared/init/project-init.templates.unit.test.ts b/apps/cli/src/shared/init/project-init.templates.unit.test.ts index 75b2a3da02..afd2dbd491 100644 --- a/apps/cli/src/shared/init/project-init.templates.unit.test.ts +++ b/apps/cli/src/shared/init/project-init.templates.unit.test.ts @@ -65,8 +65,8 @@ const NATIVE_AUTO_EXPOSE_COMMENT = `# without explicit GRANTs, matching the clou # instead. Left unset, a fresh project falls back to \`true\`. # auto_expose_new_tables = true`; -/* Only the native template documents the Ethereum web3 provider and spells the - `max_rows` comment correctly; the vendored scaffold is left as shipped. */ +/* Only the native template documents Ethereum web3, cites SIWS without EIP-4361 and fixes + the `max_rows` comment typo; the vendored scaffold is left as shipped. */ const NATIVE_WEB3_ETHEREUM_EXAMPLE = ` # Allow Ethereum wallet holders to sign in to your project via the Sign in with Ethereum (SIWE, EIP-4361) standard. # [auth.web3.ethereum] @@ -82,6 +82,7 @@ const renderExpectedNativeEject = renderExpectedGoEject.pipe( ) .replace(GO_AUTO_EXPOSE_COMMENT, NATIVE_AUTO_EXPOSE_COMMENT) .replace("rows returns from", "rows returned from") + .replace("(SIWS, EIP-4361)", "(SIWS)") .replace( "[auth.web3.solana]\nenabled = false\n", `[auth.web3.solana]\nenabled = false\n${NATIVE_WEB3_ETHEREUM_EXAMPLE}`,