31 lines
1.0 KiB
JavaScript
Executable File
31 lines
1.0 KiB
JavaScript
Executable File
#!/usr/bin/env node
|
|
import { existsSync, unlinkSync } from 'node:fs';
|
|
import { join, dirname } from 'node:path';
|
|
import { fileURLToPath } from 'node:url';
|
|
import { findRootDir, runCommand } from './utils.mjs';
|
|
|
|
const __filename = fileURLToPath(import.meta.url);
|
|
const __dirname = dirname(__filename);
|
|
|
|
const rootDir = findRootDir(__dirname);
|
|
|
|
console.log('🚀 Starting release process...');
|
|
|
|
// Double-check we're not in pre-release mode (safety net)
|
|
const preJsonPath = join(rootDir, '.changeset', 'pre.json');
|
|
if (existsSync(preJsonPath)) {
|
|
console.log('⚠️ Warning: pre.json still exists. Removing it...');
|
|
unlinkSync(preJsonPath);
|
|
}
|
|
|
|
// Check if the extension version has changed and tag it
|
|
// This prevents changeset from trying to publish the private package
|
|
runCommand('node', [join(__dirname, 'tag-extension.mjs')]);
|
|
|
|
// Run changeset publish for npm packages
|
|
runCommand('npx', ['changeset', 'publish']);
|
|
|
|
console.log('✅ Release process completed!');
|
|
|
|
// The extension tag (if created) will trigger the extension-release workflow
|