48 lines
1.0 KiB
TypeScript
48 lines
1.0 KiB
TypeScript
|
import fs from 'fs-extra'
|
||
|
|
||
|
const fsa = fs.promises
|
||
|
|
||
|
process.env.XIAOJU_SURVEY_REPORT = 'true'
|
||
|
|
||
|
const readData = async (pkg: string) => {
|
||
|
const id = new Date().getTime().toString()
|
||
|
try {
|
||
|
if (!fs.existsSync(pkg)) {
|
||
|
return {
|
||
|
type: 'web',
|
||
|
name: '',
|
||
|
version: '',
|
||
|
description: '',
|
||
|
id,
|
||
|
msg: '文件不存在'
|
||
|
}
|
||
|
}
|
||
|
const data = await fsa.readFile(pkg, 'utf8').catch((e) => e)
|
||
|
const { name, version, description } = JSON.parse(data)
|
||
|
return { type: 'web', name, version, description, id }
|
||
|
} catch (error) {
|
||
|
return error
|
||
|
}
|
||
|
}
|
||
|
|
||
|
const report = async () => {
|
||
|
if (!process.env.XIAOJU_SURVEY_REPORT) {
|
||
|
return
|
||
|
}
|
||
|
|
||
|
const res = await readData('./package.json')
|
||
|
|
||
|
// 上报
|
||
|
fetch &&
|
||
|
fetch('https://xiaojusurveysrc.didi.cn/reportSourceData', {
|
||
|
method: 'POST',
|
||
|
headers: {
|
||
|
Accept: 'application/json, */*',
|
||
|
'Content-Type': 'application/json'
|
||
|
},
|
||
|
body: JSON.stringify(res)
|
||
|
}).catch(() => {})
|
||
|
}
|
||
|
|
||
|
report()
|