UNPKG

zyros

Version:

A developer-friendly static site generator built with Next.js and Tailwind CSS. Transform a simple JSON file into a beautiful, fast static website.

56 lines (44 loc) 1.82 kB
#!/usr/bin/env node /** * Publishing Build Script * Builds the project allowing ESLint warnings (not errors) */ const { execSync } = require('child_process'); const fs = require('fs'); const path = require('path'); const chalk = require('chalk'); console.log(chalk.blue('🚀 Building Zyros for Publishing...')); try { // Temporarily modify Next.js config to allow ESLint warnings const nextConfigPath = path.join(process.cwd(), 'next.config.ts'); const originalNextConfig = fs.readFileSync(nextConfigPath, 'utf8'); // Create a version that ignores ESLint warnings during build const modifiedNextConfig = originalNextConfig.replace( 'ignoreDuringBuilds: false,', 'ignoreDuringBuilds: true,' ); fs.writeFileSync(nextConfigPath, modifiedNextConfig); console.log(chalk.yellow('📦 Building Next.js app (allowing warnings)...')); // Build the project execSync('next build', { stdio: 'inherit', env: { ...process.env, NODE_ENV: 'production' } }); // Restore original config fs.writeFileSync(nextConfigPath, originalNextConfig); console.log(chalk.green('✅ Build completed successfully!')); console.log(chalk.blue('📋 Ready for publishing!')); } catch (error) { // Restore original config in case of error const nextConfigPath = path.join(process.cwd(), 'next.config.ts'); const originalNextConfig = fs.readFileSync(nextConfigPath, 'utf8'); if (originalNextConfig.includes('ignoreDuringBuilds: true')) { const restoredConfig = originalNextConfig.replace( 'ignoreDuringBuilds: true,', 'ignoreDuringBuilds: false,' ); fs.writeFileSync(nextConfigPath, restoredConfig); } console.error(chalk.red('❌ Build failed:'), error.message); process.exit(1); }