Skip to content

Commit 98d81b4

Browse files
committed
feat: Add update manifest.json version script
1 parent 037aa99 commit 98d81b4

File tree

3 files changed

+28
-11
lines changed

3 files changed

+28
-11
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
"type": "module",
1414
"scripts": {
1515
"dev": "tsc && vite build --watch",
16-
"build": "tsc && vite build",
16+
"build": "node scripts/updateVersion.js && tsc && vite build",
1717
"pack": "node scripts/pack.js",
1818
"release": "gh release create v%npm_package_version% release/redmine-time-tracking-v%npm_package_version%.zip --notes-file release_notes.md --generate-notes",
1919
"publish": "pnpm run build && pnpm run pack && pnpm run release",

scripts/pack.js

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,22 @@
11
import AdmZip from "adm-zip";
22
import { existsSync, mkdirSync, readFileSync } from "fs";
3-
import { dirname, parse, resolve } from "path";
3+
import { resolve } from "path";
44

55
try {
6-
const __dirname = resolve(dirname(""));
7-
const { base } = parse(__dirname);
8-
const { version, version_name } = JSON.parse(readFileSync(resolve(__dirname, "dist", "manifest.json"), "utf8"));
6+
const { version, version_name } = JSON.parse(readFileSync(resolve("dist", "manifest.json"), "utf8"));
7+
8+
const name = "redmine-time-tracking";
9+
const outDir = "release";
10+
const filename = `${name}-v${version_name || version}.zip`;
911

10-
const outdir = "release";
11-
const filename = `${base}-v${version_name || version}.zip`;
1212
const zip = new AdmZip();
1313
zip.addLocalFolder("dist");
14-
if (!existsSync(outdir)) {
15-
mkdirSync(outdir);
14+
if (!existsSync(outDir)) {
15+
mkdirSync(outDir);
1616
}
17-
zip.writeZip(`${outdir}/${filename}`);
17+
zip.writeZip(`${outDir}/${filename}`);
1818

19-
console.log(`Success! Created a ${filename} file under ${outdir} directory. You can upload this file to web store.`);
19+
console.log(`Success! Created a ${filename} file under ${outDir} directory. You can upload this file to web store.`);
2020
} catch (e) {
2121
console.log(e);
2222
console.error("Error! Failed to generate a zip file.");

scripts/updateVersion.js

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
import { readFileSync, writeFileSync } from "fs";
2+
import { resolve } from "path";
3+
4+
try {
5+
const packageJsonContent = JSON.parse(readFileSync(resolve("package.json"), "utf8"));
6+
7+
const manifestPath = resolve("public", "manifest.json");
8+
const manifestContent = JSON.parse(readFileSync(manifestPath, "utf8"));
9+
10+
manifestContent.version = packageJsonContent.version;
11+
12+
writeFileSync(manifestPath, JSON.stringify(manifestContent, null, 4));
13+
14+
console.log("Success! Version in manifest.json updated.");
15+
} catch (error) {
16+
console.error("Error! Failed to update manifest.json:", error);
17+
}

0 commit comments

Comments
 (0)