diff --git a/bin/init.js b/bin/init.js index 38a5d26..2f9baed 100644 --- a/bin/init.js +++ b/bin/init.js @@ -193,7 +193,7 @@ export async function init() { { type: 'input', name: 'projectName', - message: '⚠️ Note: choosing a longer, more unique project name will help avoid conflicts with other existing domains\nWhat is the name of your frame?', + message: 'What is the name of your frame?', default: defaultFrameName, validate: (input) => { if (input.trim() === '') { @@ -206,7 +206,7 @@ export async function init() { type: 'input', name: 'description', message: 'Give a one-line description of your frame (optional):', - default: 'A Farcaster mini-app created with @neynar/create-farcaster-mini-app' + default: 'A Farcaster mini-app created with Neynar' }, { type: 'input', @@ -227,17 +227,9 @@ export async function init() { { type: 'confirm', name: 'useTunnel', - message: 'Would you like to use a tunnel for development?\n\n' + - 'Using a tunnel:\n' + - '- No sudo privileges required\n' + - '- Works with all Warpcast Frame Developer Tools\n' + - '- Possible to test on mobile devices\n\n' + - 'Using localhost:\n' + - '- Requires sudo privileges to enable HTTPS\n' + - '- Only works with the "Preview Frame" Warpcast tool\n' + - '- Cannot test frame embeds or mobile devices\n\n' + - 'Note: You can always switch between localhost and tunnel by editing the USE_TUNNEL environment variable in .env.local\n\n' + - 'Use tunnel?', + message: 'Would you like to test on mobile, or through a desktop browser?\n' + + 'Mobile testing requires setting up a tunnel to serve your app from localhost to the broader internet.\n' + + 'Configure mobile testing?', default: false } ]); diff --git a/scripts/build.js b/scripts/build.js index 256fbcf..43ebb80 100755 --- a/scripts/build.js +++ b/scripts/build.js @@ -7,6 +7,11 @@ import inquirer from 'inquirer'; import dotenv from 'dotenv'; import crypto from 'crypto'; +// ANSI color codes +const yellow = '\x1b[33m'; +const italic = '\x1b[3m'; +const reset = '\x1b[0m'; + // Load environment variables in specific order // First load .env for main config dotenv.config({ path: '.env' }); @@ -45,7 +50,7 @@ async function loadEnvLocal() { { type: 'confirm', name: 'loadLocal', - message: 'Found .env.local - would you like to load its values? (except for SEED_PHRASE, values will be written to .env)', + message: 'Found .env.local, likely created by the install script - would you like to load its values?', default: false } ]); @@ -286,14 +291,16 @@ async function main() { } } - // Get seed phrase from user if not already in .env.local + // Get seed phrase from user let seedPhrase = process.env.SEED_PHRASE; if (!seedPhrase) { const { seedPhrase: inputSeedPhrase } = await inquirer.prompt([ { type: 'password', name: 'seedPhrase', - message: 'Enter your seed phrase (this will only be used to sign the frame manifest):', + message: 'Your farcaster custody account seed phrase is required to create a signature proving this app was created by you.\n' + + `⚠️ ${yellow}${italic}seed phrase is only used to sign the frame manifest, then discarded${reset} ⚠️\n` + + 'Seed phrase:', validate: async (input) => { try { await validateSeedPhrase(input); diff --git a/scripts/dev.js b/scripts/dev.js index 65021c4..d125545 100755 --- a/scripts/dev.js +++ b/scripts/dev.js @@ -119,15 +119,13 @@ async function startDev() { 5. Click "Preview" (note that it may take ~10 seconds to load) `); } else { - frameUrl = 'https://localhost:3000'; + frameUrl = 'http://localhost:3000'; console.log(` 💻 To test your frame: 1. Open the Warpcast Frame Developer Tools: https://warpcast.com/~/developers/frames 2. Scroll down to the "Preview Frame" tool 3. Enter this URL: ${frameUrl} - 4. Click "Preview" to test your frame - -Note: You may need to accept the self-signed certificate in your browser when first visiting ${frameUrl} + 4. Click "Preview" to test your frame (note that it may take ~5 seconds to load the first time) `); } @@ -136,7 +134,7 @@ Note: You may need to accept the self-signed certificate in your browser when fi ? path.join(projectRoot, 'node_modules', '.bin', 'next.cmd') : path.join(projectRoot, 'node_modules', '.bin', 'next'); - nextDev = spawn(nextBin, ['dev', ...(useTunnel ? [] : ['--experimental-https'])], { + nextDev = spawn(nextBin, ['dev'], { stdio: 'inherit', env: { ...process.env, NEXT_PUBLIC_URL: frameUrl, NEXTAUTH_URL: frameUrl }, cwd: projectRoot