mirror of
https://github.com/AutoMaker-Org/automaker.git
synced 2026-01-30 06:12:03 +00:00
chore: update lockfile linting process
- Replaced the inline linting command for package-lock.json with a dedicated script (lint-lockfile.mjs) to check for git+ssh:// URLs, ensuring compatibility with CI/CD environments. - The new script provides clear error messages and instructions if such URLs are found, enhancing the development workflow.
This commit is contained in:
33
scripts/lint-lockfile.mjs
Normal file
33
scripts/lint-lockfile.mjs
Normal file
@@ -0,0 +1,33 @@
|
||||
#!/usr/bin/env node
|
||||
|
||||
/**
|
||||
* 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);
|
||||
}
|
||||
Reference in New Issue
Block a user