37 lines
1.1 KiB
JavaScript
37 lines
1.1 KiB
JavaScript
// @ts-check
|
|
const inquirer = require('inquirer')
|
|
const chalk = require('chalk')
|
|
const prompt = inquirer.createPromptModule()
|
|
const package = require('../package.json')
|
|
const { execSync } = require('child_process')
|
|
const { resolve } = require('path')
|
|
const { readdirSync } = require('fs')
|
|
const PATCH_DIR = resolve(process.cwd(), './patch')
|
|
|
|
async function bootstarp() {
|
|
console.log(chalk.yellowBright('mx-space server patch center'))
|
|
|
|
console.log(chalk.yellow(`current version: ${package.version}`))
|
|
|
|
const patchFiles = readdirSync(PATCH_DIR).filter(
|
|
(file) => file.startsWith('v') && file.endsWith('.ts'),
|
|
)
|
|
|
|
prompt({
|
|
type: 'list',
|
|
name: 'version',
|
|
message: 'Select version you want to patch.',
|
|
choices: patchFiles.map((f) => f.replace(/\.ts$/, '')),
|
|
}).then(({ version }) => {
|
|
execSync('yarn run build', {
|
|
encoding: 'utf-8',
|
|
})
|
|
|
|
const patchPath = resolve('dist/patch/', version + '.js')
|
|
console.log(chalk.green('starting patch... ' + patchPath))
|
|
execSync(`node ${patchPath}`, { encoding: 'utf8' })
|
|
})
|
|
}
|
|
|
|
bootstarp()
|