Skip to content

Commit

Permalink
chore: update log supports
Browse files Browse the repository at this point in the history
  • Loading branch information
zzzgydi committed Mar 19, 2022
1 parent ab0d516 commit 6a4924b
Show file tree
Hide file tree
Showing 4 changed files with 63 additions and 1 deletion.
11 changes: 11 additions & 0 deletions UPDATELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
## v0.0.23

### Features

- i18n supports
- Remote profile User Agent supports

### Bug Fixes

- clash config file case ignore
- clash `external-controller` only port
6 changes: 6 additions & 0 deletions scripts/publish.mjs
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
import fs from "fs-extra";
import { createRequire } from "module";
import { execSync } from "child_process";
import { resolveUpdateLog } from "./updatelog.mjs";

const require = createRequire(import.meta.url);

// publish
async function resolvePublish() {
const flag = process.argv[2] ?? "patch";
const packageJson = require("../package.json");
Expand All @@ -26,6 +28,10 @@ async function resolvePublish() {
packageJson.version = nextVersion;
tauriJson.package.version = nextVersion;

// 发布更新前先写更新日志
const nextTag = `v${nextVersion}`;
await resolveUpdateLog(nextTag);

await fs.writeFile(
"./package.json",
JSON.stringify(packageJson, undefined, 2)
Expand Down
3 changes: 2 additions & 1 deletion scripts/release.mjs
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import fetch from "node-fetch";
import { getOctokit, context } from "@actions/github";
import { resolveUpdateLog } from "./updatelog.mjs";

const UPDATE_TAG_NAME = "updater";
const UPDATE_JSON_FILE = "update.json";
Expand Down Expand Up @@ -34,7 +35,7 @@ async function resolveRelease() {

const updateData = {
name: tag.name,
notes: latestRelease.body, // use the release body directly
notes: await resolveUpdateLog(tag.name), // use updatelog.md
pub_date: new Date().toISOString(),
platforms: {
win64: { signature: "", url: "" },
Expand Down
44 changes: 44 additions & 0 deletions scripts/updatelog.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
import fs from "fs-extra";
import path from "path";

const UPDATE_LOG = "UPDATELOG.md";

// parse the UPDATELOG.md
export async function resolveUpdateLog(tag) {
const cwd = process.cwd();

const reTitle = /^## v[\d\.]+/;
const reEnd = /^---/;

const file = path.join(cwd, UPDATE_LOG);

if (!(await fs.pathExists(file))) {
throw new Error("could not found UPDATELOG.md");
}

const data = await fs.readFile(file).then((d) => d.toString("utf8"));

const map = {};
let p = "";

data.split("\n").forEach((line) => {
if (reTitle.test(line)) {
p = line.slice(3).trim();
if (!map[p]) {
map[p] = [];
} else {
throw new Error(`Tag ${p} dup`);
}
} else if (reEnd.test(line)) {
p = "";
} else if (p) {
map[p].push(line);
}
});

if (!map[tag]) {
throw new Error(`could not found "${tag}" in UPDATELOG.md`);
}

return map[tag].join("\n").trim();
}

0 comments on commit 6a4924b

Please sign in to comment.