Skip to main content
Glama
NakiriYuuzu

MSSQL MCP Server

by NakiriYuuzu
pre-release-check.js3.18 kB
#!/usr/bin/env node import { promises as fs } from 'fs' import { exec } from 'child_process' import { promisify } from 'util' const execAsync = promisify(exec) async function checkRelease() { console.log('🔍 執行發布前檢查...\n') let hasErrors = false // 1. 檢查 package.json console.log('📦 檢查 package.json...') try { const packageJson = JSON.parse(await fs.readFile('package.json', 'utf8')) if (packageJson.author === 'Your Name') { console.error('❌ 請更新 package.json 中的 author 欄位') hasErrors = true } if (packageJson.repository.url.includes('YOUR_USERNAME')) { console.error('❌ 請更新 package.json 中的 repository URL') hasErrors = true } console.log(`✅ 版本號: ${packageJson.version}`) } catch (error) { console.error('❌ 無法讀取 package.json:', error.message) hasErrors = true } // 2. 檢查必要檔案 console.log('\n📁 檢查必要檔案...') const requiredFiles = [ 'README.md', 'package.json', 'package-lock.json', '.env.example', 'tsconfig.json', 'mcp-config.json', 'CLAUDE.md' ] for (const file of requiredFiles) { try { await fs.access(file) console.log(`✅ ${file}`) } catch { console.error(`❌ 缺少檔案: ${file}`) hasErrors = true } } // 3. 檢查建置 console.log('\n🔨 檢查建置...') try { const { stdout, stderr } = await execAsync('npm run build') if (stderr) { console.error('❌ 建置警告:', stderr) } console.log('✅ 建置成功') } catch (error) { console.error('❌ 建置失敗:', error.message) hasErrors = true } // 4. 檢查 .env.example console.log('\n🔐 檢查環境變數範例...') try { const envExample = await fs.readFile('.env.example', 'utf8') if (envExample.includes('your_password_here') || envExample.includes('YourPassword123!')) { console.log('⚠️ .env.example 包含範例密碼(這是正常的)') } console.log('✅ .env.example 存在') } catch { console.error('❌ 無法讀取 .env.example') hasErrors = true } // 5. 檢查 Git 狀態 console.log('\n📊 檢查 Git 狀態...') try { const { stdout: gitStatus } = await execAsync('git status --porcelain') if (gitStatus) { console.error('❌ 有未提交的變更:') console.error(gitStatus) hasErrors = true } else { console.log('✅ 工作目錄乾淨') } } catch (error) { console.error('❌ 無法檢查 Git 狀態:', error.message) hasErrors = true } // 總結 console.log('\n' + '='.repeat(50)) if (hasErrors) { console.error('\n❌ 發布前檢查失敗!請修復上述問題。') process.exit(1) } else { console.log('\n✅ 所有檢查通過!可以進行發布。') console.log('\n下一步:') console.log('1. git tag v1.0.0') console.log('2. git push origin main --tags') } } checkRelease().catch(console.error)

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/NakiriYuuzu/Mssql-Mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server