53 lines
1.1 KiB
JavaScript
53 lines
1.1 KiB
JavaScript
#!/usr/bin/env node
|
|
|
|
const { spawnSync } = require('child_process');
|
|
|
|
const commands = {
|
|
migrate: {
|
|
description: 'Run migrations to update to the latest major SDK version',
|
|
fn: () => {
|
|
const result = spawnSync(
|
|
'npx',
|
|
[
|
|
'-y',
|
|
'https://github.com/stainless-api/migrate-ts/releases/download/0.0.3/stainless-api-migrate-0.0.3.tgz',
|
|
'--migrationConfig',
|
|
require.resolve('./migration-config.json'),
|
|
...process.argv.slice(3),
|
|
],
|
|
{ stdio: 'inherit' },
|
|
);
|
|
if (result.status !== 0) {
|
|
process.exit(result.status);
|
|
}
|
|
},
|
|
},
|
|
};
|
|
|
|
function exitWithHelp() {
|
|
console.log(`Usage: openai <subcommand>`);
|
|
console.log();
|
|
console.log('Subcommands:');
|
|
|
|
for (const [name, info] of Object.entries(commands)) {
|
|
console.log(` ${name} ${info.description}`);
|
|
}
|
|
|
|
console.log();
|
|
process.exit(1);
|
|
}
|
|
|
|
if (process.argv.length < 3) {
|
|
exitWithHelp();
|
|
}
|
|
|
|
const commandName = process.argv[2];
|
|
|
|
const command = commands[commandName];
|
|
if (!command) {
|
|
console.log(`Unknown subcommand ${commandName}.`);
|
|
exitWithHelp();
|
|
}
|
|
|
|
command.fn();
|