This commit is contained in:
Mor Shemesh 2018-01-08 19:40:56 +00:00 коммит произвёл GitHub
Родитель 8432dc88d3 32a36d8346
Коммит 22d63e653a
54 изменённых файлов: 150 добавлений и 304 удалений

Просмотреть файл

@ -5,7 +5,7 @@ set -euo pipefail
readonly GITHUB_ORG="${GITHUB_ORG:-Azure}"
readonly GITHUB_REPO="${GITHUB_REPO:-ibex-dashboard}"
readonly TARGET_BRANCH="${TARGET_BRANCH:-master}"
readonly SOURCE_BRANCH="${SOURCE_BRANCH:-ibex-version-1.0}"
# readonly SOURCE_BRANCH="${SOURCE_BRANCH:-ibex-version-1.0}"
readonly AUTOCOMMIT_NAME="Travis CI"
readonly AUTOCOMMIT_EMAIL="travis@travis-ci.org"
@ -16,16 +16,27 @@ log() {
}
ensure_preconditions_met() {
log "TRAVIS_BRANCH: ${TRAVIS_BRANCH}"
log "TRAVIS_PULL_REQUEST: ${TRAVIS_PULL_REQUEST}"
log "TRAVIS_PULL_REQUEST_BRANCH: ${TRAVIS_PULL_REQUEST_BRANCH}"
log "TRAVIS_COMMIT: ${TRAVIS_COMMIT}"
log "TRAVIS_COMMIT_MESSAGE: ${TRAVIS_COMMIT_MESSAGE}"
log "TRAVIS_COMMIT_RANGE: ${TRAVIS_COMMIT_RANGE}"
if [ -z "${TRAVIS_PULL_REQUEST_BRANCH}" ]; then
log "Job is CI for a push, skipping creation of production build"
exit 0
fi
# if [ "${TRAVIS_BRANCH}_${TRAVIS_PULL_REQUEST_BRANCH}" != "${TARGET_BRANCH}_${SOURCE_BRANCH}" ]; then
# Only if push is to master branch, include a build
# if [ "${TRAVIS_BRANCH}" != "${TARGET_BRANCH}" ]; then
# log "Skipping creation of production build"
# log "We only create production builds for pull requests from '${SOURCE_BRANCH}' to '${TARGET_BRANCH}'"
# log "but this pull request is from '${TRAVIS_PULL_REQUEST BRANCH}' to '${TRAVIS_BRANCH}'"
# log "We only create production builds for pull requests to '${TARGET_BRANCH}'"
# log "but this pull request is to '${TRAVIS_BRANCH}'"
# exit 0
# fi
if [ -z "${GITHUB_TOKEN}" ]; then
log "GITHUB_TOKEN not set: won't be able to push production build"
log "Please configure the token in .travis.yml or the Travis UI"
@ -50,7 +61,7 @@ commit_build_files() {
}
push_to_github() {
git push origin-travis "${AUTOCOMMIT_BRANCH}:${SOURCE_BRANCH}"
git push origin-travis "${AUTOCOMMIT_BRANCH}:${TRAVIS_PULL_REQUEST_BRANCH}"
}
ensure_preconditions_met

Просмотреть файл

@ -35,7 +35,7 @@
"react-router": "3.0.0",
"react-scripts-ts": "^2.6.0",
"recharts": "^0.21.2",
"tslint": "^4.0.0"
"tslint": "^5.8.0"
},
"dependencies": {
"body-parser": "^1.17.1",

Просмотреть файл

@ -9,10 +9,6 @@ interface IAccountActions {
}
class AccountActions extends AbstractActions implements IAccountActions {
constructor(alt: AltJS.Alt) {
super(alt);
}
updateAccount() {

Просмотреть файл

@ -19,9 +19,6 @@ interface IConfigurationsActions {
}
class ConfigurationsActions extends AbstractActions implements IConfigurationsActions {
constructor(alt: AltJS.Alt) {
super(alt);
}
submitDashboardFile(content: string, dashboardId: string) {
return (dispatcher: (json: any) => void) => {

Просмотреть файл

@ -5,9 +5,6 @@ interface IConnectionsActions {
}
class ConnectionsActions extends AbstractActions implements IConnectionsActions {
constructor(alt: AltJS.Alt) {
super(alt);
}
updateConnection(connectionName: string, args: IDictionary) {
return { connectionName, args };

Просмотреть файл

@ -6,9 +6,6 @@ interface ISettingsActions {
}
class SettingsActions extends AbstractActions implements ISettingsActions {
constructor(alt: AltJS.Alt) {
super(alt);
}
saveSettings() {
return { };

Просмотреть файл

@ -1,6 +1,6 @@
import alt, { AbstractActions } from '../alt';
import * as request from 'xhr-request';
import {IToast, ToastActions} from '../components/Toast';
import { IToast, ToastActions } from '../components/Toast';
interface ISetupActions {
load(): any;
@ -9,9 +9,6 @@ interface ISetupActions {
}
class SetupActions extends AbstractActions implements ISetupActions {
constructor(alt: AltJS.Alt) {
super(alt);
}
load() {

Просмотреть файл

@ -7,9 +7,6 @@ interface IVisibilityActions {
}
class VisibilityActions extends AbstractActions implements IVisibilityActions {
constructor(alt: AltJS.Alt) {
super(alt);
}
setFlags(flags: IDict<boolean>): any {
return flags;

Просмотреть файл

@ -10,8 +10,8 @@ class RefreshActions extends AbstractActions implements IRefreshActions {
private runningRefreshInterval: any;
constructor(alt: AltJS.Alt) {
super(alt);
constructor(altobj: AltJS.Alt) {
super(altobj);
this.setRefreshTimer = this.setRefreshTimer.bind(this);
}

Просмотреть файл

@ -6,4 +6,4 @@ export {
AutoRefreshSelector,
RefreshActions,
RefreshStore
}
};

Просмотреть файл

@ -9,9 +9,6 @@ interface ICardSettingsActions {
}
class CardSettingsActions extends AbstractActions implements ICardSettingsActions {
constructor(alt: AltJS.Alt) {
super(alt);
}
openDialog(title: string, elementId: string) {
return {title, elementId};

Просмотреть файл

@ -6,4 +6,4 @@ export {
Settings,
SettingsActions,
SettingsStore
}
};

Просмотреть файл

@ -10,9 +10,6 @@ interface IEditorActions {
}
class EditorActions extends AbstractActions implements IEditorActions {
constructor(alt: AltJS.Alt) {
super(alt);
}
openDialog() {
return {};

Просмотреть файл

@ -6,4 +6,4 @@ export {
Editor,
EditorActions,
EditorStore
}
};

Просмотреть файл

@ -22,7 +22,7 @@ import ConfigurationsActions from '../../actions/ConfigurationsActions';
import ConfigurationsStore from '../../stores/ConfigurationsStore';
import VisibilityStore from '../../stores/VisibilityStore';
import {Editor, EditorActions} from './Editor';
import { Editor, EditorActions } from './Editor';
import { Settings } from '../Card/Settings';
const renderHTML = require('react-render-html');

Просмотреть файл

@ -219,7 +219,7 @@ export default class Home extends React.Component<any, IHomeState> {
updateFileName(value: string) {
this.setState({ fileName: value });
};
}
onLoad(importedFileContent: any, uploadResult: string) {
const { name, size, type, lastModifiedDate } = importedFileContent;

Просмотреть файл

@ -8,7 +8,6 @@ import ConfigurationsStore, { IConfigurationsStoreState } from '../../stores/Con
import ConfigurationsActions from '../../actions/ConfigurationsActions';
import { DataSourceConnector, IDataSourceDictionary } from '../../data-sources';
import connections from '../../data-sources/connections';
import ConnectionsStore from '../../stores/ConnectionsStore';
import ConnectionsActions from '../../actions/ConnectionsActions';

Просмотреть файл

@ -197,11 +197,11 @@ export default class Setup extends React.Component<any, ISetupState> {
onSwitchAuthenticationEnables(checked: boolean) {
this.setState({ enableAuthentication: checked });
};
}
onSwitchAllowHttp(checked: boolean) {
this.setState({ allowHttp: checked });
};
}
onFieldChange(value: string, e: any) {
let state = {};

Просмотреть файл

@ -8,8 +8,8 @@ interface ISpinnerActions {
}
class SpinnerActions extends AbstractActions /*implements ISpinnerActions*/ {
constructor(alt: AltJS.Alt) {
super(alt);
constructor(altobj: AltJS.Alt) {
super(altobj);
this.generateActions(
'startPageLoading',

Просмотреть файл

@ -1,6 +1,6 @@
import alt, { AbstractStoreModel } from '../../alt';
import {Toast, ToastActions, IToast} from '../Toast';
import { Toast, ToastActions, IToast } from '../Toast';
import spinnerActions from './SpinnerActions';
export interface ISpinnerStoreState {

Просмотреть файл

@ -6,4 +6,4 @@ export {
Spinner,
SpinnerActions,
SpinnerStore
}
};

Просмотреть файл

@ -8,8 +8,8 @@ interface IToastActions {
}
class ToastActions extends AbstractActions {
constructor(alt: AltJS.Alt) {
super(alt);
constructor(altobj: AltJS.Alt) {
super(altobj);
this.generateActions(
'addToast',

Просмотреть файл

@ -10,4 +10,4 @@ export {
ToastStore,
IToast,
IToastStoreState
}
};

Просмотреть файл

@ -115,4 +115,4 @@ export abstract class BaseDataSourceSettings<T extends IBaseSettingsState>
</Card>
);
}
};
}

Просмотреть файл

@ -10,11 +10,11 @@ interface ITokenInputProps {
tokens: any[];
zDepth: number;
onTokensChanged(): void;
};
}
interface ITokenInputState {
newToken: any;
};
}
/**
* This is a UI for editing a string array.
@ -92,4 +92,4 @@ export default class TokenInput extends React.Component<ITokenInputProps, IToken
</Paper>
);
}
};
}

Просмотреть файл

@ -17,7 +17,7 @@ interface IBarProps extends IGenericProps {
/** The name of the property in the data source that contains the name for the X axis */
nameKey: string;
};
};
}
interface IBarState extends IGenericState {
values: any[];

Просмотреть файл

@ -6,9 +6,6 @@ interface IDialogsActions {
}
class DialogsActions extends AbstractActions implements IDialogsActions {
constructor(alt: AltJS.Alt) {
super(alt);
}
openDialog(dialogName: string, args: { [id: string]: Object }) {
return { dialogName, args };

Просмотреть файл

@ -22,4 +22,4 @@ export {
Dialog,
DialogsActions,
DialogsStore
}
};

Просмотреть файл

@ -41,7 +41,7 @@ interface IMapDataProps extends IGenericProps {
props: {
searchLocations: boolean;
};
};
}
interface IMapDataState extends IGenericState {
markers: any[];

Просмотреть файл

@ -21,7 +21,7 @@ interface IPieProps extends IGenericProps {
entityType?: string;
};
theme?: string[];
};
}
interface IPieState extends IGenericState {
activeIndex?: number;

Просмотреть файл

@ -15,7 +15,7 @@ interface IRadarProps extends IGenericProps {
nameKey: string;
};
};
}
interface IRadarState extends IGenericState {
values: Object[];

Просмотреть файл

@ -15,7 +15,7 @@ interface IRadarProps extends IGenericProps {
nameKey: string;
};
};
}
interface IRadarState extends IGenericState {
values: Object[];

Просмотреть файл

@ -23,7 +23,7 @@ interface IRequestButtonProps extends IGenericProps {
buttonProps?: { [key: string]: Object };
};
theme?: string[];
};
}
interface IRequestButtonState extends IGenericState {
body: Object | string;

Просмотреть файл

@ -15,7 +15,7 @@ interface IRadarProps extends IGenericProps {
nameKey: string;
};
};
}
interface IRadarState extends IGenericState {
values: Object[];

Различия файлов скрыты, потому что одна или несколько строк слишком длинны

Просмотреть файл

@ -309,19 +309,19 @@ export class DataSourceConnector {
}
// Calling action with arguments
var result = plugin[action].call(this, extrapolation.dependencies, ...args) || {};
let result = plugin[action].call(this, extrapolation.dependencies, ...args) || {};
// Checking is result is a dispatcher or a direct value
if (typeof result === 'function') {
return (dispatch) => {
result(function (obj: any) {
obj = obj || {};
var fullResult = DataSourceConnector.callibrateResult(obj, plugin, extrapolation.dependencies);
let fullResult = DataSourceConnector.callibrateResult(obj, plugin, extrapolation.dependencies);
dispatch(fullResult);
});
};
} else {
var fullResult = DataSourceConnector.callibrateResult(result, plugin, extrapolation.dependencies);
let fullResult = DataSourceConnector.callibrateResult(result, plugin, extrapolation.dependencies);
return fullResult;
}
};

Просмотреть файл

@ -5,4 +5,4 @@ export {
IDataSource,
IDataSourceDictionary,
IExtrapolationResult
}
};

Просмотреть файл

@ -7,4 +7,4 @@ export {
appInsightsUri,
appId,
apiKey
}
};

Просмотреть файл

@ -1,6 +1,6 @@
import * as _ from 'lodash';
import {DataSourcePlugin, IOptions} from '../DataSourcePlugin';
import { DataSourcePlugin, IOptions } from '../DataSourcePlugin';
import ConstantDatasourceSettings from './Settings';
interface IConstantParams {

Просмотреть файл

@ -33,8 +33,8 @@ export default class CosmosDBQuery extends DataSourcePlugin<IQueryParams> {
*/
dependenciesUpdated(dependencies: any) {
let emptyDependency = false;
Object.keys(this._props.dependencies).forEach((key) => {
if (typeof dependencies[key] === 'undefined') { emptyDependency = true; }
Object.keys(this._props.dependencies).forEach(k => {
if (typeof dependencies[k] === 'undefined') { emptyDependency = true; }
});
// If one of the dependencies is not supplied, do not run the query

Просмотреть файл

@ -1,6 +1,6 @@
import * as _ from 'lodash';
import {DataSourcePlugin, IOptions} from './DataSourcePlugin';
import { DataSourcePlugin, IOptions } from './DataSourcePlugin';
interface ISampleParams {
samples: IDictionary;

Просмотреть файл

@ -1,6 +1,6 @@
import { IFormatTest } from './formats';
export default <IFormatTest>{
export default <IFormatTest> {
format: {
type: 'bars',
args: {

Просмотреть файл

@ -1,6 +1,6 @@
import { IFormatTest } from './formats';
export default <IFormatTest>{
export default <IFormatTest> {
format: 'filter',
state: {
values: [
@ -13,4 +13,4 @@ export default <IFormatTest>{
'values-all': [ 'value 1', 'value 2', 'value 3' ],
'values-selected': [ ],
}
}
};

Просмотреть файл

@ -13,7 +13,7 @@ const values = [
{ name: 'slack-de', value: 1, locale: 'de', channel: 'slack' }
];
export default <IFormatTest[]>[
export default <IFormatTest[]> [
{
format: 'filtered_samples',
params: {
@ -30,7 +30,7 @@ export default <IFormatTest[]>[
},
state: { values: [ 'value 1', 'value 2', 'value 3' ] },
expected: {
"filtered_values": values
'filtered_values': values
}
},
{
@ -49,7 +49,7 @@ export default <IFormatTest[]>[
},
state: { values: [ 'value 1', 'value 2', 'value 3' ] },
expected: {
"filtered_values": _.filter(values, { locale: 'en' })
'filtered_values': _.filter(values, { locale: 'en' })
}
}
];

Просмотреть файл

@ -8,7 +8,7 @@ import timeline from './timeline';
import timespan from './timespan';
import filtered_samples from './filtered_samples';
export const formatTests = <IDict<IFormatTest | IFormatTest[]>>{
export const formatTests = <IDict<IFormatTest | IFormatTest[]>> {
bars,
filter,
flags,

Просмотреть файл

@ -1,6 +1,6 @@
import { IFormatTest } from './formats';
export default <IFormatTest[]>[
export default <IFormatTest[]> [
{
format: 'retention',
state: {
@ -17,19 +17,19 @@ export default <IFormatTest[]>[
]
},
expected: {
"returning": 0,
"returning24hr": 3,
"returning30d": 6,
"returning7d": 3,
"total": 0,
"totalUnique": 10,
"totalUniqueUsersIn24hr": 5,
"totalUniqueUsersIn30d": 10,
"totalUniqueUsersIn7d": 7,
"values": [
{ "retention": "60%", "returning": 3, "timespan": "24 hours", "unique": 5 },
{ "retention": "43%", "returning": 3, "timespan": "7 days", "unique": 7 },
{ "retention": "60%", "returning": 6, "timespan": "30 days", "unique": 10 }
'returning': 0,
'returning24hr': 3,
'returning30d': 6,
'returning7d': 3,
'total': 0,
'totalUnique': 10,
'totalUniqueUsersIn24hr': 5,
'totalUniqueUsersIn30d': 10,
'totalUniqueUsersIn7d': 7,
'values': [
{ 'retention': '60%', 'returning': 3, 'timespan': '24 hours', 'unique': 5 },
{ 'retention': '43%', 'returning': 3, 'timespan': '7 days', 'unique': 7 },
{ 'retention': '60%', 'returning': 6, 'timespan': '30 days', 'unique': 10 }
]
}
},
@ -52,19 +52,19 @@ export default <IFormatTest[]>[
]
},
expected: {
"returning": 3,
"returning24hr": 3,
"returning30d": 6,
"returning7d": 3,
"total": 5,
"totalUnique": 10,
"totalUniqueUsersIn24hr": 5,
"totalUniqueUsersIn30d": 10,
"totalUniqueUsersIn7d": 7,
"values": [
{ "retention": "60%", "returning": 3, "timespan": "24 hours", "unique": 5 },
{ "retention": "43%", "returning": 3, "timespan": "7 days", "unique": 7 },
{ "retention": "60%", "returning": 6, "timespan": "30 days", "unique": 10 }
'returning': 3,
'returning24hr': 3,
'returning30d': 6,
'returning7d': 3,
'total': 5,
'totalUnique': 10,
'totalUniqueUsersIn24hr': 5,
'totalUniqueUsersIn30d': 10,
'totalUniqueUsersIn7d': 7,
'values': [
{ 'retention': '60%', 'returning': 3, 'timespan': '24 hours', 'unique': 5 },
{ 'retention': '43%', 'returning': 3, 'timespan': '7 days', 'unique': 7 },
{ 'retention': '60%', 'returning': 6, 'timespan': '30 days', 'unique': 10 }
]
}
}

Просмотреть файл

@ -1,6 +1,6 @@
import { IFormatTest } from './formats';
export default <IFormatTest>{
export default <IFormatTest> {
format: {
type: 'scorecard',
args: {
@ -13,11 +13,11 @@ export default <IFormatTest>{
values: [{ count: 99, other_count: 44 }]
},
expected: {
"value": "99",
"heading": "Heading",
"color": "#fff",
"icon": "chat",
"subvalue": 44,
"subheading": "Subheading"
'value': '99',
'heading': 'Heading',
'color': '#fff',
'icon': 'chat',
'subvalue': 44,
'subheading': 'Subheading'
}
};

Просмотреть файл

@ -2,7 +2,7 @@ import * as React from 'react';
import * as ReactDOM from 'react-dom';
import * as TestUtils from 'react-dom/test-utils';
import NotFound from '../../pages/NotFound'
import NotFound from '../../pages/NotFound';
describe('NotFound', () => {
let setup;

Просмотреть файл

@ -52,11 +52,11 @@ export function flags(
if (!state) { return null; }
let values = params[args.data || 'values'];
let flags = {};
values.forEach(key => { flags[key] = state.selectedValue === key; });
let flagsobj = {};
values.forEach(key => { flagsobj[key] = state.selectedValue === key; });
flags[prefix + 'values-all'] = values;
flags[prefix + 'values-selected'] = state.selectedValue || [];
flagsobj[prefix + 'values-all'] = values;
flagsobj[prefix + 'values-selected'] = state.selectedValue || [];
return flags;
return flagsobj;
}

Просмотреть файл

@ -52,15 +52,15 @@ export function scorecard (
let checkValue = (values && values[0] && values[0][countField]) || 0;
let createValue = (value: any, heading: string, color: string, icon: string, subvalue?: any, subheading?: string) => {
let createValue = (value: any, heading: string, color: string, icon: string, sv?: any, sh?: string) => {
let item = {};
const prefix = getPrefix(format);
item[prefix + 'value'] = isFinite(value) ? utils.kmNumber(value, postfix) : '-';
item[prefix + 'heading'] = heading;
item[prefix + 'color'] = color;
item[prefix + 'icon'] = icon;
item[prefix + 'subvalue'] = isFinite(subvalue) ? subvalue : '';
item[prefix + 'subheading'] = subheading || '';
item[prefix + 'subvalue'] = isFinite(sv) ? sv : '';
item[prefix + 'subheading'] = sh || '';
return item;
};

Просмотреть файл

@ -62,12 +62,12 @@ export function timeline(
const { timeField, lineField, valueField } = args;
const prefix = getPrefix(format);
let values = state[args.data || 'values'];
const timeline = values;
const timelineSourceValues = values;
let _timeline = {};
let _lines = {};
timeline.forEach(row => {
timelineSourceValues.forEach(row => {
let timestamp = row[timeField];
let lineFieldValue = lineField === undefined ? valueField : row[lineField];
let valueFieldValue = row[valueField];

Просмотреть файл

@ -129,4 +129,4 @@ export default class Utils {
return `Error: ${message}`;
}
};
}

Просмотреть файл

@ -26,10 +26,14 @@
"label-position": true,
"max-line-length": [ true, 120 ],
"member-ordering": [
true,
"public-before-private",
"static-before-instance",
"variables-before-functions"
true,
{
"order": [
"static-before-instance",
"variables-before-functions",
"public-before-private"
]
}
],
"no-any": false,
"no-arg": true,

Просмотреть файл

@ -182,12 +182,6 @@ ansi-align@^1.1.0:
dependencies:
string-width "^1.0.1"
ansi-align@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-2.0.0.tgz#c36aeccba563b89ceb556f3690f0b1d9e3547f7f"
dependencies:
string-width "^2.0.0"
ansi-escapes@^1.1.0, ansi-escapes@^1.4.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-1.4.0.tgz#d3a8a83b319aa67793662b13e761c7911422306e"
@ -414,7 +408,7 @@ babel-code-frame@6.22.0:
esutils "^2.0.2"
js-tokens "^3.0.0"
babel-code-frame@^6.11.0, babel-code-frame@^6.20.0, babel-code-frame@^6.22.0, babel-code-frame@^6.26.0:
babel-code-frame@^6.11.0, babel-code-frame@^6.22.0, babel-code-frame@^6.26.0:
version "6.26.0"
resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b"
dependencies:
@ -691,18 +685,6 @@ boxen@^0.6.0:
string-width "^1.0.1"
widest-line "^1.0.0"
boxen@^1.0.0:
version "1.2.1"
resolved "https://registry.yarnpkg.com/boxen/-/boxen-1.2.1.tgz#0f11e7fe344edb9397977fc13ede7f64d956481d"
dependencies:
ansi-align "^2.0.0"
camelcase "^4.0.0"
chalk "^2.0.1"
cli-boxes "^1.0.0"
string-width "^2.0.0"
term-size "^1.2.0"
widest-line "^1.0.0"
brace-expansion@^1.0.0, brace-expansion@^1.1.7:
version "1.1.8"
resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.8.tgz#c07b211c7c952ec1f8efd51a77ef0d1d3990a292"
@ -837,7 +819,7 @@ buffer@^4.3.0:
ieee754 "^1.1.4"
isarray "^1.0.0"
builtin-modules@^1.0.0:
builtin-modules@^1.0.0, builtin-modules@^1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f"
@ -899,7 +881,7 @@ camelcase@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a"
camelcase@^4.0.0, camelcase@^4.1.0:
camelcase@^4.1.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd"
@ -1151,17 +1133,6 @@ configstore@^2.0.0:
write-file-atomic "^1.1.2"
xdg-basedir "^2.0.0"
configstore@^3.0.0:
version "3.1.1"
resolved "https://registry.yarnpkg.com/configstore/-/configstore-3.1.1.tgz#094ee662ab83fad9917678de114faaea8fcdca90"
dependencies:
dot-prop "^4.1.0"
graceful-fs "^4.1.2"
make-dir "^1.0.0"
unique-string "^1.0.0"
write-file-atomic "^2.0.0"
xdg-basedir "^3.0.0"
connect-history-api-fallback@^1.3.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-1.3.0.tgz#e51d17f8f0ef0db90a64fdb47de3051556e9f169"
@ -1250,7 +1221,7 @@ create-ecdh@^4.0.0:
bn.js "^4.1.0"
elliptic "^6.0.0"
create-error-class@^3.0.0, create-error-class@^3.0.1:
create-error-class@^3.0.1:
version "3.0.2"
resolved "https://registry.yarnpkg.com/create-error-class/-/create-error-class-3.0.2.tgz#06be7abef947a3f14a30fd610671d401bca8b7b6"
dependencies:
@ -1320,10 +1291,6 @@ crypto-browserify@^3.11.0:
public-encrypt "^4.0.0"
randombytes "^2.0.0"
crypto-random-string@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-1.0.0.tgz#a230f64f568310e1498009940790ec99545bca7e"
css-color-names@0.0.4:
version "0.0.4"
resolved "https://registry.yarnpkg.com/css-color-names/-/css-color-names-0.0.4.tgz#808adc2e79cf84738069b646cb20ec27beb629e0"
@ -1622,7 +1589,7 @@ detect-port-alt@1.1.3:
address "^1.0.1"
debug "^2.6.0"
diff@^3.0.1, diff@^3.2.0:
diff@^3.2.0:
version "3.3.0"
resolved "https://registry.yarnpkg.com/diff/-/diff-3.3.0.tgz#056695150d7aa93237ca7e378ac3b1682b7963b9"
@ -1715,12 +1682,6 @@ dot-prop@^3.0.0:
dependencies:
is-obj "^1.0.0"
dot-prop@^4.1.0:
version "4.2.0"
resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-4.2.0.tgz#1f19e0c2e1aa0e32797c49799f2837ac6af69c57"
dependencies:
is-obj "^1.0.0"
dotenv@4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-4.0.0.tgz#864ef1379aced55ce6f95debecdce179f7a0cd1d"
@ -1737,10 +1698,6 @@ duplexer2@^0.1.4:
dependencies:
readable-stream "^2.0.2"
duplexer3@^0.1.4:
version "0.1.4"
resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2"
duplexer@^0.1.1, duplexer@~0.1.1:
version "0.1.1"
resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.1.tgz#ace6ff808c1ce66b57d1ebf97977acb02334cfc1"
@ -2153,12 +2110,6 @@ find-up@^2.0.0, find-up@^2.1.0:
dependencies:
locate-path "^2.0.0"
findup-sync@~0.3.0:
version "0.3.0"
resolved "https://registry.yarnpkg.com/findup-sync/-/findup-sync-0.3.0.tgz#37930aa5d816b777c03445e1966cc6790a4c0b16"
dependencies:
glob "~5.0.0"
flatten@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/flatten/-/flatten-1.0.2.tgz#dae46a9d78fbe25292258cc1e780a41d95c03782"
@ -2351,16 +2302,6 @@ glob@~3.2.9:
inherits "2"
minimatch "0.3"
glob@~5.0.0:
version "5.0.15"
resolved "https://registry.yarnpkg.com/glob/-/glob-5.0.15.tgz#1bc936b9e02f4a603fcc222ecf7633d30b8b93b1"
dependencies:
inflight "^1.0.4"
inherits "2"
minimatch "2 || 3"
once "^1.3.0"
path-is-absolute "^1.0.0"
global-modules@1.0.0, global-modules@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-1.0.0.tgz#6d770f0eb523ac78164d72b5e71a8877265cc3ea"
@ -2439,22 +2380,6 @@ got@^5.0.0:
unzip-response "^1.0.2"
url-parse-lax "^1.0.0"
got@^6.7.1:
version "6.7.1"
resolved "https://registry.yarnpkg.com/got/-/got-6.7.1.tgz#240cd05785a9a18e561dc1b44b41c763ef1e8db0"
dependencies:
create-error-class "^3.0.0"
duplexer3 "^0.1.4"
get-stream "^3.0.0"
is-redirect "^1.0.0"
is-retry-allowed "^1.0.0"
is-stream "^1.0.0"
lowercase-keys "^1.0.0"
safe-buffer "^5.0.1"
timed-out "^4.0.0"
unzip-response "^2.0.1"
url-parse-lax "^1.0.0"
graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.1.9:
version "4.1.11"
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658"
@ -2724,10 +2649,6 @@ immutable@^3.7.4:
version "3.8.1"
resolved "https://registry.yarnpkg.com/immutable/-/immutable-3.8.1.tgz#200807f11ab0f72710ea485542de088075f68cd2"
import-lazy@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-2.1.0.tgz#05698e3d45c88e8d7e9d92cb0584e77f096f3e43"
imurmurhash@^0.1.4:
version "0.1.4"
resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea"
@ -3503,12 +3424,6 @@ latest-version@^2.0.0:
dependencies:
package-json "^2.0.0"
latest-version@^3.0.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/latest-version/-/latest-version-3.1.0.tgz#a205383fea322b33b5ae3b18abee0dc2f356ee15"
dependencies:
package-json "^4.0.0"
lazy-cache@^1.0.3:
version "1.0.4"
resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e"
@ -3720,12 +3635,6 @@ 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:
version "1.0.0"
resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.0.0.tgz#97a011751e91dd87cfadef58832ebb04936de978"
dependencies:
pify "^2.3.0"
makeerror@1.0.x:
version "1.0.11"
resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.11.tgz#e01a5c9109f2af79660e4e8b9587790184f5a96c"
@ -4294,7 +4203,7 @@ opn@5.1.0:
dependencies:
is-wsl "^1.1.0"
optimist@^0.6.1, optimist@~0.6.0:
optimist@^0.6.1:
version "0.6.1"
resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686"
dependencies:
@ -4378,15 +4287,6 @@ package-json@^2.0.0:
registry-url "^3.0.3"
semver "^5.1.0"
package-json@^4.0.0:
version "4.0.1"
resolved "https://registry.yarnpkg.com/package-json/-/package-json-4.0.1.tgz#8869a0401253661c4c4ca3da6c2121ed555f5eed"
dependencies:
got "^6.7.1"
registry-auth-token "^3.0.1"
registry-url "^3.0.3"
semver "^5.1.0"
pako@~0.2.0:
version "0.2.9"
resolved "https://registry.yarnpkg.com/pako/-/pako-0.2.9.tgz#f3f7522f4ef782348da8161bad9ecfd51bf83a75"
@ -5603,7 +5503,7 @@ resolve@1.1.7:
version "1.1.7"
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b"
resolve@^1.1.7, resolve@^1.3.2:
resolve@^1.3.2:
version "1.4.0"
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.4.0.tgz#a75be01c53da25d934a98ebd0e4c4a7312f92a86"
dependencies:
@ -6225,12 +6125,6 @@ tar@^2.0.0, tar@^2.2.1:
fstream "^1.0.2"
inherits "2"
term-size@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/term-size/-/term-size-1.2.0.tgz#458b83887f288fc56d6fffbfad262e26638efa69"
dependencies:
execa "^0.7.0"
test-exclude@^4.1.1:
version "4.1.1"
resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-4.1.1.tgz#4d84964b0966b0087ecc334a2ce002d3d9341e26"
@ -6281,10 +6175,6 @@ timed-out@^3.0.0:
version "3.1.3"
resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-3.1.3.tgz#95860bfcc5c76c277f8f8326fd0f5b2e20eba217"
timed-out@^4.0.0:
version "4.0.1"
resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-4.0.1.tgz#f32eacac5a175bea25d7fab565ab3ed8741ef56f"
timers-browserify@^2.0.2:
version "2.0.4"
resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.4.tgz#96ca53f4b794a5e7c0e1bd7cc88a372298fa01e6"
@ -6367,6 +6257,10 @@ tslib@^1.7.1:
version "1.7.1"
resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.7.1.tgz#bc8004164691923a79fe8378bbeb3da2017538ec"
tslib@^1.8.1:
version "1.8.1"
resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.8.1.tgz#6946af2d1d651a7b1863b531d6e5afa41aa44eac"
tslint-loader@^3.5.3:
version "3.5.3"
resolved "https://registry.yarnpkg.com/tslint-loader/-/tslint-loader-3.5.3.tgz#343f74122d94f356b689457d3f59f64a69ab606f"
@ -6383,20 +6277,6 @@ tslint-react@^3.0.0:
dependencies:
tsutils "^2.8.0"
tslint@^4.0.0:
version "4.5.1"
resolved "https://registry.yarnpkg.com/tslint/-/tslint-4.5.1.tgz#05356871bef23a434906734006fc188336ba824b"
dependencies:
babel-code-frame "^6.20.0"
colors "^1.1.2"
diff "^3.0.1"
findup-sync "~0.3.0"
glob "^7.1.1"
optimist "~0.6.0"
resolve "^1.1.7"
tsutils "^1.1.0"
update-notifier "^2.0.0"
tslint@^5.2.0:
version "5.6.0"
resolved "https://registry.yarnpkg.com/tslint/-/tslint-5.6.0.tgz#088aa6c6026623338650b2900828ab3edf59f6cf"
@ -6412,9 +6292,27 @@ tslint@^5.2.0:
tslib "^1.7.1"
tsutils "^2.7.1"
tsutils@^1.1.0:
version "1.9.1"
resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-1.9.1.tgz#b9f9ab44e55af9681831d5f28d0aeeaf5c750cb0"
tslint@^5.8.0:
version "5.8.0"
resolved "https://registry.yarnpkg.com/tslint/-/tslint-5.8.0.tgz#1f49ad5b2e77c76c3af4ddcae552ae4e3612eb13"
dependencies:
babel-code-frame "^6.22.0"
builtin-modules "^1.1.1"
chalk "^2.1.0"
commander "^2.9.0"
diff "^3.2.0"
glob "^7.1.1"
minimatch "^3.0.4"
resolve "^1.3.2"
semver "^5.3.0"
tslib "^1.7.1"
tsutils "^2.12.1"
tsutils@^2.12.1:
version "2.16.0"
resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-2.16.0.tgz#ad8e83f47bef4f7d24d173cc6cd180990c831105"
dependencies:
tslib "^1.8.1"
tsutils@^2.7.1, tsutils@^2.8.0:
version "2.8.1"
@ -6517,12 +6415,6 @@ uniqs@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/uniqs/-/uniqs-2.0.0.tgz#ffede4b36b25290696e6e165d4a59edb998e6b02"
unique-string@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-1.0.0.tgz#9e1057cca851abb93398f8b33ae187b99caec11a"
dependencies:
crypto-random-string "^1.0.0"
universalify@^0.1.0:
version "0.1.1"
resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.1.tgz#fa71badd4437af4c148841e3b3b165f9e9e590b7"
@ -6535,10 +6427,6 @@ unzip-response@^1.0.0, unzip-response@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/unzip-response/-/unzip-response-1.0.2.tgz#b984f0877fc0a89c2c773cc1ef7b5b232b5b06fe"
unzip-response@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/unzip-response/-/unzip-response-2.0.1.tgz#d2f0f737d16b0615e72a6935ed04214572d56f97"
update-notifier@^1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-1.0.3.tgz#8f92c515482bd6831b7c93013e70f87552c7cf5a"
@ -6552,19 +6440,6 @@ update-notifier@^1.0.3:
semver-diff "^2.0.0"
xdg-basedir "^2.0.0"
update-notifier@^2.0.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-2.2.0.tgz#1b5837cf90c0736d88627732b661c138f86de72f"
dependencies:
boxen "^1.0.0"
chalk "^1.0.0"
configstore "^3.0.0"
import-lazy "^2.1.0"
is-npm "^1.0.0"
latest-version "^3.0.0"
semver-diff "^2.0.0"
xdg-basedir "^3.0.0"
upper-case@^1.1.1:
version "1.1.3"
resolved "https://registry.yarnpkg.com/upper-case/-/upper-case-1.1.3.tgz#f6b4501c2ec4cdd26ba78be7222961de77621598"
@ -6874,14 +6749,10 @@ window-size@^0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.2.0.tgz#b4315bb4214a3d7058ebeee892e13fa24d98b075"
wordwrap@0.0.2:
wordwrap@0.0.2, wordwrap@~0.0.2:
version "0.0.2"
resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f"
wordwrap@~0.0.2:
version "0.0.3"
resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107"
wordwrap@~1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb"
@ -6912,24 +6783,12 @@ write-file-atomic@^1.1.2:
imurmurhash "^0.1.4"
slide "^1.1.5"
write-file-atomic@^2.0.0:
version "2.3.0"
resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.3.0.tgz#1ff61575c2e2a4e8e510d6fa4e243cce183999ab"
dependencies:
graceful-fs "^4.1.11"
imurmurhash "^0.1.4"
signal-exit "^3.0.2"
xdg-basedir@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-2.0.0.tgz#edbc903cc385fc04523d966a335504b5504d1bd2"
dependencies:
os-homedir "^1.0.0"
xdg-basedir@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-3.0.0.tgz#496b2cc109eca8dbacfe2dc72b603c17c5870ad4"
xhr-request@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/xhr-request/-/xhr-request-1.0.1.tgz#83f08a4b20beec67a8c1c728e8102f4c9eecbdda"