mirror of
https://github.com/tusen-ai/naive-ui.git
synced 2024-12-21 04:50:14 +08:00
98 lines
2.5 KiB
JavaScript
98 lines
2.5 KiB
JavaScript
|
const request = require('superagent')
|
|||
|
const fs = require('fs')
|
|||
|
const path = require('path')
|
|||
|
const inquirer = require('inquirer')
|
|||
|
|
|||
|
const { DINGTALK_TOKEN } = process.env
|
|||
|
|
|||
|
if (!DINGTALK_TOKEN) {
|
|||
|
console.log('No DINGTALK_TOKEN in your env.')
|
|||
|
process.exit(0)
|
|||
|
}
|
|||
|
|
|||
|
const { DISCORD_TOKEN } = process.env
|
|||
|
|
|||
|
if (!DISCORD_TOKEN) {
|
|||
|
console.error('No DISCORD_TOKEN in your env.')
|
|||
|
process.exit(0)
|
|||
|
}
|
|||
|
|
|||
|
async function releaseChangelogToDingTalk () {
|
|||
|
const changelog = fs
|
|||
|
.readFileSync(path.resolve(__dirname, '../CHANGELOG.zh-CN.md'), 'utf-8')
|
|||
|
.split(/^## /gm)[1]
|
|||
|
.replace(/^##/gm, '')
|
|||
|
.replace(/\[([^\]]+)\]\([^)]+\)/g, '[$1]')
|
|||
|
|
|||
|
const message = `变更日志 ${changelog.trim()}\n\n完整信息见 https://github.com/TuSimple/naive-ui/blob/main/CHANGELOG.zh-CN.md\n`
|
|||
|
|
|||
|
await inquirer
|
|||
|
.prompt([
|
|||
|
{
|
|||
|
type: 'confirm',
|
|||
|
name: 'release-changelog',
|
|||
|
message: `发布以下变更日志到钉钉群:\n\n${message}`
|
|||
|
}
|
|||
|
])
|
|||
|
.then((ans) => {
|
|||
|
if (ans['release-changelog']) {
|
|||
|
request
|
|||
|
.post('https://oapi.dingtalk.com/robot/send')
|
|||
|
.query({
|
|||
|
access_token: DINGTALK_TOKEN
|
|||
|
})
|
|||
|
.type('application/json')
|
|||
|
.send({
|
|||
|
msgtype: 'text',
|
|||
|
text: {
|
|||
|
content: message
|
|||
|
}
|
|||
|
})
|
|||
|
.then((res) => {
|
|||
|
console.log(res.text)
|
|||
|
})
|
|||
|
}
|
|||
|
})
|
|||
|
}
|
|||
|
|
|||
|
async function releaseChangelogToDiscord () {
|
|||
|
const changelog = fs
|
|||
|
.readFileSync(path.resolve(__dirname, '../CHANGELOG.en-US.md'), 'utf-8')
|
|||
|
.split(/^## /gm)[1]
|
|||
|
.replace(/^##/gm, '')
|
|||
|
.replace(/\[([^\]]+)\]\([^)]+\)/g, '[$1]')
|
|||
|
|
|||
|
const message = `Changelog ${changelog.trim()}\n\nSee https://github.com/TuSimple/naive-ui/blob/main/CHANGELOG.en-US.md for details.\n`
|
|||
|
|
|||
|
await inquirer
|
|||
|
.prompt([
|
|||
|
{
|
|||
|
type: 'confirm',
|
|||
|
name: 'release-changelog',
|
|||
|
message: `发布以下变更日志到 Discord:\n\n${message}`
|
|||
|
}
|
|||
|
])
|
|||
|
.then((ans) => {
|
|||
|
if (ans['release-changelog']) {
|
|||
|
request
|
|||
|
.post(`https://discord.com/api/webhooks/${DISCORD_TOKEN}`)
|
|||
|
.type('application/json')
|
|||
|
.send({
|
|||
|
content: message
|
|||
|
})
|
|||
|
.then(() => {
|
|||
|
console.log('done')
|
|||
|
})
|
|||
|
.catch((e) => {
|
|||
|
console.error(e)
|
|||
|
console.log('Error happens.')
|
|||
|
})
|
|||
|
}
|
|||
|
})
|
|||
|
}
|
|||
|
|
|||
|
;(async () => {
|
|||
|
await releaseChangelogToDingTalk()
|
|||
|
await releaseChangelogToDiscord()
|
|||
|
})()
|