@@ -137,7 +141,6 @@ export default class PrInfoController extends React.Component {
);
}
- @autobind
renderSpecificPrFailure(err, retry) {
if (this.isNotFoundError(err)) {
return (
@@ -153,7 +156,6 @@ export default class PrInfoController extends React.Component {
}
}
- @autobind
renderFailure(err, retry) {
if (err.response && err.response.status === 401) {
return (
diff --git a/lib/controllers/remote-pr-controller.js b/lib/controllers/remote-pr-controller.js
index f6a642a8b8..5c10783454 100644
--- a/lib/controllers/remote-pr-controller.js
+++ b/lib/controllers/remote-pr-controller.js
@@ -1,6 +1,5 @@
import React from 'react';
import PropTypes from 'prop-types';
-import {autobind} from 'core-decorators';
import yubikiri from 'yubikiri';
import {shell} from 'electron';
@@ -10,6 +9,7 @@ import ObserveModel from '../views/observe-model';
import {UNAUTHENTICATED} from '../shared/keytar-strategy';
import {nullRemote} from '../models/remote';
import PrInfoController from './pr-info-controller';
+import {autobind} from '../helpers';
export default class RemotePrController extends React.Component {
static propTypes = {
@@ -30,7 +30,12 @@ export default class RemotePrController extends React.Component {
remote: nullRemote,
}
- fetchData = loginModel => {
+ constructor(props) {
+ super(props);
+ autobind(this, 'fetchData', 'handleLogin', 'handleLogout', 'handleCreatePr');
+ }
+
+ fetchData(loginModel) {
return yubikiri({
token: loginModel.getToken(this.props.host),
});
@@ -69,17 +74,14 @@ export default class RemotePrController extends React.Component {
);
}
- @autobind
handleLogin(token) {
this.props.loginModel.setToken(this.props.host, token);
}
- @autobind
handleLogout() {
this.props.loginModel.removeToken(this.props.host);
}
- @autobind
async handleCreatePr() {
const currentBranch = this.props.branches.getHeadBranch();
const upstream = currentBranch.getUpstream();
diff --git a/lib/controllers/root-controller.js b/lib/controllers/root-controller.js
index 215770f173..504a93b457 100644
--- a/lib/controllers/root-controller.js
+++ b/lib/controllers/root-controller.js
@@ -3,7 +3,6 @@ import path from 'path';
import React, {Fragment} from 'react';
import PropTypes from 'prop-types';
-import {autobind} from 'core-decorators';
import {CompositeDisposable} from 'event-kit';
import StatusBar from '../atom/status-bar';
@@ -27,7 +26,7 @@ import GitCacheView from '../views/git-cache-view';
import Conflict from '../models/conflicts/conflict';
import RefHolder from '../models/ref-holder';
import Switchboard from '../switchboard';
-import {destroyFilePatchPaneItems, destroyEmptyFilePatchPaneItems} from '../helpers';
+import {destroyFilePatchPaneItems, destroyEmptyFilePatchPaneItems, autobind} from '../helpers';
import {GitError} from '../git-shell-out-strategy';
export default class RootController extends React.Component {
@@ -63,6 +62,15 @@ export default class RootController extends React.Component {
constructor(props, context) {
super(props, context);
+ autobind(
+ this,
+ 'installReactDevTools', 'getRepositoryForWorkdir', 'clearGithubToken', 'initializeRepo', 'showOpenIssueishDialog',
+ 'showWaterfallDiagnostics', 'showCacheDiagnostics', 'acceptClone', 'cancelClone', 'acceptInit', 'cancelInit',
+ 'acceptOpenIssueish', 'cancelOpenIssueish', 'surfaceFromFileAtPath', 'destroyFilePatchPaneItems',
+ 'destroyEmptyFilePatchPaneItems', 'openCloneDialog', 'quietlySelectItem', 'viewUnstagedChangesForCurrentFile',
+ 'viewStagedChangesForCurrentFile', 'openFiles', 'getUnsavedFiles', 'ensureNoUnsavedFiles',
+ 'discardWorkDirChangesForPaths', 'discardLines', 'undoLastDiscard', 'refreshResolutionProgress',
+ );
this.loginModel = GithubLoginModel.get();
@@ -352,7 +360,6 @@ export default class RootController extends React.Component {
);
}
- @autobind
installReactDevTools() {
// Prevent electron-link from attempting to descend into electron-devtools-installer, which is not available
// when we're bundled in Atom.
@@ -361,7 +368,6 @@ export default class RootController extends React.Component {
devTools.default(devTools.REACT_DEVELOPER_TOOLS);
}
- @autobind
getRepositoryForWorkdir(workdir) {
return this.props.getRepositoryForWorkdir(workdir);
}
@@ -383,12 +389,10 @@ export default class RootController extends React.Component {
}
}
- @autobind
clearGithubToken() {
return this.loginModel.removeToken('https://api.github.com');
}
- @autobind
initializeRepo(initDialogPath) {
if (this.state.initDialogActive) {
return null;
@@ -399,22 +403,18 @@ export default class RootController extends React.Component {
});
}
- @autobind
showOpenIssueishDialog() {
this.setState({openIssueishDialogActive: true});
}
- @autobind
showWaterfallDiagnostics() {
this.props.workspace.open(GitTimingsView.buildURI());
}
- @autobind
showCacheDiagnostics() {
this.props.workspace.open(GitCacheView.buildURI());
}
- @autobind
async acceptClone(remoteUrl, projectPath) {
this.setState({cloneDialogInProgress: true});
try {
@@ -429,12 +429,10 @@ export default class RootController extends React.Component {
}
}
- @autobind
cancelClone() {
this.setState({cloneDialogActive: false});
}
- @autobind
async acceptInit(projectPath) {
try {
await this.props.createRepositoryForProjectPath(projectPath);
@@ -449,47 +447,39 @@ export default class RootController extends React.Component {
}
}
- @autobind
cancelInit() {
if (this.state.initDialogResolve) { this.state.initDialogResolve(false); }
this.setState({initDialogActive: false, initDialogPath: null, initDialogResolve: null});
}
- @autobind
acceptOpenIssueish({repoOwner, repoName, issueishNumber}) {
const uri = `atom-github://issueish/https%3A%2F%2Fapi.github.com/${repoOwner}/${repoName}/${issueishNumber}`;
this.setState({openIssueishDialogActive: false});
this.props.workspace.open(uri);
}
- @autobind
cancelOpenIssueish() {
this.setState({openIssueishDialogActive: false});
}
- @autobind
surfaceFromFileAtPath(filePath, stagingStatus) {
this.refGitTabController.map(c => {
return c.focusAndSelectStagingItem(filePath, stagingStatus);
});
}
- @autobind
destroyFilePatchPaneItems() {
destroyFilePatchPaneItems({onlyStaged: false}, this.props.workspace);
}
- @autobind
destroyEmptyFilePatchPaneItems() {
destroyEmptyFilePatchPaneItems(this.props.workspace);
}
- @autobind
openCloneDialog() {
this.setState({cloneDialogActive: true});
}
- @autobind
quietlySelectItem(filePath, stagingStatus) {
return this.refGitTabController.map(c => {
return c.quietlySelectItem(filePath, stagingStatus);
@@ -548,17 +538,14 @@ export default class RootController extends React.Component {
}
}
- @autobind
viewUnstagedChangesForCurrentFile() {
return this.viewChangesForCurrentFile('unstaged');
}
- @autobind
viewStagedChangesForCurrentFile() {
return this.viewChangesForCurrentFile('staged');
}
- @autobind
openFiles(filePaths, repository = this.props.repository) {
return Promise.all(filePaths.map(filePath => {
const absolutePath = path.join(repository.getWorkingDirectoryPath(), filePath);
@@ -566,7 +553,6 @@ export default class RootController extends React.Component {
}));
}
- @autobind
getUnsavedFiles(filePaths, workdirPath) {
const isModifiedByPath = new Map();
this.props.workspace.getTextEditors().forEach(editor => {
@@ -578,7 +564,6 @@ export default class RootController extends React.Component {
});
}
- @autobind
ensureNoUnsavedFiles(filePaths, message, workdirPath = this.props.repository.getWorkingDirectoryPath()) {
const unsavedFiles = this.getUnsavedFiles(filePaths, workdirPath).map(filePath => `\`${filePath}\``).join('
');
if (unsavedFiles.length) {
@@ -595,7 +580,6 @@ export default class RootController extends React.Component {
}
}
- @autobind
async discardWorkDirChangesForPaths(filePaths) {
const destructiveAction = () => {
return this.props.repository.discardWorkDirChangesForPaths(filePaths);
@@ -607,7 +591,6 @@ export default class RootController extends React.Component {
);
}
- @autobind
async discardLines(filePatch, lines, repository = this.props.repository) {
const filePath = filePatch.getPath();
const destructiveAction = async () => {
@@ -630,7 +613,6 @@ export default class RootController extends React.Component {
return lastSnapshots.map(snapshot => snapshot.filePath);
}
- @autobind
async undoLastDiscard(partialDiscardFilePath = null, repository = this.props.repository) {
const filePaths = this.getFilePathsForLastDiscard(partialDiscardFilePath);
try {
@@ -714,7 +696,6 @@ export default class RootController extends React.Component {
/*
* Asynchronously count the conflict markers present in a file specified by full path.
*/
- @autobind
refreshResolutionProgress(fullPath) {
const readStream = fs.createReadStream(fullPath, {encoding: 'utf8'});
return new Promise(resolve => {
@@ -743,6 +724,7 @@ export default class RootController extends React.Component {
class TabTracker {
constructor(name, {getController, getWorkspace, uri}) {
+ autobind(this, 'toggle', 'toggleFocus', 'ensureVisible');
this.name = name;
this.getWorkspace = getWorkspace;
@@ -760,7 +742,6 @@ class TabTracker {
return controller;
}
- @autobind
async toggle() {
const focusToRestore = document.activeElement;
let shouldRestoreFocus = false;
@@ -786,7 +767,6 @@ class TabTracker {
}
}
- @autobind
async toggleFocus() {
await this.ensureVisible();
@@ -801,7 +781,6 @@ class TabTracker {
}
}
- @autobind
async ensureVisible() {
if (!this.isVisible()) {
await this.reveal();
diff --git a/lib/github-package.js b/lib/github-package.js
index 2b6b9c8e76..e73ac7a7e2 100644
--- a/lib/github-package.js
+++ b/lib/github-package.js
@@ -5,9 +5,8 @@ import fs from 'fs-extra';
import React from 'react';
import ReactDom from 'react-dom';
-import {autobind} from 'core-decorators';
-import {fileExists} from './helpers';
+import {fileExists, autobind} from './helpers';
import WorkdirCache from './models/workdir-cache';
import WorkdirContext from './models/workdir-context';
import WorkdirContextPool from './models/workdir-context-pool';
@@ -29,6 +28,13 @@ const defaultState = {
export default class GithubPackage {
constructor(workspace, project, commandRegistry, notificationManager, tooltips, styles, grammars, confirm, config,
deserializers, configDirPath, getLoadSettings) {
+ autobind(
+ this,
+ 'consumeStatusBar', 'createGitTimingsView', 'createIssueishPaneItemStub', 'createDockItemStub',
+ 'createFilePatchControllerStub', 'destroyGitTabItem', 'destroyGithubTabItem', 'createRepositoryForProjectPath',
+ 'cloneRepositoryForProjectPath', 'getRepositoryForWorkdir', 'scheduleActiveContextUpdate',
+ );
+
this.workspace = workspace;
this.project = project;
this.commandRegistry = commandRegistry;
@@ -298,27 +304,23 @@ export default class GithubPackage {
await yardstick.flush();
}
- @autobind
consumeStatusBar(statusBar) {
this.statusBar = statusBar;
this.rerender();
}
- @autobind
createGitTimingsView() {
return StubItem.create('git-timings-view', {
title: 'GitHub Package Timings View',
}, GitTimingsView.buildURI());
}
- @autobind
createIssueishPaneItemStub({uri}) {
return StubItem.create('issueish-pane-item', {
title: 'Issueish',
}, uri);
}
- @autobind
createDockItemStub({uri}) {
let item;
switch (uri) {
@@ -355,7 +357,6 @@ export default class GithubPackage {
}, uri);
}
- @autobind
createFilePatchControllerStub({uri} = {}) {
const item = StubItem.create('git-file-patch-controller', {
title: 'Diff',
@@ -366,7 +367,6 @@ export default class GithubPackage {
return item;
}
- @autobind
destroyGitTabItem() {
if (this.gitTabStubItem) {
this.gitTabStubItem.destroy();
@@ -377,7 +377,6 @@ export default class GithubPackage {
}
}
- @autobind
destroyGithubTabItem() {
if (this.githubTabStubItem) {
this.githubTabStubItem.destroy();
@@ -388,7 +387,6 @@ export default class GithubPackage {
}
}
- @autobind
async createRepositoryForProjectPath(projectPath) {
await fs.mkdirs(projectPath);
@@ -403,7 +401,6 @@ export default class GithubPackage {
await this.scheduleActiveContextUpdate();
}
- @autobind
async cloneRepositoryForProjectPath(remoteUrl, projectPath) {
const context = this.contextPool.getContext(projectPath);
let repository;
@@ -423,7 +420,6 @@ export default class GithubPackage {
await this.scheduleActiveContextUpdate();
}
- @autobind
getRepositoryForWorkdir(projectPath) {
const loadingGuessRepo = Repository.loadingGuess({pipelineManager: this.pipelineManager});
return this.guessedContext ? loadingGuessRepo : this.contextPool.getContext(projectPath).getRepository();
@@ -449,7 +445,6 @@ export default class GithubPackage {
return this.switchboard;
}
- @autobind
async scheduleActiveContextUpdate(savedState = {}) {
this.switchboard.didScheduleActiveContextUpdate();
await this.activeContextQueue.push(this.updateActiveContext.bind(this, savedState), {parallel: false});
diff --git a/lib/helpers.js b/lib/helpers.js
index 6ed37088f1..8cdebf1f21 100644
--- a/lib/helpers.js
+++ b/lib/helpers.js
@@ -8,6 +8,12 @@ import FilePatchController from './controllers/file-patch-controller';
export const LINE_ENDING_REGEX = /\r?\n/;
export const CO_AUTHOR_REGEX = /^co-authored-by. (.+?) <(.+?)>$/i;
+export function autobind(self, ...methods) {
+ for (const method of methods) {
+ self[method] = self[method].bind(self);
+ }
+}
+
export function getPackageRoot() {
const {resourcePath} = atom.getLoadSettings();
const currentFileWasRequiredFromSnapshot = !path.isAbsolute(__dirname);
diff --git a/lib/models/branch-set.js b/lib/models/branch-set.js
index afd8c41df0..54e4683620 100644
--- a/lib/models/branch-set.js
+++ b/lib/models/branch-set.js
@@ -63,7 +63,7 @@ export default class BranchSet {
return this.byPushRef.get(`${remoteName}\0${remoteRefName}`) || [];
}
- [util.inspect.custom](depth, options) {
+ inspect(depth, options) {
return `BranchSet {${util.inspect(this.all)}}`;
}
}
diff --git a/lib/models/branch.js b/lib/models/branch.js
index 2f7307cfee..daa6b04508 100644
--- a/lib/models/branch.js
+++ b/lib/models/branch.js
@@ -1,5 +1,3 @@
-import util from 'util';
-
const DETACHED = Symbol('detached');
const REMOTE_TRACKING = Symbol('remote-tracking');
@@ -135,7 +133,7 @@ export const nullBranch = {
return false;
},
- [util.inspect.custom](depth, options) {
+ inspect(depth, options) {
return '{nullBranch}';
},
};
diff --git a/lib/models/list-selection.js b/lib/models/list-selection.js
index 8792a06dc5..be33907af8 100644
--- a/lib/models/list-selection.js
+++ b/lib/models/list-selection.js
@@ -1,9 +1,11 @@
-import {autobind} from 'core-decorators';
+import {autobind} from '../helpers';
const COPY = Symbol('copy');
export default class ListSelection {
constructor(options = {}) {
+ autobind(this, 'isItemSelectable');
+
if (options._copy !== COPY) {
this.options = {
isItemSelectable: options.isItemSelectable || (item => !!item),
@@ -29,7 +31,6 @@ export default class ListSelection {
});
}
- @autobind
isItemSelectable(item) {
return this.options.isItemSelectable(item);
}
diff --git a/lib/models/repository-states/index.js b/lib/models/repository-states/index.js
index 48b82ed911..9d7434bb36 100644
--- a/lib/models/repository-states/index.js
+++ b/lib/models/repository-states/index.js
@@ -1,5 +1,3 @@
-export {expectedDelegates} from './state';
-
// Load and export possible initial states
export {default as Loading} from './loading';
export {default as LoadingGuess} from './loading-guess';
diff --git a/lib/models/repository-states/present.js b/lib/models/repository-states/present.js
index 4e02cf4f16..195a4f55b3 100644
--- a/lib/models/repository-states/present.js
+++ b/lib/models/repository-states/present.js
@@ -16,30 +16,6 @@ import Remote from '../remote';
import Commit from '../commit';
import OperationStates from '../operation-states';
-/**
- * Decorator for an async method that invalidates the cache after execution (regardless of success or failure).
- * Optionally parameterized by a function that accepts the same arguments as the function that returns the list of cache
- * keys to invalidate.
- */
-function invalidate(spec) {
- return function(target, name, descriptor) {
- const original = descriptor.value;
- descriptor.value = function(...args) {
- return original.apply(this, args).then(
- result => {
- this.acceptInvalidation(spec, args);
- return result;
- },
- err => {
- this.acceptInvalidation(spec, args);
- return Promise.reject(err);
- },
- );
- };
- return descriptor;
- };
-}
-
/**
* State used when the working directory contains a valid git repository and can be interacted with. Performs
* actual git operations, caching the results, and broadcasts `onDidUpdate` events when write actions are
@@ -97,9 +73,8 @@ export default class Present extends State {
return true;
}
- acceptInvalidation(spec, args) {
- const keys = spec(...args);
- this.cache.invalidate(keys);
+ acceptInvalidation(spec) {
+ this.cache.invalidate(spec());
this.didUpdate();
}
@@ -194,77 +169,101 @@ export default class Present extends State {
// Staging and unstaging
- @invalidate(paths => Keys.cacheOperationKeys(paths))
stageFiles(paths) {
- return this.git().stageFiles(paths);
+ return this.invalidate(
+ () => Keys.cacheOperationKeys(paths),
+ () => this.git().stageFiles(paths),
+ );
}
- @invalidate(paths => Keys.cacheOperationKeys(paths))
unstageFiles(paths) {
- return this.git().unstageFiles(paths);
+ return this.invalidate(
+ () => Keys.cacheOperationKeys(paths),
+ () => this.git().unstageFiles(paths),
+ );
}
- @invalidate(paths => Keys.cacheOperationKeys(paths))
stageFilesFromParentCommit(paths) {
- return this.git().unstageFiles(paths, 'HEAD~');
+ return this.invalidate(
+ () => Keys.cacheOperationKeys(paths),
+ () => this.git().unstageFiles(paths, 'HEAD~'),
+ );
}
- @invalidate(filePath => Keys.cacheOperationKeys([filePath]))
stageFileModeChange(filePath, fileMode) {
- return this.git().stageFileModeChange(filePath, fileMode);
+ return this.invalidate(
+ () => Keys.cacheOperationKeys([filePath]),
+ () => this.git().stageFileModeChange(filePath, fileMode),
+ );
}
- @invalidate(filePath => Keys.cacheOperationKeys([filePath]))
stageFileSymlinkChange(filePath) {
- return this.git().stageFileSymlinkChange(filePath);
+ return this.invalidate(
+ () => Keys.cacheOperationKeys([filePath]),
+ () => this.git().stageFileSymlinkChange(filePath),
+ );
}
- @invalidate(filePatch => Keys.cacheOperationKeys([filePatch.getOldPath(), filePatch.getNewPath()]))
applyPatchToIndex(filePatch) {
- const patchStr = filePatch.toString();
- return this.git().applyPatch(patchStr, {index: true});
+ return this.invalidate(
+ () => Keys.cacheOperationKeys([filePatch.getOldPath(), filePatch.getNewPath()]),
+ () => {
+ const patchStr = filePatch.toString();
+ return this.git().applyPatch(patchStr, {index: true});
+ },
+ );
}
- @invalidate(filePatch => Keys.workdirOperationKeys([filePatch.getOldPath(), filePatch.getNewPath()]))
applyPatchToWorkdir(filePatch) {
- const patchStr = filePatch.toString();
- return this.git().applyPatch(patchStr);
+ return this.invalidate(
+ () => Keys.workdirOperationKeys([filePatch.getOldPath(), filePatch.getNewPath()]),
+ () => {
+ const patchStr = filePatch.toString();
+ return this.git().applyPatch(patchStr);
+ },
+ );
}
// Committing
- @invalidate(() => [
- ...Keys.headOperationKeys(),
- ...Keys.filePatch.eachWithOpts({staged: true}),
- Keys.headDescription,
- Keys.branches,
- ])
commit(message, options) {
- // eslint-disable-next-line no-shadow
- return this.executePipelineAction('COMMIT', (message, options) => {
- return this.git().commit(message, options);
- }, message, options);
+ return this.invalidate(
+ () => [
+ ...Keys.headOperationKeys(),
+ ...Keys.filePatch.eachWithOpts({staged: true}),
+ Keys.headDescription,
+ Keys.branches,
+ ],
+ // eslint-disable-next-line no-shadow
+ () => this.executePipelineAction('COMMIT', (message, options) => {
+ return this.git().commit(message, options);
+ }, message, options),
+ );
}
// Merging
- @invalidate(() => [
- ...Keys.headOperationKeys(),
- Keys.index.all,
- Keys.headDescription,
- ])
merge(branchName) {
- return this.git().merge(branchName);
+ return this.invalidate(
+ () => [
+ ...Keys.headOperationKeys(),
+ Keys.index.all,
+ Keys.headDescription,
+ ],
+ () => this.git().merge(branchName),
+ );
}
- @invalidate(() => [
- Keys.statusBundle,
- Keys.stagedChangesSinceParentCommit,
- Keys.filePatch.all,
- Keys.index.all,
- ])
abortMerge() {
- return this.git().abortMerge();
+ return this.invalidate(
+ () => [
+ Keys.statusBundle,
+ Keys.stagedChangesSinceParentCommit,
+ Keys.filePatch.all,
+ Keys.index.all,
+ ],
+ () => this.git().abortMerge(),
+ );
}
checkoutSide(side, paths) {
@@ -275,126 +274,144 @@ export default class Present extends State {
return this.git().mergeFile(oursPath, commonBasePath, theirsPath, resultPath);
}
- @invalidate(filePath => [
- Keys.statusBundle,
- Keys.stagedChangesSinceParentCommit,
- ...Keys.filePatch.eachWithFileOpts([filePath], [{staged: false}, {staged: true}]),
- Keys.index.oneWith(filePath),
- ])
writeMergeConflictToIndex(filePath, commonBaseSha, oursSha, theirsSha) {
- return this.git().writeMergeConflictToIndex(filePath, commonBaseSha, oursSha, theirsSha);
+ return this.invalidate(
+ () => [
+ Keys.statusBundle,
+ Keys.stagedChangesSinceParentCommit,
+ ...Keys.filePatch.eachWithFileOpts([filePath], [{staged: false}, {staged: true}]),
+ Keys.index.oneWith(filePath),
+ ],
+ () => this.git().writeMergeConflictToIndex(filePath, commonBaseSha, oursSha, theirsSha),
+ );
}
// Checkout
- @invalidate(() => [
- Keys.stagedChangesSinceParentCommit,
- Keys.lastCommit,
- Keys.recentCommits,
- Keys.authors,
- Keys.statusBundle,
- Keys.index.all,
- ...Keys.filePatch.eachWithOpts({staged: true}),
- Keys.headDescription,
- Keys.branches,
- ])
checkout(revision, options = {}) {
- // eslint-disable-next-line no-shadow
- return this.executePipelineAction('CHECKOUT', (revision, options) => {
- return this.git().checkout(revision, options);
- }, revision, options);
+ return this.invalidate(
+ () => [
+ Keys.stagedChangesSinceParentCommit,
+ Keys.lastCommit,
+ Keys.recentCommits,
+ Keys.authors,
+ Keys.statusBundle,
+ Keys.index.all,
+ ...Keys.filePatch.eachWithOpts({staged: true}),
+ Keys.headDescription,
+ Keys.branches,
+ ],
+ // eslint-disable-next-line no-shadow
+ () => this.executePipelineAction('CHECKOUT', (revision, options) => {
+ return this.git().checkout(revision, options);
+ }, revision, options),
+ );
}
- @invalidate(paths => [
- Keys.statusBundle,
- Keys.stagedChangesSinceParentCommit,
- ...paths.map(fileName => Keys.index.oneWith(fileName)),
- ...Keys.filePatch.eachWithFileOpts(paths, [{staged: true}]),
- ])
checkoutPathsAtRevision(paths, revision = 'HEAD') {
- return this.git().checkoutFiles(paths, revision);
+ return this.invalidate(
+ () => [
+ Keys.statusBundle,
+ Keys.stagedChangesSinceParentCommit,
+ ...paths.map(fileName => Keys.index.oneWith(fileName)),
+ ...Keys.filePatch.eachWithFileOpts(paths, [{staged: true}]),
+ ],
+ () => this.git().checkoutFiles(paths, revision),
+ );
}
// Reset
- @invalidate(() => [
- Keys.stagedChangesSinceParentCommit,
- Keys.lastCommit,
- Keys.recentCommits,
- Keys.authors,
- Keys.statusBundle,
- Keys.index.all,
- ...Keys.filePatch.eachWithOpts({staged: true}),
- Keys.headDescription,
- ])
undoLastCommit() {
- return this.git().reset('soft', 'HEAD~');
+ return this.invalidate(
+ () => [
+ Keys.stagedChangesSinceParentCommit,
+ Keys.lastCommit,
+ Keys.recentCommits,
+ Keys.authors,
+ Keys.statusBundle,
+ Keys.index.all,
+ ...Keys.filePatch.eachWithOpts({staged: true}),
+ Keys.headDescription,
+ ],
+ () => this.git().reset('soft', 'HEAD~'),
+ );
}
// Remote interactions
- @invalidate(branchName => [
- Keys.statusBundle,
- Keys.headDescription,
- ])
fetch(branchName) {
- // eslint-disable-next-line no-shadow
- return this.executePipelineAction('FETCH', async branchName => {
- const remote = await this.getRemoteForBranch(branchName);
- if (!remote.isPresent()) {
- return null;
- }
- return this.git().fetch(remote.getName(), branchName);
- }, branchName);
+ return this.invalidate(
+ () => [
+ Keys.statusBundle,
+ Keys.headDescription,
+ ],
+ // eslint-disable-next-line no-shadow
+ () => this.executePipelineAction('FETCH', async branchName => {
+ const remote = await this.getRemoteForBranch(branchName);
+ if (!remote.isPresent()) {
+ return null;
+ }
+ return this.git().fetch(remote.getName(), branchName);
+ }, branchName),
+ );
}
- @invalidate(() => [
- ...Keys.headOperationKeys(),
- Keys.index.all,
- Keys.headDescription,
- Keys.branches,
- ])
pull(branchName) {
- // eslint-disable-next-line no-shadow
- return this.executePipelineAction('PULL', async branchName => {
- const remote = await this.getRemoteForBranch(branchName);
- if (!remote.isPresent()) {
- return null;
- }
- return this.git().pull(remote.getName(), branchName);
- }, branchName);
+ return this.invalidate(
+ () => [
+ ...Keys.headOperationKeys(),
+ Keys.index.all,
+ Keys.headDescription,
+ Keys.branches,
+ ],
+ // eslint-disable-next-line no-shadow
+ () => this.executePipelineAction('PULL', async branchName => {
+ const remote = await this.getRemoteForBranch(branchName);
+ if (!remote.isPresent()) {
+ return null;
+ }
+ return this.git().pull(remote.getName(), branchName);
+ }, branchName),
+ );
}
- @invalidate((branchName, options = {}) => {
- const keys = [
- Keys.statusBundle,
- Keys.headDescription,
- ];
-
- if (options.setUpstream) {
- keys.push(...Keys.config.eachWithSetting(`branch.${branchName}.remote`));
- }
-
- return keys;
- })
push(branchName, options = {}) {
- // eslint-disable-next-line no-shadow
- return this.executePipelineAction('PUSH', async (branchName, options) => {
- const remote = options.remote || await this.getRemoteForBranch(branchName);
- return this.git().push(remote.getNameOr('origin'), branchName, options);
- }, branchName, options);
+ return this.invalidate(
+ () => {
+ const keys = [
+ Keys.statusBundle,
+ Keys.headDescription,
+ ];
+
+ if (options.setUpstream) {
+ keys.push(...Keys.config.eachWithSetting(`branch.${branchName}.remote`));
+ }
+
+ return keys;
+ },
+ // eslint-disable-next-line no-shadow
+ () => this.executePipelineAction('PUSH', async (branchName, options) => {
+ const remote = options.remote || await this.getRemoteForBranch(branchName);
+ return this.git().push(remote.getNameOr('origin'), branchName, options);
+ }, branchName, options),
+ );
}
// Configuration
- @invalidate(setting => Keys.config.eachWithSetting(setting))
setConfig(setting, value, options) {
- return this.git().setConfig(setting, value, options);
+ return this.invalidate(
+ () => Keys.config.eachWithSetting(setting),
+ () => this.git().setConfig(setting, value, options),
+ );
}
- @invalidate(setting => Keys.config.eachWithSetting(setting))
unsetConfig(setting) {
- return this.git().unsetConfig(setting);
+ return this.invalidate(
+ () => Keys.config.eachWithSetting(setting),
+ () => this.git().unsetConfig(setting),
+ );
}
// Direct blob interactions
@@ -447,18 +464,22 @@ export default class Present extends State {
return this.saveDiscardHistory();
}
- @invalidate(paths => [
- Keys.statusBundle,
- ...paths.map(filePath => Keys.filePatch.oneWith(filePath, {staged: false})),
- ])
- async discardWorkDirChangesForPaths(paths) {
- const untrackedFiles = await this.git().getUntrackedFiles();
- const [filesToRemove, filesToCheckout] = partition(paths, f => untrackedFiles.includes(f));
- await this.git().checkoutFiles(filesToCheckout);
- await Promise.all(filesToRemove.map(filePath => {
- const absPath = path.join(this.workdir(), filePath);
- return fs.remove(absPath);
- }));
+ discardWorkDirChangesForPaths(paths) {
+ return this.invalidate(
+ () => [
+ Keys.statusBundle,
+ ...paths.map(filePath => Keys.filePatch.oneWith(filePath, {staged: false})),
+ ],
+ async () => {
+ const untrackedFiles = await this.git().getUntrackedFiles();
+ const [filesToRemove, filesToCheckout] = partition(paths, f => untrackedFiles.includes(f));
+ await this.git().checkoutFiles(filesToCheckout);
+ await Promise.all(filesToRemove.map(filePath => {
+ const absPath = path.join(this.workdir(), filePath);
+ return fs.remove(absPath);
+ }));
+ },
+ );
}
// Accessors /////////////////////////////////////////////////////////////////////////////////////////////////////////
@@ -703,9 +724,23 @@ export default class Present extends State {
}
// Cache
+
getCache() {
return this.cache;
}
+
+ invalidate(spec, body) {
+ return body().then(
+ result => {
+ this.acceptInvalidation(spec);
+ return result;
+ },
+ err => {
+ this.acceptInvalidation(spec);
+ return Promise.reject(err);
+ },
+ );
+ }
}
State.register(Present);
@@ -1033,7 +1068,7 @@ const Keys = {
oneWith: sha => `blob:${sha}`,
},
- // Common collections of keys and patterns for use with @invalidate().
+ // Common collections of keys and patterns for use with invalidate().
workdirOperationKeys: fileNames => [
Keys.statusBundle,
diff --git a/lib/models/repository-states/state.js b/lib/models/repository-states/state.js
index 6ac1a85cca..aa1756107e 100644
--- a/lib/models/repository-states/state.js
+++ b/lib/models/repository-states/state.js
@@ -2,23 +2,12 @@ import {nullCommit} from '../commit';
import BranchSet from '../branch-set';
import {nullOperationStates} from '../operation-states';
-export const expectedDelegates = [];
-
/**
* Map of registered subclasses to allow states to transition to one another without circular dependencies.
* Subclasses of State should call `State.register` to add themselves here.
*/
const stateConstructors = new Map();
-/**
- * Methods marked with this decorator on State should be delegated from a Repository to its current state. This will
- * be verified by a unit test in `repository.test.js`.
- */
-function shouldDelegate(target, name, descriptor) {
- expectedDelegates.push(name);
- return descriptor;
-}
-
/**
* Base class for Repository states. Implements default "null" behavior.
*/
@@ -39,42 +28,34 @@ export default class State {
// State probe predicates ////////////////////////////////////////////////////////////////////////////////////////////
// Allow external callers to identify which state a Repository is in if necessary.
- @shouldDelegate
isLoadingGuess() {
return false;
}
- @shouldDelegate
isAbsentGuess() {
return false;
}
- @shouldDelegate
isAbsent() {
return false;
}
- @shouldDelegate
isLoading() {
return false;
}
- @shouldDelegate
isEmpty() {
return false;
}
- @shouldDelegate
isPresent() {
return false;
}
- @shouldDelegate
isTooLarge() {
return false;
}
- @shouldDelegate
isDestroyed() {
return false;
}
@@ -82,32 +63,26 @@ export default class State {
// Behavior probe predicates /////////////////////////////////////////////////////////////////////////////////////////
// Determine specific rendering behavior based on the current state.
- @shouldDelegate
isUndetermined() {
return false;
}
- @shouldDelegate
showGitTabInit() {
return false;
}
- @shouldDelegate
showGitTabInitInProgress() {
return false;
}
- @shouldDelegate
showGitTabLoading() {
return false;
}
- @shouldDelegate
showStatusBarTiles() {
return false;
}
- @shouldDelegate
hasDirectory() {
return true;
}
@@ -115,27 +90,22 @@ export default class State {
// Lifecycle actions /////////////////////////////////////////////////////////////////////////////////////////////////
// These generally default to rejecting a Promise with an error.
- @shouldDelegate
init() {
return unsupportedOperationPromise(this, 'init');
}
- @shouldDelegate
clone(remoteUrl) {
return unsupportedOperationPromise(this, 'clone');
}
- @shouldDelegate
destroy() {
return this.transitionTo('Destroyed');
}
- @shouldDelegate
refresh() {
// No-op
}
- @shouldDelegate
observeFilesystemChange(events) {
this.repository.refresh();
}
@@ -146,158 +116,130 @@ export default class State {
// Staging and unstaging
- @shouldDelegate
stageFiles(paths) {
return unsupportedOperationPromise(this, 'stageFiles');
}
- @shouldDelegate
unstageFiles(paths) {
return unsupportedOperationPromise(this, 'unstageFiles');
}
- @shouldDelegate
stageFilesFromParentCommit(paths) {
return unsupportedOperationPromise(this, 'stageFilesFromParentCommit');
}
- @shouldDelegate
applyPatchToIndex(patch) {
return unsupportedOperationPromise(this, 'applyPatchToIndex');
}
- @shouldDelegate
applyPatchToWorkdir(patch) {
return unsupportedOperationPromise(this, 'applyPatchToWorkdir');
}
// Committing
- @shouldDelegate
commit(message, options) {
return unsupportedOperationPromise(this, 'commit');
}
// Merging
- @shouldDelegate
merge(branchName) {
return unsupportedOperationPromise(this, 'merge');
}
- @shouldDelegate
abortMerge() {
return unsupportedOperationPromise(this, 'abortMerge');
}
- @shouldDelegate
checkoutSide(side, paths) {
return unsupportedOperationPromise(this, 'checkoutSide');
}
- @shouldDelegate
mergeFile(oursPath, commonBasePath, theirsPath, resultPath) {
return unsupportedOperationPromise(this, 'mergeFile');
}
- @shouldDelegate
writeMergeConflictToIndex(filePath, commonBaseSha, oursSha, theirsSha) {
return unsupportedOperationPromise(this, 'writeMergeConflictToIndex');
}
// Checkout
- @shouldDelegate
checkout(revision, options = {}) {
return unsupportedOperationPromise(this, 'checkout');
}
- @shouldDelegate
checkoutPathsAtRevision(paths, revision = 'HEAD') {
return unsupportedOperationPromise(this, 'checkoutPathsAtRevision');
}
// Reset
- @shouldDelegate
undoLastCommit() {
return unsupportedOperationPromise(this, 'undoLastCommit');
}
// Remote interactions
- @shouldDelegate
fetch(branchName) {
return unsupportedOperationPromise(this, 'fetch');
}
- @shouldDelegate
pull(branchName) {
return unsupportedOperationPromise(this, 'pull');
}
- @shouldDelegate
push(branchName) {
return unsupportedOperationPromise(this, 'push');
}
// Configuration
- @shouldDelegate
setConfig(option, value, {replaceAll} = {}) {
return unsupportedOperationPromise(this, 'setConfig');
}
- @shouldDelegate
unsetConfig(option) {
return unsupportedOperationPromise(this, 'unsetConfig');
}
// Direct blob interactions
- @shouldDelegate
createBlob({filePath, stdin} = {}) {
return unsupportedOperationPromise(this, 'createBlob');
}
- @shouldDelegate
expandBlobToFile(absFilePath, sha) {
return unsupportedOperationPromise(this, 'expandBlobToFile');
}
// Discard history
- @shouldDelegate
createDiscardHistoryBlob() {
return unsupportedOperationPromise(this, 'createDiscardHistoryBlob');
}
- @shouldDelegate
updateDiscardHistory() {
return unsupportedOperationPromise(this, 'updateDiscardHistory');
}
- @shouldDelegate
storeBeforeAndAfterBlobs(filePaths, isSafe, destructiveAction, partialDiscardFilePath = null) {
return unsupportedOperationPromise(this, 'storeBeforeAndAfterBlobs');
}
- @shouldDelegate
restoreLastDiscardInTempFiles(isSafe, partialDiscardFilePath = null) {
return unsupportedOperationPromise(this, 'restoreLastDiscardInTempFiles');
}
- @shouldDelegate
popDiscardHistory(partialDiscardFilePath = null) {
return unsupportedOperationPromise(this, 'popDiscardHistory');
}
- @shouldDelegate
clearDiscardHistory(partialDiscardFilePath = null) {
return unsupportedOperationPromise(this, 'clearDiscardHistory');
}
- @shouldDelegate
discardWorkDirChangesForPaths(paths) {
return unsupportedOperationPromise(this, 'discardWorkDirChangesForPaths');
}
@@ -308,7 +250,6 @@ export default class State {
// Index queries
- @shouldDelegate
getStatusBundle() {
return Promise.resolve({
stagedFiles: {},
@@ -323,7 +264,6 @@ export default class State {
});
}
- @shouldDelegate
getStatusesForChangedFiles() {
return Promise.resolve({
stagedFiles: [],
@@ -332,125 +272,104 @@ export default class State {
});
}
- @shouldDelegate
getFilePatchForPath(filePath, options = {}) {
return Promise.resolve(null);
}
- @shouldDelegate
readFileFromIndex(filePath) {
return Promise.reject(new Error(`fatal: Path ${filePath} does not exist (neither on disk nor in the index).`));
}
// Commit access
- @shouldDelegate
getLastCommit() {
return Promise.resolve(nullCommit);
}
- @shouldDelegate
getRecentCommits() {
return Promise.resolve([]);
}
// Author information
- @shouldDelegate
getAuthors() {
return Promise.resolve({});
}
// Branches
- @shouldDelegate
getBranches() {
return Promise.resolve(new BranchSet());
}
- @shouldDelegate
getHeadDescription() {
return Promise.resolve('(no repository)');
}
// Merging and rebasing status
- @shouldDelegate
isMerging() {
return Promise.resolve(false);
}
- @shouldDelegate
isRebasing() {
return Promise.resolve(false);
}
// Remotes
- @shouldDelegate
getRemotes() {
return Promise.resolve([]);
}
- @shouldDelegate
getAheadCount(branchName) {
return Promise.resolve(null);
}
- @shouldDelegate
getBehindCount(branchName) {
return Promise.resolve(null);
}
- @shouldDelegate
getConfig(option, {local} = {}) {
return Promise.resolve(null);
}
// Direct blob access
- @shouldDelegate
getBlobContents(sha) {
return Promise.reject(new Error(`fatal: Not a valid object name ${sha}`));
}
// Discard history
- @shouldDelegate
hasDiscardHistory(partialDiscardFilePath = null) {
return false;
}
- @shouldDelegate
getDiscardHistory(partialDiscardFilePath = null) {
return [];
}
- @shouldDelegate
getLastHistorySnapshots(partialDiscardFilePath = null) {
return null;
}
// Atom repo state
- @shouldDelegate
getOperationStates() {
return nullOperationStates;
}
- @shouldDelegate
setCommitMessage(message) {
return unsupportedOperationPromise(this, 'setCommitMessage');
}
- @shouldDelegate
getCommitMessage() {
return '';
}
// Cache
- @shouldDelegate
getCache() {
return null;
}
diff --git a/lib/models/repository.js b/lib/models/repository.js
index e09bac85cd..7a3d58ca5a 100644
--- a/lib/models/repository.js
+++ b/lib/models/repository.js
@@ -247,9 +247,6 @@ export default class Repository {
// The methods named here will be delegated to the current State.
//
-// This list should match the methods decorated with @shouldDelegate in `lib/models/repository-states/state.js`. A test
-// case in `test/models/repository.test.js` ensures that these sets match.
-//
// Duplicated here rather than just using `expectedDelegates` directly so that this file is grep-friendly for answering
// the question of "what all can a Repository do exactly".
const delegates = [
diff --git a/lib/models/style-calculator.js b/lib/models/style-calculator.js
index 9c72022ed0..33a849dbcc 100644
--- a/lib/models/style-calculator.js
+++ b/lib/models/style-calculator.js
@@ -1,9 +1,11 @@
import {CompositeDisposable} from 'event-kit';
-import {autobind} from 'core-decorators';
+import {autobind} from '../helpers';
export default class StyleCalculator {
constructor(styles, config) {
+ autobind(this, 'updateStyles');
+
this.styles = styles;
this.config = config;
}
@@ -22,7 +24,6 @@ export default class StyleCalculator {
return subscriptions;
}
- @autobind
updateStyles(sourcePath, getStylesheetFn) {
const stylesheet = getStylesheetFn(this.config);
this.styles.addStyleSheet(stylesheet, {sourcePath, priority: 0});
diff --git a/lib/models/workdir-context.js b/lib/models/workdir-context.js
index f6baa469e5..b7a5ed749b 100644
--- a/lib/models/workdir-context.js
+++ b/lib/models/workdir-context.js
@@ -1,10 +1,10 @@
import {Emitter, CompositeDisposable} from 'event-kit';
-import {autobind} from 'core-decorators';
import Repository from './repository';
import ResolutionProgress from './conflicts/resolution-progress';
import FileSystemChangeObserver from './file-system-change-observer';
import WorkspaceChangeObserver from './workspace-change-observer';
+import {autobind} from '../helpers';
const createRepoSym = Symbol('createRepo');
@@ -27,6 +27,8 @@ export default class WorkdirContext {
* - `options.promptCallback`: Callback used to collect information interactively through Atom.
*/
constructor(directory, options = {}) {
+ autobind(this, 'repositoryChangedState');
+
this.directory = directory;
const {window: theWindow, workspace, promptCallback, pipelineManager} = options;
@@ -90,7 +92,6 @@ export default class WorkdirContext {
* The ResolutionProgress will be loaded before the change event is re-broadcast, but change observer modifications
* will not be complete.
*/
- @autobind
repositoryChangedState(payload) {
if (this.destroyed) {
return;
diff --git a/lib/models/workspace-change-observer.js b/lib/models/workspace-change-observer.js
index 03e50c5f85..00546f8d65 100644
--- a/lib/models/workspace-change-observer.js
+++ b/lib/models/workspace-change-observer.js
@@ -1,15 +1,16 @@
import path from 'path';
import {CompositeDisposable, Disposable, Emitter} from 'event-kit';
-
import {watchPath} from 'atom';
-import {autobind} from 'core-decorators';
import EventLogger from './event-logger';
+import {autobind} from '../helpers';
export const FOCUS = Symbol('focus');
export default class WorkspaceChangeObserver {
constructor(window, workspace, repository) {
+ autobind(this, 'observeTextEditor');
+
this.window = window;
this.repository = repository;
this.workspace = workspace;
@@ -134,7 +135,6 @@ export default class WorkspaceChangeObserver {
}
}
- @autobind
observeTextEditor(editor) {
const buffer = editor.getBuffer();
if (!this.observedBuffers.has(buffer)) {
diff --git a/lib/periodic-refresher.js b/lib/periodic-refresher.js
index d546a3a7bd..806bd0def4 100644
--- a/lib/periodic-refresher.js
+++ b/lib/periodic-refresher.js
@@ -1,4 +1,4 @@
-import {autobind} from 'core-decorators';
+import {autobind} from './helpers';
const refreshMapPerUniqueId = new WeakMap();
@@ -14,6 +14,8 @@ export default class PeriodicRefresher {
}
constructor(uniqueId, options) {
+ autobind(this, 'refreshNow');
+
this.options = options;
this._refreshesPerId = PeriodicRefresher.getRefreshMap(uniqueId);
}
@@ -35,7 +37,6 @@ export default class PeriodicRefresher {
this._timer = setTimeout(this.refreshNow, this.options.interval());
}
- @autobind
refreshNow(force = false) {
const currentId = this.options.getCurrentId();
const lastRefreshForId = this._refreshesPerId.get(currentId) || 0;
diff --git a/lib/views/branch-menu-view.js b/lib/views/branch-menu-view.js
index 01517d52a7..0672fd5b92 100644
--- a/lib/views/branch-menu-view.js
+++ b/lib/views/branch-menu-view.js
@@ -1,11 +1,11 @@
import React from 'react';
import PropTypes from 'prop-types';
-import {autobind} from 'core-decorators';
import cx from 'classnames';
import Commands, {Command} from '../atom/commands';
import {BranchPropType, BranchSetPropType} from '../prop-types';
import {GitError} from '../git-shell-out-strategy';
+import {autobind} from '../helpers';
export default class BranchMenuView extends React.Component {
static propTypes = {
@@ -24,6 +24,7 @@ export default class BranchMenuView extends React.Component {
constructor(props, context) {
super(props, context);
+ autobind(this, 'didSelectItem', 'createBranch', 'checkout', 'cancelCreateNewBranch');
this.state = {
createNew: false,
@@ -109,13 +110,11 @@ export default class BranchMenuView extends React.Component {
}
}
- @autobind
async didSelectItem(event) {
const branchName = event.target.value;
await this.checkout(branchName);
}
- @autobind
async createBranch() {
if (this.state.createNew) {
const branchName = this.editorElement.innerText.trim();
@@ -127,7 +126,6 @@ export default class BranchMenuView extends React.Component {
}
}
- @autobind
async checkout(branchName, options) {
this.editorElement.classList.remove('is-focused');
this.setState({checkedOutBranch: branchName});
@@ -145,7 +143,6 @@ export default class BranchMenuView extends React.Component {
}
}
- @autobind
cancelCreateNewBranch() {
this.setState({createNew: false});
}
diff --git a/lib/views/clone-dialog.js b/lib/views/clone-dialog.js
index 038e818198..68d41854be 100644
--- a/lib/views/clone-dialog.js
+++ b/lib/views/clone-dialog.js
@@ -1,11 +1,11 @@
import React from 'react';
import PropTypes from 'prop-types';
-import {autobind} from 'core-decorators';
import {CompositeDisposable} from 'event-kit';
import url from 'url';
import path from 'path';
import Commands, {Command} from '../atom/commands';
+import {autobind} from '../helpers';
export default class CloneDialog extends React.Component {
static propTypes = {
@@ -24,6 +24,7 @@ export default class CloneDialog extends React.Component {
constructor(props, context) {
super(props, context);
+ autobind(this, 'clone', 'cancel', 'didChangeRemoteUrl', 'didChangeProjectPath', 'editorRefs');
this.state = {
cloneDisabled: false,
@@ -98,7 +99,6 @@ export default class CloneDialog extends React.Component {
);
}
- @autobind
clone() {
if (this.getRemoteUrl().length === 0 || this.getProjectPath().length === 0) {
return;
@@ -107,12 +107,10 @@ export default class CloneDialog extends React.Component {
this.props.didAccept(this.getRemoteUrl(), this.getProjectPath());
}
- @autobind
cancel() {
this.props.didCancel();
}
- @autobind
didChangeRemoteUrl() {
if (!this.projectPathModified) {
const name = path.basename(url.parse(this.getRemoteUrl()).pathname, '.git') || '';
@@ -127,13 +125,11 @@ export default class CloneDialog extends React.Component {
this.setCloneEnablement();
}
- @autobind
didChangeProjectPath() {
this.projectPathModified = true;
this.setCloneEnablement();
}
- @autobind
editorRefs(baseName) {
const elementName = `${baseName}Element`;
const modelName = `${baseName}Editor`;
diff --git a/lib/views/co-author-form.js b/lib/views/co-author-form.js
index 290be2dfb8..a4aa6b0bbf 100644
--- a/lib/views/co-author-form.js
+++ b/lib/views/co-author-form.js
@@ -1,8 +1,8 @@
import React from 'react';
import PropTypes from 'prop-types';
-import {autobind} from 'core-decorators';
import Commands, {Command} from '../atom/commands';
+import {autobind} from '../helpers';
export default class CoAuthorForm extends React.Component {
static propTypes = {
@@ -19,6 +19,7 @@ export default class CoAuthorForm extends React.Component {
constructor(props, context) {
super(props, context);
+ autobind(this, 'confirm', 'cancel', 'onNameChange', 'onEmailChange', 'validate', 'focusFirstInput');
this.state = {
name: this.props.name,
@@ -72,29 +73,24 @@ export default class CoAuthorForm extends React.Component {
);
}
- @autobind
confirm() {
if (this.isInputValid()) {
this.props.onSubmit({name: this.state.name, email: this.state.email});
}
}
- @autobind
cancel() {
this.props.onCancel();
}
- @autobind
onNameChange(e) {
this.setState({name: e.target.value}, this.validate);
}
- @autobind
onEmailChange(e) {
this.setState({email: e.target.value}, this.validate);
}
- @autobind
validate() {
if (this.isInputValid()) {
this.setState({submitDisabled: false});
@@ -109,7 +105,6 @@ export default class CoAuthorForm extends React.Component {
return this.state.name && this.state.email.includes('@');
}
- @autobind
focusFirstInput() {
this.nameInput.focus();
}
diff --git a/lib/views/commit-view.js b/lib/views/commit-view.js
index ac47d778a6..0a81f1f7b0 100644
--- a/lib/views/commit-view.js
+++ b/lib/views/commit-view.js
@@ -1,15 +1,14 @@
import React from 'react';
import PropTypes from 'prop-types';
import {CompositeDisposable} from 'event-kit';
-import {autobind} from 'core-decorators';
import cx from 'classnames';
import Select from 'react-select';
-import CoAuthorForm from './co-author-form';
import Tooltip from '../atom/tooltip';
import AtomTextEditor from '../atom/atom-text-editor';
+import CoAuthorForm from './co-author-form';
import RefHolder from '../models/ref-holder';
-import {LINE_ENDING_REGEX} from '../helpers';
+import {LINE_ENDING_REGEX, autobind} from '../helpers';
import {AuthorPropType} from '../prop-types';
const TOOLTIP_DELAY = 200;
@@ -52,6 +51,12 @@ export default class CommitView extends React.Component {
constructor(props, context) {
super(props, context);
+ autobind(
+ this,
+ 'submitNewCoAuthor', 'cancelNewCoAuthor', 'didChangeCommitMessage', 'didMoveCursor', 'toggleHardWrap',
+ 'toggleCoAuthorInput', 'abortMerge', 'commit', 'amendLastCommit', 'toggleExpandedCommitMessageEditor',
+ 'renderCoAuthorListItem', 'onSelectedCoAuthorsChanged',
+ );
this.state = {
showWorking: false,
@@ -327,13 +332,11 @@ export default class CommitView extends React.Component {
);
}
- @autobind
submitNewCoAuthor(newAuthor) {
this.props.updateSelectedCoAuthors(this.props.selectedCoAuthors, newAuthor);
this.hideNewAuthorForm();
}
- @autobind
cancelNewCoAuthor() {
this.hideNewAuthorForm();
}
@@ -352,23 +355,19 @@ export default class CommitView extends React.Component {
this.subscriptions.dispose();
}
- @autobind
didChangeCommitMessage(editor) {
this.props.onChangeMessage(editor.getText());
}
- @autobind
didMoveCursor() {
this.forceUpdate();
}
- @autobind
toggleHardWrap() {
const currentSetting = this.props.config.get('github.automaticCommitMessageWrapping');
this.props.config.set('github.automaticCommitMessageWrapping', !currentSetting);
}
- @autobind
toggleCoAuthorInput() {
this.setState({
showCoAuthorInput: !this.state.showCoAuthorInput,
@@ -382,12 +381,10 @@ export default class CommitView extends React.Component {
});
}
- @autobind
abortMerge() {
this.props.abortMerge();
}
- @autobind
async commit(event, amend) {
if (await this.props.prepareToCommit() && this.commitIsEnabled(amend)) {
try {
@@ -403,7 +400,6 @@ export default class CommitView extends React.Component {
}
}
- @autobind
amendLastCommit() {
this.commit(null, true);
}
@@ -462,7 +458,6 @@ export default class CommitView extends React.Component {
}
}
- @autobind
toggleExpandedCommitMessageEditor() {
return this.props.toggleExpandedCommitMessageEditor(this.editor && this.editor.getText());
}
@@ -487,7 +482,6 @@ export default class CommitView extends React.Component {
);
}
- @autobind
renderCoAuthorListItem(author) {
return (
@@ -503,7 +497,6 @@ export default class CommitView extends React.Component {
);
}
- @autobind
onSelectedCoAuthorsChanged(selectedCoAuthors) {
const newAuthor = selectedCoAuthors.find(author => author.isNew);
diff --git a/lib/views/credential-dialog.js b/lib/views/credential-dialog.js
index c791facdf5..0694857b79 100644
--- a/lib/views/credential-dialog.js
+++ b/lib/views/credential-dialog.js
@@ -1,8 +1,8 @@
import React from 'react';
import PropTypes from 'prop-types';
-import {autobind} from 'core-decorators';
import Commands, {Command} from '../atom/commands';
+import {autobind} from '../helpers';
export default class CredentialDialog extends React.Component {
static propTypes = {
@@ -23,6 +23,7 @@ export default class CredentialDialog extends React.Component {
constructor(props, context) {
super(props, context);
+ autobind(this, 'confirm', 'cancel', 'onUsernameChange', 'onPasswordChange', 'onRememberChange', 'focusFirstInput');
this.state = {
username: '',
@@ -88,7 +89,6 @@ export default class CredentialDialog extends React.Component {
);
}
- @autobind
confirm() {
const payload = {password: this.state.password};
@@ -103,27 +103,22 @@ export default class CredentialDialog extends React.Component {
this.props.onSubmit(payload);
}
- @autobind
cancel() {
this.props.onCancel();
}
- @autobind
onUsernameChange(e) {
this.setState({username: e.target.value});
}
- @autobind
onPasswordChange(e) {
this.setState({password: e.target.value});
}
- @autobind
onRememberChange(e) {
this.setState({remember: e.target.checked});
}
- @autobind
focusFirstInput() {
(this.usernameInput || this.passwordInput).focus();
}
diff --git a/lib/views/donut-chart.js b/lib/views/donut-chart.js
index d0b82230fa..3f3e7783a2 100644
--- a/lib/views/donut-chart.js
+++ b/lib/views/donut-chart.js
@@ -1,6 +1,7 @@
import React from 'react';
import PropTypes from 'prop-types';
-import {autobind} from 'core-decorators';
+
+import {autobind} from '../helpers';
export default class DonutChart extends React.Component {
static propTypes = {
@@ -18,6 +19,11 @@ export default class DonutChart extends React.Component {
baseOffset: 25,
}
+ constructor(props) {
+ super(props);
+ autobind(this, 'renderArc');
+ }
+
render() {
const {slices, baseOffset, ...others} = this.props; // eslint-disable-line no-unused-vars
const arcs = this.calculateArcs(slices);
@@ -44,7 +50,6 @@ export default class DonutChart extends React.Component {
});
}
- @autobind
renderArc({length, position, type, className}) {
return (
100644',
@@ -58,6 +58,14 @@ export default class FilePatchView extends React.Component {
constructor(props, context) {
super(props, context);
+ autobind(
+ this,
+ 'registerCommands', 'renderButtonGroup', 'renderExecutableModeChange', 'renderSymlinkChange', 'contextMenuOnItem',
+ 'mousedownOnLine', 'mousemoveOnLine', 'mouseup', 'togglePatchSelectionMode', 'selectNext', 'selectNextElement',
+ 'selectToNext', 'selectPrevious', 'selectPreviousElement', 'selectToPrevious', 'selectFirst', 'selectToFirst',
+ 'selectLast', 'selectToLast', 'selectAll', 'didConfirm', 'didMoveRight', 'focus', 'openFile', 'stageOrUnstageAll',
+ 'stageOrUnstageModeChange', 'stageOrUnstageSymlinkChange', 'discardSelection',
+ );
this.mouseSelectionInProgress = false;
this.disposables = new CompositeDisposable();
@@ -228,7 +236,6 @@ export default class FilePatchView extends React.Component {
);
}
- @autobind
registerCommands() {
return (
@@ -280,7 +287,6 @@ export default class FilePatchView extends React.Component {
);
}
- @autobind
renderButtonGroup() {
const unstaged = this.props.stagingStatus === 'unstaged';
@@ -322,7 +328,6 @@ export default class FilePatchView extends React.Component {
);
}
- @autobind
renderExecutableModeChange(unstaged) {
const {executableModeChange} = this.props;
return (
@@ -352,7 +357,6 @@ export default class FilePatchView extends React.Component {
);
}
- @autobind
renderSymlinkChange(unstaged) {
const {symlinkChange} = this.props;
const {oldSymlink, newSymlink} = symlinkChange;
@@ -445,7 +449,6 @@ export default class FilePatchView extends React.Component {
this.disposables.dispose();
}
- @autobind
contextMenuOnItem(event, hunk, line) {
const resend = () => {
const newEvent = new MouseEvent(event.type, event);
@@ -509,7 +512,6 @@ export default class FilePatchView extends React.Component {
});
}
- @autobind
mousedownOnLine(event, hunk, line) {
if (event.button !== 0) { return; }
const windows = process.platform === 'win32';
@@ -543,7 +545,6 @@ export default class FilePatchView extends React.Component {
});
}
- @autobind
mousemoveOnLine(event, hunk, line) {
if (!this.mouseSelectionInProgress) { return; }
@@ -558,7 +559,6 @@ export default class FilePatchView extends React.Component {
});
}
- @autobind
mouseup() {
this.mouseSelectionInProgress = false;
this.setState(prevState => {
@@ -566,7 +566,6 @@ export default class FilePatchView extends React.Component {
});
}
- @autobind
togglePatchSelectionMode() {
this.setState(prevState => ({selection: prevState.selection.toggleMode()}));
}
@@ -583,12 +582,10 @@ export default class FilePatchView extends React.Component {
return this.state.selection.getSelectedLines();
}
- @autobind
selectNext() {
this.setState(prevState => ({selection: prevState.selection.selectNext()}));
}
- @autobind
selectNextElement() {
if (this.state.selection.isEmpty() && this.props.didSurfaceFile) {
this.props.didSurfaceFile();
@@ -597,19 +594,16 @@ export default class FilePatchView extends React.Component {
}
}
- @autobind
selectToNext() {
this.setState(prevState => {
return {selection: prevState.selection.selectNext(true).coalesce()};
});
}
- @autobind
selectPrevious() {
this.setState(prevState => ({selection: prevState.selection.selectPrevious()}));
}
- @autobind
selectPreviousElement() {
if (this.state.selection.isEmpty() && this.props.didSurfaceFile) {
this.props.didSurfaceFile();
@@ -618,34 +612,28 @@ export default class FilePatchView extends React.Component {
}
}
- @autobind
selectToPrevious() {
this.setState(prevState => {
return {selection: prevState.selection.selectPrevious(true).coalesce()};
});
}
- @autobind
selectFirst() {
this.setState(prevState => ({selection: prevState.selection.selectFirst()}));
}
- @autobind
selectToFirst() {
this.setState(prevState => ({selection: prevState.selection.selectFirst(true)}));
}
- @autobind
selectLast() {
this.setState(prevState => ({selection: prevState.selection.selectLast()}));
}
- @autobind
selectToLast() {
this.setState(prevState => ({selection: prevState.selection.selectLast(true)}));
}
- @autobind
selectAll() {
return new Promise(resolve => {
this.setState(prevState => ({selection: prevState.selection.selectAll()}), resolve);
@@ -676,24 +664,20 @@ export default class FilePatchView extends React.Component {
}
}
- @autobind
didConfirm() {
return this.didClickStageButtonForHunk([...this.state.selection.getSelectedHunks()][0]);
}
- @autobind
didMoveRight() {
if (this.props.didSurfaceFile) {
this.props.didSurfaceFile();
}
}
- @autobind
focus() {
this.refElement.get().focus();
}
- @autobind
openFile() {
let lineNumber = 0;
const firstSelectedLine = Array.from(this.state.selection.getSelectedLines())[0];
@@ -706,22 +690,18 @@ export default class FilePatchView extends React.Component {
return this.props.openCurrentFile({lineNumber});
}
- @autobind
stageOrUnstageAll() {
this.props.attemptFileStageOperation();
}
- @autobind
stageOrUnstageModeChange() {
this.props.attemptModeStageOperation();
}
- @autobind
stageOrUnstageSymlinkChange() {
this.props.attemptSymlinkStageOperation();
}
- @autobind
discardSelection() {
const selectedLines = this.state.selection.getSelectedLines();
return selectedLines.size ? this.props.discardLines(selectedLines) : null;
diff --git a/lib/views/git-cache-view.js b/lib/views/git-cache-view.js
index 0998b8ca85..e99925c857 100644
--- a/lib/views/git-cache-view.js
+++ b/lib/views/git-cache-view.js
@@ -1,9 +1,9 @@
import React from 'react';
import PropTypes from 'prop-types';
-import {autobind} from 'core-decorators';
import {inspect} from 'util';
import ObserveModel from './observe-model';
+import {autobind} from '../helpers';
const sortOrders = {
'by key': (a, b) => a.key.localeCompare(b.key),
@@ -26,6 +26,7 @@ export default class GitCacheView extends React.Component {
constructor(props, context) {
super(props, context);
+ autobind(this, 'fetchRepositoryData', 'fetchCacheData', 'renderCache', 'didSelectItem', 'clearCache');
this.state = {
order: 'by key',
@@ -44,12 +45,10 @@ export default class GitCacheView extends React.Component {
return null;
}
- @autobind
fetchRepositoryData(repository) {
return repository.getCache();
}
- @autobind
fetchCacheData(cache) {
const cached = {};
const promises = [];
@@ -86,7 +85,6 @@ export default class GitCacheView extends React.Component {
);
}
- @autobind
renderCache(contents) {
const rows = Object.keys(contents || {}).map(key => {
return {
@@ -190,7 +188,6 @@ export default class GitCacheView extends React.Component {
return parts.slice(parts.length - 2).join(' ');
}
- @autobind
didSelectItem(event) {
this.setState({order: event.target.value});
}
@@ -204,7 +201,6 @@ export default class GitCacheView extends React.Component {
cache.removePrimary(key);
}
- @autobind
clearCache() {
const cache = this.props.repository.getCache();
if (!cache) {
diff --git a/lib/views/git-tab-view.js b/lib/views/git-tab-view.js
index 1cfc239adb..ac75712030 100644
--- a/lib/views/git-tab-view.js
+++ b/lib/views/git-tab-view.js
@@ -1,6 +1,5 @@
import React from 'react';
import PropTypes from 'prop-types';
-import {autobind} from 'core-decorators';
import cx from 'classnames';
import {CompositeDisposable} from 'atom';
@@ -8,7 +7,7 @@ import StagingView from './staging-view';
import GitLogo from './git-logo';
import CommitController from '../controllers/commit-controller';
import RecentCommitsController from '../controllers/recent-commits-controller';
-import {isValidWorkdir} from '../helpers';
+import {isValidWorkdir, autobind} from '../helpers';
import {AuthorPropType} from '../prop-types';
export default class GitTabView extends React.Component {
@@ -62,6 +61,7 @@ export default class GitTabView extends React.Component {
constructor(props, context) {
super(props, context);
+ autobind(this, 'initializeRepo', 'blur', 'advanceFocus', 'retreatFocus', 'quietlySelectItem');
this.subscriptions = new CompositeDisposable();
@@ -203,7 +203,6 @@ export default class GitTabView extends React.Component {
this.subscriptions.dispose();
}
- @autobind
initializeRepo(event) {
event.preventDefault();
let initPath = null;
@@ -247,12 +246,10 @@ export default class GitTabView extends React.Component {
return false;
}
- @autobind
blur() {
this.props.workspace.getActivePane().activate();
}
- @autobind
async advanceFocus(evt) {
// The commit controller manages its own focus
if (this.refCommitController.hasFocus()) { return; }
@@ -265,7 +262,6 @@ export default class GitTabView extends React.Component {
}
}
- @autobind
async retreatFocus(evt) {
const stagingView = this.refStagingView;
const commitController = this.refCommitController;
@@ -291,7 +287,6 @@ export default class GitTabView extends React.Component {
return this.refRoot.contains(document.activeElement);
}
- @autobind
quietlySelectItem(filePath, stagingStatus) {
return this.refStagingView.quietlySelectItem(filePath, stagingStatus);
}
diff --git a/lib/views/git-timings-view.js b/lib/views/git-timings-view.js
index 0067a3424c..6f1b6b88ce 100644
--- a/lib/views/git-timings-view.js
+++ b/lib/views/git-timings-view.js
@@ -2,15 +2,14 @@ import {TextBuffer} from 'atom';
import {Emitter, CompositeDisposable} from 'event-kit';
import {remote} from 'electron';
const {dialog} = remote;
-
import React from 'react';
import ReactDom from 'react-dom';
import PropTypes from 'prop-types';
-import {autobind} from 'core-decorators';
import memoize from 'lodash.memoize';
import fs from 'fs-extra';
import Octicon from '../atom/octicon';
+import {autobind} from '../helpers';
const genArray = memoize(function genArray(interval, count) {
const arr = [];
@@ -105,6 +104,11 @@ class MarkerSpan extends React.Component {
marker: PropTypes.instanceOf(Marker).isRequired,
}
+ constructor(props) {
+ super(props);
+ autobind(this, 'handleMouseOver', 'handleMouseOut');
+ }
+
render() {
const {marker, ...others} = this.props;
const timings = marker.getTimings();
@@ -130,7 +134,6 @@ class MarkerSpan extends React.Component {
);
}
- @autobind
handleMouseOver(e) {
const elem = document.createElement('div');
ReactDom.render(
, elem);
@@ -146,7 +149,6 @@ class MarkerSpan extends React.Component {
this.tooltipDisposable = null;
}
- @autobind
handleMouseOut(e) {
this.closeTooltip();
}
@@ -165,6 +167,7 @@ class Waterfall extends React.Component {
constructor(props, context) {
super(props, context);
+ autobind(this, 'renderMarker');
this.state = this.getNextState(props);
}
@@ -236,7 +239,6 @@ class Waterfall extends React.Component {
);
}
- @autobind
renderMarker(marker, i) {
if (marker.getStart() === null || marker.getEnd() === null) { return
; }
@@ -266,13 +268,13 @@ class WaterfallWidget extends React.Component {
constructor(props, context) {
super(props, context);
+ autobind(this, 'handleZoomFactorChange', 'handleCollapseClick', 'handleExportClick');
this.state = {
zoomFactor: 0.3,
collapsed: false,
};
}
-
render() {
const {markers} = this.props;
const firstMarker = markers[0];
@@ -312,17 +314,14 @@ class WaterfallWidget extends React.Component {
);
}
- @autobind
handleZoomFactorChange(e) {
this.setState({zoomFactor: parseFloat(e.target.value)});
}
- @autobind
handleCollapseClick(e) {
this.setState(s => ({collapsed: !s.collapsed}));
}
- @autobind
handleExportClick(e) {
e.preventDefault();
const json = JSON.stringify(this.props.markers.map(m => m.serialize()), null, ' ');
@@ -392,6 +391,11 @@ export default class GitTimingsView extends React.Component {
return GitTimingsView.emitter.on('did-update', callback);
}
+ constructor(props) {
+ super(props);
+ autobind(this, 'handleImportClick');
+ }
+
componentDidMount() {
this.subscriptions = new CompositeDisposable(
GitTimingsView.onDidUpdate(() => this.forceUpdate()),
@@ -415,7 +419,6 @@ export default class GitTimingsView extends React.Component {
);
}
- @autobind
handleImportClick(e) {
e.preventDefault();
dialog.showOpenDialog({
diff --git a/lib/views/github-dotcom-markdown.js b/lib/views/github-dotcom-markdown.js
index 2556991d5d..f21b9f354b 100644
--- a/lib/views/github-dotcom-markdown.js
+++ b/lib/views/github-dotcom-markdown.js
@@ -3,12 +3,11 @@ import {CompositeDisposable, Disposable} from 'event-kit';
import React from 'react';
import ReactDom from 'react-dom';
import PropTypes from 'prop-types';
-import {autobind} from 'core-decorators';
import {handleClickEvent, openIssueishLinkInNewTab, openLinkInBrowser, getDataFromGithubUrl} from './issueish-link';
import UserMentionTooltipItem from '../atom-items/user-mention-tooltip-item';
import IssueishTooltipItem from '../atom-items/issueish-tooltip-item';
-
+import {autobind} from '../helpers';
export default class GithubDotcomMarkdown extends React.Component {
static propTypes = {
@@ -21,6 +20,11 @@ export default class GithubDotcomMarkdown extends React.Component {
relayEnvironment: PropTypes.object.isRequired,
}
+ constructor(props) {
+ super(props);
+ autobind(this, 'handleClick', 'openLinkInNewTab', 'openLinkInThisTab', 'openLinkInBrowser');
+ }
+
componentDidMount() {
this.commandSubscriptions = atom.commands.add(ReactDom.findDOMNode(this), {
'github:open-link-in-new-tab': this.openLinkInNewTab,
@@ -99,25 +103,21 @@ export default class GithubDotcomMarkdown extends React.Component {
return 'WARNING: cannot yet convert markdown to HTML 😅';
}
- @autobind
handleClick(event) {
if (event.target.dataset.url) {
handleClickEvent(event, event.target.dataset.url);
}
}
- @autobind
openLinkInNewTab(event) {
return openIssueishLinkInNewTab(event.target.dataset.url);
}
- @autobind
openLinkInThisTab(event) {
const {repoOwner, repoName, issueishNumber} = getDataFromGithubUrl(event.target.dataset.url);
this.props.switchToIssueish(repoOwner, repoName, issueishNumber);
}
- @autobind
openLinkInBrowser(event) {
return openLinkInBrowser(event.target.getAttribute('href'));
}
diff --git a/lib/views/github-login-view.js b/lib/views/github-login-view.js
index ff13261e1d..e959d06576 100644
--- a/lib/views/github-login-view.js
+++ b/lib/views/github-login-view.js
@@ -1,6 +1,7 @@
import React from 'react';
import PropTypes from 'prop-types';
-import {autobind} from 'core-decorators';
+
+import {autobind} from '../helpers';
export default class GithubLoginView extends React.Component {
static propTypes = {
@@ -15,6 +16,10 @@ export default class GithubLoginView extends React.Component {
constructor(props, context) {
super(props, context);
+ autobind(
+ this,
+ 'handleLoginClick', 'handleCancelTokenClick', 'handleSubmitTokenClick', 'handleSubmitToken', 'handleTokenChange',
+ );
this.state = {
loggingIn: false,
token: '',
@@ -78,29 +83,24 @@ export default class GithubLoginView extends React.Component {
);
}
- @autobind
handleLoginClick() {
this.setState({loggingIn: true});
}
- @autobind
handleCancelTokenClick(e) {
e.preventDefault();
this.setState({loggingIn: false});
}
- @autobind
handleSubmitTokenClick(e) {
e.preventDefault();
this.handleSubmitToken();
}
- @autobind
handleSubmitToken() {
this.props.onLogin(this.state.token);
}
- @autobind
handleTokenChange(e) {
this.setState({token: e.target.value});
}
diff --git a/lib/views/hunk-view.js b/lib/views/hunk-view.js
index f793274113..794f4887f2 100644
--- a/lib/views/hunk-view.js
+++ b/lib/views/hunk-view.js
@@ -1,9 +1,9 @@
import React from 'react';
import PropTypes from 'prop-types';
-import {autobind} from 'core-decorators';
import SimpleTooltip from '../atom/simple-tooltip';
import ContextMenuInterceptor from '../context-menu-interceptor';
+import {autobind} from '../helpers';
export default class HunkView extends React.Component {
static propTypes = {
@@ -27,6 +27,7 @@ export default class HunkView extends React.Component {
constructor(props, context) {
super(props, context);
+ autobind(this, 'mousedownOnLine', 'mousemoveOnLine', 'registerLineElement');
this.lineElements = new WeakMap();
this.lastMousemoveLine = null;
@@ -76,12 +77,10 @@ export default class HunkView extends React.Component {
);
}
- @autobind
mousedownOnLine(event, line) {
this.props.mousedownOnLine(event, this.props.hunk, line);
}
- @autobind
mousemoveOnLine(event, line) {
if (line !== this.lastMousemoveLine) {
this.lastMousemoveLine = line;
@@ -89,7 +88,6 @@ export default class HunkView extends React.Component {
}
}
- @autobind
registerLineElement(line, element) {
this.lineElements.set(line, element);
}
diff --git a/lib/views/init-dialog.js b/lib/views/init-dialog.js
index e5186857eb..43985985e8 100644
--- a/lib/views/init-dialog.js
+++ b/lib/views/init-dialog.js
@@ -1,9 +1,9 @@
import React from 'react';
import PropTypes from 'prop-types';
-import {autobind} from 'core-decorators';
import {CompositeDisposable} from 'event-kit';
import Commands, {Command} from '../atom/commands';
+import {autobind} from '../helpers';
export default class InitDialog extends React.Component {
static propTypes = {
@@ -21,6 +21,7 @@ export default class InitDialog extends React.Component {
constructor(props, context) {
super(props, context);
+ autobind(this, 'init', 'cancel', 'editorRef', 'setInitEnablement');
this.state = {
initDisabled: false,
@@ -69,7 +70,6 @@ export default class InitDialog extends React.Component {
);
}
- @autobind
init() {
if (this.getProjectPath().length === 0) {
return;
@@ -78,12 +78,10 @@ export default class InitDialog extends React.Component {
this.props.didAccept(this.getProjectPath());
}
- @autobind
cancel() {
this.props.didCancel();
}
- @autobind
editorRef() {
return element => {
if (!element) {
@@ -114,7 +112,6 @@ export default class InitDialog extends React.Component {
return this.remoteUrlEditor ? this.remoteUrlEditor.getText() : '';
}
- @autobind
setInitEnablement() {
this.setState({initDisabled: this.getProjectPath().length === 0});
}
diff --git a/lib/views/issueish-timeline-view.js b/lib/views/issueish-timeline-view.js
index 5fbd4624ad..68794e0e24 100644
--- a/lib/views/issueish-timeline-view.js
+++ b/lib/views/issueish-timeline-view.js
@@ -1,8 +1,8 @@
import React from 'react';
import PropTypes from 'prop-types';
-import {autobind} from 'core-decorators';
import {RelayConnectionPropType} from '../prop-types';
+import {autobind} from '../helpers';
import Octicon from '../atom/octicon';
import CommitsContainer from './../containers/timeline-items/commits-container.js';
import IssueCommentContainer from './../containers/timeline-items/issue-comment-container.js';
@@ -26,11 +26,15 @@ function collectionRenderer(Component, styleAsTimelineItem = true) {
return Component.getFragment(frag, ...args);
}
+ constructor(props) {
+ super(props);
+ autobind(this, 'renderNode');
+ }
+
render() {
return
{this.props.nodes.map(this.renderNode)}
;
}
- @autobind
renderNode(node, i) {
return (
{
this.forceUpdate();
diff --git a/lib/views/observe-model.js b/lib/views/observe-model.js
index 0ed1ae0857..5bd8eb5e21 100644
--- a/lib/views/observe-model.js
+++ b/lib/views/observe-model.js
@@ -1,8 +1,8 @@
import React from 'react';
import PropTypes from 'prop-types';
-import {autobind} from 'core-decorators';
import ModelObserver from '../models/model-observer';
+import {autobind} from '../helpers';
export default class ObserveModel extends React.Component {
static propTypes = {
@@ -15,6 +15,7 @@ export default class ObserveModel extends React.Component {
constructor(props, context) {
super(props, context);
+ autobind(this, 'fetchData', 'didUpdate');
this.state = {data: null};
this.modelObserver = new ModelObserver({fetchData: this.fetchData, didUpdate: this.didUpdate});
}
@@ -28,12 +29,10 @@ export default class ObserveModel extends React.Component {
this.modelObserver.setActiveModel(nextProps.model);
}
- @autobind
fetchData(model) {
return this.props.fetchData(model);
}
- @autobind
didUpdate(model) {
if (this.mounted) {
const data = this.modelObserver.getActiveModelData();
diff --git a/lib/views/open-issueish-dialog.js b/lib/views/open-issueish-dialog.js
index 2a21f0e8fb..dbd21ff04d 100644
--- a/lib/views/open-issueish-dialog.js
+++ b/lib/views/open-issueish-dialog.js
@@ -1,9 +1,9 @@
import React from 'react';
import PropTypes from 'prop-types';
-import {autobind} from 'core-decorators';
import {CompositeDisposable} from 'event-kit';
import Commands, {Command} from '../atom/commands';
+import {autobind} from '../helpers';
const ISSUEISH_URL_REGEX = /^(?:https?:\/\/)?github.com\/([^/]+)\/([^/]+)\/(?:issues|pull)\/(\d+)/;
@@ -21,6 +21,7 @@ export default class OpenIssueishDialog extends React.Component {
constructor(props, context) {
super(props, context);
+ autobind(this, 'accept', 'cancel', 'editorRefs', 'didChangeIssueishUrl');
this.state = {
cloneDisabled: false,
@@ -69,7 +70,6 @@ export default class OpenIssueishDialog extends React.Component {
);
}
- @autobind
accept() {
if (this.getIssueishUrl().length === 0) {
return;
@@ -87,12 +87,10 @@ export default class OpenIssueishDialog extends React.Component {
this.props.didAccept({repoOwner, repoName, issueishNumber});
}
- @autobind
cancel() {
this.props.didCancel();
}
- @autobind
editorRefs(baseName) {
const elementName = `${baseName}Element`;
const modelName = `${baseName}Editor`;
@@ -120,12 +118,10 @@ export default class OpenIssueishDialog extends React.Component {
};
}
- @autobind
didChangeIssueishUrl() {
this.setState({error: null});
}
-
parseUrl() {
const url = this.getIssueishUrl();
const matches = url.match(ISSUEISH_URL_REGEX);
diff --git a/lib/views/pr-url-input-box.js b/lib/views/pr-url-input-box.js
index 47f739423c..790bf151ff 100644
--- a/lib/views/pr-url-input-box.js
+++ b/lib/views/pr-url-input-box.js
@@ -1,6 +1,7 @@
import React from 'react';
import PropTypes from 'prop-types';
-import {autobind} from 'core-decorators';
+
+import {autobind} from '../helpers';
export default class PrUrlInputBox extends React.Component {
static propTypes = {
@@ -10,6 +11,7 @@ export default class PrUrlInputBox extends React.Component {
constructor(props, context) {
super(props, context);
+ autobind(this, 'handleSubmitUrlClick', 'handleSubmitUrl', 'handleUrlChange');
this.state = {
url: '',
};
@@ -37,18 +39,15 @@ export default class PrUrlInputBox extends React.Component {
);
}
- @autobind
handleSubmitUrlClick(e) {
e.preventDefault();
this.handleSubmitUrl();
}
- @autobind
handleSubmitUrl() {
this.props.onSubmit(this.state.url);
}
- @autobind
handleUrlChange(e) {
this.setState({url: e.target.value});
}
diff --git a/lib/views/staging-view.js b/lib/views/staging-view.js
index 465289b639..86796f5757 100644
--- a/lib/views/staging-view.js
+++ b/lib/views/staging-view.js
@@ -4,9 +4,7 @@ const {Menu, MenuItem} = remote;
import {File} from 'atom';
import React, {Fragment} from 'react';
import PropTypes from 'prop-types';
-
import path from 'path';
-import {autobind} from 'core-decorators';
import {FilePatchItemPropType, MergeConflictItemPropType} from '../prop-types';
import FilePatchListItemView from './file-patch-list-item-view';
@@ -16,6 +14,7 @@ import CompositeListSelection from '../models/composite-list-selection';
import ResolutionProgress from '../models/conflicts/resolution-progress';
import FilePatchController from '../controllers/file-patch-controller';
import Commands, {Command} from '../atom/commands';
+import {autobind} from '../helpers';
const debounce = (fn, wait) => {
let timeout;
@@ -77,6 +76,15 @@ export default class StagingView extends React.Component {
constructor(props) {
super(props);
+ autobind(
+ this,
+ 'dblclickOnItem', 'contextMenuOnItem', 'mousedownOnItem', 'mousemoveOnItem', 'mouseup', 'registerItemElement',
+ 'renderBody', 'openFile', 'discardChanges', 'activateNextList', 'activatePreviousList', 'activateLastList',
+ 'stageAll', 'unstageAll', 'stageAllMergeConflicts', 'discardAll', 'confirmSelectedItems', 'selectAll',
+ 'selectFirst', 'selectLast', 'diveIntoSelection', 'showDiffView', 'showBulkResolveMenu',
+ 'resolveCurrentAsOurs', 'resolveCurrentAsTheirs', 'quietlySelectItem', 'didChangeSelectedItems',
+ 'undoLastDiscard',
+ );
this.subs = new CompositeDisposable(
atom.config.observe('github.keyboardNavigationDelay', value => {
@@ -179,7 +187,7 @@ export default class StagingView extends React.Component {
);
}
- renderBody = () => {
+ renderBody() {
const selectedItems = this.state.selection.getSelectedItems();
return (
@@ -382,17 +390,17 @@ export default class StagingView extends React.Component {
return Array.from(this.state.selection.getSelectedItems(), item => item.filePath);
}
- openFile = () => {
+ openFile() {
const filePaths = Array.from(this.state.selection.getSelectedItems(), item => item.filePath);
return this.props.openFiles(filePaths);
}
- discardChanges = () => {
+ discardChanges() {
const filePaths = Array.from(this.state.selection.getSelectedItems(), item => item.filePath);
return this.props.discardWorkDirChangesForPaths(filePaths);
}
- activateNextList = () => {
+ activateNextList() {
return new Promise(resolve => {
let advanced = false;
@@ -408,7 +416,7 @@ export default class StagingView extends React.Component {
});
}
- activatePreviousList = () => {
+ activatePreviousList() {
return new Promise(resolve => {
let retreated = false;
this.setState(prevState => {
@@ -423,7 +431,7 @@ export default class StagingView extends React.Component {
});
}
- activateLastList = () => {
+ activateLastList() {
return new Promise(resolve => {
let emptySelection = false;
this.setState(prevState => {
@@ -439,23 +447,23 @@ export default class StagingView extends React.Component {
});
}
- stageAll = () => {
+ stageAll() {
if (this.props.unstagedChanges.length === 0) { return null; }
return this.props.attemptStageAllOperation('unstaged');
}
- unstageAll = () => {
+ unstageAll() {
if (this.props.stagedChanges.length === 0) { return null; }
return this.props.attemptStageAllOperation('staged');
}
- stageAllMergeConflicts = () => {
+ stageAllMergeConflicts() {
if (this.props.mergeConflicts.length === 0) { return null; }
const filePaths = this.props.mergeConflicts.map(conflict => conflict.filePath);
return this.props.attemptFileStageOperation(filePaths, 'unstaged');
}
- discardAll = () => {
+ discardAll() {
if (this.props.unstagedChanges.length === 0) { return null; }
const filePaths = this.props.unstagedChanges.map(filePatch => filePatch.filePath);
return this.props.discardWorkDirChangesForPaths(filePaths);
@@ -489,7 +497,7 @@ export default class StagingView extends React.Component {
});
}
- selectAll = () => {
+ selectAll() {
return new Promise(resolve => {
this.setState(prevState => ({
selection: prevState.selection.selectAllItems().coalesce(),
@@ -497,7 +505,7 @@ export default class StagingView extends React.Component {
});
}
- selectFirst = (preserveTail = false) => {
+ selectFirst(preserveTail = false) {
return new Promise(resolve => {
this.setState(prevState => ({
selection: prevState.selection.selectFirstItem(preserveTail).coalesce(),
@@ -505,7 +513,7 @@ export default class StagingView extends React.Component {
});
}
- selectLast = (preserveTail = false) => {
+ selectLast(preserveTail = false) {
return new Promise(resolve => {
this.setState(prevState => ({
selection: prevState.selection.selectLastItem(preserveTail).coalesce(),
@@ -513,7 +521,7 @@ export default class StagingView extends React.Component {
});
}
- diveIntoSelection = async () => {
+ async diveIntoSelection() {
const selectedItems = this.state.selection.getSelectedItems();
if (selectedItems.size !== 1) {
return;
@@ -548,7 +556,7 @@ export default class StagingView extends React.Component {
}
}
- showDiffView = async () => {
+ async showDiffView() {
const selectedItems = this.state.selection.getSelectedItems();
if (selectedItems.size !== 1) {
return;
@@ -564,7 +572,7 @@ export default class StagingView extends React.Component {
}
}
- showBulkResolveMenu = event => {
+ showBulkResolveMenu(event) {
const conflictPaths = this.props.mergeConflicts.map(c => c.filePath);
event.preventDefault();
@@ -584,18 +592,18 @@ export default class StagingView extends React.Component {
menu.popup(remote.getCurrentWindow());
}
- resolveCurrentAsOurs = () => {
+ resolveCurrentAsOurs() {
this.props.resolveAsOurs(this.getSelectedConflictPaths());
}
- resolveCurrentAsTheirs = () => {
+ resolveCurrentAsTheirs() {
this.props.resolveAsTheirs(this.getSelectedConflictPaths());
}
// Directly modify the selection to include only the item identified by the file path and stagingStatus tuple.
// Re-render the component, but don't notify didSelectSingleItem() or other callback functions. This is useful to
// avoid circular callback loops for actions originating in FilePatchView or TextEditors with merge conflicts.
- quietlySelectItem = (filePath, stagingStatus) => {
+ quietlySelectItem(filePath, stagingStatus) {
return new Promise(resolve => {
this.setState(prevState => {
const item = this.state.selection.findItem((each, key) => each.filePath === filePath && key === stagingStatus);
@@ -621,7 +629,7 @@ export default class StagingView extends React.Component {
});
}
- didChangeSelectedItems = openNew => {
+ didChangeSelectedItems(openNew) {
const selectedItems = Array.from(this.state.selection.getSelectedItems());
if (selectedItems.length === 1) {
this.didSelectSingleItem(selectedItems[0], openNew);
@@ -716,12 +724,10 @@ export default class StagingView extends React.Component {
return new File(absolutePath).exists();
}
- @autobind
dblclickOnItem(event, item) {
return this.props.attemptFileStageOperation([item.filePath], this.state.selection.listKeyForItem(item));
}
- @autobind
async contextMenuOnItem(event, item) {
if (!this.state.selection.getSelectedItems().has(item)) {
event.stopPropagation();
@@ -740,7 +746,6 @@ export default class StagingView extends React.Component {
}
}
- @autobind
async mousedownOnItem(event, item) {
const windows = process.platform === 'win32';
if (event.ctrlKey && !windows) { return; } // simply open context menu
@@ -762,7 +767,6 @@ export default class StagingView extends React.Component {
}
}
- @autobind
async mousemoveOnItem(event, item) {
if (this.mouseSelectionInProgress) {
await new Promise(resolve => {
@@ -773,7 +777,6 @@ export default class StagingView extends React.Component {
}
}
- @autobind
async mouseup() {
await new Promise(resolve => {
this.setState(prevState => ({
@@ -786,7 +789,7 @@ export default class StagingView extends React.Component {
this.mouseSelectionInProgress = false;
}
- undoLastDiscard = () => {
+ undoLastDiscard() {
if (!this.props.hasUndoHistory) {
return;
}
@@ -798,7 +801,6 @@ export default class StagingView extends React.Component {
return this.state.selection.getActiveListKey() === listKey ? 'is-focused' : '';
}
- @autobind
registerItemElement(item, element) {
this.listElementsByItem.set(item, element);
}
diff --git a/lib/worker-manager.js b/lib/worker-manager.js
index 3a56d67b84..e6811314c4 100644
--- a/lib/worker-manager.js
+++ b/lib/worker-manager.js
@@ -4,9 +4,8 @@ import querystring from 'querystring';
import {remote, ipcRenderer as ipc} from 'electron';
const {BrowserWindow} = remote;
import {Emitter, Disposable, CompositeDisposable} from 'event-kit';
-import {autobind} from 'core-decorators';
-import {getPackageRoot} from './helpers';
+import {getPackageRoot, autobind} from './helpers';
export default class WorkerManager {
static instance = null;
@@ -24,6 +23,8 @@ export default class WorkerManager {
}
constructor() {
+ autobind(this, 'onDestroyed', 'onCrashed', 'onSick');
+
this.workers = new Set();
this.activeWorker = null;
this.createNewWorker();
@@ -58,12 +59,10 @@ export default class WorkerManager {
this.workers.add(this.activeWorker);
}
- @autobind
onDestroyed(destroyedWorker) {
this.workers.delete(destroyedWorker);
}
- @autobind
onCrashed(crashedWorker) {
if (crashedWorker === this.getActiveWorker()) {
this.createNewWorker({operationCountLimit: crashedWorker.getOperationCountLimit()});
@@ -71,7 +70,6 @@ export default class WorkerManager {
crashedWorker.getRemainingOperations().forEach(operation => this.activeWorker.executeOperation(operation));
}
- @autobind
onSick(sickWorker) {
if (!atom.inSpecMode()) {
// eslint-disable-next-line no-console
@@ -110,6 +108,12 @@ export class Worker {
static channelName = 'github:renderer-ipc';
constructor({operationCountLimit, onSick, onCrashed, onDestroyed}) {
+ autobind(
+ this,
+ 'handleDataReceived', 'onOperationComplete', 'handleCancelled', 'handleExecStarted', 'handleSpawnError',
+ 'handleStdinError', 'handleSick', 'handleCrashed',
+ );
+
this.operationCountLimit = operationCountLimit;
this.onSick = onSick;
this.onCrashed = onCrashed;
@@ -162,7 +166,6 @@ export class Worker {
return this.rendererProcess.cancelOperation(operation);
}
- @autobind
handleDataReceived({id, results}) {
const operation = this.operationsById.get(id);
operation.complete(results, data => {
@@ -174,7 +177,6 @@ export class Worker {
});
}
- @autobind
onOperationComplete(operation) {
this.completedOperationCount++;
this.operationsById.delete(operation.id);
@@ -184,7 +186,6 @@ export class Worker {
}
}
- @autobind
handleCancelled({id}) {
const operation = this.operationsById.get(id);
if (operation) {
@@ -193,31 +194,26 @@ export class Worker {
}
}
- @autobind
handleExecStarted({id}) {
const operation = this.operationsById.get(id);
operation.setInProgress();
}
- @autobind
handleSpawnError({id, err}) {
const operation = this.operationsById.get(id);
operation.error(err);
}
- @autobind
handleStdinError({id, stdin, err}) {
const operation = this.operationsById.get(id);
operation.error(err);
}
- @autobind
handleSick() {
this.sick = true;
this.onSick(this);
}
- @autobind
handleCrashed() {
this.onCrashed(this);
this.destroy();
@@ -261,6 +257,7 @@ Sends operations to renderer processes
export class RendererProcess {
constructor({loadUrl,
onDestroyed, onCrashed, onSick, onData, onCancelled, onSpawnError, onStdinError, onExecStarted}) {
+ autobind(this, 'handleDestroy');
this.onDestroyed = onDestroyed;
this.onCrashed = onCrashed;
this.onSick = onSick;
@@ -300,7 +297,6 @@ export class RendererProcess {
return this.ready;
}
- @autobind
handleDestroy(...args) {
this.destroy();
this.onCrashed(...args);
diff --git a/package-lock.json b/package-lock.json
index 634dadb1f6..9b89d88a36 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -43,6 +43,12 @@
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
"integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
"dev": true
+ },
+ "trim-right": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz",
+ "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=",
+ "dev": true
}
}
},
@@ -106,6 +112,18 @@
"supports-color": "^5.3.0"
}
},
+ "escape-string-regexp": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+ "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
+ "dev": true
+ },
+ "esutils": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz",
+ "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=",
+ "dev": true
+ },
"supports-color": {
"version": "5.4.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz",
@@ -184,6 +202,15 @@
"requires": {
"loose-envify": "^1.0.0"
}
+ },
+ "loose-envify": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz",
+ "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=",
+ "dev": true,
+ "requires": {
+ "js-tokens": "^3.0.0"
+ }
}
}
},
@@ -198,6 +225,12 @@
"to-fast-properties": "^2.0.0"
},
"dependencies": {
+ "esutils": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz",
+ "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=",
+ "dev": true
+ },
"to-fast-properties": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
@@ -267,14 +300,6 @@
"integrity": "sha1-9zIHu4EgfXX9bIPxJa8m7qN4yjA=",
"dev": true
},
- "ansi-regex": {
- "version": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
- "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8="
- },
- "ansi-styles": {
- "version": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
- "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4="
- },
"aproba": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz",
@@ -298,48 +323,23 @@
"sprintf-js": "~1.0.2"
}
},
- "aria-query": {
- "version": "0.7.1",
- "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-0.7.1.tgz",
- "integrity": "sha1-Jsu1r/ZBRLCoJb4YRuCxbPoAsR4=",
- "dev": true,
- "requires": {
- "ast-types-flow": "0.0.7",
- "commander": "^2.11.0"
- },
- "dependencies": {
- "commander": {
- "version": "2.15.1",
- "resolved": "https://registry.npmjs.org/commander/-/commander-2.15.1.tgz",
- "integrity": "sha1-30boZ9D8Kuxmo0ZitAapzK//Ww8=",
- "dev": true
- }
- }
- },
"arr-diff": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
- "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA="
+ "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=",
+ "dev": true
},
"arr-flatten": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz",
- "integrity": "sha1-NgSLv/TntH4TZkQxbJlmnqWukfE="
+ "integrity": "sha1-NgSLv/TntH4TZkQxbJlmnqWukfE=",
+ "dev": true
},
"arr-union": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz",
- "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ="
- },
- "array-includes": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.0.3.tgz",
- "integrity": "sha1-GEtI9i2S10UrsxsyMWXH+L0CJm0=",
- "dev": true,
- "requires": {
- "define-properties": "^1.1.2",
- "es-abstract": "^1.7.0"
- }
+ "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=",
+ "dev": true
},
"array-union": {
"version": "1.0.2",
@@ -359,7 +359,8 @@
"array-unique": {
"version": "0.3.2",
"resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
- "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg="
+ "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=",
+ "dev": true
},
"array.prototype.find": {
"version": "2.0.4",
@@ -401,18 +402,14 @@
"assign-symbols": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz",
- "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c="
- },
- "ast-types-flow": {
- "version": "0.0.7",
- "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz",
- "integrity": "sha1-9wtzXGvKGlycItmCw+Oef+ujva0=",
+ "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=",
"dev": true
},
"async-each": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz",
- "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0="
+ "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=",
+ "dev": true
},
"asynckit": {
"version": "0.4.0",
@@ -460,6 +457,12 @@
"graceful-readlink": ">= 1.0.0"
}
},
+ "escape-string-regexp": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+ "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
+ "dev": true
+ },
"etch": {
"version": "0.8.0",
"resolved": "https://registry.npmjs.org/etch/-/etch-0.8.0.tgz",
@@ -469,6 +472,12 @@
"virtual-dom": "^2.0.1"
}
},
+ "fs.realpath": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
+ "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
+ "dev": true
+ },
"glob": {
"version": "7.1.1",
"resolved": "https://registry.npmjs.org/glob/-/glob-7.1.1.tgz",
@@ -492,12 +501,43 @@
"event-kit": "^2.0.0"
}
},
+ "growl": {
+ "version": "1.9.2",
+ "resolved": "https://registry.npmjs.org/growl/-/growl-1.9.2.tgz",
+ "integrity": "sha1-Dqd0NxXbjY3ixe3hd14bRayFwC8=",
+ "dev": true
+ },
"has-flag": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
"integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=",
"dev": true
},
+ "inflight": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+ "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
+ "dev": true,
+ "requires": {
+ "once": "^1.3.0",
+ "wrappy": "1"
+ }
+ },
+ "inherits": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
+ "dev": true
+ },
+ "minimatch": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
+ "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
+ "dev": true,
+ "requires": {
+ "brace-expansion": "^1.1.7"
+ }
+ },
"mocha": {
"version": "3.5.3",
"resolved": "https://registry.npmjs.org/mocha/-/mocha-3.5.3.tgz",
@@ -526,6 +566,21 @@
}
}
},
+ "once": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+ "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
+ "dev": true,
+ "requires": {
+ "wrappy": "1"
+ }
+ },
+ "path-is-absolute": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
+ "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
+ "dev": true
+ },
"supports-color": {
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.1.2.tgz",
@@ -534,6 +589,12 @@
"requires": {
"has-flag": "^1.0.0"
}
+ },
+ "wrappy": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
+ "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
+ "dev": true
}
}
},
@@ -547,15 +608,6 @@
"resolved": "https://registry.npmjs.org/aws4/-/aws4-1.7.0.tgz",
"integrity": "sha1-1NDpudv8p3vwjusKikcVUP454ok="
},
- "axobject-query": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-0.1.0.tgz",
- "integrity": "sha1-YvWdvFnJ+SQnWco0mWDnov48NsA=",
- "dev": true,
- "requires": {
- "ast-types-flow": "0.0.7"
- }
- },
"babel-code-frame": {
"version": "6.26.0",
"resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz",
@@ -564,6 +616,61 @@
"chalk": "^1.1.3",
"esutils": "^2.0.2",
"js-tokens": "^3.0.2"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8="
+ },
+ "ansi-styles": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
+ "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4="
+ },
+ "chalk": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+ "requires": {
+ "ansi-styles": "^2.2.1",
+ "escape-string-regexp": "^1.0.2",
+ "has-ansi": "^2.0.0",
+ "strip-ansi": "^3.0.0",
+ "supports-color": "^2.0.0"
+ }
+ },
+ "escape-string-regexp": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+ "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ="
+ },
+ "esutils": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz",
+ "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs="
+ },
+ "has-ansi": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
+ "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
+ "requires": {
+ "ansi-regex": "^2.0.0"
+ }
+ },
+ "strip-ansi": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+ "requires": {
+ "ansi-regex": "^2.0.0"
+ }
+ },
+ "supports-color": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
+ "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc="
+ }
}
},
"babel-core": {
@@ -592,6 +699,16 @@
"source-map": "^0.5.6"
},
"dependencies": {
+ "ansi-regex": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8="
+ },
+ "ansi-styles": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
+ "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4="
+ },
"babel-code-frame": {
"version": "6.26.0",
"resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz",
@@ -602,6 +719,14 @@
"js-tokens": "^3.0.2"
}
},
+ "babel-messages": {
+ "version": "6.23.0",
+ "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz",
+ "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=",
+ "requires": {
+ "babel-runtime": "^6.22.0"
+ }
+ },
"babel-runtime": {
"version": "6.26.0",
"resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
@@ -655,14 +780,75 @@
"resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz",
"integrity": "sha1-ry87iPpvXB5MY00aD46sT1WzleM="
},
+ "chalk": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+ "requires": {
+ "ansi-styles": "^2.2.1",
+ "escape-string-regexp": "^1.0.2",
+ "has-ansi": "^2.0.0",
+ "strip-ansi": "^3.0.0",
+ "supports-color": "^2.0.0"
+ }
+ },
+ "escape-string-regexp": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+ "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ="
+ },
+ "esutils": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz",
+ "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs="
+ },
+ "has-ansi": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
+ "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
+ "requires": {
+ "ansi-regex": "^2.0.0"
+ }
+ },
"lodash": {
"version": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz",
"integrity": "sha512-6X37Sq9KCpLSXEh8uM12AKYlviHPNNk4RxiGBn4cmKGJinbXBneWIV7iE/nXkM928O7ytHcHb6+X6Svl0f4hXg=="
},
+ "minimatch": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
+ "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
+ "requires": {
+ "brace-expansion": "^1.1.7"
+ }
+ },
+ "path-is-absolute": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
+ "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18="
+ },
"regenerator-runtime": {
"version": "0.11.1",
"resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz",
"integrity": "sha1-vgWtf5v30i4Fb5cmzuUBf78Z4uk="
+ },
+ "strip-ansi": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+ "requires": {
+ "ansi-regex": "^2.0.0"
+ }
+ },
+ "supports-color": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
+ "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc="
+ },
+ "to-fast-properties": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz",
+ "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc="
}
}
},
@@ -703,6 +889,14 @@
"trim-right": "^1.0.1"
},
"dependencies": {
+ "babel-messages": {
+ "version": "6.23.0",
+ "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz",
+ "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=",
+ "requires": {
+ "babel-runtime": "^6.22.0"
+ }
+ },
"babel-runtime": {
"version": "6.26.0",
"resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
@@ -723,6 +917,11 @@
"to-fast-properties": "^1.0.3"
}
},
+ "esutils": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz",
+ "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs="
+ },
"regenerator-runtime": {
"version": "0.11.1",
"resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz",
@@ -732,6 +931,16 @@
"version": "0.5.7",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
"integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
+ },
+ "to-fast-properties": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz",
+ "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc="
+ },
+ "trim-right": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz",
+ "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM="
}
}
},
@@ -765,10 +974,20 @@
"to-fast-properties": "^1.0.3"
}
},
+ "esutils": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz",
+ "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs="
+ },
"regenerator-runtime": {
"version": "0.11.1",
"resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz",
"integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg=="
+ },
+ "to-fast-properties": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz",
+ "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc="
}
}
},
@@ -776,6 +995,7 @@
"version": "6.24.1",
"resolved": "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz",
"integrity": "sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340=",
+ "dev": true,
"requires": {
"babel-helper-hoist-variables": "^6.24.1",
"babel-runtime": "^6.22.0",
@@ -787,6 +1007,7 @@
"version": "6.26.0",
"resolved": "https://registry.npmjs.org/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz",
"integrity": "sha1-pfVtq0GiX5fstJjH66ypgZ+Vvl8=",
+ "dev": true,
"requires": {
"babel-helper-function-name": "^6.24.1",
"babel-runtime": "^6.26.0",
@@ -794,6 +1015,27 @@
"lodash": "^4.17.4"
},
"dependencies": {
+ "babel-helper-function-name": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz",
+ "integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=",
+ "requires": {
+ "babel-helper-get-function-arity": "^6.24.1",
+ "babel-runtime": "^6.22.0",
+ "babel-template": "^6.24.1",
+ "babel-traverse": "^6.24.1",
+ "babel-types": "^6.24.1"
+ }
+ },
+ "babel-helper-get-function-arity": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz",
+ "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=",
+ "requires": {
+ "babel-runtime": "^6.22.0",
+ "babel-types": "^6.24.1"
+ }
+ },
"babel-runtime": {
"version": "6.26.0",
"resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
@@ -814,36 +1056,28 @@
"to-fast-properties": "^1.0.3"
}
},
+ "esutils": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz",
+ "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs="
+ },
"regenerator-runtime": {
"version": "0.11.1",
"resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz",
"integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg=="
+ },
+ "to-fast-properties": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz",
+ "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc="
}
}
},
- "babel-helper-function-name": {
- "version": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz",
- "integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=",
- "requires": {
- "babel-helper-get-function-arity": "^6.24.1",
- "babel-runtime": "^6.22.0",
- "babel-template": "^6.24.1",
- "babel-traverse": "^6.24.1",
- "babel-types": "^6.24.1"
- }
- },
- "babel-helper-get-function-arity": {
- "version": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz",
- "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=",
- "requires": {
- "babel-runtime": "^6.22.0",
- "babel-types": "^6.24.1"
- }
- },
"babel-helper-hoist-variables": {
"version": "6.24.1",
"resolved": "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz",
"integrity": "sha1-HssnaJydJVE+rbyZFKc/VAi+enY=",
+ "dev": true,
"requires": {
"babel-runtime": "^6.22.0",
"babel-types": "^6.24.1"
@@ -853,27 +1087,17 @@
"version": "6.24.1",
"resolved": "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz",
"integrity": "sha1-96E0J7qfc/j0+pk8VKl4gtEkQlc=",
+ "dev": true,
"requires": {
"babel-runtime": "^6.22.0",
"babel-types": "^6.24.1"
}
},
- "babel-helper-remap-async-to-generator": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz",
- "integrity": "sha1-XsWBgnrXI/7N04HxySg5BnbkVRs=",
- "requires": {
- "babel-helper-function-name": "^6.24.1",
- "babel-runtime": "^6.22.0",
- "babel-template": "^6.24.1",
- "babel-traverse": "^6.24.1",
- "babel-types": "^6.24.1"
- }
- },
"babel-helper-replace-supers": {
"version": "6.24.1",
"resolved": "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz",
"integrity": "sha1-v22/5Dk40XNpohPKiov3S2qQqxo=",
+ "dev": true,
"requires": {
"babel-helper-optimise-call-expression": "^6.24.1",
"babel-messages": "^6.23.0",
@@ -881,6 +1105,16 @@
"babel-template": "^6.24.1",
"babel-traverse": "^6.24.1",
"babel-types": "^6.24.1"
+ },
+ "dependencies": {
+ "babel-messages": {
+ "version": "6.23.0",
+ "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz",
+ "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=",
+ "requires": {
+ "babel-runtime": "^6.22.0"
+ }
+ }
}
},
"babel-helpers": {
@@ -892,13 +1126,6 @@
"babel-template": "^6.24.1"
}
},
- "babel-messages": {
- "version": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz",
- "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=",
- "requires": {
- "babel-runtime": "^6.22.0"
- }
- },
"babel-plugin-chai-assert-async": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/babel-plugin-chai-assert-async/-/babel-plugin-chai-assert-async-0.1.0.tgz",
@@ -908,6 +1135,7 @@
"version": "6.22.0",
"resolved": "https://registry.npmjs.org/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz",
"integrity": "sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=",
+ "dev": true,
"requires": {
"babel-runtime": "^6.22.0"
}
@@ -915,17 +1143,12 @@
"babel-plugin-relay": {
"version": "1.6.0",
"resolved": "https://registry.npmjs.org/babel-plugin-relay/-/babel-plugin-relay-1.6.0.tgz",
- "integrity": "sha512-C7ylRxOCw04pXMxuGZ16mBBol36VQTMdbnWolB9YdQWIygf0nEQuNUS8OW/IQxTaHj7Q87uJ94POXCNFDnuT0w==",
+ "integrity": "sha1-oiTaUkNi1pA6UkIUobhAUw/fvSg=",
"requires": {
"babel-runtime": "^6.23.0",
"babel-types": "^6.24.1"
}
},
- "babel-plugin-syntax-async-functions": {
- "version": "6.13.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz",
- "integrity": "sha1-ytnK0RkbWtY0vzCuCHI5HgZHvpU="
- },
"babel-plugin-syntax-class-properties": {
"version": "6.13.0",
"resolved": "https://registry.npmjs.org/babel-plugin-syntax-class-properties/-/babel-plugin-syntax-class-properties-6.13.0.tgz",
@@ -949,17 +1172,8 @@
"babel-plugin-syntax-trailing-function-commas": {
"version": "6.22.0",
"resolved": "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz",
- "integrity": "sha1-ugNgk3+NBuQBgKQ/4NVhb/9TLPM="
- },
- "babel-plugin-transform-async-to-generator": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz",
- "integrity": "sha1-ZTbjeK/2yx1VF6wOQOs+n8jQh2E=",
- "requires": {
- "babel-helper-remap-async-to-generator": "^6.24.1",
- "babel-plugin-syntax-async-functions": "^6.8.0",
- "babel-runtime": "^6.22.0"
- }
+ "integrity": "sha1-ugNgk3+NBuQBgKQ/4NVhb/9TLPM=",
+ "dev": true
},
"babel-plugin-transform-class-properties": {
"version": "6.24.1",
@@ -970,22 +1184,28 @@
"babel-plugin-syntax-class-properties": "^6.8.0",
"babel-runtime": "^6.22.0",
"babel-template": "^6.24.1"
- }
- },
- "babel-plugin-transform-decorators-legacy": {
- "version": "1.3.4",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-decorators-legacy/-/babel-plugin-transform-decorators-legacy-1.3.4.tgz",
- "integrity": "sha1-dBtY9sW86eYCfgiC2cmU8E82aSU=",
- "requires": {
- "babel-plugin-syntax-decorators": "^6.1.18",
- "babel-runtime": "^6.2.0",
- "babel-template": "^6.3.0"
},
"dependencies": {
- "babel-plugin-syntax-decorators": {
- "version": "6.13.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-syntax-decorators/-/babel-plugin-syntax-decorators-6.13.0.tgz",
- "integrity": "sha1-MSVjtNvePMgGzuPkFszurd0RrAs="
+ "babel-helper-function-name": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz",
+ "integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=",
+ "requires": {
+ "babel-helper-get-function-arity": "^6.24.1",
+ "babel-runtime": "^6.22.0",
+ "babel-template": "^6.24.1",
+ "babel-traverse": "^6.24.1",
+ "babel-types": "^6.24.1"
+ }
+ },
+ "babel-helper-get-function-arity": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz",
+ "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=",
+ "requires": {
+ "babel-runtime": "^6.22.0",
+ "babel-types": "^6.24.1"
+ }
}
}
},
@@ -993,6 +1213,7 @@
"version": "6.22.0",
"resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz",
"integrity": "sha1-RSaSy3EdX3ncf4XkQM5BufJE0iE=",
+ "dev": true,
"requires": {
"babel-runtime": "^6.22.0"
}
@@ -1001,6 +1222,7 @@
"version": "6.22.0",
"resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz",
"integrity": "sha1-u8UbSflk1wy42OC5ToICRs46YUE=",
+ "dev": true,
"requires": {
"babel-runtime": "^6.22.0"
}
@@ -1009,6 +1231,7 @@
"version": "6.26.0",
"resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz",
"integrity": "sha1-1w9SmcEwjQXBL0Y4E7CgnnOxiV8=",
+ "dev": true,
"requires": {
"babel-runtime": "^6.26.0",
"babel-template": "^6.26.0",
@@ -1017,6 +1240,16 @@
"lodash": "^4.17.4"
},
"dependencies": {
+ "ansi-regex": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8="
+ },
+ "ansi-styles": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
+ "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4="
+ },
"babel-code-frame": {
"version": "6.26.0",
"resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz",
@@ -1027,6 +1260,14 @@
"js-tokens": "^3.0.2"
}
},
+ "babel-messages": {
+ "version": "6.23.0",
+ "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz",
+ "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=",
+ "requires": {
+ "babel-runtime": "^6.22.0"
+ }
+ },
"babel-runtime": {
"version": "6.26.0",
"resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
@@ -1080,6 +1321,36 @@
"resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz",
"integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ=="
},
+ "chalk": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+ "requires": {
+ "ansi-styles": "^2.2.1",
+ "escape-string-regexp": "^1.0.2",
+ "has-ansi": "^2.0.0",
+ "strip-ansi": "^3.0.0",
+ "supports-color": "^2.0.0"
+ }
+ },
+ "escape-string-regexp": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+ "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ="
+ },
+ "esutils": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz",
+ "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs="
+ },
+ "has-ansi": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
+ "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
+ "requires": {
+ "ansi-regex": "^2.0.0"
+ }
+ },
"invariant": {
"version": "2.2.3",
"resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.3.tgz",
@@ -1088,10 +1359,36 @@
"loose-envify": "^1.0.0"
}
},
+ "loose-envify": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz",
+ "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=",
+ "requires": {
+ "js-tokens": "^3.0.0"
+ }
+ },
"regenerator-runtime": {
"version": "0.11.1",
"resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz",
"integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg=="
+ },
+ "strip-ansi": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+ "requires": {
+ "ansi-regex": "^2.0.0"
+ }
+ },
+ "supports-color": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
+ "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc="
+ },
+ "to-fast-properties": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz",
+ "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc="
}
}
},
@@ -1099,6 +1396,7 @@
"version": "6.24.1",
"resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz",
"integrity": "sha1-WkxYpQyclGHlZLSyo7+ryXolhNs=",
+ "dev": true,
"requires": {
"babel-helper-define-map": "^6.24.1",
"babel-helper-function-name": "^6.24.1",
@@ -1109,12 +1407,44 @@
"babel-template": "^6.24.1",
"babel-traverse": "^6.24.1",
"babel-types": "^6.24.1"
+ },
+ "dependencies": {
+ "babel-helper-function-name": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz",
+ "integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=",
+ "requires": {
+ "babel-helper-get-function-arity": "^6.24.1",
+ "babel-runtime": "^6.22.0",
+ "babel-template": "^6.24.1",
+ "babel-traverse": "^6.24.1",
+ "babel-types": "^6.24.1"
+ }
+ },
+ "babel-helper-get-function-arity": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz",
+ "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=",
+ "requires": {
+ "babel-runtime": "^6.22.0",
+ "babel-types": "^6.24.1"
+ }
+ },
+ "babel-messages": {
+ "version": "6.23.0",
+ "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz",
+ "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=",
+ "requires": {
+ "babel-runtime": "^6.22.0"
+ }
+ }
}
},
"babel-plugin-transform-es2015-computed-properties": {
"version": "6.24.1",
"resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz",
"integrity": "sha1-b+Ko0WiV1WNPTNmZttNICjCBWbM=",
+ "dev": true,
"requires": {
"babel-runtime": "^6.22.0",
"babel-template": "^6.24.1"
@@ -1124,6 +1454,7 @@
"version": "6.23.0",
"resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz",
"integrity": "sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=",
+ "dev": true,
"requires": {
"babel-runtime": "^6.22.0"
}
@@ -1132,6 +1463,7 @@
"version": "6.23.0",
"resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz",
"integrity": "sha1-9HyVsrYT3x0+zC/bdXNiPHUkhpE=",
+ "dev": true,
"requires": {
"babel-runtime": "^6.22.0"
}
@@ -1140,16 +1472,41 @@
"version": "6.24.1",
"resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz",
"integrity": "sha1-g0yJhTvDaxrw86TF26qU/Y6sqos=",
+ "dev": true,
"requires": {
"babel-helper-function-name": "^6.24.1",
"babel-runtime": "^6.22.0",
"babel-types": "^6.24.1"
+ },
+ "dependencies": {
+ "babel-helper-function-name": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz",
+ "integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=",
+ "requires": {
+ "babel-helper-get-function-arity": "^6.24.1",
+ "babel-runtime": "^6.22.0",
+ "babel-template": "^6.24.1",
+ "babel-traverse": "^6.24.1",
+ "babel-types": "^6.24.1"
+ }
+ },
+ "babel-helper-get-function-arity": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz",
+ "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=",
+ "requires": {
+ "babel-runtime": "^6.22.0",
+ "babel-types": "^6.24.1"
+ }
+ }
}
},
"babel-plugin-transform-es2015-literals": {
"version": "6.22.0",
"resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz",
"integrity": "sha1-T1SgLWzWbPkVKAAZox0xklN3yi4=",
+ "dev": true,
"requires": {
"babel-runtime": "^6.22.0"
}
@@ -1165,6 +1522,16 @@
"babel-types": "^6.26.0"
},
"dependencies": {
+ "ansi-regex": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8="
+ },
+ "ansi-styles": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
+ "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4="
+ },
"babel-code-frame": {
"version": "6.26.0",
"resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz",
@@ -1175,6 +1542,14 @@
"js-tokens": "^3.0.2"
}
},
+ "babel-messages": {
+ "version": "6.23.0",
+ "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz",
+ "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=",
+ "requires": {
+ "babel-runtime": "^6.22.0"
+ }
+ },
"babel-runtime": {
"version": "6.26.0",
"resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
@@ -1228,10 +1603,58 @@
"resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz",
"integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ=="
},
+ "chalk": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+ "requires": {
+ "ansi-styles": "^2.2.1",
+ "escape-string-regexp": "^1.0.2",
+ "has-ansi": "^2.0.0",
+ "strip-ansi": "^3.0.0",
+ "supports-color": "^2.0.0"
+ }
+ },
+ "escape-string-regexp": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+ "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ="
+ },
+ "esutils": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz",
+ "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs="
+ },
+ "has-ansi": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
+ "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
+ "requires": {
+ "ansi-regex": "^2.0.0"
+ }
+ },
"regenerator-runtime": {
"version": "0.11.1",
"resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz",
"integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg=="
+ },
+ "strip-ansi": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+ "requires": {
+ "ansi-regex": "^2.0.0"
+ }
+ },
+ "supports-color": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
+ "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc="
+ },
+ "to-fast-properties": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz",
+ "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc="
}
}
},
@@ -1239,6 +1662,7 @@
"version": "6.24.1",
"resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz",
"integrity": "sha1-JM72muIcuDp/hgPa0CH1cusnj40=",
+ "dev": true,
"requires": {
"babel-helper-replace-supers": "^6.24.1",
"babel-runtime": "^6.22.0"
@@ -1248,6 +1672,7 @@
"version": "6.24.1",
"resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz",
"integrity": "sha1-V6w1GrScrxSpfNE7CfZv3wpiXys=",
+ "dev": true,
"requires": {
"babel-helper-call-delegate": "^6.24.1",
"babel-helper-get-function-arity": "^6.24.1",
@@ -1255,12 +1680,24 @@
"babel-template": "^6.24.1",
"babel-traverse": "^6.24.1",
"babel-types": "^6.24.1"
+ },
+ "dependencies": {
+ "babel-helper-get-function-arity": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz",
+ "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=",
+ "requires": {
+ "babel-runtime": "^6.22.0",
+ "babel-types": "^6.24.1"
+ }
+ }
}
},
"babel-plugin-transform-es2015-shorthand-properties": {
"version": "6.24.1",
"resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz",
"integrity": "sha1-JPh11nIch2YbvZmkYi5R8U3jiqA=",
+ "dev": true,
"requires": {
"babel-runtime": "^6.22.0",
"babel-types": "^6.24.1"
@@ -1270,6 +1707,7 @@
"version": "6.22.0",
"resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz",
"integrity": "sha1-1taKmfia7cRTbIGlQujdnxdG+NE=",
+ "dev": true,
"requires": {
"babel-runtime": "^6.22.0"
}
@@ -1278,6 +1716,7 @@
"version": "6.22.0",
"resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz",
"integrity": "sha1-qEs0UPfp+PH2g51taH2oS7EjbY0=",
+ "dev": true,
"requires": {
"babel-runtime": "^6.22.0"
}
@@ -1286,6 +1725,7 @@
"version": "6.22.0",
"resolved": "https://registry.npmjs.org/babel-plugin-transform-es3-member-expression-literals/-/babel-plugin-transform-es3-member-expression-literals-6.22.0.tgz",
"integrity": "sha1-cz00RPPsxBvvjtGmpOCWV7iWnrs=",
+ "dev": true,
"requires": {
"babel-runtime": "^6.22.0"
}
@@ -1294,6 +1734,7 @@
"version": "6.22.0",
"resolved": "https://registry.npmjs.org/babel-plugin-transform-es3-property-literals/-/babel-plugin-transform-es3-property-literals-6.22.0.tgz",
"integrity": "sha1-sgeNWELiKr9A9z6M3pzTcRq9V1g=",
+ "dev": true,
"requires": {
"babel-runtime": "^6.22.0"
}
@@ -1381,6 +1822,7 @@
"version": "6.26.0",
"resolved": "https://registry.npmjs.org/babel-polyfill/-/babel-polyfill-6.26.0.tgz",
"integrity": "sha1-N5k3q8Z9eJWXCtxiHyhM2WbPIVM=",
+ "dev": true,
"requires": {
"babel-runtime": "^6.26.0",
"core-js": "^2.5.0",
@@ -1406,7 +1848,8 @@
"regenerator-runtime": {
"version": "0.10.5",
"resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz",
- "integrity": "sha1-M2w+/BIgrc7dosn6tntaeVWjNlg="
+ "integrity": "sha1-M2w+/BIgrc7dosn6tntaeVWjNlg=",
+ "dev": true
}
}
},
@@ -1414,6 +1857,7 @@
"version": "2.1.4",
"resolved": "https://registry.npmjs.org/babel-preset-fbjs/-/babel-preset-fbjs-2.1.4.tgz",
"integrity": "sha1-IvNY5mVAc6z2HkegUqd317zPA68=",
+ "dev": true,
"requires": {
"babel-plugin-check-es2015-constants": "^6.8.0",
"babel-plugin-syntax-class-properties": "^6.8.0",
@@ -1531,6 +1975,16 @@
"globals": "^9.0.0",
"invariant": "^2.2.0",
"lodash": "^4.2.0"
+ },
+ "dependencies": {
+ "babel-messages": {
+ "version": "6.23.0",
+ "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz",
+ "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=",
+ "requires": {
+ "babel-runtime": "^6.22.0"
+ }
+ }
}
},
"babel-types": {
@@ -1542,6 +1996,18 @@
"esutils": "^2.0.2",
"lodash": "^4.2.0",
"to-fast-properties": "^1.0.1"
+ },
+ "dependencies": {
+ "esutils": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz",
+ "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs="
+ },
+ "to-fast-properties": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz",
+ "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc="
+ }
}
},
"babylon": {
@@ -1558,6 +2024,7 @@
"version": "0.11.2",
"resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz",
"integrity": "sha1-e95c7RRbbVUakNuH+DxVi060io8=",
+ "dev": true,
"requires": {
"cache-base": "^1.0.1",
"class-utils": "^0.3.5",
@@ -1572,6 +2039,7 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
"integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
+ "dev": true,
"requires": {
"is-descriptor": "^1.0.0"
}
@@ -1582,6 +2050,7 @@
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/bash-glob/-/bash-glob-1.0.2.tgz",
"integrity": "sha1-laxWMf3XqPxWnyZxZ6hOuDGXmhs=",
+ "dev": true,
"requires": {
"async-each": "^1.0.1",
"bash-path": "^1.0.1",
@@ -1596,6 +2065,7 @@
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/bash-path/-/bash-path-1.0.3.tgz",
"integrity": "sha1-28nvvfGLHBFBPctZuWDmqlbIQlg=",
+ "dev": true,
"requires": {
"arr-union": "^3.1.0",
"is-windows": "^1.0.1"
@@ -1619,6 +2089,21 @@
"safe-buffer": "^5.1.1"
},
"dependencies": {
+ "core-util-is": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+ "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
+ },
+ "inherits": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
+ },
+ "isarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
+ },
"process-nextick-args": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz",
@@ -1645,6 +2130,11 @@
"requires": {
"safe-buffer": "~5.1.0"
}
+ },
+ "util-deprecate": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
+ "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
}
}
},
@@ -1706,16 +2196,11 @@
"integrity": "sha1-ewl1dPjj6tYG+0Zk5krf3aKYGpM=",
"dev": true
},
- "browser-stdout": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz",
- "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==",
- "dev": true
- },
"bser": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/bser/-/bser-2.0.0.tgz",
"integrity": "sha1-mseNPtXZFYBP2HrLFYvHlxR6Fxk=",
+ "dev": true,
"requires": {
"node-int64": "^0.4.0"
}
@@ -1745,14 +2230,11 @@
"integrity": "sha1-TLiDLSNhJYmwQG6eKVbBfwb99TE=",
"dev": true
},
- "builtin-modules": {
- "version": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz",
- "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8="
- },
"cache-base": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz",
"integrity": "sha1-Cn9GQWgxyLZi7jb+TnxZ129marI=",
+ "dev": true,
"requires": {
"collection-visit": "^1.0.0",
"component-emitter": "^1.2.1",
@@ -1768,7 +2250,8 @@
"call-me-maybe": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz",
- "integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms="
+ "integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms=",
+ "dev": true
},
"caller-path": {
"version": "0.1.0",
@@ -1788,7 +2271,8 @@
"camelcase": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz",
- "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0="
+ "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=",
+ "dev": true
},
"camelize": {
"version": "1.0.0",
@@ -1824,17 +2308,6 @@
"check-error": "^1.0.2"
}
},
- "chalk": {
- "version": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
- "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
- "requires": {
- "ansi-styles": "^2.2.1",
- "escape-string-regexp": "^1.0.2",
- "has-ansi": "^2.0.0",
- "strip-ansi": "^3.0.0",
- "supports-color": "^2.0.0"
- }
- },
"chardet": {
"version": "0.4.2",
"resolved": "https://registry.npmjs.org/chardet/-/chardet-0.4.2.tgz",
@@ -1884,6 +2357,7 @@
"version": "0.3.6",
"resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz",
"integrity": "sha1-+TNprouafOAv1B+q0MqDAzGQxGM=",
+ "dev": true,
"requires": {
"arr-union": "^3.1.0",
"define-property": "^0.2.5",
@@ -1895,6 +2369,7 @@
"version": "0.2.5",
"resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
"integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+ "dev": true,
"requires": {
"is-descriptor": "^0.1.0"
}
@@ -1976,12 +2451,18 @@
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz",
"integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=",
+ "dev": true,
"requires": {
"string-width": "^1.0.1",
"strip-ansi": "^3.0.1",
"wrap-ansi": "^2.0.0"
},
"dependencies": {
+ "ansi-regex": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8="
+ },
"string-width": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
@@ -1991,6 +2472,14 @@
"is-fullwidth-code-point": "^1.0.0",
"strip-ansi": "^3.0.0"
}
+ },
+ "strip-ansi": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+ "requires": {
+ "ansi-regex": "^2.0.0"
+ }
}
}
},
@@ -2008,6 +2497,7 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz",
"integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=",
+ "dev": true,
"requires": {
"map-visit": "^1.0.0",
"object-visit": "^1.0.0"
@@ -2042,12 +2532,6 @@
"delayed-stream": "~1.0.0"
}
},
- "commander": {
- "version": "2.11.0",
- "resolved": "https://registry.npmjs.org/commander/-/commander-2.11.0.tgz",
- "integrity": "sha512-b0553uYA5YAEGgyYIGYROzKQ7X5RAqedkfjiZxwi0kL1g3bOaBNNZfYkzt/CL0umgD5wc9Jec2FbB98CjkMRvQ==",
- "dev": true
- },
"compare-sets": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/compare-sets/-/compare-sets-1.0.1.tgz",
@@ -2056,10 +2540,12 @@
"component-emitter": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz",
- "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY="
+ "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=",
+ "dev": true
},
"concat-map": {
- "version": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
"integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s="
},
"concat-stream": {
@@ -2072,6 +2558,14 @@
"inherits": "^2.0.3",
"readable-stream": "^2.2.2",
"typedarray": "^0.0.6"
+ },
+ "dependencies": {
+ "inherits": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
+ "dev": true
+ }
}
},
"console-control-strings": {
@@ -2079,12 +2573,6 @@
"resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz",
"integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4="
},
- "contains-path": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/contains-path/-/contains-path-0.1.0.tgz",
- "integrity": "sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo=",
- "dev": true
- },
"convert-source-map": {
"version": "1.5.1",
"resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.1.tgz",
@@ -2093,26 +2581,19 @@
"copy-descriptor": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz",
- "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40="
- },
- "core-decorators": {
- "version": "0.20.0",
- "resolved": "https://registry.npmjs.org/core-decorators/-/core-decorators-0.20.0.tgz",
- "integrity": "sha1-YFiWYkBTr4wo775zXCWjAaYcZcU="
+ "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=",
+ "dev": true
},
"core-js": {
"version": "2.5.0",
"resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.0.tgz",
"integrity": "sha1-VpwFCRi+ZIazg3VSAorgRmtxcIY="
},
- "core-util-is": {
- "version": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
- "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
- },
"cross-spawn": {
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz",
"integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=",
+ "dev": true,
"requires": {
"lru-cache": "^4.0.1",
"shebang-command": "^1.2.0",
@@ -2177,12 +2658,6 @@
"integrity": "sha1-lGfQMsOM+u+58teVASUwYvh/ob0=",
"dev": true
},
- "damerau-levenshtein": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.4.tgz",
- "integrity": "sha1-AxkcQyy27qFou3fzpV/9zLiXhRQ=",
- "dev": true
- },
"dashdash": {
"version": "1.14.1",
"resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
@@ -2209,12 +2684,14 @@
"decamelize": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
- "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA="
+ "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=",
+ "dev": true
},
"decode-uri-component": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz",
- "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU="
+ "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=",
+ "dev": true
},
"decompress-response": {
"version": "3.3.0",
@@ -2264,6 +2741,7 @@
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
"integrity": "sha1-1Flono1lS6d+AqgX+HENcCyxbp0=",
+ "dev": true,
"requires": {
"is-descriptor": "^1.0.2",
"isobject": "^3.0.1"
@@ -2284,6 +2762,33 @@
"rimraf": "^2.2.8"
},
"dependencies": {
+ "object-assign": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
+ "dev": true
+ },
+ "pify": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+ "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
+ "dev": true
+ },
+ "pinkie": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz",
+ "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=",
+ "dev": true
+ },
+ "pinkie-promise": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
+ "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=",
+ "dev": true,
+ "requires": {
+ "pinkie": "^2.0.0"
+ }
+ },
"rimraf": {
"version": "2.6.2",
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz",
@@ -2337,6 +2842,20 @@
"requires": {
"esutils": "^2.0.2",
"isarray": "^1.0.0"
+ },
+ "dependencies": {
+ "esutils": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz",
+ "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=",
+ "dev": true
+ },
+ "isarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+ "dev": true
+ }
}
},
"dom-serializer": {
@@ -2443,15 +2962,9 @@
}
}
},
- "emoji-regex": {
- "version": "6.5.1",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-6.5.1.tgz",
- "integrity": "sha1-m66pKbFVVlwR6kHGYm6qZc75ksI=",
- "dev": true
- },
"encoding": {
"version": "0.1.12",
- "resolved": "",
+ "resolved": false,
"integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=",
"requires": {
"iconv-lite": "~0.4.13"
@@ -2463,6 +2976,21 @@
"integrity": "sha1-7SljTRm6ukY7bOa4CjchPqtx7EM=",
"requires": {
"once": "^1.4.0"
+ },
+ "dependencies": {
+ "once": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+ "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
+ "requires": {
+ "wrappy": "1"
+ }
+ },
+ "wrappy": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
+ "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
+ }
}
},
"entities": {
@@ -2542,13 +3070,6 @@
"xtend": "~4.0.0"
}
},
- "error-ex": {
- "version": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz",
- "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=",
- "requires": {
- "is-arrayish": "^0.2.1"
- }
- },
"es-abstract": {
"version": "1.11.0",
"resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.11.0.tgz",
@@ -2584,11 +3105,8 @@
"es6-promise": {
"version": "4.2.4",
"resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.4.tgz",
- "integrity": "sha1-3EIhwrFlGHYL2MOaUtjzVvwA7Sk="
- },
- "escape-string-regexp": {
- "version": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
- "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ="
+ "integrity": "sha1-3EIhwrFlGHYL2MOaUtjzVvwA7Sk=",
+ "dev": true
},
"eslint": {
"version": "4.19.1",
@@ -2733,12 +3251,50 @@
"esutils": "^2.0.2"
}
},
+ "escape-string-regexp": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+ "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
+ "dev": true
+ },
+ "esutils": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz",
+ "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=",
+ "dev": true
+ },
"globals": {
"version": "11.5.0",
"resolved": "https://registry.npmjs.org/globals/-/globals-11.5.0.tgz",
"integrity": "sha1-a8hA3mdxFzsZHxPTqclNRB7pJkI=",
"dev": true
},
+ "has-ansi": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
+ "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^2.0.0"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
+ "dev": true
+ }
+ }
+ },
+ "minimatch": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
+ "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
+ "dev": true,
+ "requires": {
+ "brace-expansion": "^1.1.7"
+ }
+ },
"strip-ansi": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
@@ -2759,12 +3315,6 @@
}
}
},
- "eslint-config-fbjs": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/eslint-config-fbjs/-/eslint-config-fbjs-2.0.1.tgz",
- "integrity": "sha1-OViW/XQODijcHCBy47yYLogkffU=",
- "dev": true
- },
"eslint-config-fbjs-opensource": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/eslint-config-fbjs-opensource/-/eslint-config-fbjs-opensource-1.0.0.tgz",
@@ -2780,6 +3330,18 @@
"fbjs-eslint-utils": "^1.0.0"
},
"dependencies": {
+ "ansi-regex": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
+ "dev": true
+ },
+ "ansi-styles": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
+ "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
+ "dev": true
+ },
"babel-code-frame": {
"version": "6.26.0",
"resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz",
@@ -2803,6 +3365,25 @@
"babylon": "^6.17.0"
}
},
+ "chalk": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^2.2.1",
+ "escape-string-regexp": "^1.0.2",
+ "has-ansi": "^2.0.0",
+ "strip-ansi": "^3.0.0",
+ "supports-color": "^2.0.0"
+ }
+ },
+ "escape-string-regexp": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+ "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
+ "dev": true
+ },
"eslint-plugin-babel": {
"version": "4.1.2",
"resolved": "https://registry.npmjs.org/eslint-plugin-babel/-/eslint-plugin-babel-4.1.2.tgz",
@@ -2822,69 +3403,44 @@
"object.assign": "^4.0.4"
}
},
+ "esutils": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz",
+ "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=",
+ "dev": true
+ },
+ "has-ansi": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
+ "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^2.0.0"
+ }
+ },
"jsx-ast-utils": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-1.4.1.tgz",
"integrity": "sha1-OGchPo3Xm/Ho8jAMDPwe+xgsDfE=",
"dev": true
- }
- }
- },
- "eslint-config-standard": {
- "version": "11.0.0",
- "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-11.0.0.tgz",
- "integrity": "sha1-h+4NPJ2VOC3HYZWMuyPanuox4Lo=",
- "dev": true
- },
- "eslint-import-resolver-node": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.2.tgz",
- "integrity": "sha1-WPFfuDm40FdsqYBBNHaqskcttmo=",
- "dev": true,
- "requires": {
- "debug": "^2.6.9",
- "resolve": "^1.5.0"
- },
- "dependencies": {
- "debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dev": true,
- "requires": {
- "ms": "2.0.0"
- }
},
- "resolve": {
- "version": "1.7.1",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.7.1.tgz",
- "integrity": "sha512-c7rwLofp8g1U+h1KNyHL/jicrKg1Ek4q+Lr33AL65uZTinUZHe30D5HlyN5V9NW0JX1D5dXQ4jqW5l7Sy/kGfw==",
+ "strip-ansi": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
"dev": true,
"requires": {
- "path-parse": "^1.0.5"
+ "ansi-regex": "^2.0.0"
}
+ },
+ "supports-color": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
+ "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
+ "dev": true
}
}
},
- "eslint-module-utils": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.2.0.tgz",
- "integrity": "sha1-snA2LNiLGkitMIl2zn+lTphBF0Y=",
- "dev": true,
- "requires": {
- "debug": "^2.6.8",
- "pkg-dir": "^1.0.0"
- }
- },
- "eslint-plugin-babel": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/eslint-plugin-babel/-/eslint-plugin-babel-5.1.0.tgz",
- "integrity": "sha1-nHbkdhYgQeULa6aapOrjvdak4cM=",
- "dev": true,
- "requires": {
- "eslint-rule-composer": "^0.3.0"
- }
- },
"eslint-plugin-flowtype": {
"version": "2.46.3",
"resolved": "https://registry.npmjs.org/eslint-plugin-flowtype/-/eslint-plugin-flowtype-2.46.3.tgz",
@@ -2894,152 +3450,18 @@
"lodash": "^4.15.0"
}
},
- "eslint-plugin-import": {
- "version": "2.11.0",
- "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.11.0.tgz",
- "integrity": "sha1-Fa7qN6Z0mdhI6OmBgG1GJ7VQOBY=",
- "dev": true,
- "requires": {
- "contains-path": "^0.1.0",
- "debug": "^2.6.8",
- "doctrine": "1.5.0",
- "eslint-import-resolver-node": "^0.3.1",
- "eslint-module-utils": "^2.2.0",
- "has": "^1.0.1",
- "lodash": "^4.17.4",
- "minimatch": "^3.0.3",
- "read-pkg-up": "^2.0.0",
- "resolve": "^1.6.0"
- },
- "dependencies": {
- "resolve": {
- "version": "1.7.1",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.7.1.tgz",
- "integrity": "sha512-c7rwLofp8g1U+h1KNyHL/jicrKg1Ek4q+Lr33AL65uZTinUZHe30D5HlyN5V9NW0JX1D5dXQ4jqW5l7Sy/kGfw==",
- "dev": true,
- "requires": {
- "path-parse": "^1.0.5"
- }
- }
- }
- },
"eslint-plugin-jasmine": {
"version": "2.9.3",
"resolved": "https://registry.npmjs.org/eslint-plugin-jasmine/-/eslint-plugin-jasmine-2.9.3.tgz",
"integrity": "sha1-Bb86uCfXkWkc7ujCGVm5wNVqaww=",
"dev": true
},
- "eslint-plugin-jsx-a11y": {
- "version": "6.0.3",
- "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.0.3.tgz",
- "integrity": "sha1-VFg9GuRCSDFi4EDhPMMYZUZRAOU=",
- "dev": true,
- "requires": {
- "aria-query": "^0.7.0",
- "array-includes": "^3.0.3",
- "ast-types-flow": "0.0.7",
- "axobject-query": "^0.1.0",
- "damerau-levenshtein": "^1.0.0",
- "emoji-regex": "^6.1.0",
- "jsx-ast-utils": "^2.0.0"
- },
- "dependencies": {
- "jsx-ast-utils": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-2.0.1.tgz",
- "integrity": "sha1-6AGxs5mF4g//yHtA43SAgOLcrH8=",
- "dev": true,
- "requires": {
- "array-includes": "^3.0.3"
- }
- }
- }
- },
- "eslint-plugin-node": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-6.0.1.tgz",
- "integrity": "sha1-vxlkIpgGQ3kxXXpLKnWTc3b6BeQ=",
- "dev": true,
- "requires": {
- "ignore": "^3.3.6",
- "minimatch": "^3.0.4",
- "resolve": "^1.3.3",
- "semver": "^5.4.1"
- }
- },
"eslint-plugin-prefer-object-spread": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/eslint-plugin-prefer-object-spread/-/eslint-plugin-prefer-object-spread-1.2.1.tgz",
"integrity": "sha1-J/uRhTaQzOs65hAdnIrsxqZ6QCw=",
"dev": true
},
- "eslint-plugin-promise": {
- "version": "3.7.0",
- "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-3.7.0.tgz",
- "integrity": "sha512-2WO+ZFh7vxUKRfR0cOIMrWgYKdR6S1AlOezw6pC52B6oYpd5WFghN+QHxvrRdZMtbo8h3dfUZ2o1rWb0UPbKtg==",
- "dev": true
- },
- "eslint-plugin-react": {
- "version": "7.7.0",
- "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.7.0.tgz",
- "integrity": "sha1-9gbHGdvYoaKz0lwWKZgTh4zKAWA=",
- "dev": true,
- "requires": {
- "doctrine": "^2.0.2",
- "has": "^1.0.1",
- "jsx-ast-utils": "^2.0.1",
- "prop-types": "^15.6.0"
- },
- "dependencies": {
- "doctrine": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz",
- "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==",
- "dev": true,
- "requires": {
- "esutils": "^2.0.2"
- }
- }
- }
- },
- "eslint-plugin-relay": {
- "version": "0.0.21",
- "resolved": "https://registry.npmjs.org/eslint-plugin-relay/-/eslint-plugin-relay-0.0.21.tgz",
- "integrity": "sha1-+9oBvXg6p+2esO/+QQBJkR4USe8=",
- "dev": true,
- "requires": {
- "graphql": "^0.13.0"
- },
- "dependencies": {
- "graphql": {
- "version": "0.13.2",
- "resolved": "https://registry.npmjs.org/graphql/-/graphql-0.13.2.tgz",
- "integrity": "sha512-QZ5BL8ZO/B20VA8APauGBg3GyEgZ19eduvpLWoq5x7gMmWnHoy8rlQWPLmWgFvo1yNgjSEFMesmS4R6pPr7xog==",
- "dev": true,
- "requires": {
- "iterall": "^1.2.1"
- }
- },
- "iterall": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/iterall/-/iterall-1.2.2.tgz",
- "integrity": "sha512-yynBb1g+RFUPY64fTrFv7nsjRrENBQJaX2UL+2Szc9REFrSNm1rpSXHGzhmAy7a9uv3vlvgBlXnf9RqmPH1/DA==",
- "dev": true
- }
- }
- },
- "eslint-plugin-standard": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/eslint-plugin-standard/-/eslint-plugin-standard-3.1.0.tgz",
- "integrity": "sha1-Kp4hJZukxHwC1TstDJE11LECLUc=",
- "dev": true
- },
- "eslint-rule-composer": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/eslint-rule-composer/-/eslint-rule-composer-0.3.0.tgz",
- "integrity": "sha1-eTIMknsMXA09PSt2yLSkiPJbuvk=",
- "dev": true
- },
"eslint-scope": {
"version": "3.7.1",
"resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-3.7.1.tgz",
@@ -3096,10 +3518,6 @@
"integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=",
"dev": true
},
- "esutils": {
- "version": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz",
- "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs="
- },
"ev-store": {
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/ev-store/-/ev-store-7.0.0.tgz",
@@ -3112,12 +3530,13 @@
"event-kit": {
"version": "2.4.0",
"resolved": "https://registry.npmjs.org/event-kit/-/event-kit-2.4.0.tgz",
- "integrity": "sha512-ZXd9jxUoc/f/zdLdR3OUcCzT84WnpaNWefquLyE125akIC90sDs8S3T/qihliuVsaj7Osc0z8lLL2fjooE9Z4A=="
+ "integrity": "sha1-cYqvIt92ZwAkrWaSJIPhu6BUTzM="
},
"execa": {
"version": "0.7.0",
"resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz",
"integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=",
+ "dev": true,
"requires": {
"cross-spawn": "^5.0.1",
"get-stream": "^3.0.0",
@@ -3126,12 +3545,20 @@
"p-finally": "^1.0.0",
"signal-exit": "^3.0.0",
"strip-eof": "^1.0.0"
+ },
+ "dependencies": {
+ "is-stream": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
+ "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ="
+ }
}
},
"expand-brackets": {
"version": "2.1.4",
"resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
"integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=",
+ "dev": true,
"requires": {
"debug": "^2.3.3",
"define-property": "^0.2.5",
@@ -3146,6 +3573,7 @@
"version": "0.2.5",
"resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
"integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+ "dev": true,
"requires": {
"is-descriptor": "^0.1.0"
}
@@ -3209,13 +3637,15 @@
"integrity": "sha1-4J77qXe/mPnuDtJavQxpLgKuw/w="
},
"extend": {
- "version": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz",
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz",
"integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ="
},
"extend-shallow": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "dev": true,
"requires": {
"is-extendable": "^0.1.0"
}
@@ -3231,6 +3661,12 @@
"tmp": "^0.0.33"
},
"dependencies": {
+ "os-tmpdir": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
+ "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=",
+ "dev": true
+ },
"tmp": {
"version": "0.0.33",
"resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
@@ -3246,6 +3682,7 @@
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
"integrity": "sha1-rQD+TcYSqSMuhxhxHcXLWrAoVUM=",
+ "dev": true,
"requires": {
"array-unique": "^0.3.2",
"define-property": "^1.0.0",
@@ -3261,6 +3698,7 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
"integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
+ "dev": true,
"requires": {
"is-descriptor": "^1.0.0"
}
@@ -3281,6 +3719,7 @@
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-1.0.1.tgz",
"integrity": "sha1-MPmxEg/Ven8XI2SmRY+9vZgYezw=",
+ "dev": true,
"requires": {
"bash-glob": "^1.0.1",
"glob-parent": "^3.1.0",
@@ -3303,6 +3742,7 @@
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.0.tgz",
"integrity": "sha1-VOmr99+i8mzZsWNsWIwa/AXeXVg=",
+ "dev": true,
"requires": {
"bser": "^2.0.0"
}
@@ -3325,6 +3765,47 @@
"version": "1.2.7",
"resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz",
"integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY="
+ },
+ "is-stream": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
+ "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ="
+ },
+ "isomorphic-fetch": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz",
+ "integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=",
+ "requires": {
+ "node-fetch": "^1.0.1",
+ "whatwg-fetch": ">=0.10.0"
+ }
+ },
+ "loose-envify": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz",
+ "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=",
+ "requires": {
+ "js-tokens": "^3.0.0"
+ }
+ },
+ "node-fetch": {
+ "version": "1.7.3",
+ "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz",
+ "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==",
+ "requires": {
+ "encoding": "^0.1.11",
+ "is-stream": "^1.0.1"
+ }
+ },
+ "object-assign": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM="
+ },
+ "setimmediate": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz",
+ "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU="
}
}
},
@@ -3341,6 +3822,14 @@
"dev": true,
"requires": {
"escape-string-regexp": "^1.0.5"
+ },
+ "dependencies": {
+ "escape-string-regexp": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+ "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
+ "dev": true
+ }
}
},
"file-entry-cache": {
@@ -3351,12 +3840,21 @@
"requires": {
"flat-cache": "^1.2.1",
"object-assign": "^4.0.1"
+ },
+ "dependencies": {
+ "object-assign": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
+ "dev": true
+ }
}
},
"fill-range": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
"integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
+ "dev": true,
"requires": {
"extend-shallow": "^2.0.1",
"is-number": "^3.0.0",
@@ -3364,16 +3862,6 @@
"to-regex-range": "^2.1.0"
}
},
- "find-up": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz",
- "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=",
- "dev": true,
- "requires": {
- "path-exists": "^2.0.0",
- "pinkie-promise": "^2.0.0"
- }
- },
"flat-cache": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.3.0.tgz",
@@ -3384,12 +3872,21 @@
"del": "^2.0.2",
"graceful-fs": "^4.1.2",
"write": "^0.2.1"
+ },
+ "dependencies": {
+ "graceful-fs": {
+ "version": "4.1.11",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
+ "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=",
+ "dev": true
+ }
}
},
"for-in": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
- "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA="
+ "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=",
+ "dev": true
},
"foreach": {
"version": "2.0.5",
@@ -3398,7 +3895,8 @@
"dev": true
},
"forever-agent": {
- "version": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
"integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE="
},
"form-data": {
@@ -3415,6 +3913,7 @@
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz",
"integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=",
+ "dev": true,
"requires": {
"map-cache": "^0.2.2"
}
@@ -3427,11 +3926,18 @@
"fs-extra": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-6.0.0.tgz",
- "integrity": "sha512-lk2cUCo8QzbiEWEbt7Cw3m27WMiRG321xsssbcIpfMhpRjrlC08WBOVQqj1/nQYYNnPtyIhP1oqLO3QwT2tPCw==",
+ "integrity": "sha1-Dwr7KQuz3rh5eNqBb808d5fzqBc=",
"requires": {
"graceful-fs": "^4.1.2",
"jsonfile": "^4.0.0",
"universalify": "^0.1.0"
+ },
+ "dependencies": {
+ "graceful-fs": {
+ "version": "4.1.11",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
+ "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg="
+ }
}
},
"fs-minipass": {
@@ -3442,10 +3948,6 @@
"minipass": "^2.2.1"
}
},
- "fs.realpath": {
- "version": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
- "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8="
- },
"function.prototype.name": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.0.tgz",
@@ -3486,6 +3988,16 @@
"wide-align": "^1.1.0"
},
"dependencies": {
+ "ansi-regex": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8="
+ },
+ "object-assign": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM="
+ },
"string-width": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
@@ -3495,13 +4007,22 @@
"is-fullwidth-code-point": "^1.0.0",
"strip-ansi": "^3.0.0"
}
+ },
+ "strip-ansi": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+ "requires": {
+ "ansi-regex": "^2.0.0"
+ }
}
}
},
"get-caller-file": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz",
- "integrity": "sha1-9wLmMSfn4jHBYKgMFVSstw1QR+U="
+ "integrity": "sha1-9wLmMSfn4jHBYKgMFVSstw1QR+U=",
+ "dev": true
},
"get-func-name": {
"version": "2.0.0",
@@ -3512,12 +4033,14 @@
"get-stream": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz",
- "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ="
+ "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=",
+ "dev": true
},
"get-value": {
"version": "2.0.6",
"resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
- "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg="
+ "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=",
+ "dev": true
},
"getpass": {
"version": "0.1.7",
@@ -3550,12 +4073,60 @@
"minimatch": "^3.0.4",
"once": "^1.3.0",
"path-is-absolute": "^1.0.0"
+ },
+ "dependencies": {
+ "fs.realpath": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
+ "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8="
+ },
+ "inflight": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+ "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
+ "requires": {
+ "once": "^1.3.0",
+ "wrappy": "1"
+ }
+ },
+ "inherits": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
+ },
+ "minimatch": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
+ "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
+ "requires": {
+ "brace-expansion": "^1.1.7"
+ }
+ },
+ "once": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+ "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
+ "requires": {
+ "wrappy": "1"
+ }
+ },
+ "path-is-absolute": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
+ "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18="
+ },
+ "wrappy": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
+ "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
+ }
}
},
"glob-parent": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz",
"integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=",
+ "dev": true,
"requires": {
"is-glob": "^3.1.0",
"path-dirname": "^1.0.0"
@@ -3565,6 +4136,7 @@
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
"integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
+ "dev": true,
"requires": {
"is-extglob": "^2.1.0"
}
@@ -3574,7 +4146,8 @@
"glob-to-regexp": {
"version": "0.3.0",
"resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz",
- "integrity": "sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs="
+ "integrity": "sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs=",
+ "dev": true
},
"global": {
"version": "4.3.2",
@@ -3603,12 +4176,37 @@
"object-assign": "^4.0.1",
"pify": "^2.0.0",
"pinkie-promise": "^2.0.0"
+ },
+ "dependencies": {
+ "object-assign": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
+ "dev": true
+ },
+ "pify": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+ "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
+ "dev": true
+ },
+ "pinkie": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz",
+ "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=",
+ "dev": true
+ },
+ "pinkie-promise": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
+ "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=",
+ "dev": true,
+ "requires": {
+ "pinkie": "^2.0.0"
+ }
+ }
}
},
- "graceful-fs": {
- "version": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
- "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg="
- },
"graceful-readlink": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz",
@@ -3619,6 +4217,7 @@
"version": "0.13.2",
"resolved": "https://registry.npmjs.org/graphql/-/graphql-0.13.2.tgz",
"integrity": "sha1-THQK48Iigj5wBAlvgy57k7IQgnA=",
+ "dev": true,
"requires": {
"iterall": "^1.2.1"
},
@@ -3630,11 +4229,6 @@
}
}
},
- "growl": {
- "version": "https://registry.npmjs.org/growl/-/growl-1.9.2.tgz",
- "integrity": "sha1-Dqd0NxXbjY3ixe3hd14bRayFwC8=",
- "dev": true
- },
"har-schema": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
@@ -3666,13 +4260,6 @@
}
}
},
- "has-ansi": {
- "version": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
- "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
- "requires": {
- "ansi-regex": "^2.0.0"
- }
- },
"has-flag": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
@@ -3694,6 +4281,7 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz",
"integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=",
+ "dev": true,
"requires": {
"get-value": "^2.0.6",
"has-values": "^1.0.0",
@@ -3704,6 +4292,7 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz",
"integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=",
+ "dev": true,
"requires": {
"is-number": "^3.0.0",
"kind-of": "^4.0.0"
@@ -3713,6 +4302,7 @@
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz",
"integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
+ "dev": true,
"requires": {
"is-buffer": "^1.1.5"
}
@@ -3758,11 +4348,6 @@
"resolved": "https://registry.npmjs.org/hoek/-/hoek-4.2.1.tgz",
"integrity": "sha1-ljRQKqEsRF3Vp8VzS1cruHOKrLs="
},
- "hoist-non-react-statics": {
- "version": "2.5.0",
- "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-2.5.0.tgz",
- "integrity": "sha1-0sot/BnFqRxaZhXOjlZO8DR+KkA="
- },
"home-or-tmp": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz",
@@ -3770,8 +4355,26 @@
"requires": {
"os-homedir": "^1.0.0",
"os-tmpdir": "^1.0.1"
+ },
+ "dependencies": {
+ "os-homedir": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
+ "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M="
+ },
+ "os-tmpdir": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
+ "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ="
+ }
}
},
+ "hosted-git-info": {
+ "version": "2.6.0",
+ "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.6.0.tgz",
+ "integrity": "sha1-IyNbKasjDFdqqw1PE/wEawsDgiI=",
+ "dev": true
+ },
"htmlparser2": {
"version": "3.9.2",
"resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.9.2.tgz",
@@ -3784,6 +4387,14 @@
"entities": "^1.1.1",
"inherits": "^2.0.1",
"readable-stream": "^2.0.2"
+ },
+ "dependencies": {
+ "inherits": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
+ "dev": true
+ }
}
},
"http-signature": {
@@ -3817,7 +4428,8 @@
"immutable": {
"version": "3.7.6",
"resolved": "https://registry.npmjs.org/immutable/-/immutable-3.7.6.tgz",
- "integrity": "sha1-E7TTyxK++hVIKib+Gy665kAHHks="
+ "integrity": "sha1-E7TTyxK++hVIKib+Gy665kAHHks=",
+ "dev": true
},
"imurmurhash": {
"version": "0.1.4",
@@ -3831,18 +4443,6 @@
"integrity": "sha1-58pPhfiVewGHNPKFdQ3CLsL5hi0=",
"dev": true
},
- "inflight": {
- "version": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
- "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
- "requires": {
- "once": "^1.3.0",
- "wrappy": "1"
- }
- },
- "inherits": {
- "version": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
- "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
- },
"ini": {
"version": "1.3.5",
"resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz",
@@ -3896,6 +4496,12 @@
"supports-color": "^5.3.0"
}
},
+ "escape-string-regexp": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+ "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
+ "dev": true
+ },
"strip-ansi": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
@@ -3913,21 +4519,38 @@
"requires": {
"has-flag": "^3.0.0"
}
+ },
+ "through": {
+ "version": "2.3.8",
+ "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
+ "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=",
+ "dev": true
}
}
},
"invariant": {
"version": "2.2.4",
"resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz",
- "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==",
+ "integrity": "sha1-YQ88ksk1nOHbYW5TgAjSP/NRWOY=",
"requires": {
"loose-envify": "^1.0.0"
+ },
+ "dependencies": {
+ "loose-envify": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz",
+ "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=",
+ "requires": {
+ "js-tokens": "^3.0.0"
+ }
+ }
}
},
"invert-kv": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz",
- "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY="
+ "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=",
+ "dev": true
},
"is-accessor-descriptor": {
"version": "1.0.0",
@@ -3937,10 +4560,6 @@
"kind-of": "^6.0.0"
}
},
- "is-arrayish": {
- "version": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
- "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0="
- },
"is-boolean-object": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.0.0.tgz",
@@ -3950,14 +4569,8 @@
"is-buffer": {
"version": "1.1.6",
"resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
- "integrity": "sha1-76ouqdqg16suoTqXsritUf776L4="
- },
- "is-builtin-module": {
- "version": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz",
- "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=",
- "requires": {
- "builtin-modules": "^1.0.0"
- }
+ "integrity": "sha1-76ouqdqg16suoTqXsritUf776L4=",
+ "dev": true
},
"is-callable": {
"version": "1.1.3",
@@ -3992,12 +4605,14 @@
"is-extendable": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
- "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik="
+ "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=",
+ "dev": true
},
"is-extglob": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
- "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI="
+ "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
+ "dev": true
},
"is-finite": {
"version": "1.0.2",
@@ -4005,6 +4620,13 @@
"integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=",
"requires": {
"number-is-nan": "^1.0.0"
+ },
+ "dependencies": {
+ "number-is-nan": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
+ "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0="
+ }
}
},
"is-fullwidth-code-point": {
@@ -4013,12 +4635,20 @@
"integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
"requires": {
"number-is-nan": "^1.0.0"
+ },
+ "dependencies": {
+ "number-is-nan": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
+ "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0="
+ }
}
},
"is-glob": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz",
"integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=",
+ "dev": true,
"requires": {
"is-extglob": "^2.1.1"
}
@@ -4027,6 +4657,7 @@
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
"integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
+ "dev": true,
"requires": {
"kind-of": "^3.0.2"
},
@@ -4035,6 +4666,7 @@
"version": "3.2.2",
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true,
"requires": {
"is-buffer": "^1.1.5"
}
@@ -4057,6 +4689,7 @@
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/is-odd/-/is-odd-2.0.0.tgz",
"integrity": "sha1-dkZiRnH9fqVYzNmieVGC8pWPGyQ=",
+ "dev": true,
"requires": {
"is-number": "^4.0.0"
},
@@ -4064,7 +4697,8 @@
"is-number": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz",
- "integrity": "sha1-ACbjf1RU1z41bf5lZGmYZ8an8P8="
+ "integrity": "sha1-ACbjf1RU1z41bf5lZGmYZ8an8P8=",
+ "dev": true
}
}
},
@@ -4096,6 +4730,7 @@
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
"integrity": "sha1-LBY7P6+xtgbZ0Xko8FwqHDjgdnc=",
+ "dev": true,
"requires": {
"isobject": "^3.0.1"
}
@@ -4121,10 +4756,6 @@
"integrity": "sha1-+xj4fOH+uSUWnJpAfBkxijIG7Yg=",
"dev": true
},
- "is-stream": {
- "version": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
- "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ="
- },
"is-string": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.4.tgz",
@@ -4144,54 +4775,31 @@
"dev": true
},
"is-typedarray": {
- "version": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
"integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo="
},
"is-windows": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz",
- "integrity": "sha1-0YUOuXkezRjmGCzhKjDzlmNLsZ0="
- },
- "isarray": {
- "version": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
- "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
+ "integrity": "sha1-0YUOuXkezRjmGCzhKjDzlmNLsZ0=",
+ "dev": true
},
"isexe": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
- "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA="
+ "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
+ "dev": true
},
"isobject": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
- "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8="
- },
- "isomorphic-fetch": {
- "version": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz",
- "integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=",
- "requires": {
- "node-fetch": "^1.0.1",
- "whatwg-fetch": ">=0.10.0"
- },
- "dependencies": {
- "node-fetch": {
- "version": "1.7.3",
- "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz",
- "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==",
- "requires": {
- "encoding": "^0.1.11",
- "is-stream": "^1.0.1"
- }
- },
- "whatwg-fetch": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-2.0.4.tgz",
- "integrity": "sha512-dcQ1GWpOD/eEQ97k66aiEVpNnapVj90/+R+SXTPYGHpYBBypfKJEQjLrvMZ7YXbKm21gXd4NcuxUTjiv1YtLng=="
- }
- }
+ "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+ "dev": true
},
"isstream": {
- "version": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
"integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo="
},
"iterall": {
@@ -4259,15 +4867,6 @@
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz",
"integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A="
},
- "json-stable-stringify": {
- "version": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz",
- "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=",
- "dev": true,
- "optional": true,
- "requires": {
- "jsonify": "~0.0.0"
- }
- },
"json-stable-stringify-without-jsonify": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
@@ -4275,7 +4874,8 @@
"dev": true
},
"json-stringify-safe": {
- "version": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
"integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus="
},
"json3": {
@@ -4295,14 +4895,16 @@
"integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=",
"requires": {
"graceful-fs": "^4.1.6"
+ },
+ "dependencies": {
+ "graceful-fs": {
+ "version": "4.1.11",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
+ "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=",
+ "optional": true
+ }
}
},
- "jsonify": {
- "version": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz",
- "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=",
- "dev": true,
- "optional": true
- },
"jsprim": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
@@ -4321,19 +4923,10 @@
}
}
},
- "jsx-ast-utils": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-2.0.1.tgz",
- "integrity": "sha1-6AGxs5mF4g//yHtA43SAgOLcrH8=",
- "dev": true,
- "requires": {
- "array-includes": "^3.0.3"
- }
- },
"just-extend": {
"version": "1.1.27",
"resolved": "https://registry.npmjs.org/just-extend/-/just-extend-1.1.27.tgz",
- "integrity": "sha512-mJVp13Ix6gFo3SBAy9U/kL+oeZqzlYYYLQBwXVBlVzIsZwBqGREnOro24oC/8s8aox+rJhtZ2DiQof++IrkA+g==",
+ "integrity": "sha1-7G55QQ/5FORyZSq/oOYDwD1g6QU=",
"dev": true
},
"keytar": {
@@ -4348,7 +4941,8 @@
"kind-of": {
"version": "6.0.2",
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
- "integrity": "sha1-ARRrNqYhjmTljzqNZt5df8b20FE="
+ "integrity": "sha1-ARRrNqYhjmTljzqNZt5df8b20FE=",
+ "dev": true
},
"lazy-cache": {
"version": "2.0.2",
@@ -4362,6 +4956,7 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz",
"integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=",
+ "dev": true,
"requires": {
"invert-kv": "^1.0.0"
}
@@ -4440,6 +5035,20 @@
"boom": "2.x.x"
}
},
+ "extend": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz",
+ "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=",
+ "dev": true,
+ "optional": true
+ },
+ "forever-agent": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
+ "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=",
+ "dev": true,
+ "optional": true
+ },
"form-data": {
"version": "2.1.4",
"resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz",
@@ -4464,6 +5073,13 @@
}
}
},
+ "graceful-fs": {
+ "version": "4.1.11",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
+ "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=",
+ "dev": true,
+ "optional": true
+ },
"har-schema": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/har-schema/-/har-schema-1.0.5.tgz",
@@ -4513,6 +5129,44 @@
"sshpk": "^1.7.0"
}
},
+ "is-typedarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
+ "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=",
+ "dev": true,
+ "optional": true
+ },
+ "isstream": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
+ "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=",
+ "dev": true,
+ "optional": true
+ },
+ "json-stable-stringify": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz",
+ "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "jsonify": "~0.0.0"
+ }
+ },
+ "json-stringify-safe": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
+ "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=",
+ "dev": true,
+ "optional": true
+ },
+ "jsonify": {
+ "version": "0.0.0",
+ "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz",
+ "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=",
+ "dev": true,
+ "optional": true
+ },
"mime": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz",
@@ -4520,6 +5174,13 @@
"dev": true,
"optional": true
},
+ "oauth-sign": {
+ "version": "0.8.2",
+ "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz",
+ "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=",
+ "dev": true,
+ "optional": true
+ },
"performance-now": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/performance-now/-/performance-now-0.2.0.tgz",
@@ -4604,6 +5265,13 @@
"dev": true,
"optional": true
},
+ "stringstream": {
+ "version": "0.0.5",
+ "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz",
+ "integrity": "sha1-TkhM1N5aC7vuGORjB3EKioFiGHg=",
+ "dev": true,
+ "optional": true
+ },
"tough-cookie": {
"version": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.2.tgz",
"integrity": "sha512-42UXjmzk88F7URyg9wDV/dlQ7hXtl/SDV6xIMVdDq82cnDGQDyg8mI8xGBPOwpEfbhvrja6cJ8H1wr0xxykBKA==",
@@ -4623,20 +5291,11 @@
"type-check": "~0.3.2"
}
},
- "load-json-file": {
- "version": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz",
- "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=",
- "requires": {
- "graceful-fs": "^4.1.2",
- "parse-json": "^2.2.0",
- "pify": "^2.0.0",
- "strip-bom": "^3.0.0"
- }
- },
"locate-path": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz",
"integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=",
+ "dev": true,
"requires": {
"p-locate": "^2.0.0",
"path-exists": "^3.0.0"
@@ -4726,7 +5385,8 @@
"lodash.isequal": {
"version": "4.5.0",
"resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz",
- "integrity": "sha1-QVxEePK8wwEgwizhDtMib30+GOA="
+ "integrity": "sha1-QVxEePK8wwEgwizhDtMib30+GOA=",
+ "dev": true
},
"lodash.keys": {
"version": "3.1.2",
@@ -4747,16 +5407,9 @@
"lolex": {
"version": "2.3.2",
"resolved": "https://registry.npmjs.org/lolex/-/lolex-2.3.2.tgz",
- "integrity": "sha512-A5pN2tkFj7H0dGIAM6MFvHKMJcPnjZsOMvR7ujCjfgW5TbV6H9vb1PgxLtHvjqNZTHsUolz+6/WEO0N1xNx2ng==",
+ "integrity": "sha1-hflFBCUQO/nnpgZo6iXcQydMqAc=",
"dev": true
},
- "loose-envify": {
- "version": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz",
- "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=",
- "requires": {
- "js-tokens": "^3.0.0"
- }
- },
"lru-cache": {
"version": "2.7.3",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz",
@@ -4766,12 +5419,14 @@
"map-cache": {
"version": "0.2.2",
"resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
- "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8="
+ "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=",
+ "dev": true
},
"map-visit": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz",
"integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=",
+ "dev": true,
"requires": {
"object-visit": "^1.0.0"
}
@@ -4780,6 +5435,7 @@
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz",
"integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=",
+ "dev": true,
"requires": {
"mimic-fn": "^1.0.0"
}
@@ -4839,7 +5495,8 @@
"mimic-fn": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz",
- "integrity": "sha1-ggyGo5M0ZA6ZUWkovQP8qIBX0CI="
+ "integrity": "sha1-ggyGo5M0ZA6ZUWkovQP8qIBX0CI=",
+ "dev": true
},
"mimic-response": {
"version": "1.0.0",
@@ -4855,13 +5512,6 @@
"dom-walk": "^0.1.0"
}
},
- "minimatch": {
- "version": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
- "integrity": "sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=",
- "requires": {
- "brace-expansion": "^1.1.7"
- }
- },
"minimist": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
@@ -4888,93 +5538,38 @@
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz",
"integrity": "sha1-pJ5yaNzhoNlpjkUybFYm3zVD0P4=",
+ "dev": true,
"requires": {
"for-in": "^1.0.2",
"is-extendable": "^1.0.1"
},
"dependencies": {
- "is-extendable": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
- "integrity": "sha1-p0cPnkJnM9gb2B4RVSZOOjUHyrQ=",
- "requires": {
- "is-plain-object": "^2.0.4"
- }
- }
- }
- },
- "mkdirp": {
- "version": "0.5.1",
- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
- "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
- "requires": {
- "minimist": "0.0.8"
- },
- "dependencies": {
- "minimist": {
- "version": "0.0.8",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
- "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0="
- }
- }
- },
- "mocha": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/mocha/-/mocha-5.1.1.tgz",
- "integrity": "sha1-t3THVgnawF60j02bodgnuX/eins=",
- "dev": true,
- "requires": {
- "browser-stdout": "1.3.1",
- "commander": "2.11.0",
- "debug": "3.1.0",
- "diff": "3.5.0",
- "escape-string-regexp": "1.0.5",
- "glob": "7.1.2",
- "growl": "1.10.3",
- "he": "1.1.1",
- "minimatch": "3.0.4",
- "mkdirp": "0.5.1",
- "supports-color": "4.4.0"
- },
- "dependencies": {
- "debug": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
- "integrity": "sha1-W7WgZyYotkFJVmuhaBnmFRjGcmE=",
- "dev": true,
- "requires": {
- "ms": "2.0.0"
- }
- },
- "diff": {
- "version": "3.5.0",
- "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz",
- "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==",
- "dev": true
- },
- "growl": {
- "version": "1.10.3",
- "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.3.tgz",
- "integrity": "sha1-GSa6kM8+3+KttJJ/WIC8IsZseQ8=",
- "dev": true
- },
- "has-flag": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz",
- "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=",
- "dev": true
- },
- "supports-color": {
- "version": "4.4.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.4.0.tgz",
- "integrity": "sha1-iD992rwWUUKyphQn8zUt7RldGj4=",
+ "is-extendable": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
+ "integrity": "sha1-p0cPnkJnM9gb2B4RVSZOOjUHyrQ=",
"dev": true,
"requires": {
- "has-flag": "^2.0.0"
+ "is-plain-object": "^2.0.4"
}
}
}
},
+ "mkdirp": {
+ "version": "0.5.1",
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
+ "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
+ "requires": {
+ "minimist": "0.0.8"
+ },
+ "dependencies": {
+ "minimist": {
+ "version": "0.0.8",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
+ "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0="
+ }
+ }
+ },
"mocha-appveyor-reporter": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/mocha-appveyor-reporter/-/mocha-appveyor-reporter-0.4.0.tgz",
@@ -4990,6 +5585,36 @@
"integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=",
"dev": true
},
+ "extend": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz",
+ "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=",
+ "dev": true
+ },
+ "forever-agent": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
+ "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=",
+ "dev": true
+ },
+ "is-typedarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
+ "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=",
+ "dev": true
+ },
+ "isstream": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
+ "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=",
+ "dev": true
+ },
+ "json-stringify-safe": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
+ "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=",
+ "dev": true
+ },
"mime-db": {
"version": "1.33.0",
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz",
@@ -5005,6 +5630,12 @@
"mime-db": "~1.33.0"
}
},
+ "oauth-sign": {
+ "version": "0.8.2",
+ "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz",
+ "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=",
+ "dev": true
+ },
"request": {
"version": "2.83.0",
"resolved": "https://registry.npmjs.org/request/-/request-2.83.0.tgz",
@@ -5044,6 +5675,12 @@
"depd": "1.1.2",
"request": "2.83.0"
}
+ },
+ "stringstream": {
+ "version": "0.0.5",
+ "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz",
+ "integrity": "sha1-TkhM1N5aC7vuGORjB3EKioFiGHg=",
+ "dev": true
}
}
},
@@ -5096,6 +5733,18 @@
"minimatch": "0.3"
}
},
+ "growl": {
+ "version": "1.9.2",
+ "resolved": "https://registry.npmjs.org/growl/-/growl-1.9.2.tgz",
+ "integrity": "sha1-Dqd0NxXbjY3ixe3hd14bRayFwC8=",
+ "dev": true
+ },
+ "inherits": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
+ "dev": true
+ },
"minimatch": {
"version": "0.3.0",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.3.0.tgz",
@@ -5171,11 +5820,6 @@
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
"integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
},
- "multi-list-selection": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/multi-list-selection/-/multi-list-selection-0.1.1.tgz",
- "integrity": "sha1-E8R3DJSkBd+ty8YCMvHAIixZ3EQ="
- },
"mute-stream": {
"version": "0.0.7",
"resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz",
@@ -5191,6 +5835,7 @@
"version": "1.2.9",
"resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.9.tgz",
"integrity": "sha1-h59xUMstq3pHElkGbBBO7m4Pp8I=",
+ "dev": true,
"requires": {
"arr-diff": "^4.0.0",
"array-unique": "^0.3.2",
@@ -5210,6 +5855,7 @@
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
"integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
+ "dev": true,
"requires": {
"assign-symbols": "^1.0.0",
"is-extendable": "^1.0.1"
@@ -5219,6 +5865,7 @@
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
"integrity": "sha1-p0cPnkJnM9gb2B4RVSZOOjUHyrQ=",
+ "dev": true,
"requires": {
"is-plain-object": "^2.0.4"
}
@@ -5252,7 +5899,7 @@
"nise": {
"version": "1.3.3",
"resolved": "https://registry.npmjs.org/nise/-/nise-1.3.3.tgz",
- "integrity": "sha512-v1J/FLUB9PfGqZLGDBhQqODkbLotP0WtLo9R4EJY2PPu5f5Xg4o0rA8FDlmrjFSv9vBBKcfnOSpfYYuu5RTHqg==",
+ "integrity": "sha1-wXqFAGaood/rN/kh2gJEGvxKgro=",
"dev": true,
"requires": {
"@sinonjs/formatio": "^2.0.0",
@@ -5279,7 +5926,8 @@
"node-int64": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz",
- "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs="
+ "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=",
+ "dev": true
},
"nomnom": {
"version": "1.6.2",
@@ -5296,59 +5944,11 @@
"resolved": "https://registry.npmjs.org/noop-logger/-/noop-logger-0.1.1.tgz",
"integrity": "sha1-lKKxYzxPExdVMAfYlm/Q6EG2pMI="
},
- "normalize-package-data": {
- "version": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz",
- "integrity": "sha1-EvlaMH1YNSB1oEkHuErIvpisAS8=",
- "requires": {
- "hosted-git-info": "^2.1.4",
- "is-builtin-module": "^1.0.0",
- "semver": "2 || 3 || 4 || 5",
- "validate-npm-package-license": "^3.0.1"
- },
- "dependencies": {
- "hosted-git-info": {
- "version": "2.6.0",
- "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.6.0.tgz",
- "integrity": "sha512-lIbgIIQA3lz5XaB6vxakj6sDHADJiZadYEJB+FgA+C4nubM1NwcuvUr9EJPmnH1skZqpqUzWborWo8EIUi0Sdw=="
- },
- "spdx-correct": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.0.0.tgz",
- "integrity": "sha512-N19o9z5cEyc8yQQPukRCZ9EUmb4HUpnrmaL/fxS2pBo2jbfcFRVuFZ/oFC+vZz0MNNk0h80iMn5/S6qGZOL5+g==",
- "requires": {
- "spdx-expression-parse": "^3.0.0",
- "spdx-license-ids": "^3.0.0"
- }
- },
- "spdx-expression-parse": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz",
- "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==",
- "requires": {
- "spdx-exceptions": "^2.1.0",
- "spdx-license-ids": "^3.0.0"
- }
- },
- "spdx-license-ids": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.0.tgz",
- "integrity": "sha512-2+EPwgbnmOIl8HjGBXXMd9NAu02vLjOO1nWw4kmeRDFyHn+M/ETfHxQUK0oXg8ctgVnl9t3rosNVsZ1jG61nDA=="
- },
- "validate-npm-package-license": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.3.tgz",
- "integrity": "sha512-63ZOUnL4SIXj4L0NixR3L1lcjO38crAbgrTpl28t8jjrfuiOBL5Iygm+60qPs/KsZGzPNg6Smnc/oY16QTjF0g==",
- "requires": {
- "spdx-correct": "^3.0.0",
- "spdx-expression-parse": "^3.0.0"
- }
- }
- }
- },
"npm-run-path": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz",
"integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=",
+ "dev": true,
"requires": {
"path-key": "^2.0.0"
}
@@ -5373,22 +5973,16 @@
"boolbase": "~1.0.0"
}
},
- "number-is-nan": {
- "version": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
- "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0="
- },
"oauth-sign": {
- "version": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz",
+ "version": "0.8.2",
+ "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz",
"integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM="
},
- "object-assign": {
- "version": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
- "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM="
- },
"object-copy": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz",
"integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=",
+ "dev": true,
"requires": {
"copy-descriptor": "^0.1.0",
"define-property": "^0.2.5",
@@ -5399,6 +5993,7 @@
"version": "0.2.5",
"resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
"integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+ "dev": true,
"requires": {
"is-descriptor": "^0.1.0"
}
@@ -5440,6 +6035,7 @@
"version": "3.2.2",
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true,
"requires": {
"is-buffer": "^1.1.5"
}
@@ -5468,6 +6064,7 @@
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz",
"integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=",
+ "dev": true,
"requires": {
"isobject": "^3.0.0"
}
@@ -5516,6 +6113,7 @@
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz",
"integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=",
+ "dev": true,
"requires": {
"isobject": "^3.0.1"
}
@@ -5540,13 +6138,6 @@
}
}
},
- "once": {
- "version": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
- "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
- "requires": {
- "wrappy": "1"
- }
- },
"onetime": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz",
@@ -5586,33 +6177,28 @@
}
}
},
- "os-homedir": {
- "version": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
- "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M="
- },
"os-locale": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz",
"integrity": "sha1-QrwpAKa1uL0XN2yOiCtlr8zyS/I=",
+ "dev": true,
"requires": {
"execa": "^0.7.0",
"lcid": "^1.0.0",
"mem": "^1.1.0"
}
},
- "os-tmpdir": {
- "version": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
- "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ="
- },
"p-finally": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz",
- "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4="
+ "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=",
+ "dev": true
},
"p-limit": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.2.0.tgz",
"integrity": "sha1-DpK2vty1nwIsE9DxlJ3ILRWQnxw=",
+ "dev": true,
"requires": {
"p-try": "^1.0.0"
}
@@ -5621,6 +6207,7 @@
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz",
"integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=",
+ "dev": true,
"requires": {
"p-limit": "^1.1.0"
}
@@ -5628,14 +6215,8 @@
"p-try": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz",
- "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M="
- },
- "parse-json": {
- "version": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
- "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
- "requires": {
- "error-ex": "^1.2.0"
- }
+ "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=",
+ "dev": true
},
"parse5": {
"version": "3.0.3",
@@ -5649,25 +6230,14 @@
"pascalcase": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz",
- "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ="
+ "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=",
+ "dev": true
},
"path-dirname": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz",
- "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA="
- },
- "path-exists": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz",
- "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=",
- "dev": true,
- "requires": {
- "pinkie-promise": "^2.0.0"
- }
- },
- "path-is-absolute": {
- "version": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
- "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18="
+ "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=",
+ "dev": true
},
"path-is-inside": {
"version": "1.0.2",
@@ -5678,11 +6248,7 @@
"path-key": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
- "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A="
- },
- "path-parse": {
- "version": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz",
- "integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME=",
+ "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=",
"dev": true
},
"path-to-regexp": {
@@ -5702,13 +6268,6 @@
}
}
},
- "path-type": {
- "version": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz",
- "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=",
- "requires": {
- "pify": "^2.0.0"
- }
- },
"pathval": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.0.tgz",
@@ -5720,32 +6279,6 @@
"resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
"integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns="
},
- "pify": {
- "version": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
- "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw="
- },
- "pinkie": {
- "version": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz",
- "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=",
- "dev": true
- },
- "pinkie-promise": {
- "version": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
- "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=",
- "dev": true,
- "requires": {
- "pinkie": "^2.0.0"
- }
- },
- "pkg-dir": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-1.0.0.tgz",
- "integrity": "sha1-ektQio1bstYp1EcFb/TpyTFM89Q=",
- "dev": true,
- "requires": {
- "find-up": "^1.0.0"
- }
- },
"pluralize": {
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/pluralize/-/pluralize-7.0.0.tgz",
@@ -5755,7 +6288,8 @@
"posix-character-classes": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
- "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs="
+ "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=",
+ "dev": true
},
"prebuild-install": {
"version": "2.5.3",
@@ -5777,6 +6311,13 @@
"tar-fs": "^1.13.0",
"tunnel-agent": "^0.6.0",
"which-pm-runs": "^1.0.0"
+ },
+ "dependencies": {
+ "os-homedir": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
+ "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M="
+ }
}
},
"prelude-ls": {
@@ -5796,12 +6337,6 @@
"integrity": "sha1-FjjYqONML0QKkduVq5rrZ3/Bhc8=",
"dev": true
},
- "process-nextick-args": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz",
- "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==",
- "dev": true
- },
"progress": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/progress/-/progress-2.0.0.tgz",
@@ -5818,7 +6353,7 @@
"prop-types": {
"version": "15.6.1",
"resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.1.tgz",
- "integrity": "sha512-4ec7bY1Y66LymSUOH/zARVYObB23AT2h8cf6e/O6ZALB/N0sqZFEx7rq6EYPX2MkOdKORuooI/H5k9TlR4q7kQ==",
+ "integrity": "sha1-NmREU1ZCVd3aORGR+zoSXL32VMo=",
"requires": {
"fbjs": "^0.8.16",
"loose-envify": "^1.3.1",
@@ -5843,6 +6378,47 @@
"setimmediate": "^1.0.5",
"ua-parser-js": "^0.7.9"
}
+ },
+ "is-stream": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
+ "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ="
+ },
+ "isomorphic-fetch": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz",
+ "integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=",
+ "requires": {
+ "node-fetch": "^1.0.1",
+ "whatwg-fetch": ">=0.10.0"
+ }
+ },
+ "loose-envify": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz",
+ "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=",
+ "requires": {
+ "js-tokens": "^3.0.0"
+ }
+ },
+ "node-fetch": {
+ "version": "1.7.3",
+ "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz",
+ "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==",
+ "requires": {
+ "encoding": "^0.1.11",
+ "is-stream": "^1.0.1"
+ }
+ },
+ "object-assign": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM="
+ },
+ "setimmediate": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz",
+ "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU="
}
}
},
@@ -5856,7 +6432,8 @@
"pseudomap": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz",
- "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM="
+ "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=",
+ "dev": true
},
"pump": {
"version": "2.0.1",
@@ -5865,6 +6442,21 @@
"requires": {
"end-of-stream": "^1.1.0",
"once": "^1.3.1"
+ },
+ "dependencies": {
+ "once": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+ "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
+ "requires": {
+ "wrappy": "1"
+ }
+ },
+ "wrappy": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
+ "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
+ }
}
},
"punycode": {
@@ -5942,6 +6534,47 @@
"setimmediate": "^1.0.5",
"ua-parser-js": "^0.7.9"
}
+ },
+ "is-stream": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
+ "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ="
+ },
+ "isomorphic-fetch": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz",
+ "integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=",
+ "requires": {
+ "node-fetch": "^1.0.1",
+ "whatwg-fetch": ">=0.10.0"
+ }
+ },
+ "loose-envify": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz",
+ "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=",
+ "requires": {
+ "js-tokens": "^3.0.0"
+ }
+ },
+ "node-fetch": {
+ "version": "1.7.3",
+ "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz",
+ "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==",
+ "requires": {
+ "encoding": "^0.1.11",
+ "is-stream": "^1.0.1"
+ }
+ },
+ "object-assign": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM="
+ },
+ "setimmediate": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz",
+ "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU="
}
}
},
@@ -5974,6 +6607,47 @@
"setimmediate": "^1.0.5",
"ua-parser-js": "^0.7.9"
}
+ },
+ "is-stream": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
+ "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ="
+ },
+ "isomorphic-fetch": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz",
+ "integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=",
+ "requires": {
+ "node-fetch": "^1.0.1",
+ "whatwg-fetch": ">=0.10.0"
+ }
+ },
+ "loose-envify": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz",
+ "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=",
+ "requires": {
+ "js-tokens": "^3.0.0"
+ }
+ },
+ "node-fetch": {
+ "version": "1.7.3",
+ "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz",
+ "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==",
+ "requires": {
+ "encoding": "^0.1.11",
+ "is-stream": "^1.0.1"
+ }
+ },
+ "object-assign": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM="
+ },
+ "setimmediate": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz",
+ "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU="
}
}
},
@@ -6004,6 +6678,42 @@
"ua-parser-js": "^0.7.9"
}
},
+ "is-stream": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
+ "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ="
+ },
+ "isomorphic-fetch": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz",
+ "integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=",
+ "requires": {
+ "node-fetch": "^1.0.1",
+ "whatwg-fetch": ">=0.10.0"
+ }
+ },
+ "loose-envify": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz",
+ "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=",
+ "requires": {
+ "js-tokens": "^3.0.0"
+ }
+ },
+ "node-fetch": {
+ "version": "1.7.3",
+ "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz",
+ "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==",
+ "requires": {
+ "encoding": "^0.1.11",
+ "is-stream": "^1.0.1"
+ }
+ },
+ "object-assign": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM="
+ },
"prop-types": {
"version": "15.6.1",
"resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.1.tgz",
@@ -6013,6 +6723,11 @@
"loose-envify": "^1.3.1",
"object-assign": "^4.1.1"
}
+ },
+ "setimmediate": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz",
+ "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU="
}
}
},
@@ -6054,6 +6769,53 @@
"setimmediate": "^1.0.5",
"ua-parser-js": "^0.7.9"
}
+ },
+ "is-stream": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
+ "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=",
+ "dev": true
+ },
+ "isomorphic-fetch": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz",
+ "integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=",
+ "dev": true,
+ "requires": {
+ "node-fetch": "^1.0.1",
+ "whatwg-fetch": ">=0.10.0"
+ }
+ },
+ "loose-envify": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz",
+ "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=",
+ "dev": true,
+ "requires": {
+ "js-tokens": "^3.0.0"
+ }
+ },
+ "node-fetch": {
+ "version": "1.7.3",
+ "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz",
+ "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==",
+ "dev": true,
+ "requires": {
+ "encoding": "^0.1.11",
+ "is-stream": "^1.0.1"
+ }
+ },
+ "object-assign": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
+ "dev": true
+ },
+ "setimmediate": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz",
+ "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=",
+ "dev": true
}
}
},
@@ -6097,6 +6859,42 @@
"ua-parser-js": "^0.7.9"
}
},
+ "is-stream": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
+ "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ="
+ },
+ "isomorphic-fetch": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz",
+ "integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=",
+ "requires": {
+ "node-fetch": "^1.0.1",
+ "whatwg-fetch": ">=0.10.0"
+ }
+ },
+ "loose-envify": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz",
+ "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=",
+ "requires": {
+ "js-tokens": "^3.0.0"
+ }
+ },
+ "node-fetch": {
+ "version": "1.7.3",
+ "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz",
+ "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==",
+ "requires": {
+ "encoding": "^0.1.11",
+ "is-stream": "^1.0.1"
+ }
+ },
+ "object-assign": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM="
+ },
"prop-types": {
"version": "15.6.1",
"resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.1.tgz",
@@ -6106,6 +6904,11 @@
"loose-envify": "^1.3.1",
"object-assign": "^4.1.1"
}
+ },
+ "setimmediate": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz",
+ "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU="
}
}
},
@@ -6141,33 +6944,53 @@
"setimmediate": "^1.0.5",
"ua-parser-js": "^0.7.9"
}
- }
- }
- },
- "read-pkg": {
- "version": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz",
- "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=",
- "requires": {
- "load-json-file": "^2.0.0",
- "normalize-package-data": "^2.3.2",
- "path-type": "^2.0.0"
- }
- },
- "read-pkg-up": {
- "version": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz",
- "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=",
- "requires": {
- "find-up": "^2.0.0",
- "read-pkg": "^2.0.0"
- },
- "dependencies": {
- "find-up": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
- "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=",
+ },
+ "is-stream": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
+ "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=",
+ "dev": true
+ },
+ "isomorphic-fetch": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz",
+ "integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=",
+ "dev": true,
+ "requires": {
+ "node-fetch": "^1.0.1",
+ "whatwg-fetch": ">=0.10.0"
+ }
+ },
+ "loose-envify": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz",
+ "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=",
+ "dev": true,
"requires": {
- "locate-path": "^2.0.0"
+ "js-tokens": "^3.0.0"
}
+ },
+ "node-fetch": {
+ "version": "1.7.3",
+ "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz",
+ "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==",
+ "dev": true,
+ "requires": {
+ "encoding": "^0.1.11",
+ "is-stream": "^1.0.1"
+ }
+ },
+ "object-assign": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
+ "dev": true
+ },
+ "setimmediate": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz",
+ "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=",
+ "dev": true
}
}
},
@@ -6185,10 +7008,30 @@
"util-deprecate": "~1.0.1"
},
"dependencies": {
+ "core-util-is": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+ "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
+ },
+ "inherits": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
+ },
+ "isarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
+ },
"process-nextick-args": {
"version": "1.0.7",
"resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz",
"integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M="
+ },
+ "util-deprecate": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
+ "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
}
}
},
@@ -6196,6 +7039,7 @@
"version": "1.5.2",
"resolved": "https://registry.npmjs.org/readdir-enhanced/-/readdir-enhanced-1.5.2.tgz",
"integrity": "sha1-YUYwSGkKxqRVt1ti+nioj43IXlM=",
+ "dev": true,
"requires": {
"call-me-maybe": "^1.0.1",
"es6-promise": "^4.1.0",
@@ -6211,6 +7055,7 @@
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz",
"integrity": "sha1-H07OJ+ALC2XgJHpoEOaoXYOldSw=",
+ "dev": true,
"requires": {
"extend-shallow": "^3.0.2",
"safe-regex": "^1.1.0"
@@ -6220,6 +7065,7 @@
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
"integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
+ "dev": true,
"requires": {
"assign-symbols": "^1.0.0",
"is-extendable": "^1.0.1"
@@ -6229,6 +7075,7 @@
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
"integrity": "sha1-p0cPnkJnM9gb2B4RVSZOOjUHyrQ=",
+ "dev": true,
"requires": {
"is-plain-object": "^2.0.4"
}
@@ -6245,6 +7092,7 @@
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/relay-compiler/-/relay-compiler-1.4.1.tgz",
"integrity": "sha1-EOg/D13o2z0ACFGkwOQ1590d65U=",
+ "dev": true,
"requires": {
"babel-generator": "^6.24.1",
"babel-polyfill": "^6.20.0",
@@ -6264,6 +7112,16 @@
"yargs": "^9.0.0"
},
"dependencies": {
+ "ansi-regex": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8="
+ },
+ "ansi-styles": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
+ "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4="
+ },
"babel-code-frame": {
"version": "6.26.0",
"resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz",
@@ -6274,6 +7132,14 @@
"js-tokens": "^3.0.2"
}
},
+ "babel-messages": {
+ "version": "6.23.0",
+ "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz",
+ "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=",
+ "requires": {
+ "babel-runtime": "^6.22.0"
+ }
+ },
"babel-traverse": {
"version": "6.26.0",
"resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz",
@@ -6317,6 +7183,28 @@
"resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz",
"integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ=="
},
+ "chalk": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+ "requires": {
+ "ansi-styles": "^2.2.1",
+ "escape-string-regexp": "^1.0.2",
+ "has-ansi": "^2.0.0",
+ "strip-ansi": "^3.0.0",
+ "supports-color": "^2.0.0"
+ }
+ },
+ "escape-string-regexp": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+ "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ="
+ },
+ "esutils": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz",
+ "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs="
+ },
"graphql": {
"version": "0.11.7",
"resolved": "https://registry.npmjs.org/graphql/-/graphql-0.11.7.tgz",
@@ -6325,6 +7213,14 @@
"iterall": "1.1.3"
}
},
+ "has-ansi": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
+ "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
+ "requires": {
+ "ansi-regex": "^2.0.0"
+ }
+ },
"invariant": {
"version": "2.2.3",
"resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.3.tgz",
@@ -6333,10 +7229,36 @@
"loose-envify": "^1.0.0"
}
},
+ "loose-envify": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz",
+ "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=",
+ "requires": {
+ "js-tokens": "^3.0.0"
+ }
+ },
"regenerator-runtime": {
"version": "0.11.1",
"resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz",
"integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg=="
+ },
+ "strip-ansi": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+ "requires": {
+ "ansi-regex": "^2.0.0"
+ }
+ },
+ "supports-color": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
+ "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc="
+ },
+ "to-fast-properties": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz",
+ "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc="
}
}
},
@@ -6358,12 +7280,14 @@
"repeat-element": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz",
- "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo="
+ "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=",
+ "dev": true
},
"repeat-string": {
"version": "1.6.1",
"resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
- "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc="
+ "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=",
+ "dev": true
},
"repeating": {
"version": "2.0.1",
@@ -6420,12 +7344,14 @@
"require-directory": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
- "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I="
+ "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=",
+ "dev": true
},
"require-main-filename": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz",
- "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE="
+ "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=",
+ "dev": true
},
"require-uncached": {
"version": "1.0.3",
@@ -6437,15 +7363,6 @@
"resolve-from": "^1.0.0"
}
},
- "resolve": {
- "version": "1.7.1",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.7.1.tgz",
- "integrity": "sha1-qt1lY3T9KYruiVvAJrgpdBhnf9M=",
- "dev": true,
- "requires": {
- "path-parse": "^1.0.5"
- }
- },
"resolve-from": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-1.0.1.tgz",
@@ -6455,7 +7372,8 @@
"resolve-url": {
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz",
- "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo="
+ "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=",
+ "dev": true
},
"restore-cursor": {
"version": "2.0.0",
@@ -6470,7 +7388,8 @@
"ret": {
"version": "0.1.15",
"resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz",
- "integrity": "sha1-uKSCXVvbH8P29Twrwz+BOIaBx7w="
+ "integrity": "sha1-uKSCXVvbH8P29Twrwz+BOIaBx7w=",
+ "dev": true
},
"rst-selector-parser": {
"version": "2.2.3",
@@ -6515,6 +7434,7 @@
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
"integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=",
+ "dev": true,
"requires": {
"ret": "~0.1.10"
}
@@ -6522,7 +7442,7 @@
"samsam": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/samsam/-/samsam-1.3.0.tgz",
- "integrity": "sha512-1HwIYD/8UlOtFS3QO3w7ey+SdSDFE4HRNLZoZRYVQefrOY3l17epswImeB1ijgJFQJodIaHcwkp3r/myBjFVbg==",
+ "integrity": "sha1-jR2TUOJWItow3j5EumkrUiGrfFA=",
"dev": true
},
"semver": {
@@ -6547,6 +7467,7 @@
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz",
"integrity": "sha1-ca5KiPD+77v1LR6mBPP7MV67YnQ=",
+ "dev": true,
"requires": {
"extend-shallow": "^2.0.1",
"is-extendable": "^0.1.1",
@@ -6554,14 +7475,11 @@
"split-string": "^3.0.1"
}
},
- "setimmediate": {
- "version": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz",
- "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU="
- },
"shebang-command": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
"integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
+ "dev": true,
"requires": {
"shebang-regex": "^1.0.0"
}
@@ -6569,7 +7487,8 @@
"shebang-regex": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
- "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM="
+ "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=",
+ "dev": true
},
"sigmund": {
"version": "1.0.1",
@@ -6585,7 +7504,8 @@
"signedsource": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/signedsource/-/signedsource-1.0.0.tgz",
- "integrity": "sha1-HdrOSYF5j5O9gzlzgD2A1S6TrWo="
+ "integrity": "sha1-HdrOSYF5j5O9gzlzgD2A1S6TrWo=",
+ "dev": true
},
"simple-concat": {
"version": "1.0.0",
@@ -6600,18 +7520,27 @@
"decompress-response": "^3.3.0",
"once": "^1.3.1",
"simple-concat": "^1.0.0"
+ },
+ "dependencies": {
+ "once": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+ "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
+ "requires": {
+ "wrappy": "1"
+ }
+ },
+ "wrappy": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
+ "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
+ }
}
},
- "simulant": {
- "version": "0.2.2",
- "resolved": "https://registry.npmjs.org/simulant/-/simulant-0.2.2.tgz",
- "integrity": "sha1-8bzlJxK2p6DaON392n6DsgsdoB4=",
- "dev": true
- },
"sinon": {
"version": "5.0.2",
"resolved": "https://registry.npmjs.org/sinon/-/sinon-5.0.2.tgz",
- "integrity": "sha512-dWcrPbckIjxpKo7CGHZB/TNe5e2U1NWmXKg3ojdfmjoPDnLHsec1RXRfLAqL82e5HssXBB8T2e2tD5YwkNSG6A==",
+ "integrity": "sha1-HVS9b6PXNgUzM/AubhHe9P56Kpw=",
"dev": true,
"requires": {
"@sinonjs/formatio": "^2.0.0",
@@ -6626,7 +7555,7 @@
"supports-color": {
"version": "5.4.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz",
- "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==",
+ "integrity": "sha1-HGszdALCE3YF7+GfEP7DkPb6q1Q=",
"dev": true,
"requires": {
"has-flag": "^3.0.0"
@@ -6736,6 +7665,7 @@
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz",
"integrity": "sha1-bBdfhv8UvbByRWPo88GwIaKGhTs=",
+ "dev": true,
"requires": {
"define-property": "^1.0.0",
"isobject": "^3.0.0",
@@ -6746,6 +7676,7 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
"integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
+ "dev": true,
"requires": {
"is-descriptor": "^1.0.0"
}
@@ -6756,6 +7687,7 @@
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz",
"integrity": "sha1-+VZHlIbyrNeXAGk/b3uAXkWrVuI=",
+ "dev": true,
"requires": {
"kind-of": "^3.2.0"
},
@@ -6764,6 +7696,7 @@
"version": "3.2.2",
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true,
"requires": {
"is-buffer": "^1.1.5"
}
@@ -6787,6 +7720,7 @@
"version": "0.5.1",
"resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.1.tgz",
"integrity": "sha1-etD1k/IoFZjoVN+A8ZquS5LXoRo=",
+ "dev": true,
"requires": {
"atob": "^2.0.0",
"decode-uri-component": "^0.2.0",
@@ -6813,12 +7747,40 @@
"source-map-url": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz",
- "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM="
+ "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=",
+ "dev": true
+ },
+ "spdx-correct": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.0.0.tgz",
+ "integrity": "sha1-BaW01xU6GVvJLDxCW2nzsqlSTII=",
+ "dev": true,
+ "requires": {
+ "spdx-expression-parse": "^3.0.0",
+ "spdx-license-ids": "^3.0.0"
+ }
},
"spdx-exceptions": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.1.0.tgz",
- "integrity": "sha1-LHrmEFbHFKW5ubKyr30xHvXHj+k="
+ "integrity": "sha1-LHrmEFbHFKW5ubKyr30xHvXHj+k=",
+ "dev": true
+ },
+ "spdx-expression-parse": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz",
+ "integrity": "sha1-meEZt6XaAOBUkcn6M4t5BII7QdA=",
+ "dev": true,
+ "requires": {
+ "spdx-exceptions": "^2.1.0",
+ "spdx-license-ids": "^3.0.0"
+ }
+ },
+ "spdx-license-ids": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.0.tgz",
+ "integrity": "sha1-enzShHDMbToc/m1miG9rxDDTrIc=",
+ "dev": true
},
"split": {
"version": "1.0.1",
@@ -6826,12 +7788,20 @@
"integrity": "sha1-YFvZvjA6pZ+zX5Ip++oN3snqB9k=",
"requires": {
"through": "2"
+ },
+ "dependencies": {
+ "through": {
+ "version": "2.3.8",
+ "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
+ "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU="
+ }
}
},
"split-string": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz",
"integrity": "sha1-fLCd2jqGWFcFxks5pkZgOGguj+I=",
+ "dev": true,
"requires": {
"extend-shallow": "^3.0.0"
},
@@ -6840,6 +7810,7 @@
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
"integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
+ "dev": true,
"requires": {
"assign-symbols": "^1.0.0",
"is-extendable": "^1.0.1"
@@ -6849,6 +7820,7 @@
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
"integrity": "sha1-p0cPnkJnM9gb2B4RVSZOOjUHyrQ=",
+ "dev": true,
"requires": {
"is-plain-object": "^2.0.4"
}
@@ -6887,6 +7859,7 @@
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz",
"integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=",
+ "dev": true,
"requires": {
"define-property": "^0.2.5",
"object-copy": "^0.1.0"
@@ -6896,6 +7869,7 @@
"version": "0.2.5",
"resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
"integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+ "dev": true,
"requires": {
"is-descriptor": "^0.1.0"
}
@@ -7005,34 +7979,21 @@
}
},
"stringstream": {
- "version": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz",
+ "version": "0.0.5",
+ "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz",
"integrity": "sha1-TkhM1N5aC7vuGORjB3EKioFiGHg="
},
- "strip-ansi": {
- "version": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
- "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
- "requires": {
- "ansi-regex": "^2.0.0"
- }
- },
- "strip-bom": {
- "version": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
- "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM="
- },
"strip-eof": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz",
- "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8="
+ "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=",
+ "dev": true
},
"strip-json-comments": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
"integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo="
},
- "supports-color": {
- "version": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
- "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc="
- },
"table": {
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/table/-/table-4.0.2.tgz",
@@ -7067,6 +8028,12 @@
"supports-color": "^5.3.0"
}
},
+ "escape-string-regexp": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+ "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
+ "dev": true
+ },
"supports-color": {
"version": "5.4.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz",
@@ -7110,6 +8077,14 @@
"tar-stream": "^1.1.2"
},
"dependencies": {
+ "once": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+ "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
+ "requires": {
+ "wrappy": "1"
+ }
+ },
"pump": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/pump/-/pump-1.0.3.tgz",
@@ -7118,6 +8093,11 @@
"end-of-stream": "^1.1.0",
"once": "^1.3.1"
}
+ },
+ "wrappy": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
+ "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
}
}
},
@@ -7174,10 +8154,6 @@
"integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=",
"dev": true
},
- "through": {
- "version": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
- "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU="
- },
"tinycolor2": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.4.1.tgz",
@@ -7190,6 +8166,14 @@
"dev": true,
"requires": {
"os-tmpdir": "~1.0.1"
+ },
+ "dependencies": {
+ "os-tmpdir": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
+ "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=",
+ "dev": true
+ }
}
},
"to-buffer": {
@@ -7197,10 +8181,6 @@
"resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz",
"integrity": "sha1-STvUj2LXxD/N7TE6A9ytsuEhOoA="
},
- "to-fast-properties": {
- "version": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz",
- "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc="
- },
"to-iso-string": {
"version": "0.0.2",
"resolved": "https://registry.npmjs.org/to-iso-string/-/to-iso-string-0.0.2.tgz",
@@ -7211,6 +8191,7 @@
"version": "0.3.0",
"resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz",
"integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=",
+ "dev": true,
"requires": {
"kind-of": "^3.0.2"
},
@@ -7219,6 +8200,7 @@
"version": "3.2.2",
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true,
"requires": {
"is-buffer": "^1.1.5"
}
@@ -7229,6 +8211,7 @@
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz",
"integrity": "sha1-E8/dmzNlUvMLUfM6iuG0Knp1mc4=",
+ "dev": true,
"requires": {
"define-property": "^2.0.2",
"extend-shallow": "^3.0.2",
@@ -7240,6 +8223,7 @@
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
"integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
+ "dev": true,
"requires": {
"assign-symbols": "^1.0.0",
"is-extendable": "^1.0.1"
@@ -7249,6 +8233,7 @@
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
"integrity": "sha1-p0cPnkJnM9gb2B4RVSZOOjUHyrQ=",
+ "dev": true,
"requires": {
"is-plain-object": "^2.0.4"
}
@@ -7259,6 +8244,7 @@
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
"integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
+ "dev": true,
"requires": {
"is-number": "^3.0.0",
"repeat-string": "^1.6.1"
@@ -7275,11 +8261,7 @@
"tree-kill": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.0.tgz",
- "integrity": "sha512-DlX6dR0lOIRDFxI0mjL9IYg6OTncLm/Zt+JiBhE5OlFcAR8yc9S7FFXU9so0oda47frdM/JFsk7UjNt9vscKcg=="
- },
- "trim-right": {
- "version": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz",
- "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM="
+ "integrity": "sha1-WEZ4Yje0I5AU8F2xVrZDIS1MbzY="
},
"tunnel-agent": {
"version": "0.6.0",
@@ -7331,6 +8313,7 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz",
"integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=",
+ "dev": true,
"requires": {
"arr-union": "^3.1.0",
"get-value": "^2.0.6",
@@ -7342,6 +8325,7 @@
"version": "0.4.3",
"resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz",
"integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=",
+ "dev": true,
"requires": {
"extend-shallow": "^2.0.1",
"is-extendable": "^0.1.1",
@@ -7360,6 +8344,7 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz",
"integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=",
+ "dev": true,
"requires": {
"has-value": "^0.3.1",
"isobject": "^3.0.0"
@@ -7369,6 +8354,7 @@
"version": "0.3.1",
"resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz",
"integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=",
+ "dev": true,
"requires": {
"get-value": "^2.0.3",
"has-values": "^0.1.4",
@@ -7379,6 +8365,7 @@
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
"integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
+ "dev": true,
"requires": {
"isarray": "1.0.0"
}
@@ -7388,14 +8375,21 @@
"has-values": {
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz",
- "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E="
+ "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=",
+ "dev": true
+ },
+ "isarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
}
}
},
"urix": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz",
- "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI="
+ "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=",
+ "dev": true
},
"use": {
"version": "2.0.2",
@@ -7468,15 +8462,21 @@
}
}
},
- "util-deprecate": {
- "version": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
- "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
- },
"uuid": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/uuid/-/uuid-3.1.0.tgz",
"integrity": "sha512-DIWtzUkw04M4k3bf1IcpS2tngXEL26YUD2M0tMDUpnUrz2hgzUBlD55a4FjdLGPvfHxS6uluGWvaVEqgBcVa+g=="
},
+ "validate-npm-package-license": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.3.tgz",
+ "integrity": "sha1-gWQ7y+8b3+zUYjeT3EZIlIupgzg=",
+ "dev": true,
+ "requires": {
+ "spdx-correct": "^3.0.0",
+ "spdx-expression-parse": "^3.0.0"
+ }
+ },
"verror": {
"version": "1.10.0",
"resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
@@ -7491,6 +8491,11 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
"integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU="
+ },
+ "core-util-is": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+ "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
}
}
},
@@ -7523,10 +8528,16 @@
"split": "^1.0.0"
}
},
+ "whatwg-fetch": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-2.0.4.tgz",
+ "integrity": "sha1-3eal3zFfnTmZGqF2IYU9cguFVm8="
+ },
"which": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/which/-/which-1.3.0.tgz",
"integrity": "sha1-/wS9/AEO5UfXgL7DjhrBwnd9JTo=",
+ "dev": true,
"requires": {
"isexe": "^2.0.0"
}
@@ -7534,7 +8545,8 @@
"which-module": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz",
- "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho="
+ "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=",
+ "dev": true
},
"which-pm-runs": {
"version": "1.0.0",
@@ -7549,6 +8561,11 @@
"string-width": "^1.0.2"
},
"dependencies": {
+ "ansi-regex": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8="
+ },
"string-width": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
@@ -7558,6 +8575,14 @@
"is-fullwidth-code-point": "^1.0.0",
"strip-ansi": "^3.0.0"
}
+ },
+ "strip-ansi": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+ "requires": {
+ "ansi-regex": "^2.0.0"
+ }
}
}
},
@@ -7570,11 +8595,17 @@
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz",
"integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=",
+ "dev": true,
"requires": {
"string-width": "^1.0.1",
"strip-ansi": "^3.0.1"
},
"dependencies": {
+ "ansi-regex": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8="
+ },
"string-width": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
@@ -7584,13 +8615,17 @@
"is-fullwidth-code-point": "^1.0.0",
"strip-ansi": "^3.0.0"
}
+ },
+ "strip-ansi": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+ "requires": {
+ "ansi-regex": "^2.0.0"
+ }
}
}
},
- "wrappy": {
- "version": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
- "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
- },
"write": {
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/write/-/write-0.2.1.tgz",
@@ -7626,7 +8661,8 @@
"y18n": {
"version": "3.2.1",
"resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz",
- "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE="
+ "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=",
+ "dev": true
},
"yallist": {
"version": "3.0.2",
@@ -7637,6 +8673,7 @@
"version": "9.0.1",
"resolved": "https://registry.npmjs.org/yargs/-/yargs-9.0.1.tgz",
"integrity": "sha1-UqzCP+7Kw0BCB47njAwAf1CF20w=",
+ "dev": true,
"requires": {
"camelcase": "^4.1.0",
"cliui": "^3.2.0",
@@ -7651,12 +8688,121 @@
"which-module": "^2.0.0",
"y18n": "^3.2.1",
"yargs-parser": "^7.0.0"
+ },
+ "dependencies": {
+ "builtin-modules": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz",
+ "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8="
+ },
+ "error-ex": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz",
+ "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=",
+ "requires": {
+ "is-arrayish": "^0.2.1"
+ }
+ },
+ "find-up": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
+ "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=",
+ "requires": {
+ "locate-path": "^2.0.0"
+ }
+ },
+ "graceful-fs": {
+ "version": "4.1.11",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
+ "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg="
+ },
+ "is-arrayish": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
+ "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0="
+ },
+ "is-builtin-module": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz",
+ "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=",
+ "requires": {
+ "builtin-modules": "^1.0.0"
+ }
+ },
+ "load-json-file": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz",
+ "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=",
+ "requires": {
+ "graceful-fs": "^4.1.2",
+ "parse-json": "^2.2.0",
+ "pify": "^2.0.0",
+ "strip-bom": "^3.0.0"
+ }
+ },
+ "normalize-package-data": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz",
+ "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==",
+ "requires": {
+ "hosted-git-info": "^2.1.4",
+ "is-builtin-module": "^1.0.0",
+ "semver": "2 || 3 || 4 || 5",
+ "validate-npm-package-license": "^3.0.1"
+ }
+ },
+ "parse-json": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
+ "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
+ "requires": {
+ "error-ex": "^1.2.0"
+ }
+ },
+ "path-type": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz",
+ "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=",
+ "requires": {
+ "pify": "^2.0.0"
+ }
+ },
+ "pify": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+ "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw="
+ },
+ "read-pkg": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz",
+ "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=",
+ "requires": {
+ "load-json-file": "^2.0.0",
+ "normalize-package-data": "^2.3.2",
+ "path-type": "^2.0.0"
+ }
+ },
+ "read-pkg-up": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz",
+ "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=",
+ "requires": {
+ "find-up": "^2.0.0",
+ "read-pkg": "^2.0.0"
+ }
+ },
+ "strip-bom": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
+ "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM="
+ }
}
},
"yargs-parser": {
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-7.0.0.tgz",
"integrity": "sha1-jQrELxbqVd69MyyvTEA4s+P139k=",
+ "dev": true,
"requires": {
"camelcase": "^4.1.0"
}
diff --git a/package.json b/package.json
index 5a8f595b55..0bd9a4357c 100644
--- a/package.json
+++ b/package.json
@@ -1,7 +1,7 @@
{
"name": "github",
"main": "./lib/index",
- "version": "0.14.0",
+ "version": "0.14.0-1",
"description": "GitHub integration",
"repository": "https://github.com/atom/github",
"license": "MIT",
@@ -34,34 +34,23 @@
"babel-generator": "6.26.1",
"babel-plugin-chai-assert-async": "0.1.0",
"babel-plugin-relay": "1.6.0",
- "babel-plugin-transform-async-to-generator": "6.24.1",
"babel-plugin-transform-class-properties": "6.24.1",
- "babel-plugin-transform-decorators-legacy": "1.3.4",
- "babel-plugin-transform-es2015-destructuring": "6.23.0",
"babel-plugin-transform-es2015-modules-commonjs": "6.26.2",
- "babel-plugin-transform-es2015-parameters": "6.24.1",
"babel-plugin-transform-object-rest-spread": "6.26.0",
"babel-preset-react": "6.24.1",
"classnames": "2.2.5",
"compare-sets": "1.0.1",
- "core-decorators": "0.20.0",
- "diff": "3.5.0",
"dugite": "1.63.0",
"event-kit": "2.4.0",
"fs-extra": "6.0.0",
- "graphql": "0.13.2",
- "hoist-non-react-statics": "2.5.0",
"keytar": "4.2.1",
- "lodash.isequal": "4.5.0",
"lodash.memoize": "4.1.2",
"moment": "2.22.1",
- "multi-list-selection": "0.1.1",
"prop-types": "15.6.1",
"react": "16.3.2",
"react-dom": "16.3.2",
"react-relay": "1.4.1",
"react-select": "1.2.1",
- "relay-compiler": "1.4.1",
"relay-runtime": "1.4.1",
"temp": "0.8.3",
"tinycolor2": "1.4.1",
@@ -80,30 +69,16 @@
"enzyme": "3.3.0",
"enzyme-adapter-react-16": "1.1.1",
"eslint": "4.19.1",
- "eslint-config-fbjs": "2.0.1",
"eslint-config-fbjs-opensource": "1.0.0",
- "eslint-config-standard": "11.0.0",
- "eslint-plugin-babel": "5.1.0",
- "eslint-plugin-flowtype": "2.46.3",
- "eslint-plugin-import": "2.11.0",
- "eslint-plugin-jasmine": "2.9.3",
- "eslint-plugin-jsx-a11y": "6.0.3",
- "eslint-plugin-node": "6.0.1",
- "eslint-plugin-prefer-object-spread": "1.2.1",
- "eslint-plugin-promise": "3.7.0",
- "eslint-plugin-react": "7.7.0",
- "eslint-plugin-relay": "0.0.21",
- "eslint-plugin-standard": "3.1.0",
+ "graphql": "0.13.2",
"hock": "1.3.2",
+ "lodash.isequal": "4.5.0",
"mkdirp": "0.5.1",
- "mocha": "5.1.1",
"mocha-appveyor-reporter": "0.4.0",
"mocha-junit-and-console-reporter": "1.6.0",
"mocha-stress": "1.0.0",
"node-fetch": "2.1.2",
- "process-nextick-args": "2.0.0",
- "react-test-renderer": "16.3.2",
- "simulant": "0.2.2",
+ "relay-compiler": "1.4.1",
"sinon": "5.0.2",
"test-until": "1.1.1"
},
diff --git a/test/async-queue.test.js b/test/async-queue.test.js
index 988f88b3a8..7178673bc4 100644
--- a/test/async-queue.test.js
+++ b/test/async-queue.test.js
@@ -1,16 +1,16 @@
-import {autobind} from 'core-decorators';
-
+import {autobind} from '../lib/helpers';
import AsyncQueue from '../lib/async-queue';
class Task {
constructor(name, error) {
+ autobind(this, 'run', 'finish');
+
this.name = name;
this.error = error;
this.started = false;
this.finished = false;
}
- @autobind
run() {
this.started = true;
this.finished = false;
@@ -20,7 +20,6 @@ class Task {
});
}
- @autobind
finish() {
this.finished = true;
if (this.error) {
diff --git a/test/models/repository.test.js b/test/models/repository.test.js
index e15b78431d..18fd68582d 100644
--- a/test/models/repository.test.js
+++ b/test/models/repository.test.js
@@ -2,13 +2,11 @@ import fs from 'fs-extra';
import path from 'path';
import dedent from 'dedent-js';
import temp from 'temp';
-import util from 'util';
import compareSets from 'compare-sets';
import isEqual from 'lodash.isequal';
import {CompositeDisposable, Disposable} from 'event-kit';
import Repository from '../../lib/models/repository';
-import {expectedDelegates} from '../../lib/models/repository-states';
import FileSystemChangeObserver from '../../lib/models/file-system-change-observer';
import {
@@ -18,23 +16,6 @@ import {
import {getPackageRoot, getTempDir} from '../../lib/helpers';
describe('Repository', function() {
- it('delegates all state methods', function() {
- const missing = expectedDelegates.filter(delegateName => {
- return Repository.prototype[delegateName] === undefined;
- });
-
- // For convenience, write the delegate list to the console when there are any missing (in addition to failing the
- // test.)
- if (missing.length > 0) {
- const formatted = util.inspect(expectedDelegates);
-
- // eslint-disable-next-line no-console
- console.log(`Expected delegates for your copy-and-paste convenience:\n\n---\n${formatted}\n---\n`);
- }
-
- assert.lengthOf(missing, 0);
- });
-
describe('initial states', function() {
let repository;