added changelog api

This commit is contained in:
Russell2259
2024-01-10 22:07:35 +00:00
parent 023c062f3d
commit 343d3acec2
6 changed files with 77 additions and 8 deletions
+14 -3
View File
@@ -1,16 +1,27 @@
import childProcess from 'node:child_process';
import path from 'node:path';
import url from 'node:url';
import fs from 'node:fs';
const __dirname = url.fileURLToPath(new URL('.', import.meta.url));
const packageFile = JSON.parse(fs.readFileSync(path.join(__dirname, '../package.json')));
const commits = await (await fetch(`https://api.github.com/repos/Skoolgq/Polaris/commits`)).json();
/**
* @param {import('express').Express} app
*/
const routes = (app) => {
/*app.get('/api/changelog', async (req, res) => {
});*/
app.get('/api/changelog', async (req, res) => {
res.json({
version: packageFile.version || 'unknown',
commit: {
sha: childProcess.execSync('git rev-parse HEAD').toString().trim() || 'Uuknown',
message: childProcess.execSync('git rev-list --format=%s --max-count=1 HEAD').toString().split('\n')[1].replace('changelog ', '') || 'unknown'
},
upToDate: (commits[0].sha === childProcess.execSync('git rev-parse HEAD').toString().trim()) || false,
changelog: JSON.parse(fs.readFileSync(path.join(__dirname, '../static/assets/JSON/changelog.json')))
});
});
app.get('/api/favicon', async (req, res) => {
try {
+4 -2
View File
@@ -7,6 +7,7 @@ import { pathToFile, TokenManager, rewriter } from './utils.js';
import config from '../polaris.config.js';
import api from './api.js';
import childProcess from 'node:child_process';
import path from 'node:path';
import http from 'node:http';
import url from 'node:url';
@@ -15,9 +16,10 @@ import fs from 'node:fs';
const app = express();
const server = http.createServer();
const bareServer = createBareServer('/bare/');
const __dirname = url.fileURLToPath(new URL('.', import.meta.url));
const packageFile = JSON.parse(fs.readFileSync(path.join(__dirname, '../package.json')));
const mode = (process.argv[2] === 'prod' || process.argv[2] === 'dev' ? process.argv[2] : (process.argv[3] === 'prod' || process.argv[3] === 'dev' ? process.argv[3] : (config.mode === 'prod' || config.mode === 'dev' ? config.mode : 'prod')));
const port = (process.argv[2] !== 'prod' && process.argv[2] !== 'dev' && Boolean(Number(process.argv[2]))) ? process.argv[2] : (Boolean(Number(process.argv[3])) ? process.argv[3] : (Boolean(Number(config.port)) ? config.port : (mode === 'prod' ? 80 : 8080)));
const __dirname = url.fileURLToPath(new URL('.', import.meta.url));
const swPaths = [
'/uv/sw.js',
@@ -139,4 +141,4 @@ server.on('upgrade', (req, socket, head) => {
else socket.end();
});
server.listen(port, () => console.log(`Polaris running\n\nPort: ${server.address().port}\nMode: ${mode === 'dev' ? 'development' : 'production'}\nNode.js: ${process.version}`));
server.listen(port, () => console.log(`Polaris running\n\nPort: ${server.address().port}\nVersion: ${packageFile.version || 'Unknown'} ${childProcess.execSync('git rev-parse HEAD').toString().trim().slice(0, 7) || 'Unknown'}\nMode: ${mode === 'dev' ? 'development' : 'production'}\nNode.js: ${process.version}`));