alm
Version:
The best IDE for TypeScript
33 lines (31 loc) • 818 B
text/typescript
/**
* Server static global state info (shared by client).
*/
export interface ServerState {
update?: {
latest: string;
current: string;
type: 'latest' | 'major' | 'minor' | 'patch' | 'prerelease' | 'build';
name: string;
},
version: string,
typescriptVersion: string,
}
export let serverState: ServerState = {
version: '0.0.0',
typescriptVersion: '0.0.0',
};
export function setServerState(state: ServerState) {
serverState = state;
}
/**
* Exposed on client
* <script src="/serverState.js"></script>
*/
declare global {
var serverState: ServerState;
}
import * as express from "express";
export function addRoute(app:express.Express){
app.use('/serverState.js', (req,res) => res.send('window.serverState = ' + JSON.stringify(serverState)));
}