update checker middleware
This commit is contained in:
parent
9204eb81be
commit
04412d7cbc
@ -4,6 +4,8 @@ import { input, select } from '@inquirer/prompts'
|
||||
import clone from 'git-clone'
|
||||
import path from 'node:path'
|
||||
|
||||
import { checkForUpdate } from '../utils/update'
|
||||
|
||||
function builder(yargs: Argv) {
|
||||
return yargs
|
||||
.option('projectName', {
|
||||
@ -18,6 +20,7 @@ function builder(yargs: Argv) {
|
||||
type: 'string',
|
||||
demandOption: false,
|
||||
})
|
||||
.middleware(async () => await checkForUpdate())
|
||||
}
|
||||
|
||||
async function handler(args: ArgumentsCamelCase) {
|
||||
|
@ -1,9 +1,6 @@
|
||||
import yargs from 'yargs'
|
||||
|
||||
import create from './commands/create'
|
||||
import { checkForUpdate } from './utils/update'
|
||||
|
||||
yargs.middleware(checkForUpdate)
|
||||
|
||||
yargs
|
||||
.usage('<cmd> [args]')
|
||||
|
@ -10,17 +10,20 @@ type Version = {
|
||||
message: string
|
||||
}
|
||||
|
||||
export async function checkForUpdate() {
|
||||
export async function checkForUpdate(): Promise<void> {
|
||||
return new Promise(res => {
|
||||
yargs.showVersion(version =>
|
||||
axios.get<Version[]>(latestVersionURL).then(({ data }) => {
|
||||
axios
|
||||
.get<Version[]>(latestVersionURL)
|
||||
.then(({ data }) => {
|
||||
const latestVersion = data[0].name
|
||||
|
||||
if (!(latestVersion === version))
|
||||
notifyUserAboutUpdate(latestVersion)
|
||||
|
||||
return
|
||||
}),
|
||||
})
|
||||
.then(() => res()),
|
||||
)
|
||||
})
|
||||
}
|
||||
|
||||
function notifyUserAboutUpdate(version: string) {
|
||||
|
Loading…
Reference in New Issue
Block a user