Compare commits

..

4 Commits

Author SHA1 Message Date
Asher
a2ad3d4ff4 Show hidden files by default
Since there is no other way to enable hidden files, it seems better to
enable it by default otherwise there are some folders/files you simply
can never open from the dialog.
2019-05-20 16:08:54 -05:00
Asher
4a29cd1664 Fix human readable byte size when zero 2019-05-20 15:53:06 -05:00
Anmol Sethi
0462a93f11 Expose actions registry (#701) 2019-05-20 14:35:58 -05:00
Asher
db39eacfa1 Set NODE_ENV and VERSION when building (#700)
* Set NODE_ENV and VERSION when building

Should fix the version flag not reporting correctly as well as enable
the service worker and prevent the 404 hmr requests again.

* Log env vars

To help make sure it's built correctly when looking at the Travis logs.
2019-05-20 11:02:36 -05:00
5 changed files with 35 additions and 11 deletions

View File

@@ -1,4 +1,5 @@
import { register, run } from "@coder/runner"; import { register, run } from "@coder/runner";
import { logger, field } from "@coder/logger";
import * as fs from "fs"; import * as fs from "fs";
import * as fse from "fs-extra"; import * as fse from "fs-extra";
import * as os from "os"; import * as os from "os";
@@ -17,6 +18,11 @@ const vscodeVersion = process.env.VSCODE_VERSION || "1.33.1";
const vsSourceUrl = `https://codesrv-ci.cdr.sh/vstar-${vscodeVersion}.tar.gz`; const vsSourceUrl = `https://codesrv-ci.cdr.sh/vstar-${vscodeVersion}.tar.gz`;
const buildServerBinary = register("build:server:binary", async (runner) => { const buildServerBinary = register("build:server:binary", async (runner) => {
logger.info("Building with environment", field("env", {
NODE_ENV: process.env.NODE_ENV,
VERSION: process.env.VERSION,
}));
await ensureInstalled(); await ensureInstalled();
await Promise.all([ await Promise.all([
buildBootstrapFork(), buildBootstrapFork(),

View File

@@ -1,6 +1,9 @@
// tslint:disable no-any // tslint:disable no-any
import { ITerminalService } from "vs/workbench/contrib/terminal/common/terminal"; import { ITerminalService } from "vs/workbench/contrib/terminal/common/terminal";
import { IWorkbenchActionRegistry } from 'vs/workbench/common/actions';
import { Action } from 'vs/base/common/actions';
import { SyncActionDescriptor } from 'vs/platform/actions/common/actions';
export interface EvalHelper { } export interface EvalHelper { }
interface ActiveEvalEmitter { interface ActiveEvalEmitter {
@@ -146,7 +149,10 @@ declare namespace ide {
export const client: {}; export const client: {};
export const workbench: { export const workbench: {
readonly action: Action,
readonly syncActionDescriptor: SyncActionDescriptor,
readonly statusbarService: IStatusbarService; readonly statusbarService: IStatusbarService;
readonly actionsRegistry: IWorkbenchActionRegistry;
readonly notificationService: INotificationService; readonly notificationService: INotificationService;
readonly storageService: IStorageService; readonly storageService: IStorageService;
readonly menuRegistry: IMenuRegistry; readonly menuRegistry: IMenuRegistry;

View File

@@ -6,13 +6,17 @@ import { IStatusbarService, StatusbarAlignment } from "vs/platform/statusbar/com
import * as paths from "./fill/paths"; import * as paths from "./fill/paths";
import product from "./fill/product"; import product from "./fill/product";
import "./vscode.scss"; import "./vscode.scss";
import { MenuId, MenuRegistry } from "vs/platform/actions/common/actions"; import { Action } from 'vs/base/common/actions';
import { SyncActionDescriptor, MenuRegistry, MenuId } from 'vs/platform/actions/common/actions';
import { Registry } from 'vs/platform/registry/common/platform';
import { IWorkbenchActionRegistry, Extensions } from 'vs/workbench/common/actions';
import { CommandsRegistry } from "vs/platform/commands/common/commands"; import { CommandsRegistry } from "vs/platform/commands/common/commands";
import { IFileService, FileOperation } from "vs/platform/files/common/files"; import { IFileService, FileOperation } from "vs/platform/files/common/files";
import { ITextFileService } from "vs/workbench/services/textfile/common/textfiles"; import { ITextFileService } from "vs/workbench/services/textfile/common/textfiles";
import { IModelService } from "vs/editor/common/services/modelService"; import { IModelService } from "vs/editor/common/services/modelService";
import { ITerminalService } from "vs/workbench/contrib/terminal/common/terminal"; import { ITerminalService } from "vs/workbench/contrib/terminal/common/terminal";
import { IStorageService } from "vs/platform/storage/common/storage"; import { IStorageService } from "vs/platform/storage/common/storage";
// NOTE: shouldn't import anything from VS Code here or anything that will // NOTE: shouldn't import anything from VS Code here or anything that will
// depend on a synchronous fill like `os`. // depend on a synchronous fill like `os`.
@@ -33,11 +37,12 @@ class VSClient extends IdeClient {
window.ide = { window.ide = {
client: ideClientInstance, client: ideClientInstance,
workbench: { workbench: {
action: Action,
syncActionDescriptor: SyncActionDescriptor,
commandRegistry: CommandsRegistry, commandRegistry: CommandsRegistry,
// tslint:disable-next-line:no-any actionsRegistry: Registry.as<IWorkbenchActionRegistry>(Extensions.WorkbenchActions),
menuRegistry: MenuRegistry as any, menuRegistry: MenuRegistry,
// tslint:disable-next-line:no-any statusbarService: getService<IStatusbarService>(IStatusbarService),
statusbarService: getService<IStatusbarService>(IStatusbarService) as any,
notificationService: getService<INotificationService>(INotificationService), notificationService: getService<INotificationService>(INotificationService),
terminalService: getService<ITerminalService>(ITerminalService), terminalService: getService<ITerminalService>(ITerminalService),
storageService: { storageService: {

View File

@@ -52,7 +52,15 @@ export type DialogOptions = OpenDialogOptions | SaveDialogOptions;
export const showOpenDialog = (options: OpenDialogOptions): Promise<string> => { export const showOpenDialog = (options: OpenDialogOptions): Promise<string> => {
return new Promise<string>((resolve, reject): void => { return new Promise<string>((resolve, reject): void => {
const dialog = new Dialog(DialogType.Open, options); // Make the default to show hidden files and directories since there is no
// other way to make them visible in the dialogs currently.
const dialog = new Dialog(DialogType.Open, typeof options.properties.showHiddenFiles === "undefined" ? {
...options,
properties: {
...options.properties,
showHiddenFiles: true,
},
} : options);
dialog.onSelect((e) => { dialog.onSelect((e) => {
dialog.dispose(); dialog.dispose();
resolve(e); resolve(e);
@@ -505,9 +513,8 @@ class DialogEntryRenderer implements ITreeRenderer<DialogEntry, string, DialogEn
*/ */
private humanReadableSize(bytes: number): string { private humanReadableSize(bytes: number): string {
const units = ["B", "KB", "MB", "GB", "TB", "PB", "EB", "ZB", "YB"]; const units = ["B", "KB", "MB", "GB", "TB", "PB", "EB", "ZB", "YB"];
const i = Math.min(Math.floor(Math.log(bytes) / Math.log(1000)), units.length - 1); const i = Math.min(Math.floor(bytes && Math.log(bytes) / Math.log(1000)), units.length - 1);
return (bytes / Math.pow(1000, i)).toFixed(2) return (bytes / Math.pow(1000, i)).toFixed(2) + " " + units[i];
+ " " + units[i];
} }
} }

View File

@@ -15,13 +15,13 @@ function docker_build() {
docker cp ./. $containerID:/src docker cp ./. $containerID:/src
exec "cd /src && yarn" exec "cd /src && yarn"
exec "cd /src && npm rebuild" exec "cd /src && npm rebuild"
exec "cd /src && yarn task build:server:binary" exec "cd /src && NODE_ENV=production VERSION=$VERSION yarn task build:server:binary"
exec "cd /src && yarn task package $VERSION" exec "cd /src && yarn task package $VERSION"
docker cp $containerID:/src/release/. ./release/ docker cp $containerID:/src/release/. ./release/
} }
if [[ "$OSTYPE" == "darwin"* ]]; then if [[ "$OSTYPE" == "darwin"* ]]; then
yarn task build:server:binary NODE_ENV=production yarn task build:server:binary
else else
if [[ "$TARGET" == "alpine" ]]; then if [[ "$TARGET" == "alpine" ]]; then
IMAGE="codercom/nbin-alpine" IMAGE="codercom/nbin-alpine"