| /** | |
| * Script to check for git+ssh:// URLs in package-lock.json | |
| * This ensures compatibility with CI/CD environments that don't support SSH. | |
| */ | |
| import { readFileSync } from 'fs'; | |
| import { join } from 'path'; | |
| const lockfilePath = join(process.cwd(), 'package-lock.json'); | |
| try { | |
| const content = readFileSync(lockfilePath, 'utf8'); | |
| // Check for git+ssh:// URLs | |
| if (content.includes('git+ssh://')) { | |
| console.error('Error: package-lock.json contains git+ssh:// URLs.'); | |
| console.error('Run: git config --global url."https://github.com/".insteadOf "git@github.com:"'); | |
| console.error('Or run: npm run fix:lockfile'); | |
| process.exit(1); | |
| } | |
| console.log('✓ No git+ssh:// URLs found in package-lock.json'); | |
| process.exit(0); | |
| } catch (error) { | |
| if (error.code === 'ENOENT') { | |
| console.error('Error: package-lock.json not found'); | |
| process.exit(1); | |
| } | |
| console.error('Error checking package-lock.json:', error.message); | |
| process.exit(1); | |
| } | |