* Fix loading within the CLI * Remove app * Remove promise handle * Add initial travis file * Add libxkbfile dependency * Add libxkbfile-dev * Add build script * Fix malformed bash statement * Remove yarn from script * Improve build script * Extract upx before usage * Only run upx if on linux * Ensure resource directory exists * Pack runnable binary * Export binary with platform * Improve build process * Install upx before running install script * Update typescript version before running nexe * Add os.release() function for multi-platform support * Update travis.yml to improve deployment * Add on CI * Update to v1.31.0 * Add libsecret * Update build target * Skip cleanup * Fix built-in extensions * Add basics for apps * Create custom DNS server * Fix forking within CLI. Fixes TS language features * Fix filename resolve * Fix default extensions path * Add custom dialog * Store workspace path * Remove outfiles * Cleanup * Always authed outside of CLI * Use location.host for client * Remove useless app interface * Remove debug file for building wordlist * Use chromes tcp host * Update patch * Build browser app before packaging * Replace all css containing file:// URLs, fix webviews * Fix save * Fix mkdir
52 lines
1020 B
TypeScript
52 lines
1020 B
TypeScript
import { InitData } from "@coder/protocol";
|
|
import { client } from "./client";
|
|
|
|
class OS {
|
|
private _homedir: string | undefined;
|
|
private _tmpdir: string | undefined;
|
|
|
|
public constructor() {
|
|
client.initData.then((data) => {
|
|
this.initialize(data);
|
|
});
|
|
}
|
|
|
|
public homedir(): string {
|
|
if (typeof this._homedir === "undefined") {
|
|
throw new Error("trying to access homedir before it has been set");
|
|
}
|
|
|
|
return this._homedir;
|
|
}
|
|
|
|
public tmpdir(): string {
|
|
if (typeof this._tmpdir === "undefined") {
|
|
throw new Error("trying to access tmpdir before it has been set");
|
|
}
|
|
|
|
return this._tmpdir;
|
|
}
|
|
|
|
public initialize(data: InitData): void {
|
|
this._homedir = data.homeDirectory;
|
|
this._tmpdir = data.tmpDirectory;
|
|
}
|
|
|
|
public release(): string {
|
|
return "Unknown";
|
|
}
|
|
|
|
public platform(): NodeJS.Platform {
|
|
if (navigator.appVersion.indexOf("Win") != -1) {
|
|
return "win32";
|
|
}
|
|
if (navigator.appVersion.indexOf("Mac") != -1) {
|
|
return "darwin";
|
|
}
|
|
|
|
return "linux";
|
|
}
|
|
}
|
|
|
|
export = new OS();
|