diff --git a/build/gulpfile.vscode.js b/build/gulpfile.vscode.js index d8fb2d834ae2aa1d3412d5ea1705f47301fa95f0..88bbac8f2338f33b5200b8316b2accdb49224eb5 100644 --- a/build/gulpfile.vscode.js +++ b/build/gulpfile.vscode.js @@ -29,7 +29,7 @@ var build = path.join(root, '.build'); var commit = util.getVersion(root); var baseModules = [ - 'app', 'applicationinsights', 'assert', 'auto-updater', 'browser-window', + 'applicationinsights', 'assert', 'browser-window', 'child_process', 'chokidar', 'crash-reporter', 'crypto', 'dialog', 'emmet', 'events', 'fs', 'getmac', 'glob', 'graceful-fs', 'http', 'http-proxy-agent', 'https', 'https-proxy-agent', 'iconv-lite', 'electron', 'ipc', 'menu', 'menu-item', 'net', diff --git a/src/typings/atom-browser.d.ts b/src/typings/atom-browser.d.ts index 17a5e2f8d703b8e4f9c63fb0e882d65ca4cb3d68..cf44d11562ab2e47d5a29474e339f9f66cfefd82 100644 --- a/src/typings/atom-browser.d.ts +++ b/src/typings/atom-browser.d.ts @@ -331,7 +331,7 @@ interface IDock { // https://github.com/atom/electron/blob/master/docs/api/auto-updater.md declare module 'auto-updater' { export interface IAutoUpdater extends IEventEmitter { - setFeedUrl(url: string): void; + setFeedURL(url: string): void; checkForUpdates(): void; } @@ -342,7 +342,7 @@ declare module 'auto-updater' { version?: string; } - export function setFeedUrl(url: string): void; + export function setFeedURL(url: string): void; export function checkForUpdates(): void; export function addListener(event: string, listener: Function): EventEmitter; export function on(event: string, listener: Function): EventEmitter; diff --git a/src/vs/workbench/electron-main/update-manager.ts b/src/vs/workbench/electron-main/update-manager.ts index f1c11f7a38db8281570c53808da4424e336bc148..408f24bf89cf7a0dbc746bd37bbb6eaf46461301 100644 --- a/src/vs/workbench/electron-main/update-manager.ts +++ b/src/vs/workbench/electron-main/update-manager.ts @@ -8,6 +8,7 @@ import fs = require('fs'); import path = require('path'); import events = require('events'); +import electron = require('electron'); import platform = require('vs/base/common/platform'); import env = require('vs/workbench/electron-main/env'); import storage = require('vs/workbench/electron-main/storage'); @@ -38,7 +39,7 @@ export interface IUpdate { } interface IAutoUpdater extends IEventEmitter { - setFeedUrl(url: string): void; + setFeedURL(url: string): void; checkForUpdates(): void; } @@ -67,7 +68,7 @@ export class UpdateManager extends events.EventEmitter { if (platform.isWindows) { this.raw = new Win32AutoUpdaterImpl(); } else if (platform.isMacintosh) { - this.raw = require.__$__nodeRequire('auto-updater'); // https://github.com/atom/electron/issues/3194 + this.raw = electron.autoUpdater; } if (this.raw) { @@ -141,7 +142,7 @@ export class UpdateManager extends events.EventEmitter { this._channel = channel; this._feedUrl = feedUrl; - this.raw.setFeedUrl(feedUrl); + this.raw.setFeedURL(feedUrl); this.setState(State.Idle); // Check for updates on startup after 30 seconds diff --git a/src/vs/workbench/electron-main/win32/auto-updater.win32.ts b/src/vs/workbench/electron-main/win32/auto-updater.win32.ts index db8d779c4603a09c1474c6527866cfda2ff01506..893e1c39a52cac47fde2ee294fe33afd482cf4b5 100644 --- a/src/vs/workbench/electron-main/win32/auto-updater.win32.ts +++ b/src/vs/workbench/electron-main/win32/auto-updater.win32.ts @@ -6,7 +6,6 @@ 'use strict'; import events = require('events'); -import {IAutoUpdater, IUpdate} from 'auto-updater'; import path = require('path'); import os = require('os'); import cp = require('child_process'); @@ -19,7 +18,14 @@ import { getProxyAgent } from 'vs/workbench/node/proxy'; import {manager as Settings} from 'vs/workbench/electron-main/settings'; import {manager as Lifecycle} from 'vs/workbench/electron-main/lifecycle'; -export class Win32AutoUpdaterImpl extends events.EventEmitter implements IAutoUpdater { +export interface IUpdate { + url: string; + name: string; + releaseNotes?: string; + version?: string; +} + +export class Win32AutoUpdaterImpl extends events.EventEmitter { private url: string; private currentRequest: Promise; @@ -36,7 +42,7 @@ export class Win32AutoUpdaterImpl extends events.EventEmitter implements IAutoUp return new TPromise((c, e) => mkdirp(result, null, err => err ? e(err) : c(result))); } - public setFeedUrl(url: string): void { + public setFeedURL(url: string): void { this.url = url; } @@ -102,7 +108,7 @@ export class Win32AutoUpdaterImpl extends events.EventEmitter implements IAutoUp } private getUpdatePackagePath(version: string): TPromise { - return this.cachePath.then(cachePath => path.join(cachePath, `CodeSetup-${ version }.exe`)); + return this.cachePath.then(cachePath => path.join(cachePath, `CodeSetup-${version}.exe`)); } private quitAndUpdate(updatePackagePath: string): void {