Kode-cli/scripts/publish-workaround.js
2025-08-11 22:23:13 +08:00

57 lines
1.8 KiB
JavaScript
Executable File

#!/usr/bin/env node
const fs = require('fs');
const { execSync } = require('child_process');
const path = require('path');
async function publish() {
console.log('🚀 Starting publish workaround...\n');
const packagePath = path.join(__dirname, '..', 'package.json');
try {
// Read package.json
const packageJson = JSON.parse(fs.readFileSync(packagePath, 'utf8'));
const originalBundled = packageJson.bundledDependencies;
// Remove bundledDependencies temporarily
console.log('📦 Removing bundledDependencies temporarily...');
delete packageJson.bundledDependencies;
fs.writeFileSync(packagePath, JSON.stringify(packageJson, null, 2));
// Set proxy and publish
console.log('🌍 Setting proxy and publishing...');
process.env.https_proxy = 'http://127.0.0.1:7890';
process.env.http_proxy = 'http://127.0.0.1:7890';
process.env.all_proxy = 'socks5://127.0.0.1:7890';
process.env.SKIP_BUNDLED_CHECK = 'true';
execSync('npm publish --access public', {
stdio: 'inherit',
env: process.env
});
// Restore bundledDependencies
console.log('✅ Restoring bundledDependencies...');
packageJson.bundledDependencies = originalBundled;
fs.writeFileSync(packagePath, JSON.stringify(packageJson, null, 2));
console.log('🎉 Published successfully!');
} catch (error) {
console.error('❌ Publish failed:', error.message);
// Restore package.json on error
try {
const packageJson = JSON.parse(fs.readFileSync(packagePath, 'utf8'));
packageJson.bundledDependencies = ["tsx"];
fs.writeFileSync(packagePath, JSON.stringify(packageJson, null, 2));
} catch (e) {
console.error('Failed to restore package.json');
}
process.exit(1);
}
}
publish();