mirror of
https://github.com/joeseesun/wechat-radar.git
synced 2026-09-08 06:38:30 +09:00
Publish updated WeChat Radar
This commit is contained in:
@@ -0,0 +1,32 @@
|
||||
#!/usr/bin/env node
|
||||
|
||||
import Database from 'better-sqlite3';
|
||||
import { existsSync, mkdirSync } from 'node:fs';
|
||||
import { homedir } from 'node:os';
|
||||
import { join } from 'node:path';
|
||||
|
||||
const dataDir = process.env.WECHAT_RADAR_DATA_DIR || join(homedir(), '.wechat-radar');
|
||||
const source = join(dataDir, 'radar.db');
|
||||
const backupDir = join(dataDir, 'backups');
|
||||
|
||||
if (!existsSync(source)) {
|
||||
console.error(`radar.db not found: ${source}`);
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
mkdirSync(backupDir, { recursive: true });
|
||||
|
||||
const stamp = new Date().toISOString().replace(/[:.]/g, '-');
|
||||
const target = join(backupDir, `radar-${stamp}.db`);
|
||||
|
||||
const db = new Database(source, { readonly: true, fileMustExist: true });
|
||||
|
||||
try {
|
||||
await db.backup(target);
|
||||
console.log(target);
|
||||
} catch (err) {
|
||||
console.error(err);
|
||||
process.exitCode = 1;
|
||||
} finally {
|
||||
db.close();
|
||||
}
|
||||
@@ -1,3 +1,4 @@
|
||||
/* eslint-disable @typescript-eslint/no-require-imports */
|
||||
const Database = require('better-sqlite3');
|
||||
const { existsSync, mkdirSync, writeFileSync } = require('node:fs');
|
||||
const { homedir } = require('node:os');
|
||||
|
||||
Reference in New Issue
Block a user