fix: windows compatibility

This commit is contained in:
veganbeef 2025-05-08 10:49:15 -07:00
parent eda896e478
commit f3f8924fa9
No known key found for this signature in database
5 changed files with 44 additions and 14 deletions

View File

@ -224,9 +224,20 @@ export async function init() {
try {
console.log(`\nCloning repository from ${REPO_URL}...`);
// Use separate commands for better cross-platform compatibility
execSync(`git clone ${REPO_URL} "${projectPath}"`, { stdio: 'inherit' });
execSync('git fetch origin main', { cwd: projectPath, stdio: 'inherit' });
execSync('git reset --hard origin/main', { cwd: projectPath, stdio: 'inherit' });
execSync(`git clone ${REPO_URL} "${projectPath}"`, {
stdio: 'inherit',
shell: process.platform === 'win32'
});
execSync('git fetch origin main', {
cwd: projectPath,
stdio: 'inherit',
shell: process.platform === 'win32'
});
execSync('git reset --hard origin/main', {
cwd: projectPath,
stdio: 'inherit',
shell: process.platform === 'win32'
});
} catch (error) {
console.error('\n❌ Error: Failed to create project directory.');
console.error('Please make sure you have write permissions and try again.');
@ -353,8 +364,16 @@ export async function init() {
// Install dependencies
console.log('\nInstalling dependencies...');
execSync('npm cache clean --force', { cwd: projectPath, stdio: 'inherit' });
execSync('npm install', { cwd: projectPath, stdio: 'inherit' });
execSync('npm cache clean --force', {
cwd: projectPath,
stdio: 'inherit',
shell: process.platform === 'win32'
});
execSync('npm install', {
cwd: projectPath,
stdio: 'inherit',
shell: process.platform === 'win32'
});
// Remove the bin directory
console.log('\nRemoving bin directory...');

View File

@ -1,6 +1,6 @@
{
"name": "@neynar/create-farcaster-mini-app",
"version": "1.2.19",
"version": "1.2.21",
"type": "module",
"private": false,
"access": "public",

View File

@ -388,7 +388,12 @@ async function main() {
// Run next build
console.log('\nBuilding Next.js application...');
execSync('next build', { cwd: projectRoot, stdio: 'inherit' });
const nextBin = path.normalize(path.join(projectRoot, 'node_modules', '.bin', 'next'));
execSync(`"${nextBin}" build`, {
cwd: projectRoot,
stdio: 'inherit',
shell: process.platform === 'win32'
});
console.log('\n✨ Build complete! Your frame is ready for deployment. 🪐');
console.log('📝 Make sure to configure the environment variables from .env in your hosting provider');

View File

@ -245,7 +245,10 @@ async function getGitRemote() {
async function checkVercelCLI() {
try {
execSync('vercel --version', { stdio: 'ignore' });
execSync('vercel --version', {
stdio: 'ignore',
shell: process.platform === 'win32'
});
return true;
} catch (error) {
return false;
@ -254,7 +257,10 @@ async function checkVercelCLI() {
async function installVercelCLI() {
console.log('Installing Vercel CLI...');
execSync('npm install -g vercel', { stdio: 'inherit' });
execSync('npm install -g vercel', {
stdio: 'inherit',
shell: process.platform === 'win32'
});
}
async function loginToVercel() {
@ -383,7 +389,8 @@ async function deployToVercel(useGitHub = false) {
console.log('\n⚠ Note: choosing a longer, more unique project name will help avoid conflicts with other existing domains\n');
execSync('vercel', {
cwd: projectRoot,
stdio: 'inherit'
stdio: 'inherit',
shell: process.platform === 'win32'
});
// Load project info from .vercel/project.json

View File

@ -128,14 +128,13 @@ async function startDev() {
}
// Start next dev with appropriate configuration
const nextBin = process.platform === 'win32'
? path.join(projectRoot, 'node_modules', '.bin', 'next.cmd')
: path.join(projectRoot, 'node_modules', '.bin', 'next');
const nextBin = path.normalize(path.join(projectRoot, 'node_modules', '.bin', 'next'));
nextDev = spawn(nextBin, ['dev'], {
stdio: 'inherit',
env: { ...process.env, NEXT_PUBLIC_URL: frameUrl, NEXTAUTH_URL: frameUrl },
cwd: projectRoot
cwd: projectRoot,
shell: process.platform === 'win32' // Add shell option for Windows
});
// Handle cleanup