PT #157703073: Adopt theia-commons for Bosh and Concourse extensions

This commit is contained in:
BoykoAlex
2018-05-23 09:39:52 -04:00
parent a2dc2823d2
commit 4e77458ede
10 changed files with 101 additions and 273 deletions

View File

@@ -11,9 +11,7 @@
"dependencies": {
"@theia/core": "latest",
"@theia/languages": "latest",
"@pivotal-tools/jvm-launch-utils": "0.0.11",
"@types/glob": "^5.0.30",
"glob": "^7.1.2"
"@pivotal-tools/theia-languageclient": "0.0.1"
},
"devDependencies": {
"rimraf": "latest",

View File

@@ -1,50 +1,29 @@
import { injectable, inject, postConstruct } from 'inversify';
import { BaseLanguageClientContribution, Workspace, Languages, LanguageClientFactory } from '@theia/languages/lib/browser';
import { NotificationType } from 'vscode-jsonrpc';
import { DidChangeConfigurationParams } from 'vscode-base-languageclient/lib/base';
import { injectable, inject } from 'inversify';
import { Workspace, Languages, LanguageClientFactory } from '@theia/languages/lib/browser';
import { StsLanguageClientContribution } from '@pivotal-tools/theia-languageclient/lib/browser/language-client-contribution';
import {
BOSH_DEPLOYMENT_YAML_LANGUAGE_ID,
BOSH_CLOUDCONFIG_YAML_LANGUAGE_ID,
BOSH_SERVER_ID,
BOSH_SERVER_NAME
} from '../common';
import { BoshPreferences } from './bosh-preferences';
import { Utils } from './utils';
const CONFIG_CHANGED_NOTIFICATION_TYPE = new NotificationType<DidChangeConfigurationParams,void>('workspace/didChangeConfiguration');
import { BoshConfiguration, BoshPreferences } from './bosh-preferences';
@injectable()
export class BoshClientContribution extends BaseLanguageClientContribution {
export class BoshClientContribution extends StsLanguageClientContribution<BoshConfiguration> {
readonly id = BOSH_SERVER_ID;
readonly name = BOSH_SERVER_NAME;
constructor(
@inject(Workspace) protected readonly workspace: Workspace,
@inject(Languages) protected readonly languages: Languages,
@inject(LanguageClientFactory) protected readonly languageClientFactory: LanguageClientFactory,
@inject(Workspace) workspace: Workspace,
@inject(Languages) languages: Languages,
@inject(LanguageClientFactory) languageClientFactory: LanguageClientFactory,
@inject(BoshPreferences) protected readonly preferences: BoshPreferences
) {
super(workspace, languages, languageClientFactory);
}
@postConstruct()
protected async init() {
await this.preferences.ready;
// Send settings to LS
this.sendConfig();
this.preferences.onPreferenceChanged(() => this.sendConfig());
}
private sendConfig() {
return this.languageClient.then(client => {
const params = Utils.convertDotToNested(Object.assign({}, this.preferences));
return client.sendNotification(CONFIG_CHANGED_NOTIFICATION_TYPE, {
settings: params
});
})
}
protected get documentSelector() {
return [BOSH_DEPLOYMENT_YAML_LANGUAGE_ID, BOSH_CLOUDCONFIG_YAML_LANGUAGE_ID];
}

View File

@@ -1,27 +0,0 @@
export class Utils {
private static setNestedValue(properties: string[], value: any, obj: any){
if (properties.length > 1) {
// The property doesn't exists OR is not an object (and so we overwritte it) so we create it
if (!obj.hasOwnProperty(properties[0]) || typeof obj[properties[0]] !== 'object') {
obj[properties[0]] = {};
}
Utils.setNestedValue(properties.slice(1), value, obj[properties[0]]);
} else {
obj[properties[0]] = value;
}
}
public static convertDotToNested(source: any): any {
const result = {};
Object.keys(source).forEach(property => {
const properties = property.split('.');
if (source[property] && typeof source[property] === 'object') {
Utils.setNestedValue(properties, Utils.convertDotToNested(source[property]), result);
} else {
Utils.setNestedValue(properties, source[property], result);
}
});
return result;
}
}

View File

@@ -1,72 +1,20 @@
import * as path from 'path';
import * as glob from 'glob';
import { injectable } from 'inversify';
// import { DEBUG_MODE } from '@theia/core/lib/node';
import { IConnection, BaseLanguageServerContribution } from '@theia/languages/lib/node';
import { StsLanguageServerContribution } from '@pivotal-tools/theia-languageclient/lib/node/language-server-contribution';
import { BOSH_SERVER_ID, BOSH_SERVER_NAME } from '../common';
import { findJvm } from '@pivotal-tools/jvm-launch-utils';
@injectable()
export class BoshLanguageContribution extends BaseLanguageServerContribution {
export class BoshLanguageContribution extends StsLanguageServerContribution {
readonly id = BOSH_SERVER_ID;
readonly name = BOSH_SERVER_NAME;
protected readonly lsJarContainerFolder = path.resolve(__dirname, '../../jars');
protected readonly lsJarGlob = 'bosh-language-server*.jar';
protected readonly jvmArguments = [
// '-Xdebug',
// '-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=7999',
// '-Dlog.level=ALL',
'-Dorg.slf4j.simpleLogger.logFile=bosh-yaml.log'
];
start(clientConnection: IConnection): void {
const serverPath = path.resolve(__dirname, '../../jars');
const jarPaths = glob.sync('bosh-language-server*.jar', { cwd: serverPath });
if (jarPaths.length === 0) {
throw new Error(`The ${this.name} server launcher is not found.`);
}
const jarPath = path.resolve(serverPath, jarPaths[0]);
findJvm()
.catch(error => {
throw new Error('Error trying to find JVM');
})
.then(jvm => {
if (!jvm) {
throw new Error("Couldn't locate java in $JAVA_HOME or $PATH");
}
this.startSocketServer().then(server => {
const socket = this.accept(server);
// this.logInfo('logs at ' + path.resolve(workspacePath, '.metadata', '.log'));
const env = Object.create(process.env);
const addressInfo = server.address();
if (typeof addressInfo === 'string') {
throw new Error(`Address info was string ${addressInfo}`);
}
env.CLIENT_HOST = addressInfo.address;
env.CLIENT_PORT = addressInfo.port;
const command = jvm.getJavaExecutable();
const args = [
'-Dsts.lsp.client=theia',
'-Dlsp.completions.indentation.enable=true',
'-Dlsp.yaml.completions.errors.disable=true',
'-Dorg.slf4j.simpleLogger.logFile=concourse-yaml.log',
`-Dserver.port=${env.CLIENT_PORT}`
];
// if (DEBUG_MODE) {
args.push(
'-Xdebug',
'-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=7999',
'-Dlog.level=ALL'
);
// }
args.push(
'-jar', jarPath,
);
this.createProcessSocketConnection(socket, socket, command, args, { env })
.then(serverConnection => this.forward(clientConnection, serverConnection));
});
});
}
}

View File

@@ -102,6 +102,17 @@
version "0.0.11"
resolved "https://registry.yarnpkg.com/@pivotal-tools/jvm-launch-utils/-/jvm-launch-utils-0.0.11.tgz#11e8cc4850aa16a91c7579a8e3ed2a071acc36ba"
"@pivotal-tools/theia-languageclient@0.0.1":
version "0.0.1"
resolved "https://registry.yarnpkg.com/@pivotal-tools/theia-languageclient/-/theia-languageclient-0.0.1.tgz#5cbc35776657aa705adc3fb126c07e4f712f4c74"
dependencies:
"@pivotal-tools/jvm-launch-utils" "0.0.11"
"@theia/core" latest
"@theia/editor" latest
"@theia/languages" latest
"@types/glob" "^5.0.30"
glob "^7.1.2"
"@sindresorhus/df@^1.0.1":
version "1.0.1"
resolved "https://registry.yarnpkg.com/@sindresorhus/df/-/df-1.0.1.tgz#c69b66f52f6fcdd287c807df210305dbaf78500d"

View File

@@ -0,0 +1,10 @@
# Theia IDE Language Client for STS
Theia IDE language client for handling STS specific LSP extensions. Currently handled messages:
- `sts/progress`
- `sts/moveCursor`
- `sts/addClasspathListener`
- `sts/removeClasspathListener`
Handlers for `sts/progress` and `sts/moveCursor` messages are installed by default. Handlers for adding/removing classpath listeners are installed by the API client
This package also has logic for listening to preference changes and sending them over to the LS

View File

@@ -12,9 +12,7 @@
"dependencies": {
"@theia/core": "latest",
"@theia/languages": "latest",
"@pivotal-tools/jvm-launch-utils": "0.0.11",
"@types/glob": "^5.0.30",
"glob": "^7.1.2"
"@pivotal-tools/theia-languageclient": "0.0.1"
},
"devDependencies": {
"rimraf": "latest",

View File

@@ -1,20 +1,21 @@
import { injectable, inject } from 'inversify';
import { BaseLanguageClientContribution, Workspace, Languages, LanguageClientFactory } from '@theia/languages/lib/browser';
import { Workspace, Languages, LanguageClientFactory } from '@theia/languages/lib/browser';
import { StsLanguageClientContribution } from '@pivotal-tools/theia-languageclient/lib/browser/language-client-contribution';
import {
CONCOURSE_PIPELINE_YAML_LANGUAGE_ID, CONCOURSE_SERVER_ID, CONCOURSE_SERVER_NAME,
CONCOURSE_TASK_YAML_LANGUAGE_ID
} from '../common';
@injectable()
export class ConcourseClientContribution extends BaseLanguageClientContribution {
export class ConcourseClientContribution extends StsLanguageClientContribution<null> {
readonly id = CONCOURSE_SERVER_ID;
readonly name = CONCOURSE_SERVER_NAME;
constructor(
@inject(Workspace) protected readonly workspace: Workspace,
@inject(Languages) protected readonly languages: Languages,
@inject(LanguageClientFactory) protected readonly languageClientFactory: LanguageClientFactory,
@inject(Workspace) workspace: Workspace,
@inject(Languages) languages: Languages,
@inject(LanguageClientFactory) languageClientFactory: LanguageClientFactory,
) {
super(workspace, languages, languageClientFactory);
}

View File

@@ -1,72 +1,20 @@
import * as path from 'path';
import * as glob from 'glob';
import { injectable } from 'inversify';
// import { DEBUG_MODE } from '@theia/core/lib/node';
import { IConnection, BaseLanguageServerContribution } from '@theia/languages/lib/node';
import { StsLanguageServerContribution } from '@pivotal-tools/theia-languageclient/lib/node/language-server-contribution';
import { CONCOURSE_SERVER_ID, CONCOURSE_SERVER_NAME } from '../common';
import { findJvm } from '@pivotal-tools/jvm-launch-utils';
@injectable()
export class ConcourseLanguageContribution extends BaseLanguageServerContribution {
export class ConcourseLanguageContribution extends StsLanguageServerContribution {
readonly id = CONCOURSE_SERVER_ID;
readonly name = CONCOURSE_SERVER_NAME;
protected readonly lsJarContainerFolder = path.resolve(__dirname, '../../jars');
protected readonly lsJarGlob = 'concourse-language-server*.jar';
protected readonly jvmArguments = [
// '-Xdebug',
// '-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=7999',
// '-Dlog.level=ALL',
'-Dorg.slf4j.simpleLogger.logFile=concourse-yaml.log'
];
start(clientConnection: IConnection): void {
const serverPath = path.resolve(__dirname, '../../jars');
const jarPaths = glob.sync('concourse-language-server*.jar', { cwd: serverPath });
if (jarPaths.length === 0) {
throw new Error('The Concourse YAML server launcher is not found.');
}
const jarPath = path.resolve(serverPath, jarPaths[0]);
findJvm()
.catch(error => {
throw new Error('Error trying to find JVM');
})
.then(jvm => {
if (!jvm) {
throw new Error("Couldn't locate java in $JAVA_HOME or $PATH");
}
this.startSocketServer().then(server => {
const socket = this.accept(server);
// this.logInfo('logs at ' + path.resolve(workspacePath, '.metadata', '.log'));
const env = Object.create(process.env);
const addressInfo = server.address();
if (typeof addressInfo === 'string') {
throw new Error(`Address info was string ${addressInfo}`);
}
env.CLIENT_HOST = addressInfo.address;
env.CLIENT_PORT = addressInfo.port;
const command = jvm.getJavaExecutable();
const args = [
'-Dsts.lsp.client=theia',
'-Dlsp.completions.indentation.enable=true',
'-Dlsp.yaml.completions.errors.disable=true',
'-Dorg.slf4j.simpleLogger.logFile=concourse-yaml.log',
`-Dserver.port=${env.CLIENT_PORT}`
];
// if (DEBUG_MODE) {
args.push(
'-Xdebug',
'-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=7999',
'-Dlog.level=ALL'
);
// }
args.push(
'-jar', jarPath,
);
this.createProcessSocketConnection(socket, socket, command, args, { env })
.then(serverConnection => this.forward(clientConnection, serverConnection));
});
});
}
}

View File

@@ -10,8 +10,8 @@
glob-to-regexp "^0.3.0"
"@nodelib/fs.stat@^1.0.1":
version "1.0.2"
resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-1.0.2.tgz#d056b68999769728a1cff8d643bc59eb6f0be436"
version "1.1.0"
resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-1.1.0.tgz#50c1e2260ac0ed9439a181de3725a0168d59c48a"
"@phosphor/algorithm@^1.1.2":
version "1.1.2"
@@ -102,6 +102,17 @@
version "0.0.11"
resolved "https://registry.yarnpkg.com/@pivotal-tools/jvm-launch-utils/-/jvm-launch-utils-0.0.11.tgz#11e8cc4850aa16a91c7579a8e3ed2a071acc36ba"
"@pivotal-tools/theia-languageclient@0.0.1":
version "0.0.1"
resolved "https://registry.yarnpkg.com/@pivotal-tools/theia-languageclient/-/theia-languageclient-0.0.1.tgz#5cbc35776657aa705adc3fb126c07e4f712f4c74"
dependencies:
"@pivotal-tools/jvm-launch-utils" "0.0.11"
"@theia/core" latest
"@theia/editor" latest
"@theia/languages" latest
"@types/glob" "^5.0.30"
glob "^7.1.2"
"@sindresorhus/df@^1.0.1":
version "1.0.1"
resolved "https://registry.yarnpkg.com/@sindresorhus/df/-/df-1.0.1.tgz#c69b66f52f6fcdd287c807df210305dbaf78500d"
@@ -436,8 +447,8 @@
"@types/lodash" "*"
"@types/lodash@*":
version "4.14.108"
resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.108.tgz#02656af3add2e5b3174f830862c47421c00ef817"
version "4.14.109"
resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.109.tgz#b1c4442239730bf35cabaf493c772b18c045886d"
"@types/mime@*":
version "2.0.0"
@@ -448,12 +459,12 @@
resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.3.tgz#3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d"
"@types/node@*":
version "10.1.1"
resolved "https://registry.yarnpkg.com/@types/node/-/node-10.1.1.tgz#ca39d8607fa1fcb146b0530420b93f1dd4802f6c"
version "10.1.2"
resolved "https://registry.yarnpkg.com/@types/node/-/node-10.1.2.tgz#1b928a0baa408fc8ae3ac012cc81375addc147c6"
"@types/node@^8.0.24":
version "8.10.16"
resolved "https://registry.yarnpkg.com/@types/node/-/node-8.10.16.tgz#96fadb371748845a0c8ea970a565330efb0a67d5"
version "8.10.17"
resolved "https://registry.yarnpkg.com/@types/node/-/node-8.10.17.tgz#d48cf10f0dc6dcf59f827f5a3fc7a4a6004318d3"
"@types/request@^2.0.3":
version "2.47.0"
@@ -622,8 +633,8 @@
long "^3.2.0"
JSONStream@^1.0.4:
version "1.3.2"
resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.2.tgz#c102371b6ec3a7cf3b847ca00c20bb0fce4c6dea"
version "1.3.3"
resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.3.tgz#27b4b8fbbfeab4e71bcf551e7f27be8d952239bf"
dependencies:
jsonparse "^1.2.0"
through ">=2.2.7 <3"
@@ -881,10 +892,10 @@ async@^1.4.0, async@^1.5.0:
resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a"
async@^2.5.0, async@^2.6.0:
version "2.6.0"
resolved "https://registry.yarnpkg.com/async/-/async-2.6.0.tgz#61a29abb6fcc026fea77e56d1c6ec53a795951f4"
version "2.6.1"
resolved "https://registry.yarnpkg.com/async/-/async-2.6.1.tgz#b245a23ca71930044ec53fa46aa00a3e87c6a610"
dependencies:
lodash "^4.14.0"
lodash "^4.17.10"
asynckit@^0.4.0:
version "0.4.0"
@@ -1601,18 +1612,6 @@ boom@2.x.x:
dependencies:
hoek "2.x.x"
boom@4.x.x:
version "4.3.1"
resolved "https://registry.yarnpkg.com/boom/-/boom-4.3.1.tgz#4f8a3005cb4a7e3889f749030fd25b96e01d2e31"
dependencies:
hoek "4.x.x"
boom@5.x.x:
version "5.2.0"
resolved "https://registry.yarnpkg.com/boom/-/boom-5.2.0.tgz#5dd9da6ee3a5f302077436290cb717d3f4a54e02"
dependencies:
hoek "4.x.x"
boxen@^1.2.1:
version "1.3.0"
resolved "https://registry.yarnpkg.com/boxen/-/boxen-1.3.0.tgz#55c6c39a8ba58d9c61ad22cd877532deb665a20b"
@@ -1848,8 +1847,8 @@ caniuse-api@^1.5.2:
lodash.uniq "^4.5.0"
caniuse-db@^1.0.30000529, caniuse-db@^1.0.30000634, caniuse-db@^1.0.30000639:
version "1.0.30000842"
resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000842.tgz#8a82c377b8b3d6f2594478e8431ff4fd303e160c"
version "1.0.30000844"
resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000844.tgz#bca5798cda2b6931d68100c2d69e55fb338cbb41"
capture-stack-trace@^1.0.0:
version "1.0.0"
@@ -2125,8 +2124,8 @@ colors@1.0.3:
resolved "https://registry.yarnpkg.com/colors/-/colors-1.0.3.tgz#0433f44d809680fdeb60ed260f1b0c262e82a40b"
colors@^1.1.2:
version "1.2.5"
resolved "https://registry.yarnpkg.com/colors/-/colors-1.2.5.tgz#89c7ad9a374bc030df8013241f68136ed8835afc"
version "1.3.0"
resolved "https://registry.yarnpkg.com/colors/-/colors-1.3.0.tgz#5f20c9fef6945cb1134260aab33bfbdc8295e04e"
colors@~1.1.2:
version "1.1.2"
@@ -2493,12 +2492,6 @@ cryptiles@2.x.x:
dependencies:
boom "2.x.x"
cryptiles@3.x.x:
version "3.1.2"
resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-3.1.2.tgz#a89fbb220f5ce25ec56e8c4aa8a4fd7b5b0d29fe"
dependencies:
boom "5.x.x"
crypto-browserify@^3.11.0:
version "3.12.0"
resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec"
@@ -2889,8 +2882,8 @@ electron-rebuild@^1.5.11:
yargs "^7.0.2"
electron-to-chromium@^1.2.7:
version "1.3.47"
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.47.tgz#764e887ca9104d01a0ac8eabee7dfc0e2ce14104"
version "1.3.48"
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.48.tgz#d3b0d8593814044e092ece2108fc3ac9aea4b900"
electron@1.8.2-beta.5:
version "1.8.2-beta.5"
@@ -3869,15 +3862,6 @@ hawk@~3.1.3:
hoek "2.x.x"
sntp "1.x.x"
hawk@~6.0.2:
version "6.0.2"
resolved "https://registry.yarnpkg.com/hawk/-/hawk-6.0.2.tgz#af4d914eb065f9b5ce4d9d11c1cb2126eecc3038"
dependencies:
boom "4.x.x"
cryptiles "3.x.x"
hoek "4.x.x"
sntp "2.x.x"
hmac-drbg@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1"
@@ -3890,10 +3874,6 @@ hoek@2.x.x:
version "2.16.3"
resolved "https://registry.yarnpkg.com/hoek/-/hoek-2.16.3.tgz#20bb7403d3cea398e91dc4710a8ff1b8274a25ed"
hoek@4.x.x:
version "4.2.1"
resolved "https://registry.yarnpkg.com/hoek/-/hoek-4.2.1.tgz#9634502aa12c445dd5a7c5734b572bb8738aacbb"
home-or-tmp@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/home-or-tmp/-/home-or-tmp-2.0.0.tgz#e36c3f2d2cae7d746a857e38d18d5f32a7882db8"
@@ -4891,7 +4871,7 @@ lodash.uniq@^4.5.0:
version "4.5.0"
resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773"
lodash@^4.13.1, lodash@^4.14.0, lodash@^4.17.10, lodash@^4.17.2, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.2.1, lodash@^4.3.0:
lodash@^4.13.1, lodash@^4.17.10, lodash@^4.17.2, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.2.1, lodash@^4.3.0:
version "4.17.10"
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.10.tgz#1b7793cf7259ea38fb3661d4d38b3260af8ae4e7"
@@ -4950,10 +4930,6 @@ lru-cache@^4.0.0, lru-cache@^4.0.1, lru-cache@^4.1.1:
pseudomap "^1.0.2"
yallist "^2.1.2"
macaddress@^0.2.8:
version "0.2.8"
resolved "https://registry.yarnpkg.com/macaddress/-/macaddress-0.2.8.tgz#5904dc537c39ec6dbefeae902327135fa8511f12"
make-dir@^1.0.0, make-dir@^1.1.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.3.0.tgz#79c1033b80515bd6d24ec9933e860ca75ee27f0c"
@@ -5186,10 +5162,10 @@ minimist@~0.0.1:
resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.10.tgz#de3f98543dbf96082be48ad1a0c7cda836301dcf"
minipass@^2.2.1, minipass@^2.2.4:
version "2.3.0"
resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.3.0.tgz#2e11b1c46df7fe7f1afbe9a490280add21ffe384"
version "2.3.3"
resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.3.3.tgz#a7dcc8b7b833f5d368759cce544dccb55f50f233"
dependencies:
safe-buffer "^5.1.1"
safe-buffer "^5.1.2"
yallist "^3.0.0"
minizlib@^1.1.0:
@@ -6027,11 +6003,10 @@ postcss-discard-unused@^2.2.1:
uniqs "^2.0.0"
postcss-filter-plugins@^2.0.0:
version "2.0.2"
resolved "https://registry.yarnpkg.com/postcss-filter-plugins/-/postcss-filter-plugins-2.0.2.tgz#6d85862534d735ac420e4a85806e1f5d4286d84c"
version "2.0.3"
resolved "https://registry.yarnpkg.com/postcss-filter-plugins/-/postcss-filter-plugins-2.0.3.tgz#82245fdf82337041645e477114d8e593aa18b8ec"
dependencies:
postcss "^5.0.4"
uniqid "^4.0.0"
postcss-merge-idents@^2.1.5:
version "2.1.7"
@@ -6695,8 +6670,8 @@ replace-ext@^1.0.0:
resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-1.0.0.tgz#de63128373fcbf7c3ccfa4de5a480c45a67958eb"
request@2, request@^2.45.0, request@^2.82.0:
version "2.86.0"
resolved "https://registry.yarnpkg.com/request/-/request-2.86.0.tgz#2b9497f449b0a32654c081a5cf426bbfb5bf5b69"
version "2.87.0"
resolved "https://registry.yarnpkg.com/request/-/request-2.87.0.tgz#32f00235cd08d482b4d0d68db93a829c0ed5756e"
dependencies:
aws-sign2 "~0.7.0"
aws4 "^1.6.0"
@@ -6706,7 +6681,6 @@ request@2, request@^2.45.0, request@^2.82.0:
forever-agent "~0.6.1"
form-data "~2.3.1"
har-validator "~5.0.3"
hawk "~6.0.2"
http-signature "~1.2.0"
is-typedarray "~1.0.0"
isstream "~0.1.2"
@@ -6874,8 +6848,8 @@ rxjs@5.4.3:
symbol-observable "^1.0.1"
rxjs@^5.0.0-beta.11, rxjs@^5.1.1, rxjs@^5.4.2, rxjs@^5.5.2:
version "5.5.10"
resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-5.5.10.tgz#fde02d7a614f6c8683d0d1957827f492e09db045"
version "5.5.11"
resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-5.5.11.tgz#f733027ca43e3bec6b994473be4ab98ad43ced87"
dependencies:
symbol-observable "1.0.1"
@@ -7079,12 +7053,6 @@ sntp@1.x.x:
dependencies:
hoek "2.x.x"
sntp@2.x.x:
version "2.1.0"
resolved "https://registry.yarnpkg.com/sntp/-/sntp-2.1.0.tgz#2c6cec14fedc2222739caf9b5c3d85d1cc5a2cc8"
dependencies:
hoek "4.x.x"
sort-keys@^1.0.0:
version "1.1.2"
resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-1.1.2.tgz#441b6d4d346798f1b4e49e8920adfba0e543f9ad"
@@ -7728,12 +7696,6 @@ uniq@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/uniq/-/uniq-1.0.1.tgz#b31c5ae8254844a3a8281541ce2b04b865a734ff"
uniqid@^4.0.0:
version "4.1.1"
resolved "https://registry.yarnpkg.com/uniqid/-/uniqid-4.1.1.tgz#89220ddf6b751ae52b5f72484863528596bb84c1"
dependencies:
macaddress "^0.2.8"
uniqs@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/uniqs/-/uniqs-2.0.0.tgz#ffede4b36b25290696e6e165d4a59edb998e6b02"
@@ -7772,8 +7734,8 @@ unset-value@^1.0.0:
isobject "^3.0.0"
untildify@^3.0.2:
version "3.0.2"
resolved "https://registry.yarnpkg.com/untildify/-/untildify-3.0.2.tgz#7f1f302055b3fea0f3e81dc78eb36766cb65e3f1"
version "3.0.3"
resolved "https://registry.yarnpkg.com/untildify/-/untildify-3.0.3.tgz#1e7b42b140bcfd922b22e70ca1265bfe3634c7c9"
unzip-response@^2.0.1:
version "2.0.1"
@@ -8223,8 +8185,8 @@ xtend@~2.1.1:
object-keys "~0.4.0"
xterm@^3.0.1:
version "3.3.0"
resolved "https://registry.yarnpkg.com/xterm/-/xterm-3.3.0.tgz#b09a19fc2cd5decd21112e5c9dab0b61991f6cf3"
version "3.4.1"
resolved "https://registry.yarnpkg.com/xterm/-/xterm-3.4.1.tgz#12452979ea2db3371f8195832d7407abba988980"
y18n@^3.2.1:
version "3.2.1"