Getting the client to run (#12)
* Clean up workbench and integrate initialization data * Uncomment Electron fill * Run server & client together * Clean up Electron fill & patch * Bind fs methods This makes them usable with the promise form: `promisify(access)(...)`. * Add space between tag and title to browser logger * Add typescript dep to server and default __dirname for path * Serve web files from server * Adjust some dev options * Rework workbench a bit to use a class and catch unexpected errors * No mkdirs for now, fix util fill, use bash with exec * More fills, make general client abstract * More fills * Fix cp.exec * Fix require calls in fs fill being aliased * Create data and storage dir * Implement fs.watch Using exec for now. * Implement storage database fill * Fix os export and homedir * Add comment to use navigator.sendBeacon * Fix fs callbacks (some args are optional) * Make sure data directory exists when passing it back * Update patch * Target es5 * More fills * Add APIs required for bootstrap-fork to function (#15) * Add bootstrap-fork execution * Add createConnection * Bundle bootstrap-fork into cli * Remove .node directory created from spdlog * Fix npm start * Remove unnecessary comment * Add webpack-hot-middleware if CLI env is not set * Add restarting to shared process * Fix starting with yarn
This commit is contained in:
38
packages/ide/src/fill/os.ts
Normal file
38
packages/ide/src/fill/os.ts
Normal file
@@ -0,0 +1,38 @@
|
||||
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("not initialized");
|
||||
}
|
||||
|
||||
return this._homedir;
|
||||
}
|
||||
|
||||
public tmpdir(): string {
|
||||
if (typeof this._tmpdir === "undefined") {
|
||||
throw new Error("not initialized");
|
||||
}
|
||||
|
||||
return this._tmpdir;
|
||||
}
|
||||
|
||||
public initialize(data: InitData): void {
|
||||
this._homedir = data.homeDirectory;
|
||||
this._tmpdir = data.tmpDirectory;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
export = new OS();
|
||||
Reference in New Issue
Block a user