mirror of
https://activitypub.software/TransFem-org/Sharkey.git
synced 2025-08-05 16:49:17 +00:00

this will make it much easier to debug problems for instances that run unreleased versions! when run on a tagged commit, `git describe --tags` prints the tag name; otherwise it prints something like `2025.4.3-32-ga4c0ef824c` which means: - the closest tag is 2025.4.3 - there are 32 commits between that tag and this commit - this commit's id is `a4c0ef824c` (the `g` is just a prefix) notice that the version as reported by the frontend (in `/about-sharkey` for example) is _not_ changed, that one is still sourced from `/package.json` (so, for example, you don't get a "sharkey has been updated!" pop-up every time)
38 lines
964 B
JavaScript
38 lines
964 B
JavaScript
/*
|
|
* SPDX-FileCopyrightText: syuilo and misskey-project
|
|
* SPDX-License-Identifier: AGPL-3.0-only
|
|
*/
|
|
|
|
const fs = require('fs');
|
|
const packageJsonPath = __dirname + '/../package.json'
|
|
const { execFileSync } = require('node:child_process');
|
|
|
|
function build() {
|
|
let gitVersion;
|
|
try {
|
|
gitVersion = execFileSync('git', ['describe', '--tags'], {
|
|
encoding: 'utf-8',
|
|
});
|
|
gitVersion = gitVersion.trim();
|
|
} catch (e) {
|
|
console.warn("couldn't get git commit details, ignoring",e);
|
|
}
|
|
|
|
try {
|
|
const json = fs.readFileSync(packageJsonPath, 'utf-8')
|
|
const meta = JSON.parse(json);
|
|
fs.mkdirSync(__dirname + '/../built', { recursive: true });
|
|
fs.writeFileSync(__dirname + '/../built/meta.json', JSON.stringify({ version: meta.version, gitVersion }), 'utf-8');
|
|
} catch (e) {
|
|
console.error(e)
|
|
}
|
|
}
|
|
|
|
build();
|
|
|
|
if (process.argv.includes("--watch")) {
|
|
fs.watch(packageJsonPath, (event, filename) => {
|
|
console.log(`update ${filename} ...`)
|
|
build()
|
|
})
|
|
}
|