├── .gitignore ├── .travis.yml ├── README.md ├── contracts ├── .DS_Store ├── Migrations.sol ├── Sale.sol └── Token.sol ├── migrations ├── .DS_Store └── 2_deploy_contracts.js ├── package-lock.json ├── package.json ├── test └── sale_erc20.js └── truffle.js /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | 3 | sudo: required 4 | 5 | node_js: 6 | - "6.9" 7 | 8 | env: 9 | - CXX=g++-4.8 10 | 11 | addons: 12 | apt: 13 | sources: 14 | - ubuntu-toolchain-r-test 15 | packages: 16 | - build-essential 17 | - g++-4.8 18 | 19 | before_install: 20 | - export CXX="g++-4.8" 21 | - npm install -g npm@latest 22 | - npm install -g ganache-cli truffle 23 | 24 | install: 25 | - npm install 26 | 27 | 28 | script: 29 | - ganache-cli & 30 | - npm test 31 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Ethereum ICO Crowdsale Contract [![Build Status](https://travis-ci.org/hunterlong/ethereum-ico-contract.svg?branch=master)](https://travis-ci.org/hunterlong/ethereum-ico-contract) 2 | 3 | This is a basic example of a crowdsale with a brand new ERC20 token. First deploy the Sale contract, and then the ERC20 token contract. The ERC20 contract will require the Sale Contract etheruem address. 4 | 5 | ## Contract Details 6 | - Creates/Mints 5 million Tokens and holds them inside contract. 7 | - ERC20 and Sale Contract both reference eachother 8 | - Converts payable ETH to TOKEN's directly to user 9 | - ETH payed to contract is forwarded to a different wallet (holds ICO funds) 10 | - Updateable ETH/TOKEN rate 11 | - Developers and Founders can allocate a specific amount of tokens to be released at later date. 12 | - Ability to turn on/off transfer of coins. (via sale contract) 13 | - Crowdsale ends on a specific block number 14 | - Token contrbutions will be removed from the Mint and transfered to the purchaser. 15 | - Users that have tokens held can release them once time has passed without owner permission. 16 | 17 | # Deploy Instructions 18 | 19 | 1. You must deploy the Sale contract first. **Be sure to change the token sale details in contract**. Include a wallet address for ETH to be sent to for each contribution. Example: `Sale("0x004F3E7fFA2F06EA78e14ED2B13E87d710e8013F")` creating contract [0x2b15ebaab98a5af6b0e3e9baef3580b9a387ffed](https://ropsten.etherscan.io/address/0x2b15ebaab98a5af6b0e3e9baef3580b9a387ffed) 20 | 21 | 2. Once you have the Sale contract, deploy the Token contract. **Be sure to change the token details** and `createTokens` intial minted amount. When you deploy the Token contract, you must include the Sale contract address when you deploy the contract. Example: `Token("0x2b15ebaab98a5af6b0e3e9baef3580b9a387ffed")` creating token contract [0x501775ea69e834c2cdc0be13ab25704d92168101](https://ropsten.etherscan.io/token/0x501775ea69e834c2cdc0be13ab25704d92168101) 22 | 23 | 3. Now you can finalize the process by running the `setup` function to the Sale contract. The setup function requires the token contract address and then ending block number of when the ICO should end. The owner of the contract can also end at any time. Example: `setup("0x501775ea69e834c2cdc0be13ab25704d92168101", 7000000)` creating transaction [0x682392db4d184fc5e96c7dbf53b29c891d7158422ecd7935b484159ed633ca79](https://ropsten.etherscan.io/tx/0x682392db4d184fc5e96c7dbf53b29c891d7158422ecd7935b484159ed633ca79) My ICO sale will end and expire on block #7000000. 24 | 25 | 4. **Your ICO has begun!** You can now send ETH to the Sale contract address to receive your new tokens! I sent 1 ETH with data: `0xd7bb99ba` to my Sale contract address. The user must send ETH or the transaction will fail! Example: 1 ETH - Data: `0xd7bb99ba` - Gas Limit: `80000` creating transaction [0xbf541f8b39d5b94670c909e85cec8035b7c30d178d2c6e5637e1ad395ca2d9b2](https://ropsten.etherscan.io/tx/0xbf541f8b39d5b94670c909e85cec8035b7c30d178d2c6e5637e1ad395ca2d9b2) This transaction sent 1 ETH to the ETH wallet address and also sent me 600 Tokens. 26 | 27 | 5. Once you received your $15 million for the ICO you can close it at anytime with the `closeSale` function. Example: `closeSale()` creating transaction [0xae7608515185bfeb3aa185890edb733bc5c0031f392ece5366179463bd27e430](https://ropsten.etherscan.io/tx/0xae7608515185bfeb3aa185890edb733bc5c0031f392ece5366179463bd27e430). The ICO Sale is over! 28 | 29 | This ICO-sale contract will allow you to change owners, change token rate per ETH, hold tokens for a specific amount of time, and allow users that have tokens held. The Sale contract locks the tokens, once the set block height has been passed, the user can run `realeaseHeldCoins()` (`0x6ce5b3cf`) to the sale contract to receive their tokens if the time has passed! Example: [0xf1856d866db8a022b847960b5caa55170640714dbd14e981625d6cf373973885](https://ropsten.etherscan.io/tx/0xf1856d866db8a022b847960b5caa55170640714dbd14e981625d6cf373973885) 30 | 31 | ### Crowdsale Contract 32 | `function contribute() external payable` is the function for the purchaser to mint new tokens. (Data: `0xd7bb99ba`) 33 | 34 | ### ERC20 Additions 35 | The ERC20 contract has a couple additions to be reviewed by you. When the token contract is deployed, it will require the Sale Contract address and will be set 1 and only 1 time. If you set an incorrect address when you deploy the ERC20 you'll have to re-deploy the sale and ERC20 again. This is for security, 1 time set functions. 36 | 37 | #### Minting Tokens 38 | Minting Tokens call comes from the Sale contract, when the ERC20 is deployed it will force the Sale contract. 39 | `function mintToken(address to, uint256 amount) external returns (bool success);` 40 | 41 | Change "transfer" method from the Sale Contract. 42 | `function changeTransfer(bool allowed);` 43 | 44 | ### Hold Token Period 45 | 46 | The Sale Contract will allow you to hold a specific amount of tokens for an amount of time before being released directly to address. The createHoldToken function requires an address and the amount of tokens given at end of period. 47 | ``` 48 | function createHeldCoins() internal { 49 | createHoldToken(0x4f70Dc5Da5aCf5e71988c3a8473a6D8a7E7Ba4c9, 100000000000000000000000); // 100,000 50 | createHoldToken(0x323c82c7Ae55B48745f4eCcd2523450d291f2412, 250000000000000000000000); // 250,000 51 | } 52 | ``` 53 | 54 | You can change the amount of blocks in future to release. 55 | ``` 56 | function createHoldToken(address _to, uint256 amount) internal { 57 | ... 58 | heldTimeline[_to] = block.number + 200000; 59 | ... 60 | } 61 | ``` 62 | 63 | Once a time period as passed, the wallet owner can do a contract call to receive the tokens. (Data: `0x6ce5b3cf`) 64 | ``` 65 | function releaseHeldCoins() 66 | ``` 67 | -------------------------------------------------------------------------------- /contracts/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hunterlong/ethereum-ico-contract/ec7bf8d0f1aba3782bf421781325e587bd467665/contracts/.DS_Store -------------------------------------------------------------------------------- /contracts/Migrations.sol: -------------------------------------------------------------------------------- 1 | pragma solidity ^0.4.4; 2 | 3 | contract Migrations { 4 | address public owner; 5 | uint public last_completed_migration; 6 | 7 | modifier restricted() { 8 | if (msg.sender == owner) _; 9 | } 10 | 11 | function Migrations() { 12 | owner = msg.sender; 13 | } 14 | 15 | function setCompleted(uint completed) restricted { 16 | last_completed_migration = completed; 17 | } 18 | 19 | function upgrade(address new_address) restricted { 20 | Migrations upgraded = Migrations(new_address); 21 | upgraded.setCompleted(last_completed_migration); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /contracts/Sale.sol: -------------------------------------------------------------------------------- 1 | pragma solidity ^0.4.21; 2 | 3 | /* 4 | 5 | BASIC ERC20 Sale Contract 6 | 7 | Create this Sale contract first! 8 | 9 | Sale(address ethwallet) // this will send the received ETH funds to this address 10 | 11 | 12 | @author Hunter Long 13 | @repo https://github.com/hunterlong/ethereum-ico-contract 14 | 15 | */ 16 | 17 | 18 | contract ERC20 { 19 | uint public totalSupply; 20 | function balanceOf(address who) constant returns (uint); 21 | function allowance(address owner, address spender) constant returns (uint); 22 | function transfer(address to, uint value) returns (bool ok); 23 | function transferFrom(address from, address to, uint value) returns (bool ok); 24 | function approve(address spender, uint value) returns (bool ok); 25 | function mintToken(address to, uint256 value) returns (uint256); 26 | function changeTransfer(bool allowed); 27 | } 28 | 29 | 30 | contract Sale { 31 | 32 | uint256 public maxMintable; 33 | uint256 public totalMinted; 34 | uint public endBlock; 35 | uint public startBlock; 36 | uint public exchangeRate; 37 | bool public isFunding; 38 | ERC20 public Token; 39 | address public ETHWallet; 40 | uint256 public heldTotal; 41 | 42 | bool private configSet; 43 | address public creator; 44 | 45 | mapping (address => uint256) public heldTokens; 46 | mapping (address => uint) public heldTimeline; 47 | 48 | event Contribution(address from, uint256 amount); 49 | event ReleaseTokens(address from, uint256 amount); 50 | 51 | function Sale(address _wallet) { 52 | startBlock = block.number; 53 | maxMintable = 4000000000000000000000000; // 3 million max sellable (18 decimals) 54 | ETHWallet = _wallet; 55 | isFunding = true; 56 | creator = msg.sender; 57 | createHeldCoins(); 58 | exchangeRate = 600; 59 | } 60 | 61 | // setup function to be ran only 1 time 62 | // setup token address 63 | // setup end Block number 64 | function setup(address token_address, uint end_block) { 65 | require(!configSet); 66 | Token = ERC20(token_address); 67 | endBlock = end_block; 68 | configSet = true; 69 | } 70 | 71 | function closeSale() external { 72 | require(msg.sender==creator); 73 | isFunding = false; 74 | } 75 | 76 | function () payable { 77 | require(msg.value>0); 78 | require(isFunding); 79 | require(block.number <= endBlock); 80 | uint256 amount = msg.value * exchangeRate; 81 | uint256 total = totalMinted + amount; 82 | require(total<=maxMintable); 83 | totalMinted += total; 84 | ETHWallet.transfer(msg.value); 85 | Token.mintToken(msg.sender, amount); 86 | Contribution(msg.sender, amount); 87 | } 88 | 89 | // CONTRIBUTE FUNCTION 90 | // converts ETH to TOKEN and sends new TOKEN to the sender 91 | function contribute() external payable { 92 | require(msg.value>0); 93 | require(isFunding); 94 | require(block.number <= endBlock); 95 | uint256 amount = msg.value * exchangeRate; 96 | uint256 total = totalMinted + amount; 97 | require(total<=maxMintable); 98 | totalMinted += total; 99 | ETHWallet.transfer(msg.value); 100 | Token.mintToken(msg.sender, amount); 101 | Contribution(msg.sender, amount); 102 | } 103 | 104 | // update the ETH/COIN rate 105 | function updateRate(uint256 rate) external { 106 | require(msg.sender==creator); 107 | require(isFunding); 108 | exchangeRate = rate; 109 | } 110 | 111 | // change creator address 112 | function changeCreator(address _creator) external { 113 | require(msg.sender==creator); 114 | creator = _creator; 115 | } 116 | 117 | // change transfer status for ERC20 token 118 | function changeTransferStats(bool _allowed) external { 119 | require(msg.sender==creator); 120 | Token.changeTransfer(_allowed); 121 | } 122 | 123 | // internal function that allocates a specific amount of TOKENS at a specific block number. 124 | // only ran 1 time on initialization 125 | function createHeldCoins() internal { 126 | // TOTAL SUPPLY = 5,000,000 127 | createHoldToken(msg.sender, 1000); 128 | createHoldToken(0x4f70Dc5Da5aCf5e71905c3a8473a6D8a7E7Ba4c5, 100000000000000000000000); 129 | createHoldToken(0x393c82c7Ae55B48775f4eCcd2523450d291f2418, 100000000000000000000000); 130 | } 131 | 132 | // public function to get the amount of tokens held for an address 133 | function getHeldCoin(address _address) public constant returns (uint256) { 134 | return heldTokens[_address]; 135 | } 136 | 137 | // function to create held tokens for developer 138 | function createHoldToken(address _to, uint256 amount) internal { 139 | heldTokens[_to] = amount; 140 | heldTimeline[_to] = block.number + 0; 141 | heldTotal += amount; 142 | totalMinted += heldTotal; 143 | } 144 | 145 | // function to release held tokens for developers 146 | function releaseHeldCoins() external { 147 | uint256 held = heldTokens[msg.sender]; 148 | uint heldBlock = heldTimeline[msg.sender]; 149 | require(!isFunding); 150 | require(held >= 0); 151 | require(block.number >= heldBlock); 152 | heldTokens[msg.sender] = 0; 153 | heldTimeline[msg.sender] = 0; 154 | Token.mintToken(msg.sender, held); 155 | ReleaseTokens(msg.sender, held); 156 | } 157 | 158 | 159 | } 160 | -------------------------------------------------------------------------------- /contracts/Token.sol: -------------------------------------------------------------------------------- 1 | pragma solidity ^0.4.21; 2 | 3 | 4 | /* 5 | 6 | BASIC ERC20 Crowdsale ICO ERC20 Token 7 | 8 | Create this Token contract AFTER you already have the Sale contract created. 9 | 10 | Token(address sale_address) // creates token and links the Sale contract 11 | 12 | @author Hunter Long 13 | @repo https://github.com/hunterlong/ethereum-ico-contract 14 | 15 | */ 16 | 17 | 18 | contract BasicToken { 19 | uint256 public totalSupply; 20 | bool public allowTransfer; 21 | 22 | function balanceOf(address _owner) constant returns (uint256 balance); 23 | function transfer(address _to, uint256 _value) returns (bool success); 24 | function transferFrom(address _from, address _to, uint256 _value) returns (bool success); 25 | function approve(address _spender, uint256 _value) returns (bool success); 26 | function allowance(address _owner, address _spender) constant returns (uint256 remaining); 27 | 28 | event Transfer(address indexed _from, address indexed _to, uint256 _value); 29 | event Approval(address indexed _owner, address indexed _spender, uint256 _value); 30 | } 31 | 32 | contract StandardToken is BasicToken { 33 | 34 | function transfer(address _to, uint256 _value) returns (bool success) { 35 | require(allowTransfer); 36 | require(balances[msg.sender] >= _value); 37 | balances[msg.sender] -= _value; 38 | balances[_to] += _value; 39 | Transfer(msg.sender, _to, _value); 40 | return true; 41 | } 42 | 43 | function transferFrom(address _from, address _to, uint256 _value) returns (bool success) { 44 | require(allowTransfer); 45 | require(balances[_from] >= _value && allowed[_from][msg.sender] >= _value); 46 | balances[_to] += _value; 47 | balances[_from] -= _value; 48 | allowed[_from][msg.sender] -= _value; 49 | Transfer(_from, _to, _value); 50 | return true; 51 | } 52 | 53 | function balanceOf(address _owner) constant returns (uint256 balance) { 54 | return balances[_owner]; 55 | } 56 | 57 | function approve(address _spender, uint256 _value) returns (bool success) { 58 | require(allowTransfer); 59 | allowed[msg.sender][_spender] = _value; 60 | Approval(msg.sender, _spender, _value); 61 | return true; 62 | } 63 | 64 | function allowance(address _owner, address _spender) constant returns (uint256 remaining) { 65 | return allowed[_owner][_spender]; 66 | } 67 | 68 | mapping (address => uint256) balances; 69 | mapping (address => mapping (address => uint256)) allowed; 70 | } 71 | 72 | 73 | contract Token is StandardToken { 74 | 75 | string public name = "BASIC ERC20 SALE"; 76 | uint8 public decimals = 18; 77 | string public symbol = "BASIC"; 78 | string public version = 'BASIC 0.1'; 79 | address public mintableAddress; 80 | 81 | function Token(address sale_address) { 82 | balances[msg.sender] = 0; 83 | totalSupply = 0; 84 | name = name; 85 | decimals = decimals; 86 | symbol = symbol; 87 | mintableAddress = sale_address; 88 | allowTransfer = true; 89 | createTokens(); 90 | } 91 | 92 | // creates all tokens 5 million 93 | // this address will hold all tokens 94 | // all community contrubutions coins will be taken from this address 95 | function createTokens() internal { 96 | uint256 total = 5000000000000000000000000; 97 | balances[this] = total; 98 | totalSupply = total; 99 | } 100 | 101 | function changeTransfer(bool allowed) external { 102 | require(msg.sender == mintableAddress); 103 | allowTransfer = allowed; 104 | } 105 | 106 | function mintToken(address to, uint256 amount) external returns (bool success) { 107 | require(msg.sender == mintableAddress); 108 | require(balances[this] >= amount); 109 | balances[this] -= amount; 110 | balances[to] += amount; 111 | Transfer(this, to, amount); 112 | return true; 113 | } 114 | 115 | function approveAndCall(address _spender, uint256 _value, bytes _extraData) returns (bool success) { 116 | allowed[msg.sender][_spender] = _value; 117 | Approval(msg.sender, _spender, _value); 118 | 119 | require(_spender.call(bytes4(bytes32(sha3("receiveApproval(address,uint256,address,bytes)"))), msg.sender, _value, this, _extraData)); 120 | return true; 121 | } 122 | } -------------------------------------------------------------------------------- /migrations/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hunterlong/ethereum-ico-contract/ec7bf8d0f1aba3782bf421781325e587bd467665/migrations/.DS_Store -------------------------------------------------------------------------------- /migrations/2_deploy_contracts.js: -------------------------------------------------------------------------------- 1 | var Token = artifacts.require("./Token.sol"); 2 | var Sale = artifacts.require("./Sale.sol"); 3 | 4 | module.exports = function(deployer) { 5 | deployer.deploy(Sale, "0x004F3E7fFA2F06EA78e14ED2B13E87d710e8013F").then(function() { 6 | return deployer.deploy(Token, Sale.address); 7 | }); 8 | }; 9 | -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ethereum-ico-contract", 3 | "version": "1.0.0", 4 | "lockfileVersion": 1, 5 | "requires": true, 6 | "dependencies": { 7 | "@sindresorhus/is": { 8 | "version": "0.7.0", 9 | "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.7.0.tgz", 10 | "integrity": "sha512-ONhaKPIufzzrlNbqtWFFd+jlnemX6lJAgq9ZeiZtS7I1PIf/la7CW4m83rTXRnVnsMbW2k56pGYu7AUFJD9Pow==" 11 | }, 12 | "ansi-escapes": { 13 | "version": "3.1.0", 14 | "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.1.0.tgz", 15 | "integrity": "sha512-UgAb8H9D41AQnu/PbWlCofQVcnV4Gs2bBJi9eZPxfU/hgglFh3SMDMENRIqdr7H6XFnXdoknctFByVsCOotTVw==" 16 | }, 17 | "ansi-regex": { 18 | "version": "2.1.1", 19 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", 20 | "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" 21 | }, 22 | "ansi-styles": { 23 | "version": "3.2.1", 24 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", 25 | "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", 26 | "requires": { 27 | "color-convert": "1.9.1" 28 | } 29 | }, 30 | "any-observable": { 31 | "version": "0.2.0", 32 | "resolved": "https://registry.npmjs.org/any-observable/-/any-observable-0.2.0.tgz", 33 | "integrity": "sha1-xnhwBYADV5AJCD9UrAq6+1wz0kI=" 34 | }, 35 | "arr-diff": { 36 | "version": "2.0.0", 37 | "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", 38 | "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", 39 | "requires": { 40 | "arr-flatten": "1.1.0" 41 | } 42 | }, 43 | "arr-flatten": { 44 | "version": "1.1.0", 45 | "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", 46 | "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==" 47 | }, 48 | "array-differ": { 49 | "version": "1.0.0", 50 | "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz", 51 | "integrity": "sha1-7/UuN1gknTO+QCuLuOVkuytdQDE=" 52 | }, 53 | "array-union": { 54 | "version": "1.0.2", 55 | "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", 56 | "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", 57 | "requires": { 58 | "array-uniq": "1.0.3" 59 | } 60 | }, 61 | "array-uniq": { 62 | "version": "1.0.3", 63 | "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", 64 | "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=" 65 | }, 66 | "array-unique": { 67 | "version": "0.2.1", 68 | "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", 69 | "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=" 70 | }, 71 | "arrify": { 72 | "version": "1.0.1", 73 | "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", 74 | "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=" 75 | }, 76 | "ast-types": { 77 | "version": "0.11.3", 78 | "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.11.3.tgz", 79 | "integrity": "sha512-XA5o5dsNw8MhyW0Q7MWXJWc4oOzZKbdsEJq45h7c8q/d9DwWZ5F2ugUc1PuMLPGsUnphCt/cNDHu8JeBbxf1qA==" 80 | }, 81 | "async": { 82 | "version": "1.5.2", 83 | "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", 84 | "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=" 85 | }, 86 | "babel-code-frame": { 87 | "version": "6.26.0", 88 | "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", 89 | "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", 90 | "requires": { 91 | "chalk": "1.1.3", 92 | "esutils": "2.0.2", 93 | "js-tokens": "3.0.2" 94 | }, 95 | "dependencies": { 96 | "ansi-styles": { 97 | "version": "2.2.1", 98 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", 99 | "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" 100 | }, 101 | "chalk": { 102 | "version": "1.1.3", 103 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", 104 | "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", 105 | "requires": { 106 | "ansi-styles": "2.2.1", 107 | "escape-string-regexp": "1.0.5", 108 | "has-ansi": "2.0.0", 109 | "strip-ansi": "3.0.1", 110 | "supports-color": "2.0.0" 111 | } 112 | }, 113 | "supports-color": { 114 | "version": "2.0.0", 115 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", 116 | "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" 117 | } 118 | } 119 | }, 120 | "babel-core": { 121 | "version": "6.26.0", 122 | "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.0.tgz", 123 | "integrity": "sha1-rzL3izGm/O8RnIew/Y2XU/A6C7g=", 124 | "requires": { 125 | "babel-code-frame": "6.26.0", 126 | "babel-generator": "6.26.1", 127 | "babel-helpers": "6.24.1", 128 | "babel-messages": "6.23.0", 129 | "babel-register": "6.26.0", 130 | "babel-runtime": "6.26.0", 131 | "babel-template": "6.26.0", 132 | "babel-traverse": "6.26.0", 133 | "babel-types": "6.26.0", 134 | "babylon": "6.18.0", 135 | "convert-source-map": "1.5.1", 136 | "debug": "2.6.8", 137 | "json5": "0.5.1", 138 | "lodash": "4.17.5", 139 | "minimatch": "3.0.4", 140 | "path-is-absolute": "1.0.1", 141 | "private": "0.1.8", 142 | "slash": "1.0.0", 143 | "source-map": "0.5.7" 144 | }, 145 | "dependencies": { 146 | "babylon": { 147 | "version": "6.18.0", 148 | "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", 149 | "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==" 150 | }, 151 | "source-map": { 152 | "version": "0.5.7", 153 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", 154 | "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" 155 | } 156 | } 157 | }, 158 | "babel-generator": { 159 | "version": "6.26.1", 160 | "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz", 161 | "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==", 162 | "requires": { 163 | "babel-messages": "6.23.0", 164 | "babel-runtime": "6.26.0", 165 | "babel-types": "6.26.0", 166 | "detect-indent": "4.0.0", 167 | "jsesc": "1.3.0", 168 | "lodash": "4.17.5", 169 | "source-map": "0.5.7", 170 | "trim-right": "1.0.1" 171 | }, 172 | "dependencies": { 173 | "jsesc": { 174 | "version": "1.3.0", 175 | "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", 176 | "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=" 177 | }, 178 | "source-map": { 179 | "version": "0.5.7", 180 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", 181 | "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" 182 | } 183 | } 184 | }, 185 | "babel-helper-bindify-decorators": { 186 | "version": "6.24.1", 187 | "resolved": "https://registry.npmjs.org/babel-helper-bindify-decorators/-/babel-helper-bindify-decorators-6.24.1.tgz", 188 | "integrity": "sha1-FMGeXxQte0fxmlJDHlKxzLxAozA=", 189 | "requires": { 190 | "babel-runtime": "6.26.0", 191 | "babel-traverse": "6.26.0", 192 | "babel-types": "6.26.0" 193 | } 194 | }, 195 | "babel-helper-builder-binary-assignment-operator-visitor": { 196 | "version": "6.24.1", 197 | "resolved": "https://registry.npmjs.org/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz", 198 | "integrity": "sha1-zORReto1b0IgvK6KAsKzRvmlZmQ=", 199 | "requires": { 200 | "babel-helper-explode-assignable-expression": "6.24.1", 201 | "babel-runtime": "6.26.0", 202 | "babel-types": "6.26.0" 203 | } 204 | }, 205 | "babel-helper-call-delegate": { 206 | "version": "6.24.1", 207 | "resolved": "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz", 208 | "integrity": "sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340=", 209 | "requires": { 210 | "babel-helper-hoist-variables": "6.24.1", 211 | "babel-runtime": "6.26.0", 212 | "babel-traverse": "6.26.0", 213 | "babel-types": "6.26.0" 214 | } 215 | }, 216 | "babel-helper-define-map": { 217 | "version": "6.26.0", 218 | "resolved": "https://registry.npmjs.org/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz", 219 | "integrity": "sha1-pfVtq0GiX5fstJjH66ypgZ+Vvl8=", 220 | "requires": { 221 | "babel-helper-function-name": "6.24.1", 222 | "babel-runtime": "6.26.0", 223 | "babel-types": "6.26.0", 224 | "lodash": "4.17.5" 225 | } 226 | }, 227 | "babel-helper-explode-assignable-expression": { 228 | "version": "6.24.1", 229 | "resolved": "https://registry.npmjs.org/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz", 230 | "integrity": "sha1-8luCz33BBDPFX3BZLVdGQArCLKo=", 231 | "requires": { 232 | "babel-runtime": "6.26.0", 233 | "babel-traverse": "6.26.0", 234 | "babel-types": "6.26.0" 235 | } 236 | }, 237 | "babel-helper-explode-class": { 238 | "version": "6.24.1", 239 | "resolved": "https://registry.npmjs.org/babel-helper-explode-class/-/babel-helper-explode-class-6.24.1.tgz", 240 | "integrity": "sha1-fcKjkQ3uAHBW4eMdZAztPVTqqes=", 241 | "requires": { 242 | "babel-helper-bindify-decorators": "6.24.1", 243 | "babel-runtime": "6.26.0", 244 | "babel-traverse": "6.26.0", 245 | "babel-types": "6.26.0" 246 | } 247 | }, 248 | "babel-helper-function-name": { 249 | "version": "6.24.1", 250 | "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz", 251 | "integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=", 252 | "requires": { 253 | "babel-helper-get-function-arity": "6.24.1", 254 | "babel-runtime": "6.26.0", 255 | "babel-template": "6.26.0", 256 | "babel-traverse": "6.26.0", 257 | "babel-types": "6.26.0" 258 | } 259 | }, 260 | "babel-helper-get-function-arity": { 261 | "version": "6.24.1", 262 | "resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz", 263 | "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=", 264 | "requires": { 265 | "babel-runtime": "6.26.0", 266 | "babel-types": "6.26.0" 267 | } 268 | }, 269 | "babel-helper-hoist-variables": { 270 | "version": "6.24.1", 271 | "resolved": "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz", 272 | "integrity": "sha1-HssnaJydJVE+rbyZFKc/VAi+enY=", 273 | "requires": { 274 | "babel-runtime": "6.26.0", 275 | "babel-types": "6.26.0" 276 | } 277 | }, 278 | "babel-helper-optimise-call-expression": { 279 | "version": "6.24.1", 280 | "resolved": "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz", 281 | "integrity": "sha1-96E0J7qfc/j0+pk8VKl4gtEkQlc=", 282 | "requires": { 283 | "babel-runtime": "6.26.0", 284 | "babel-types": "6.26.0" 285 | } 286 | }, 287 | "babel-helper-regex": { 288 | "version": "6.26.0", 289 | "resolved": "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz", 290 | "integrity": "sha1-MlxZ+QL4LyS3T6zu0DY5VPZJXnI=", 291 | "requires": { 292 | "babel-runtime": "6.26.0", 293 | "babel-types": "6.26.0", 294 | "lodash": "4.17.5" 295 | } 296 | }, 297 | "babel-helper-remap-async-to-generator": { 298 | "version": "6.24.1", 299 | "resolved": "https://registry.npmjs.org/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz", 300 | "integrity": "sha1-XsWBgnrXI/7N04HxySg5BnbkVRs=", 301 | "requires": { 302 | "babel-helper-function-name": "6.24.1", 303 | "babel-runtime": "6.26.0", 304 | "babel-template": "6.26.0", 305 | "babel-traverse": "6.26.0", 306 | "babel-types": "6.26.0" 307 | } 308 | }, 309 | "babel-helper-replace-supers": { 310 | "version": "6.24.1", 311 | "resolved": "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz", 312 | "integrity": "sha1-v22/5Dk40XNpohPKiov3S2qQqxo=", 313 | "requires": { 314 | "babel-helper-optimise-call-expression": "6.24.1", 315 | "babel-messages": "6.23.0", 316 | "babel-runtime": "6.26.0", 317 | "babel-template": "6.26.0", 318 | "babel-traverse": "6.26.0", 319 | "babel-types": "6.26.0" 320 | } 321 | }, 322 | "babel-helpers": { 323 | "version": "6.24.1", 324 | "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz", 325 | "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=", 326 | "requires": { 327 | "babel-runtime": "6.26.0", 328 | "babel-template": "6.26.0" 329 | } 330 | }, 331 | "babel-messages": { 332 | "version": "6.23.0", 333 | "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", 334 | "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", 335 | "requires": { 336 | "babel-runtime": "6.26.0" 337 | } 338 | }, 339 | "babel-plugin-check-es2015-constants": { 340 | "version": "6.22.0", 341 | "resolved": "https://registry.npmjs.org/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz", 342 | "integrity": "sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=", 343 | "requires": { 344 | "babel-runtime": "6.26.0" 345 | } 346 | }, 347 | "babel-plugin-syntax-async-functions": { 348 | "version": "6.13.0", 349 | "resolved": "https://registry.npmjs.org/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz", 350 | "integrity": "sha1-ytnK0RkbWtY0vzCuCHI5HgZHvpU=" 351 | }, 352 | "babel-plugin-syntax-async-generators": { 353 | "version": "6.13.0", 354 | "resolved": "https://registry.npmjs.org/babel-plugin-syntax-async-generators/-/babel-plugin-syntax-async-generators-6.13.0.tgz", 355 | "integrity": "sha1-a8lj67FuzLrmuStZbrfzXDQqi5o=" 356 | }, 357 | "babel-plugin-syntax-class-constructor-call": { 358 | "version": "6.18.0", 359 | "resolved": "https://registry.npmjs.org/babel-plugin-syntax-class-constructor-call/-/babel-plugin-syntax-class-constructor-call-6.18.0.tgz", 360 | "integrity": "sha1-nLnTn+Q8hgC+yBRkVt3L1OGnZBY=" 361 | }, 362 | "babel-plugin-syntax-class-properties": { 363 | "version": "6.13.0", 364 | "resolved": "https://registry.npmjs.org/babel-plugin-syntax-class-properties/-/babel-plugin-syntax-class-properties-6.13.0.tgz", 365 | "integrity": "sha1-1+sjt5oxf4VDlixQW4J8fWysJ94=" 366 | }, 367 | "babel-plugin-syntax-decorators": { 368 | "version": "6.13.0", 369 | "resolved": "https://registry.npmjs.org/babel-plugin-syntax-decorators/-/babel-plugin-syntax-decorators-6.13.0.tgz", 370 | "integrity": "sha1-MSVjtNvePMgGzuPkFszurd0RrAs=" 371 | }, 372 | "babel-plugin-syntax-dynamic-import": { 373 | "version": "6.18.0", 374 | "resolved": "https://registry.npmjs.org/babel-plugin-syntax-dynamic-import/-/babel-plugin-syntax-dynamic-import-6.18.0.tgz", 375 | "integrity": "sha1-jWomIpyDdFqZgqRBBRVyyqF5sdo=" 376 | }, 377 | "babel-plugin-syntax-exponentiation-operator": { 378 | "version": "6.13.0", 379 | "resolved": "https://registry.npmjs.org/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz", 380 | "integrity": "sha1-nufoM3KQ2pUoggGmpX9BcDF4MN4=" 381 | }, 382 | "babel-plugin-syntax-export-extensions": { 383 | "version": "6.13.0", 384 | "resolved": "https://registry.npmjs.org/babel-plugin-syntax-export-extensions/-/babel-plugin-syntax-export-extensions-6.13.0.tgz", 385 | "integrity": "sha1-cKFITw+QiaToStRLrDU8lbmxJyE=" 386 | }, 387 | "babel-plugin-syntax-flow": { 388 | "version": "6.18.0", 389 | "resolved": "https://registry.npmjs.org/babel-plugin-syntax-flow/-/babel-plugin-syntax-flow-6.18.0.tgz", 390 | "integrity": "sha1-TDqyCiryaqIM0lmVw5jE63AxDI0=" 391 | }, 392 | "babel-plugin-syntax-object-rest-spread": { 393 | "version": "6.13.0", 394 | "resolved": "https://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz", 395 | "integrity": "sha1-/WU28rzhODb/o6VFjEkDpZe7O/U=" 396 | }, 397 | "babel-plugin-syntax-trailing-function-commas": { 398 | "version": "6.22.0", 399 | "resolved": "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz", 400 | "integrity": "sha1-ugNgk3+NBuQBgKQ/4NVhb/9TLPM=" 401 | }, 402 | "babel-plugin-transform-async-generator-functions": { 403 | "version": "6.24.1", 404 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-async-generator-functions/-/babel-plugin-transform-async-generator-functions-6.24.1.tgz", 405 | "integrity": "sha1-8FiQAUX9PpkHpt3yjaWfIVJYpds=", 406 | "requires": { 407 | "babel-helper-remap-async-to-generator": "6.24.1", 408 | "babel-plugin-syntax-async-generators": "6.13.0", 409 | "babel-runtime": "6.26.0" 410 | } 411 | }, 412 | "babel-plugin-transform-async-to-generator": { 413 | "version": "6.24.1", 414 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz", 415 | "integrity": "sha1-ZTbjeK/2yx1VF6wOQOs+n8jQh2E=", 416 | "requires": { 417 | "babel-helper-remap-async-to-generator": "6.24.1", 418 | "babel-plugin-syntax-async-functions": "6.13.0", 419 | "babel-runtime": "6.26.0" 420 | } 421 | }, 422 | "babel-plugin-transform-class-constructor-call": { 423 | "version": "6.24.1", 424 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-class-constructor-call/-/babel-plugin-transform-class-constructor-call-6.24.1.tgz", 425 | "integrity": "sha1-gNwoVQWsBn3LjWxl4vbxGrd2Xvk=", 426 | "requires": { 427 | "babel-plugin-syntax-class-constructor-call": "6.18.0", 428 | "babel-runtime": "6.26.0", 429 | "babel-template": "6.26.0" 430 | } 431 | }, 432 | "babel-plugin-transform-class-properties": { 433 | "version": "6.24.1", 434 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-class-properties/-/babel-plugin-transform-class-properties-6.24.1.tgz", 435 | "integrity": "sha1-anl2PqYdM9NvN7YRqp3vgagbRqw=", 436 | "requires": { 437 | "babel-helper-function-name": "6.24.1", 438 | "babel-plugin-syntax-class-properties": "6.13.0", 439 | "babel-runtime": "6.26.0", 440 | "babel-template": "6.26.0" 441 | } 442 | }, 443 | "babel-plugin-transform-decorators": { 444 | "version": "6.24.1", 445 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-decorators/-/babel-plugin-transform-decorators-6.24.1.tgz", 446 | "integrity": "sha1-eIAT2PjGtSIr33s0Q5Df13Vp4k0=", 447 | "requires": { 448 | "babel-helper-explode-class": "6.24.1", 449 | "babel-plugin-syntax-decorators": "6.13.0", 450 | "babel-runtime": "6.26.0", 451 | "babel-template": "6.26.0", 452 | "babel-types": "6.26.0" 453 | } 454 | }, 455 | "babel-plugin-transform-es2015-arrow-functions": { 456 | "version": "6.22.0", 457 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz", 458 | "integrity": "sha1-RSaSy3EdX3ncf4XkQM5BufJE0iE=", 459 | "requires": { 460 | "babel-runtime": "6.26.0" 461 | } 462 | }, 463 | "babel-plugin-transform-es2015-block-scoped-functions": { 464 | "version": "6.22.0", 465 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz", 466 | "integrity": "sha1-u8UbSflk1wy42OC5ToICRs46YUE=", 467 | "requires": { 468 | "babel-runtime": "6.26.0" 469 | } 470 | }, 471 | "babel-plugin-transform-es2015-block-scoping": { 472 | "version": "6.26.0", 473 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz", 474 | "integrity": "sha1-1w9SmcEwjQXBL0Y4E7CgnnOxiV8=", 475 | "requires": { 476 | "babel-runtime": "6.26.0", 477 | "babel-template": "6.26.0", 478 | "babel-traverse": "6.26.0", 479 | "babel-types": "6.26.0", 480 | "lodash": "4.17.5" 481 | } 482 | }, 483 | "babel-plugin-transform-es2015-classes": { 484 | "version": "6.24.1", 485 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz", 486 | "integrity": "sha1-WkxYpQyclGHlZLSyo7+ryXolhNs=", 487 | "requires": { 488 | "babel-helper-define-map": "6.26.0", 489 | "babel-helper-function-name": "6.24.1", 490 | "babel-helper-optimise-call-expression": "6.24.1", 491 | "babel-helper-replace-supers": "6.24.1", 492 | "babel-messages": "6.23.0", 493 | "babel-runtime": "6.26.0", 494 | "babel-template": "6.26.0", 495 | "babel-traverse": "6.26.0", 496 | "babel-types": "6.26.0" 497 | } 498 | }, 499 | "babel-plugin-transform-es2015-computed-properties": { 500 | "version": "6.24.1", 501 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz", 502 | "integrity": "sha1-b+Ko0WiV1WNPTNmZttNICjCBWbM=", 503 | "requires": { 504 | "babel-runtime": "6.26.0", 505 | "babel-template": "6.26.0" 506 | } 507 | }, 508 | "babel-plugin-transform-es2015-destructuring": { 509 | "version": "6.23.0", 510 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz", 511 | "integrity": "sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=", 512 | "requires": { 513 | "babel-runtime": "6.26.0" 514 | } 515 | }, 516 | "babel-plugin-transform-es2015-duplicate-keys": { 517 | "version": "6.24.1", 518 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz", 519 | "integrity": "sha1-c+s9MQypaePvnskcU3QabxV2Qj4=", 520 | "requires": { 521 | "babel-runtime": "6.26.0", 522 | "babel-types": "6.26.0" 523 | } 524 | }, 525 | "babel-plugin-transform-es2015-for-of": { 526 | "version": "6.23.0", 527 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz", 528 | "integrity": "sha1-9HyVsrYT3x0+zC/bdXNiPHUkhpE=", 529 | "requires": { 530 | "babel-runtime": "6.26.0" 531 | } 532 | }, 533 | "babel-plugin-transform-es2015-function-name": { 534 | "version": "6.24.1", 535 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz", 536 | "integrity": "sha1-g0yJhTvDaxrw86TF26qU/Y6sqos=", 537 | "requires": { 538 | "babel-helper-function-name": "6.24.1", 539 | "babel-runtime": "6.26.0", 540 | "babel-types": "6.26.0" 541 | } 542 | }, 543 | "babel-plugin-transform-es2015-literals": { 544 | "version": "6.22.0", 545 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz", 546 | "integrity": "sha1-T1SgLWzWbPkVKAAZox0xklN3yi4=", 547 | "requires": { 548 | "babel-runtime": "6.26.0" 549 | } 550 | }, 551 | "babel-plugin-transform-es2015-modules-amd": { 552 | "version": "6.24.1", 553 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz", 554 | "integrity": "sha1-Oz5UAXI5hC1tGcMBHEvS8AoA0VQ=", 555 | "requires": { 556 | "babel-plugin-transform-es2015-modules-commonjs": "6.26.0", 557 | "babel-runtime": "6.26.0", 558 | "babel-template": "6.26.0" 559 | } 560 | }, 561 | "babel-plugin-transform-es2015-modules-commonjs": { 562 | "version": "6.26.0", 563 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.0.tgz", 564 | "integrity": "sha1-DYOUApt9xqvhqX7xgeAHWN0uXYo=", 565 | "requires": { 566 | "babel-plugin-transform-strict-mode": "6.24.1", 567 | "babel-runtime": "6.26.0", 568 | "babel-template": "6.26.0", 569 | "babel-types": "6.26.0" 570 | } 571 | }, 572 | "babel-plugin-transform-es2015-modules-systemjs": { 573 | "version": "6.24.1", 574 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz", 575 | "integrity": "sha1-/4mhQrkRmpBhlfXxBuzzBdlAfSM=", 576 | "requires": { 577 | "babel-helper-hoist-variables": "6.24.1", 578 | "babel-runtime": "6.26.0", 579 | "babel-template": "6.26.0" 580 | } 581 | }, 582 | "babel-plugin-transform-es2015-modules-umd": { 583 | "version": "6.24.1", 584 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz", 585 | "integrity": "sha1-rJl+YoXNGO1hdq22B9YCNErThGg=", 586 | "requires": { 587 | "babel-plugin-transform-es2015-modules-amd": "6.24.1", 588 | "babel-runtime": "6.26.0", 589 | "babel-template": "6.26.0" 590 | } 591 | }, 592 | "babel-plugin-transform-es2015-object-super": { 593 | "version": "6.24.1", 594 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz", 595 | "integrity": "sha1-JM72muIcuDp/hgPa0CH1cusnj40=", 596 | "requires": { 597 | "babel-helper-replace-supers": "6.24.1", 598 | "babel-runtime": "6.26.0" 599 | } 600 | }, 601 | "babel-plugin-transform-es2015-parameters": { 602 | "version": "6.24.1", 603 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz", 604 | "integrity": "sha1-V6w1GrScrxSpfNE7CfZv3wpiXys=", 605 | "requires": { 606 | "babel-helper-call-delegate": "6.24.1", 607 | "babel-helper-get-function-arity": "6.24.1", 608 | "babel-runtime": "6.26.0", 609 | "babel-template": "6.26.0", 610 | "babel-traverse": "6.26.0", 611 | "babel-types": "6.26.0" 612 | } 613 | }, 614 | "babel-plugin-transform-es2015-shorthand-properties": { 615 | "version": "6.24.1", 616 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz", 617 | "integrity": "sha1-JPh11nIch2YbvZmkYi5R8U3jiqA=", 618 | "requires": { 619 | "babel-runtime": "6.26.0", 620 | "babel-types": "6.26.0" 621 | } 622 | }, 623 | "babel-plugin-transform-es2015-spread": { 624 | "version": "6.22.0", 625 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz", 626 | "integrity": "sha1-1taKmfia7cRTbIGlQujdnxdG+NE=", 627 | "requires": { 628 | "babel-runtime": "6.26.0" 629 | } 630 | }, 631 | "babel-plugin-transform-es2015-sticky-regex": { 632 | "version": "6.24.1", 633 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz", 634 | "integrity": "sha1-AMHNsaynERLN8M9hJsLta0V8zbw=", 635 | "requires": { 636 | "babel-helper-regex": "6.26.0", 637 | "babel-runtime": "6.26.0", 638 | "babel-types": "6.26.0" 639 | } 640 | }, 641 | "babel-plugin-transform-es2015-template-literals": { 642 | "version": "6.22.0", 643 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz", 644 | "integrity": "sha1-qEs0UPfp+PH2g51taH2oS7EjbY0=", 645 | "requires": { 646 | "babel-runtime": "6.26.0" 647 | } 648 | }, 649 | "babel-plugin-transform-es2015-typeof-symbol": { 650 | "version": "6.23.0", 651 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz", 652 | "integrity": "sha1-3sCfHN3/lLUqxz1QXITfWdzOs3I=", 653 | "requires": { 654 | "babel-runtime": "6.26.0" 655 | } 656 | }, 657 | "babel-plugin-transform-es2015-unicode-regex": { 658 | "version": "6.24.1", 659 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz", 660 | "integrity": "sha1-04sS9C6nMj9yk4fxinxa4frrNek=", 661 | "requires": { 662 | "babel-helper-regex": "6.26.0", 663 | "babel-runtime": "6.26.0", 664 | "regexpu-core": "2.0.0" 665 | } 666 | }, 667 | "babel-plugin-transform-exponentiation-operator": { 668 | "version": "6.24.1", 669 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz", 670 | "integrity": "sha1-KrDJx/MJj6SJB3cruBP+QejeOg4=", 671 | "requires": { 672 | "babel-helper-builder-binary-assignment-operator-visitor": "6.24.1", 673 | "babel-plugin-syntax-exponentiation-operator": "6.13.0", 674 | "babel-runtime": "6.26.0" 675 | } 676 | }, 677 | "babel-plugin-transform-export-extensions": { 678 | "version": "6.22.0", 679 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-export-extensions/-/babel-plugin-transform-export-extensions-6.22.0.tgz", 680 | "integrity": "sha1-U3OLR+deghhYnuqUbLvTkQm75lM=", 681 | "requires": { 682 | "babel-plugin-syntax-export-extensions": "6.13.0", 683 | "babel-runtime": "6.26.0" 684 | } 685 | }, 686 | "babel-plugin-transform-flow-strip-types": { 687 | "version": "6.22.0", 688 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-flow-strip-types/-/babel-plugin-transform-flow-strip-types-6.22.0.tgz", 689 | "integrity": "sha1-hMtnKTXUNxT9wyvOhFaNh0Qc988=", 690 | "requires": { 691 | "babel-plugin-syntax-flow": "6.18.0", 692 | "babel-runtime": "6.26.0" 693 | } 694 | }, 695 | "babel-plugin-transform-object-rest-spread": { 696 | "version": "6.26.0", 697 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz", 698 | "integrity": "sha1-DzZpLVD+9rfi1LOsFHgTepY7ewY=", 699 | "requires": { 700 | "babel-plugin-syntax-object-rest-spread": "6.13.0", 701 | "babel-runtime": "6.26.0" 702 | } 703 | }, 704 | "babel-plugin-transform-regenerator": { 705 | "version": "6.26.0", 706 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz", 707 | "integrity": "sha1-4HA2lvveJ/Cj78rPi03KL3s6jy8=", 708 | "requires": { 709 | "regenerator-transform": "0.10.1" 710 | } 711 | }, 712 | "babel-plugin-transform-strict-mode": { 713 | "version": "6.24.1", 714 | "resolved": "https://registry.npmjs.org/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz", 715 | "integrity": "sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g=", 716 | "requires": { 717 | "babel-runtime": "6.26.0", 718 | "babel-types": "6.26.0" 719 | } 720 | }, 721 | "babel-preset-es2015": { 722 | "version": "6.24.1", 723 | "resolved": "https://registry.npmjs.org/babel-preset-es2015/-/babel-preset-es2015-6.24.1.tgz", 724 | "integrity": "sha1-1EBQ1rwsn+6nAqrzjXJ6AhBTiTk=", 725 | "requires": { 726 | "babel-plugin-check-es2015-constants": "6.22.0", 727 | "babel-plugin-transform-es2015-arrow-functions": "6.22.0", 728 | "babel-plugin-transform-es2015-block-scoped-functions": "6.22.0", 729 | "babel-plugin-transform-es2015-block-scoping": "6.26.0", 730 | "babel-plugin-transform-es2015-classes": "6.24.1", 731 | "babel-plugin-transform-es2015-computed-properties": "6.24.1", 732 | "babel-plugin-transform-es2015-destructuring": "6.23.0", 733 | "babel-plugin-transform-es2015-duplicate-keys": "6.24.1", 734 | "babel-plugin-transform-es2015-for-of": "6.23.0", 735 | "babel-plugin-transform-es2015-function-name": "6.24.1", 736 | "babel-plugin-transform-es2015-literals": "6.22.0", 737 | "babel-plugin-transform-es2015-modules-amd": "6.24.1", 738 | "babel-plugin-transform-es2015-modules-commonjs": "6.26.0", 739 | "babel-plugin-transform-es2015-modules-systemjs": "6.24.1", 740 | "babel-plugin-transform-es2015-modules-umd": "6.24.1", 741 | "babel-plugin-transform-es2015-object-super": "6.24.1", 742 | "babel-plugin-transform-es2015-parameters": "6.24.1", 743 | "babel-plugin-transform-es2015-shorthand-properties": "6.24.1", 744 | "babel-plugin-transform-es2015-spread": "6.22.0", 745 | "babel-plugin-transform-es2015-sticky-regex": "6.24.1", 746 | "babel-plugin-transform-es2015-template-literals": "6.22.0", 747 | "babel-plugin-transform-es2015-typeof-symbol": "6.23.0", 748 | "babel-plugin-transform-es2015-unicode-regex": "6.24.1", 749 | "babel-plugin-transform-regenerator": "6.26.0" 750 | } 751 | }, 752 | "babel-preset-stage-1": { 753 | "version": "6.24.1", 754 | "resolved": "https://registry.npmjs.org/babel-preset-stage-1/-/babel-preset-stage-1-6.24.1.tgz", 755 | "integrity": "sha1-dpLNfc1oSZB+auSgqFWJz7niv7A=", 756 | "requires": { 757 | "babel-plugin-transform-class-constructor-call": "6.24.1", 758 | "babel-plugin-transform-export-extensions": "6.22.0", 759 | "babel-preset-stage-2": "6.24.1" 760 | } 761 | }, 762 | "babel-preset-stage-2": { 763 | "version": "6.24.1", 764 | "resolved": "https://registry.npmjs.org/babel-preset-stage-2/-/babel-preset-stage-2-6.24.1.tgz", 765 | "integrity": "sha1-2eKWD7PXEYfw5k7sYrwHdnIZvcE=", 766 | "requires": { 767 | "babel-plugin-syntax-dynamic-import": "6.18.0", 768 | "babel-plugin-transform-class-properties": "6.24.1", 769 | "babel-plugin-transform-decorators": "6.24.1", 770 | "babel-preset-stage-3": "6.24.1" 771 | } 772 | }, 773 | "babel-preset-stage-3": { 774 | "version": "6.24.1", 775 | "resolved": "https://registry.npmjs.org/babel-preset-stage-3/-/babel-preset-stage-3-6.24.1.tgz", 776 | "integrity": "sha1-g2raCp56f6N8sTj7kyb4eTSkg5U=", 777 | "requires": { 778 | "babel-plugin-syntax-trailing-function-commas": "6.22.0", 779 | "babel-plugin-transform-async-generator-functions": "6.24.1", 780 | "babel-plugin-transform-async-to-generator": "6.24.1", 781 | "babel-plugin-transform-exponentiation-operator": "6.24.1", 782 | "babel-plugin-transform-object-rest-spread": "6.26.0" 783 | } 784 | }, 785 | "babel-register": { 786 | "version": "6.26.0", 787 | "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz", 788 | "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=", 789 | "requires": { 790 | "babel-core": "6.26.0", 791 | "babel-runtime": "6.26.0", 792 | "core-js": "2.5.5", 793 | "home-or-tmp": "2.0.0", 794 | "lodash": "4.17.5", 795 | "mkdirp": "0.5.1", 796 | "source-map-support": "0.4.18" 797 | }, 798 | "dependencies": { 799 | "source-map": { 800 | "version": "0.5.7", 801 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", 802 | "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" 803 | }, 804 | "source-map-support": { 805 | "version": "0.4.18", 806 | "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", 807 | "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", 808 | "requires": { 809 | "source-map": "0.5.7" 810 | } 811 | } 812 | } 813 | }, 814 | "babel-runtime": { 815 | "version": "6.26.0", 816 | "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", 817 | "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", 818 | "requires": { 819 | "core-js": "2.5.5", 820 | "regenerator-runtime": "0.11.1" 821 | } 822 | }, 823 | "babel-template": { 824 | "version": "6.26.0", 825 | "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", 826 | "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", 827 | "requires": { 828 | "babel-runtime": "6.26.0", 829 | "babel-traverse": "6.26.0", 830 | "babel-types": "6.26.0", 831 | "babylon": "6.18.0", 832 | "lodash": "4.17.5" 833 | }, 834 | "dependencies": { 835 | "babylon": { 836 | "version": "6.18.0", 837 | "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", 838 | "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==" 839 | } 840 | } 841 | }, 842 | "babel-traverse": { 843 | "version": "6.26.0", 844 | "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", 845 | "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", 846 | "requires": { 847 | "babel-code-frame": "6.26.0", 848 | "babel-messages": "6.23.0", 849 | "babel-runtime": "6.26.0", 850 | "babel-types": "6.26.0", 851 | "babylon": "6.18.0", 852 | "debug": "2.6.8", 853 | "globals": "9.18.0", 854 | "invariant": "2.2.4", 855 | "lodash": "4.17.5" 856 | }, 857 | "dependencies": { 858 | "babylon": { 859 | "version": "6.18.0", 860 | "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", 861 | "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==" 862 | } 863 | } 864 | }, 865 | "babel-types": { 866 | "version": "6.26.0", 867 | "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", 868 | "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", 869 | "requires": { 870 | "babel-runtime": "6.26.0", 871 | "esutils": "2.0.2", 872 | "lodash": "4.17.5", 873 | "to-fast-properties": "1.0.3" 874 | } 875 | }, 876 | "babylon": { 877 | "version": "7.0.0-beta.44", 878 | "resolved": "https://registry.npmjs.org/babylon/-/babylon-7.0.0-beta.44.tgz", 879 | "integrity": "sha512-5Hlm13BJVAioCHpImtFqNOF2H3ieTOHd0fmFGMxOJ9jgeFqeAwsv3u5P5cR7CSeFrkgHsT19DgFJkHV0/Mcd8g==" 880 | }, 881 | "balanced-match": { 882 | "version": "1.0.0", 883 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", 884 | "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" 885 | }, 886 | "big.js": { 887 | "version": "3.2.0", 888 | "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz", 889 | "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==" 890 | }, 891 | "binaryextensions": { 892 | "version": "2.1.1", 893 | "resolved": "https://registry.npmjs.org/binaryextensions/-/binaryextensions-2.1.1.tgz", 894 | "integrity": "sha512-XBaoWE9RW8pPdPQNibZsW2zh8TW6gcarXp1FZPwT8Uop8ScSNldJEWf2k9l3HeTqdrEwsOsFcq74RiJECW34yA==" 895 | }, 896 | "brace-expansion": { 897 | "version": "1.1.11", 898 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", 899 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", 900 | "requires": { 901 | "balanced-match": "1.0.0", 902 | "concat-map": "0.0.1" 903 | } 904 | }, 905 | "braces": { 906 | "version": "1.8.5", 907 | "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", 908 | "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", 909 | "requires": { 910 | "expand-range": "1.8.2", 911 | "preserve": "0.2.0", 912 | "repeat-element": "1.1.2" 913 | } 914 | }, 915 | "browser-stdout": { 916 | "version": "1.3.0", 917 | "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.0.tgz", 918 | "integrity": "sha1-81HTKWnTL6XXpVZxVCY9korjvR8=" 919 | }, 920 | "builtin-modules": { 921 | "version": "1.1.1", 922 | "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", 923 | "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=" 924 | }, 925 | "cacheable-request": { 926 | "version": "2.1.4", 927 | "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-2.1.4.tgz", 928 | "integrity": "sha1-DYCIAbY0KtM8kd+dC0TcCbkeXD0=", 929 | "requires": { 930 | "clone-response": "1.0.2", 931 | "get-stream": "3.0.0", 932 | "http-cache-semantics": "3.8.1", 933 | "keyv": "3.0.0", 934 | "lowercase-keys": "1.0.0", 935 | "normalize-url": "2.0.1", 936 | "responselike": "1.0.2" 937 | }, 938 | "dependencies": { 939 | "lowercase-keys": { 940 | "version": "1.0.0", 941 | "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.0.tgz", 942 | "integrity": "sha1-TjNms55/VFfjXxMkvfb4jQv8cwY=" 943 | } 944 | } 945 | }, 946 | "camelcase": { 947 | "version": "3.0.0", 948 | "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", 949 | "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=" 950 | }, 951 | "chalk": { 952 | "version": "2.3.2", 953 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.2.tgz", 954 | "integrity": "sha512-ZM4j2/ld/YZDc3Ma8PgN7gyAk+kHMMMyzLNryCPGhWrsfAuDVeuid5bpRFTDgMH9JBK2lA4dyyAkkZYF/WcqDQ==", 955 | "requires": { 956 | "ansi-styles": "3.2.1", 957 | "escape-string-regexp": "1.0.5", 958 | "supports-color": "5.3.0" 959 | }, 960 | "dependencies": { 961 | "has-flag": { 962 | "version": "3.0.0", 963 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", 964 | "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" 965 | }, 966 | "supports-color": { 967 | "version": "5.3.0", 968 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.3.0.tgz", 969 | "integrity": "sha512-0aP01LLIskjKs3lq52EC0aGBAJhLq7B2Rd8HC/DR/PtNNpcLilNmHC12O+hu0usQpo7wtHNRqtrhBwtDb0+dNg==", 970 | "requires": { 971 | "has-flag": "3.0.0" 972 | } 973 | } 974 | } 975 | }, 976 | "chardet": { 977 | "version": "0.4.2", 978 | "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.4.2.tgz", 979 | "integrity": "sha1-tUc7M9yXxCTl2Y3IfVXU2KKci/I=" 980 | }, 981 | "cli-cursor": { 982 | "version": "2.1.0", 983 | "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", 984 | "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", 985 | "requires": { 986 | "restore-cursor": "2.0.0" 987 | } 988 | }, 989 | "cli-spinners": { 990 | "version": "0.1.2", 991 | "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-0.1.2.tgz", 992 | "integrity": "sha1-u3ZNiOGF+54eaiofGXcjGPYF4xw=" 993 | }, 994 | "cli-table": { 995 | "version": "0.3.1", 996 | "resolved": "https://registry.npmjs.org/cli-table/-/cli-table-0.3.1.tgz", 997 | "integrity": "sha1-9TsFJmqLGguTSz0IIebi3FkUriM=", 998 | "requires": { 999 | "colors": "1.0.3" 1000 | }, 1001 | "dependencies": { 1002 | "colors": { 1003 | "version": "1.0.3", 1004 | "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz", 1005 | "integrity": "sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs=" 1006 | } 1007 | } 1008 | }, 1009 | "cli-truncate": { 1010 | "version": "0.2.1", 1011 | "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-0.2.1.tgz", 1012 | "integrity": "sha1-nxXPuwcFAFNpIWxiasfQWrkN1XQ=", 1013 | "requires": { 1014 | "slice-ansi": "0.0.4", 1015 | "string-width": "1.0.2" 1016 | } 1017 | }, 1018 | "cli-width": { 1019 | "version": "2.2.0", 1020 | "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz", 1021 | "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=" 1022 | }, 1023 | "cliui": { 1024 | "version": "3.2.0", 1025 | "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", 1026 | "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", 1027 | "requires": { 1028 | "string-width": "1.0.2", 1029 | "strip-ansi": "3.0.1", 1030 | "wrap-ansi": "2.1.0" 1031 | } 1032 | }, 1033 | "clone": { 1034 | "version": "1.0.4", 1035 | "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", 1036 | "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=" 1037 | }, 1038 | "clone-buffer": { 1039 | "version": "1.0.0", 1040 | "resolved": "https://registry.npmjs.org/clone-buffer/-/clone-buffer-1.0.0.tgz", 1041 | "integrity": "sha1-4+JbIHrE5wGvch4staFnksrD3Fg=" 1042 | }, 1043 | "clone-response": { 1044 | "version": "1.0.2", 1045 | "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz", 1046 | "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", 1047 | "requires": { 1048 | "mimic-response": "1.0.0" 1049 | } 1050 | }, 1051 | "clone-stats": { 1052 | "version": "0.0.1", 1053 | "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz", 1054 | "integrity": "sha1-uI+UqCzzi4eR1YBG6kAprYjKmdE=" 1055 | }, 1056 | "cloneable-readable": { 1057 | "version": "1.1.2", 1058 | "resolved": "https://registry.npmjs.org/cloneable-readable/-/cloneable-readable-1.1.2.tgz", 1059 | "integrity": "sha512-Bq6+4t+lbM8vhTs/Bef5c5AdEMtapp/iFb6+s4/Hh9MVTt8OLKH7ZOOZSCT+Ys7hsHvqv0GuMPJ1lnQJVHvxpg==", 1060 | "requires": { 1061 | "inherits": "2.0.3", 1062 | "process-nextick-args": "2.0.0", 1063 | "readable-stream": "2.3.6" 1064 | } 1065 | }, 1066 | "code-point-at": { 1067 | "version": "1.1.0", 1068 | "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", 1069 | "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" 1070 | }, 1071 | "color-convert": { 1072 | "version": "1.9.1", 1073 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.1.tgz", 1074 | "integrity": "sha512-mjGanIiwQJskCC18rPR6OmrZ6fm2Lc7PeGFYwCmy5J34wC6F1PzdGL6xeMfmgicfYcNLGuVFA3WzXtIDCQSZxQ==", 1075 | "requires": { 1076 | "color-name": "1.1.3" 1077 | } 1078 | }, 1079 | "color-name": { 1080 | "version": "1.1.3", 1081 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", 1082 | "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" 1083 | }, 1084 | "colors": { 1085 | "version": "1.2.1", 1086 | "resolved": "https://registry.npmjs.org/colors/-/colors-1.2.1.tgz", 1087 | "integrity": "sha512-s8+wktIuDSLffCywiwSxQOMqtPxML11a/dtHE17tMn4B1MSWw/C22EKf7M2KGUBcDaVFEGT+S8N02geDXeuNKg==" 1088 | }, 1089 | "commander": { 1090 | "version": "2.9.0", 1091 | "resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz", 1092 | "integrity": "sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q=", 1093 | "requires": { 1094 | "graceful-readlink": "1.0.1" 1095 | } 1096 | }, 1097 | "commondir": { 1098 | "version": "1.0.1", 1099 | "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", 1100 | "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=" 1101 | }, 1102 | "concat-map": { 1103 | "version": "0.0.1", 1104 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", 1105 | "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" 1106 | }, 1107 | "convert-source-map": { 1108 | "version": "1.5.1", 1109 | "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.1.tgz", 1110 | "integrity": "sha1-uCeAl7m8IpNl3lxiz1/K7YtVmeU=" 1111 | }, 1112 | "core-js": { 1113 | "version": "2.5.5", 1114 | "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.5.tgz", 1115 | "integrity": "sha1-sU3ek2xkDAV5prUMq8wTLdYSfjs=" 1116 | }, 1117 | "core-util-is": { 1118 | "version": "1.0.2", 1119 | "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", 1120 | "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" 1121 | }, 1122 | "cross-spawn": { 1123 | "version": "6.0.5", 1124 | "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", 1125 | "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", 1126 | "requires": { 1127 | "nice-try": "1.0.4", 1128 | "path-key": "2.0.1", 1129 | "semver": "5.5.0", 1130 | "shebang-command": "1.2.0", 1131 | "which": "1.3.0" 1132 | } 1133 | }, 1134 | "dargs": { 1135 | "version": "5.1.0", 1136 | "resolved": "https://registry.npmjs.org/dargs/-/dargs-5.1.0.tgz", 1137 | "integrity": "sha1-7H6lDHhWTNNsnV7Bj2Yyn63ieCk=" 1138 | }, 1139 | "date-fns": { 1140 | "version": "1.29.0", 1141 | "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-1.29.0.tgz", 1142 | "integrity": "sha512-lbTXWZ6M20cWH8N9S6afb0SBm6tMk+uUg6z3MqHPKE9atmsY3kJkTm8vKe93izJ2B2+q5MV990sM2CHgtAZaOw==" 1143 | }, 1144 | "dateformat": { 1145 | "version": "3.0.3", 1146 | "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz", 1147 | "integrity": "sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==" 1148 | }, 1149 | "debug": { 1150 | "version": "2.6.8", 1151 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz", 1152 | "integrity": "sha1-5zFTHKLt4n0YgiJCfaF4IdaP9Pw=", 1153 | "requires": { 1154 | "ms": "2.0.0" 1155 | } 1156 | }, 1157 | "decamelize": { 1158 | "version": "1.2.0", 1159 | "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", 1160 | "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" 1161 | }, 1162 | "decode-uri-component": { 1163 | "version": "0.2.0", 1164 | "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", 1165 | "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=" 1166 | }, 1167 | "decompress-response": { 1168 | "version": "3.3.0", 1169 | "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", 1170 | "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", 1171 | "requires": { 1172 | "mimic-response": "1.0.0" 1173 | } 1174 | }, 1175 | "deep-extend": { 1176 | "version": "0.4.2", 1177 | "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.4.2.tgz", 1178 | "integrity": "sha1-SLaZwn4zS/ifEIkr5DL25MfTSn8=" 1179 | }, 1180 | "detect-conflict": { 1181 | "version": "1.0.1", 1182 | "resolved": "https://registry.npmjs.org/detect-conflict/-/detect-conflict-1.0.1.tgz", 1183 | "integrity": "sha1-CIZXpmqWHAUBnbfEIwiDsca0F24=" 1184 | }, 1185 | "detect-indent": { 1186 | "version": "4.0.0", 1187 | "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", 1188 | "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", 1189 | "requires": { 1190 | "repeating": "2.0.1" 1191 | } 1192 | }, 1193 | "diff": { 1194 | "version": "3.2.0", 1195 | "resolved": "https://registry.npmjs.org/diff/-/diff-3.2.0.tgz", 1196 | "integrity": "sha1-yc45Okt8vQsFinJck98pkCeGj/k=" 1197 | }, 1198 | "duplexer3": { 1199 | "version": "0.1.4", 1200 | "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", 1201 | "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=" 1202 | }, 1203 | "editions": { 1204 | "version": "1.3.4", 1205 | "resolved": "https://registry.npmjs.org/editions/-/editions-1.3.4.tgz", 1206 | "integrity": "sha512-gzao+mxnYDzIysXKMQi/+M1mjy/rjestjg6OPoYTtI+3Izp23oiGZitsl9lPDPiTGXbcSIk1iJWhliSaglxnUg==" 1207 | }, 1208 | "ejs": { 1209 | "version": "2.5.8", 1210 | "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.5.8.tgz", 1211 | "integrity": "sha512-QIDZL54fyV8MDcAsO91BMH1ft2qGGaHIJsJIA/+t+7uvXol1dm413fPcUgUb4k8F/9457rx4/KFE4XfDifrQxQ==" 1212 | }, 1213 | "elegant-spinner": { 1214 | "version": "1.0.1", 1215 | "resolved": "https://registry.npmjs.org/elegant-spinner/-/elegant-spinner-1.0.1.tgz", 1216 | "integrity": "sha1-2wQ1IcldfjA/2PNFvtwzSc+wcp4=" 1217 | }, 1218 | "emojis-list": { 1219 | "version": "2.1.0", 1220 | "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", 1221 | "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=" 1222 | }, 1223 | "enhanced-resolve": { 1224 | "version": "4.0.0", 1225 | "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.0.0.tgz", 1226 | "integrity": "sha512-jox/62b2GofV1qTUQTMPEJSDIGycS43evqYzD/KVtEb9OCoki9cnacUPxCrZa7JfPzZSYOCZhu9O9luaMxAX8g==", 1227 | "requires": { 1228 | "graceful-fs": "4.1.11", 1229 | "memory-fs": "0.4.1", 1230 | "tapable": "1.0.0" 1231 | } 1232 | }, 1233 | "envinfo": { 1234 | "version": "4.4.2", 1235 | "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-4.4.2.tgz", 1236 | "integrity": "sha512-5rfRs+m+6pwoKRCFqpsA5+qsLngFms1aWPrxfKbrObCzQaPc3M3yPloZx+BL9UE3dK58cxw36XVQbFRSCCfGSQ==" 1237 | }, 1238 | "errno": { 1239 | "version": "0.1.7", 1240 | "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz", 1241 | "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==", 1242 | "requires": { 1243 | "prr": "1.0.1" 1244 | } 1245 | }, 1246 | "error": { 1247 | "version": "7.0.2", 1248 | "resolved": "https://registry.npmjs.org/error/-/error-7.0.2.tgz", 1249 | "integrity": "sha1-pfdf/02ZJhJt2sDqXcOOaJFTywI=", 1250 | "requires": { 1251 | "string-template": "0.2.1", 1252 | "xtend": "4.0.1" 1253 | } 1254 | }, 1255 | "error-ex": { 1256 | "version": "1.3.1", 1257 | "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz", 1258 | "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=", 1259 | "requires": { 1260 | "is-arrayish": "0.2.1" 1261 | } 1262 | }, 1263 | "escape-string-regexp": { 1264 | "version": "1.0.5", 1265 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", 1266 | "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" 1267 | }, 1268 | "esprima": { 1269 | "version": "4.0.0", 1270 | "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.0.tgz", 1271 | "integrity": "sha512-oftTcaMu/EGrEIu904mWteKIv8vMuOgGYo7EhVJJN00R/EED9DCua/xxHRdYnKtcECzVg7xOWhflvJMnqcFZjw==" 1272 | }, 1273 | "esutils": { 1274 | "version": "2.0.2", 1275 | "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", 1276 | "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=" 1277 | }, 1278 | "execa": { 1279 | "version": "0.7.0", 1280 | "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", 1281 | "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", 1282 | "requires": { 1283 | "cross-spawn": "5.1.0", 1284 | "get-stream": "3.0.0", 1285 | "is-stream": "1.1.0", 1286 | "npm-run-path": "2.0.2", 1287 | "p-finally": "1.0.0", 1288 | "signal-exit": "3.0.2", 1289 | "strip-eof": "1.0.0" 1290 | }, 1291 | "dependencies": { 1292 | "cross-spawn": { 1293 | "version": "5.1.0", 1294 | "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", 1295 | "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", 1296 | "requires": { 1297 | "lru-cache": "4.1.2", 1298 | "shebang-command": "1.2.0", 1299 | "which": "1.3.0" 1300 | } 1301 | } 1302 | } 1303 | }, 1304 | "exit-hook": { 1305 | "version": "1.1.1", 1306 | "resolved": "https://registry.npmjs.org/exit-hook/-/exit-hook-1.1.1.tgz", 1307 | "integrity": "sha1-8FyiM7SMBdVP/wd2XfhQfpXAL/g=" 1308 | }, 1309 | "expand-brackets": { 1310 | "version": "0.1.5", 1311 | "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", 1312 | "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", 1313 | "requires": { 1314 | "is-posix-bracket": "0.1.1" 1315 | } 1316 | }, 1317 | "expand-range": { 1318 | "version": "1.8.2", 1319 | "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", 1320 | "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", 1321 | "requires": { 1322 | "fill-range": "2.2.3" 1323 | } 1324 | }, 1325 | "expand-tilde": { 1326 | "version": "2.0.2", 1327 | "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", 1328 | "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=", 1329 | "requires": { 1330 | "homedir-polyfill": "1.0.1" 1331 | } 1332 | }, 1333 | "external-editor": { 1334 | "version": "2.2.0", 1335 | "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-2.2.0.tgz", 1336 | "integrity": "sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==", 1337 | "requires": { 1338 | "chardet": "0.4.2", 1339 | "iconv-lite": "0.4.21", 1340 | "tmp": "0.0.33" 1341 | } 1342 | }, 1343 | "extglob": { 1344 | "version": "0.3.2", 1345 | "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", 1346 | "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", 1347 | "requires": { 1348 | "is-extglob": "1.0.0" 1349 | } 1350 | }, 1351 | "figures": { 1352 | "version": "2.0.0", 1353 | "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", 1354 | "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", 1355 | "requires": { 1356 | "escape-string-regexp": "1.0.5" 1357 | } 1358 | }, 1359 | "filename-regex": { 1360 | "version": "2.0.1", 1361 | "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz", 1362 | "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=" 1363 | }, 1364 | "fill-range": { 1365 | "version": "2.2.3", 1366 | "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.3.tgz", 1367 | "integrity": "sha1-ULd9/X5Gm8dJJHCWNpn+eoSFpyM=", 1368 | "requires": { 1369 | "is-number": "2.1.0", 1370 | "isobject": "2.1.0", 1371 | "randomatic": "1.1.7", 1372 | "repeat-element": "1.1.2", 1373 | "repeat-string": "1.6.1" 1374 | } 1375 | }, 1376 | "find-up": { 1377 | "version": "1.1.2", 1378 | "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", 1379 | "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", 1380 | "requires": { 1381 | "path-exists": "2.1.0", 1382 | "pinkie-promise": "2.0.1" 1383 | } 1384 | }, 1385 | "first-chunk-stream": { 1386 | "version": "2.0.0", 1387 | "resolved": "https://registry.npmjs.org/first-chunk-stream/-/first-chunk-stream-2.0.0.tgz", 1388 | "integrity": "sha1-G97NuOCDwGZLkZRVgVd6Q6nzHXA=", 1389 | "requires": { 1390 | "readable-stream": "2.3.6" 1391 | } 1392 | }, 1393 | "flow-parser": { 1394 | "version": "0.70.0", 1395 | "resolved": "https://registry.npmjs.org/flow-parser/-/flow-parser-0.70.0.tgz", 1396 | "integrity": "sha512-gGdyVUZWswG5jcINrVDHd3RY4nJptBTAx9mR9thGsrGGmAUR7omgJXQSpR+fXrLtxSTAea3HpAZNU/yzRJc2Cg==" 1397 | }, 1398 | "for-in": { 1399 | "version": "1.0.2", 1400 | "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", 1401 | "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=" 1402 | }, 1403 | "for-own": { 1404 | "version": "0.1.5", 1405 | "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", 1406 | "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", 1407 | "requires": { 1408 | "for-in": "1.0.2" 1409 | } 1410 | }, 1411 | "from2": { 1412 | "version": "2.3.0", 1413 | "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", 1414 | "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", 1415 | "requires": { 1416 | "inherits": "2.0.3", 1417 | "readable-stream": "2.3.6" 1418 | } 1419 | }, 1420 | "fs-extra": { 1421 | "version": "0.30.0", 1422 | "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", 1423 | "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", 1424 | "requires": { 1425 | "graceful-fs": "4.1.11", 1426 | "jsonfile": "2.4.0", 1427 | "klaw": "1.3.1", 1428 | "path-is-absolute": "1.0.1", 1429 | "rimraf": "2.6.2" 1430 | } 1431 | }, 1432 | "fs.realpath": { 1433 | "version": "1.0.0", 1434 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", 1435 | "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" 1436 | }, 1437 | "ganache-cli": { 1438 | "version": "6.1.0", 1439 | "resolved": "https://registry.npmjs.org/ganache-cli/-/ganache-cli-6.1.0.tgz", 1440 | "integrity": "sha512-FdTeyk4uLRHGeFiMe+Qnh4Hc5KiTVqvRVVvLDFJEVVKC1P1yHhEgZeh9sp1KhuvxSrxToxgJS25UapYQwH4zHw==", 1441 | "requires": { 1442 | "source-map-support": "0.5.4", 1443 | "webpack-cli": "2.0.14" 1444 | } 1445 | }, 1446 | "get-caller-file": { 1447 | "version": "1.0.2", 1448 | "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz", 1449 | "integrity": "sha1-9wLmMSfn4jHBYKgMFVSstw1QR+U=" 1450 | }, 1451 | "get-stream": { 1452 | "version": "3.0.0", 1453 | "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", 1454 | "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" 1455 | }, 1456 | "gh-got": { 1457 | "version": "6.0.0", 1458 | "resolved": "https://registry.npmjs.org/gh-got/-/gh-got-6.0.0.tgz", 1459 | "integrity": "sha512-F/mS+fsWQMo1zfgG9MD8KWvTWPPzzhuVwY++fhQ5Ggd+0P+CAMHtzMZhNxG+TqGfHDChJKsbh6otfMGqO2AKBw==", 1460 | "requires": { 1461 | "got": "7.1.0", 1462 | "is-plain-obj": "1.1.0" 1463 | }, 1464 | "dependencies": { 1465 | "got": { 1466 | "version": "7.1.0", 1467 | "resolved": "https://registry.npmjs.org/got/-/got-7.1.0.tgz", 1468 | "integrity": "sha512-Y5WMo7xKKq1muPsxD+KmrR8DH5auG7fBdDVueZwETwV6VytKyU9OX/ddpq2/1hp1vIPvVb4T81dKQz3BivkNLw==", 1469 | "requires": { 1470 | "decompress-response": "3.3.0", 1471 | "duplexer3": "0.1.4", 1472 | "get-stream": "3.0.0", 1473 | "is-plain-obj": "1.1.0", 1474 | "is-retry-allowed": "1.1.0", 1475 | "is-stream": "1.1.0", 1476 | "isurl": "1.0.0", 1477 | "lowercase-keys": "1.0.1", 1478 | "p-cancelable": "0.3.0", 1479 | "p-timeout": "1.2.1", 1480 | "safe-buffer": "5.1.1", 1481 | "timed-out": "4.0.1", 1482 | "url-parse-lax": "1.0.0", 1483 | "url-to-options": "1.0.1" 1484 | } 1485 | }, 1486 | "p-cancelable": { 1487 | "version": "0.3.0", 1488 | "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.3.0.tgz", 1489 | "integrity": "sha512-RVbZPLso8+jFeq1MfNvgXtCRED2raz/dKpacfTNxsx6pLEpEomM7gah6VeHSYV3+vo0OAi4MkArtQcWWXuQoyw==" 1490 | }, 1491 | "p-timeout": { 1492 | "version": "1.2.1", 1493 | "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-1.2.1.tgz", 1494 | "integrity": "sha1-XrOzU7f86Z8QGhA4iAuwVOu+o4Y=", 1495 | "requires": { 1496 | "p-finally": "1.0.0" 1497 | } 1498 | }, 1499 | "prepend-http": { 1500 | "version": "1.0.4", 1501 | "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", 1502 | "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=" 1503 | }, 1504 | "url-parse-lax": { 1505 | "version": "1.0.0", 1506 | "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", 1507 | "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", 1508 | "requires": { 1509 | "prepend-http": "1.0.4" 1510 | } 1511 | } 1512 | } 1513 | }, 1514 | "github-username": { 1515 | "version": "4.1.0", 1516 | "resolved": "https://registry.npmjs.org/github-username/-/github-username-4.1.0.tgz", 1517 | "integrity": "sha1-y+KABBiDIG2kISrp5LXxacML9Bc=", 1518 | "requires": { 1519 | "gh-got": "6.0.0" 1520 | } 1521 | }, 1522 | "glob": { 1523 | "version": "7.1.1", 1524 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.1.tgz", 1525 | "integrity": "sha1-gFIR3wT6rxxjo2ADBs31reULLsg=", 1526 | "requires": { 1527 | "fs.realpath": "1.0.0", 1528 | "inflight": "1.0.6", 1529 | "inherits": "2.0.3", 1530 | "minimatch": "3.0.4", 1531 | "once": "1.4.0", 1532 | "path-is-absolute": "1.0.1" 1533 | } 1534 | }, 1535 | "glob-all": { 1536 | "version": "3.1.0", 1537 | "resolved": "https://registry.npmjs.org/glob-all/-/glob-all-3.1.0.tgz", 1538 | "integrity": "sha1-iRPd+17hrHgSZWJBsD1SF8ZLAqs=", 1539 | "requires": { 1540 | "glob": "7.1.1", 1541 | "yargs": "1.2.6" 1542 | }, 1543 | "dependencies": { 1544 | "minimist": { 1545 | "version": "0.1.0", 1546 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.1.0.tgz", 1547 | "integrity": "sha1-md9lelJXTCHJBXSX33QnkLK0wN4=" 1548 | }, 1549 | "yargs": { 1550 | "version": "1.2.6", 1551 | "resolved": "https://registry.npmjs.org/yargs/-/yargs-1.2.6.tgz", 1552 | "integrity": "sha1-nHtKgv1dWVsr8Xq23MQxNUMv40s=", 1553 | "requires": { 1554 | "minimist": "0.1.0" 1555 | } 1556 | } 1557 | } 1558 | }, 1559 | "glob-base": { 1560 | "version": "0.3.0", 1561 | "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", 1562 | "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", 1563 | "requires": { 1564 | "glob-parent": "2.0.0", 1565 | "is-glob": "2.0.1" 1566 | } 1567 | }, 1568 | "glob-parent": { 1569 | "version": "2.0.0", 1570 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", 1571 | "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", 1572 | "requires": { 1573 | "is-glob": "2.0.1" 1574 | } 1575 | }, 1576 | "global-modules": { 1577 | "version": "1.0.0", 1578 | "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", 1579 | "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", 1580 | "requires": { 1581 | "global-prefix": "1.0.2", 1582 | "is-windows": "1.0.2", 1583 | "resolve-dir": "1.0.1" 1584 | } 1585 | }, 1586 | "global-prefix": { 1587 | "version": "1.0.2", 1588 | "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", 1589 | "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=", 1590 | "requires": { 1591 | "expand-tilde": "2.0.2", 1592 | "homedir-polyfill": "1.0.1", 1593 | "ini": "1.3.5", 1594 | "is-windows": "1.0.2", 1595 | "which": "1.3.0" 1596 | } 1597 | }, 1598 | "globals": { 1599 | "version": "9.18.0", 1600 | "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", 1601 | "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==" 1602 | }, 1603 | "globby": { 1604 | "version": "6.1.0", 1605 | "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", 1606 | "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", 1607 | "requires": { 1608 | "array-union": "1.0.2", 1609 | "glob": "7.1.1", 1610 | "object-assign": "4.1.1", 1611 | "pify": "2.3.0", 1612 | "pinkie-promise": "2.0.1" 1613 | } 1614 | }, 1615 | "got": { 1616 | "version": "8.3.0", 1617 | "resolved": "https://registry.npmjs.org/got/-/got-8.3.0.tgz", 1618 | "integrity": "sha512-kBNy/S2CGwrYgDSec5KTWGKUvupwkkTVAjIsVFF2shXO13xpZdFP4d4kxa//CLX2tN/rV0aYwK8vY6UKWGn2vQ==", 1619 | "requires": { 1620 | "@sindresorhus/is": "0.7.0", 1621 | "cacheable-request": "2.1.4", 1622 | "decompress-response": "3.3.0", 1623 | "duplexer3": "0.1.4", 1624 | "get-stream": "3.0.0", 1625 | "into-stream": "3.1.0", 1626 | "is-retry-allowed": "1.1.0", 1627 | "isurl": "1.0.0", 1628 | "lowercase-keys": "1.0.1", 1629 | "mimic-response": "1.0.0", 1630 | "p-cancelable": "0.4.1", 1631 | "p-timeout": "2.0.1", 1632 | "pify": "3.0.0", 1633 | "safe-buffer": "5.1.1", 1634 | "timed-out": "4.0.1", 1635 | "url-parse-lax": "3.0.0", 1636 | "url-to-options": "1.0.1" 1637 | }, 1638 | "dependencies": { 1639 | "pify": { 1640 | "version": "3.0.0", 1641 | "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", 1642 | "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" 1643 | } 1644 | } 1645 | }, 1646 | "graceful-fs": { 1647 | "version": "4.1.11", 1648 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", 1649 | "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=" 1650 | }, 1651 | "graceful-readlink": { 1652 | "version": "1.0.1", 1653 | "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", 1654 | "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=" 1655 | }, 1656 | "grouped-queue": { 1657 | "version": "0.3.3", 1658 | "resolved": "https://registry.npmjs.org/grouped-queue/-/grouped-queue-0.3.3.tgz", 1659 | "integrity": "sha1-wWfSpTGcWg4JZO9qJbfC34mWyFw=", 1660 | "requires": { 1661 | "lodash": "4.17.5" 1662 | } 1663 | }, 1664 | "growl": { 1665 | "version": "1.9.2", 1666 | "resolved": "https://registry.npmjs.org/growl/-/growl-1.9.2.tgz", 1667 | "integrity": "sha1-Dqd0NxXbjY3ixe3hd14bRayFwC8=" 1668 | }, 1669 | "has-ansi": { 1670 | "version": "2.0.0", 1671 | "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", 1672 | "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", 1673 | "requires": { 1674 | "ansi-regex": "2.1.1" 1675 | } 1676 | }, 1677 | "has-color": { 1678 | "version": "0.1.7", 1679 | "resolved": "https://registry.npmjs.org/has-color/-/has-color-0.1.7.tgz", 1680 | "integrity": "sha1-ZxRKUmDDT8PMpnfQQdr1L+e3iy8=" 1681 | }, 1682 | "has-flag": { 1683 | "version": "1.0.0", 1684 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", 1685 | "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=" 1686 | }, 1687 | "has-symbol-support-x": { 1688 | "version": "1.4.2", 1689 | "resolved": "https://registry.npmjs.org/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz", 1690 | "integrity": "sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw==" 1691 | }, 1692 | "has-to-string-tag-x": { 1693 | "version": "1.4.1", 1694 | "resolved": "https://registry.npmjs.org/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz", 1695 | "integrity": "sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==", 1696 | "requires": { 1697 | "has-symbol-support-x": "1.4.2" 1698 | } 1699 | }, 1700 | "he": { 1701 | "version": "1.1.1", 1702 | "resolved": "https://registry.npmjs.org/he/-/he-1.1.1.tgz", 1703 | "integrity": "sha1-k0EP0hsAlzUVH4howvJx80J+I/0=" 1704 | }, 1705 | "home-or-tmp": { 1706 | "version": "2.0.0", 1707 | "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz", 1708 | "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=", 1709 | "requires": { 1710 | "os-homedir": "1.0.2", 1711 | "os-tmpdir": "1.0.2" 1712 | } 1713 | }, 1714 | "homedir-polyfill": { 1715 | "version": "1.0.1", 1716 | "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.1.tgz", 1717 | "integrity": "sha1-TCu8inWJmP7r9e1oWA921GdotLw=", 1718 | "requires": { 1719 | "parse-passwd": "1.0.0" 1720 | } 1721 | }, 1722 | "hosted-git-info": { 1723 | "version": "2.6.0", 1724 | "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.6.0.tgz", 1725 | "integrity": "sha512-lIbgIIQA3lz5XaB6vxakj6sDHADJiZadYEJB+FgA+C4nubM1NwcuvUr9EJPmnH1skZqpqUzWborWo8EIUi0Sdw==" 1726 | }, 1727 | "http-cache-semantics": { 1728 | "version": "3.8.1", 1729 | "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz", 1730 | "integrity": "sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w==" 1731 | }, 1732 | "iconv-lite": { 1733 | "version": "0.4.21", 1734 | "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.21.tgz", 1735 | "integrity": "sha512-En5V9za5mBt2oUA03WGD3TwDv0MKAruqsuxstbMUZaj9W9k/m1CV/9py3l0L5kw9Bln8fdHQmzHSYtvpvTLpKw==", 1736 | "requires": { 1737 | "safer-buffer": "2.1.2" 1738 | } 1739 | }, 1740 | "import-local": { 1741 | "version": "1.0.0", 1742 | "resolved": "https://registry.npmjs.org/import-local/-/import-local-1.0.0.tgz", 1743 | "integrity": "sha512-vAaZHieK9qjGo58agRBg+bhHX3hoTZU/Oa3GESWLz7t1U62fk63aHuDJJEteXoDeTCcPmUT+z38gkHPZkkmpmQ==", 1744 | "requires": { 1745 | "pkg-dir": "2.0.0", 1746 | "resolve-cwd": "2.0.0" 1747 | } 1748 | }, 1749 | "imurmurhash": { 1750 | "version": "0.1.4", 1751 | "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", 1752 | "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=" 1753 | }, 1754 | "indent-string": { 1755 | "version": "2.1.0", 1756 | "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", 1757 | "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", 1758 | "requires": { 1759 | "repeating": "2.0.1" 1760 | } 1761 | }, 1762 | "inflight": { 1763 | "version": "1.0.6", 1764 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", 1765 | "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", 1766 | "requires": { 1767 | "once": "1.4.0", 1768 | "wrappy": "1.0.2" 1769 | } 1770 | }, 1771 | "inherits": { 1772 | "version": "2.0.3", 1773 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", 1774 | "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" 1775 | }, 1776 | "ini": { 1777 | "version": "1.3.5", 1778 | "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", 1779 | "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==" 1780 | }, 1781 | "inquirer": { 1782 | "version": "5.2.0", 1783 | "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-5.2.0.tgz", 1784 | "integrity": "sha512-E9BmnJbAKLPGonz0HeWHtbKf+EeSP93paWO3ZYoUpq/aowXvYGjjCSuashhXPpzbArIjBbji39THkxTz9ZeEUQ==", 1785 | "requires": { 1786 | "ansi-escapes": "3.1.0", 1787 | "chalk": "2.3.2", 1788 | "cli-cursor": "2.1.0", 1789 | "cli-width": "2.2.0", 1790 | "external-editor": "2.2.0", 1791 | "figures": "2.0.0", 1792 | "lodash": "4.17.5", 1793 | "mute-stream": "0.0.7", 1794 | "run-async": "2.3.0", 1795 | "rxjs": "5.5.10", 1796 | "string-width": "2.1.1", 1797 | "strip-ansi": "4.0.0", 1798 | "through": "2.3.8" 1799 | }, 1800 | "dependencies": { 1801 | "ansi-regex": { 1802 | "version": "3.0.0", 1803 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", 1804 | "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" 1805 | }, 1806 | "is-fullwidth-code-point": { 1807 | "version": "2.0.0", 1808 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", 1809 | "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" 1810 | }, 1811 | "string-width": { 1812 | "version": "2.1.1", 1813 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", 1814 | "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", 1815 | "requires": { 1816 | "is-fullwidth-code-point": "2.0.0", 1817 | "strip-ansi": "4.0.0" 1818 | } 1819 | }, 1820 | "strip-ansi": { 1821 | "version": "4.0.0", 1822 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", 1823 | "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", 1824 | "requires": { 1825 | "ansi-regex": "3.0.0" 1826 | } 1827 | } 1828 | } 1829 | }, 1830 | "interpret": { 1831 | "version": "1.1.0", 1832 | "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.1.0.tgz", 1833 | "integrity": "sha1-ftGxQQxqDg94z5XTuEQMY/eLhhQ=" 1834 | }, 1835 | "into-stream": { 1836 | "version": "3.1.0", 1837 | "resolved": "https://registry.npmjs.org/into-stream/-/into-stream-3.1.0.tgz", 1838 | "integrity": "sha1-lvsKk2wSur1v8XUqF9BWFqvQlMY=", 1839 | "requires": { 1840 | "from2": "2.3.0", 1841 | "p-is-promise": "1.1.0" 1842 | } 1843 | }, 1844 | "invariant": { 1845 | "version": "2.2.4", 1846 | "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", 1847 | "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", 1848 | "requires": { 1849 | "loose-envify": "1.3.1" 1850 | } 1851 | }, 1852 | "invert-kv": { 1853 | "version": "1.0.0", 1854 | "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", 1855 | "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=" 1856 | }, 1857 | "is-arrayish": { 1858 | "version": "0.2.1", 1859 | "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", 1860 | "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" 1861 | }, 1862 | "is-buffer": { 1863 | "version": "1.1.6", 1864 | "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", 1865 | "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" 1866 | }, 1867 | "is-builtin-module": { 1868 | "version": "1.0.0", 1869 | "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", 1870 | "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", 1871 | "requires": { 1872 | "builtin-modules": "1.1.1" 1873 | } 1874 | }, 1875 | "is-dotfile": { 1876 | "version": "1.0.3", 1877 | "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz", 1878 | "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=" 1879 | }, 1880 | "is-equal-shallow": { 1881 | "version": "0.1.3", 1882 | "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz", 1883 | "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", 1884 | "requires": { 1885 | "is-primitive": "2.0.0" 1886 | } 1887 | }, 1888 | "is-extendable": { 1889 | "version": "0.1.1", 1890 | "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", 1891 | "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=" 1892 | }, 1893 | "is-extglob": { 1894 | "version": "1.0.0", 1895 | "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", 1896 | "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=" 1897 | }, 1898 | "is-finite": { 1899 | "version": "1.0.2", 1900 | "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", 1901 | "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", 1902 | "requires": { 1903 | "number-is-nan": "1.0.1" 1904 | } 1905 | }, 1906 | "is-fullwidth-code-point": { 1907 | "version": "1.0.0", 1908 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", 1909 | "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", 1910 | "requires": { 1911 | "number-is-nan": "1.0.1" 1912 | } 1913 | }, 1914 | "is-glob": { 1915 | "version": "2.0.1", 1916 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", 1917 | "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", 1918 | "requires": { 1919 | "is-extglob": "1.0.0" 1920 | } 1921 | }, 1922 | "is-number": { 1923 | "version": "2.1.0", 1924 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", 1925 | "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", 1926 | "requires": { 1927 | "kind-of": "3.2.2" 1928 | } 1929 | }, 1930 | "is-object": { 1931 | "version": "1.0.1", 1932 | "resolved": "https://registry.npmjs.org/is-object/-/is-object-1.0.1.tgz", 1933 | "integrity": "sha1-iVJojF7C/9awPsyF52ngKQMINHA=" 1934 | }, 1935 | "is-observable": { 1936 | "version": "0.2.0", 1937 | "resolved": "https://registry.npmjs.org/is-observable/-/is-observable-0.2.0.tgz", 1938 | "integrity": "sha1-s2ExHYPG5dcmyr9eJQsCNxBvWuI=", 1939 | "requires": { 1940 | "symbol-observable": "0.2.4" 1941 | }, 1942 | "dependencies": { 1943 | "symbol-observable": { 1944 | "version": "0.2.4", 1945 | "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-0.2.4.tgz", 1946 | "integrity": "sha1-lag9smGG1q9+ehjb2XYKL4bQj0A=" 1947 | } 1948 | } 1949 | }, 1950 | "is-plain-obj": { 1951 | "version": "1.1.0", 1952 | "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", 1953 | "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=" 1954 | }, 1955 | "is-posix-bracket": { 1956 | "version": "0.1.1", 1957 | "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz", 1958 | "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=" 1959 | }, 1960 | "is-primitive": { 1961 | "version": "2.0.0", 1962 | "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz", 1963 | "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=" 1964 | }, 1965 | "is-promise": { 1966 | "version": "2.1.0", 1967 | "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", 1968 | "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=" 1969 | }, 1970 | "is-retry-allowed": { 1971 | "version": "1.1.0", 1972 | "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz", 1973 | "integrity": "sha1-EaBgVotnM5REAz0BJaYaINVk+zQ=" 1974 | }, 1975 | "is-scoped": { 1976 | "version": "1.0.0", 1977 | "resolved": "https://registry.npmjs.org/is-scoped/-/is-scoped-1.0.0.tgz", 1978 | "integrity": "sha1-RJypgpnnEwOCViieyytUDcQ3yzA=", 1979 | "requires": { 1980 | "scoped-regex": "1.0.0" 1981 | } 1982 | }, 1983 | "is-stream": { 1984 | "version": "1.1.0", 1985 | "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", 1986 | "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" 1987 | }, 1988 | "is-utf8": { 1989 | "version": "0.2.1", 1990 | "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", 1991 | "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=" 1992 | }, 1993 | "is-windows": { 1994 | "version": "1.0.2", 1995 | "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", 1996 | "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==" 1997 | }, 1998 | "isarray": { 1999 | "version": "1.0.0", 2000 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", 2001 | "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" 2002 | }, 2003 | "isexe": { 2004 | "version": "2.0.0", 2005 | "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", 2006 | "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" 2007 | }, 2008 | "isobject": { 2009 | "version": "2.1.0", 2010 | "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", 2011 | "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", 2012 | "requires": { 2013 | "isarray": "1.0.0" 2014 | } 2015 | }, 2016 | "istextorbinary": { 2017 | "version": "2.2.1", 2018 | "resolved": "https://registry.npmjs.org/istextorbinary/-/istextorbinary-2.2.1.tgz", 2019 | "integrity": "sha512-TS+hoFl8Z5FAFMK38nhBkdLt44CclNRgDHWeMgsV8ko3nDlr/9UI2Sf839sW7enijf8oKsZYXRvM8g0it9Zmcw==", 2020 | "requires": { 2021 | "binaryextensions": "2.1.1", 2022 | "editions": "1.3.4", 2023 | "textextensions": "2.2.0" 2024 | } 2025 | }, 2026 | "isurl": { 2027 | "version": "1.0.0", 2028 | "resolved": "https://registry.npmjs.org/isurl/-/isurl-1.0.0.tgz", 2029 | "integrity": "sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==", 2030 | "requires": { 2031 | "has-to-string-tag-x": "1.4.1", 2032 | "is-object": "1.0.1" 2033 | } 2034 | }, 2035 | "js-tokens": { 2036 | "version": "3.0.2", 2037 | "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", 2038 | "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=" 2039 | }, 2040 | "jscodeshift": { 2041 | "version": "0.5.0", 2042 | "resolved": "https://registry.npmjs.org/jscodeshift/-/jscodeshift-0.5.0.tgz", 2043 | "integrity": "sha512-JAcQINNMFpdzzpKJN8k5xXjF3XDuckB1/48uScSzcnNyK199iWEc9AxKL9OoX5144M2w5zEx9Qs4/E/eBZZUlw==", 2044 | "requires": { 2045 | "babel-plugin-transform-flow-strip-types": "6.22.0", 2046 | "babel-preset-es2015": "6.24.1", 2047 | "babel-preset-stage-1": "6.24.1", 2048 | "babel-register": "6.26.0", 2049 | "babylon": "7.0.0-beta.44", 2050 | "colors": "1.2.1", 2051 | "flow-parser": "0.70.0", 2052 | "lodash": "4.17.5", 2053 | "micromatch": "2.3.11", 2054 | "neo-async": "2.5.1", 2055 | "node-dir": "0.1.8", 2056 | "nomnom": "1.8.1", 2057 | "recast": "0.14.7", 2058 | "temp": "0.8.3", 2059 | "write-file-atomic": "1.3.4" 2060 | } 2061 | }, 2062 | "jsesc": { 2063 | "version": "0.5.0", 2064 | "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", 2065 | "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=" 2066 | }, 2067 | "json-buffer": { 2068 | "version": "3.0.0", 2069 | "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", 2070 | "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=" 2071 | }, 2072 | "json-parse-better-errors": { 2073 | "version": "1.0.2", 2074 | "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", 2075 | "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==" 2076 | }, 2077 | "json3": { 2078 | "version": "3.3.2", 2079 | "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.2.tgz", 2080 | "integrity": "sha1-PAQ0dD35Pi9cQq7nsZvLSDV19OE=" 2081 | }, 2082 | "json5": { 2083 | "version": "0.5.1", 2084 | "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", 2085 | "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=" 2086 | }, 2087 | "jsonfile": { 2088 | "version": "2.4.0", 2089 | "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", 2090 | "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", 2091 | "requires": { 2092 | "graceful-fs": "4.1.11" 2093 | } 2094 | }, 2095 | "keyv": { 2096 | "version": "3.0.0", 2097 | "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.0.0.tgz", 2098 | "integrity": "sha512-eguHnq22OE3uVoSYG0LVWNP+4ppamWr9+zWBe1bsNcovIMy6huUJFPgy4mGwCd/rnl3vOLGW1MTlu4c57CT1xA==", 2099 | "requires": { 2100 | "json-buffer": "3.0.0" 2101 | } 2102 | }, 2103 | "kind-of": { 2104 | "version": "3.2.2", 2105 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", 2106 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", 2107 | "requires": { 2108 | "is-buffer": "1.1.6" 2109 | } 2110 | }, 2111 | "klaw": { 2112 | "version": "1.3.1", 2113 | "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz", 2114 | "integrity": "sha1-QIhDO0azsbolnXh4XY6W9zugJDk=", 2115 | "requires": { 2116 | "graceful-fs": "4.1.11" 2117 | } 2118 | }, 2119 | "lcid": { 2120 | "version": "1.0.0", 2121 | "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", 2122 | "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", 2123 | "requires": { 2124 | "invert-kv": "1.0.0" 2125 | } 2126 | }, 2127 | "listr": { 2128 | "version": "0.13.0", 2129 | "resolved": "https://registry.npmjs.org/listr/-/listr-0.13.0.tgz", 2130 | "integrity": "sha1-ILsLowuuZg7oTMBQPfS+PVYjiH0=", 2131 | "requires": { 2132 | "chalk": "1.1.3", 2133 | "cli-truncate": "0.2.1", 2134 | "figures": "1.7.0", 2135 | "indent-string": "2.1.0", 2136 | "is-observable": "0.2.0", 2137 | "is-promise": "2.1.0", 2138 | "is-stream": "1.1.0", 2139 | "listr-silent-renderer": "1.1.1", 2140 | "listr-update-renderer": "0.4.0", 2141 | "listr-verbose-renderer": "0.4.1", 2142 | "log-symbols": "1.0.2", 2143 | "log-update": "1.0.2", 2144 | "ora": "0.2.3", 2145 | "p-map": "1.2.0", 2146 | "rxjs": "5.5.10", 2147 | "stream-to-observable": "0.2.0", 2148 | "strip-ansi": "3.0.1" 2149 | }, 2150 | "dependencies": { 2151 | "ansi-styles": { 2152 | "version": "2.2.1", 2153 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", 2154 | "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" 2155 | }, 2156 | "chalk": { 2157 | "version": "1.1.3", 2158 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", 2159 | "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", 2160 | "requires": { 2161 | "ansi-styles": "2.2.1", 2162 | "escape-string-regexp": "1.0.5", 2163 | "has-ansi": "2.0.0", 2164 | "strip-ansi": "3.0.1", 2165 | "supports-color": "2.0.0" 2166 | } 2167 | }, 2168 | "figures": { 2169 | "version": "1.7.0", 2170 | "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz", 2171 | "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=", 2172 | "requires": { 2173 | "escape-string-regexp": "1.0.5", 2174 | "object-assign": "4.1.1" 2175 | } 2176 | }, 2177 | "log-symbols": { 2178 | "version": "1.0.2", 2179 | "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-1.0.2.tgz", 2180 | "integrity": "sha1-N2/3tY6jCGoPCfrMdGF+ylAeGhg=", 2181 | "requires": { 2182 | "chalk": "1.1.3" 2183 | } 2184 | }, 2185 | "supports-color": { 2186 | "version": "2.0.0", 2187 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", 2188 | "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" 2189 | } 2190 | } 2191 | }, 2192 | "listr-silent-renderer": { 2193 | "version": "1.1.1", 2194 | "resolved": "https://registry.npmjs.org/listr-silent-renderer/-/listr-silent-renderer-1.1.1.tgz", 2195 | "integrity": "sha1-kktaN1cVN3C/Go4/v3S4u/P5JC4=" 2196 | }, 2197 | "listr-update-renderer": { 2198 | "version": "0.4.0", 2199 | "resolved": "https://registry.npmjs.org/listr-update-renderer/-/listr-update-renderer-0.4.0.tgz", 2200 | "integrity": "sha1-NE2YDaLKLosUW6MFkI8yrj9MyKc=", 2201 | "requires": { 2202 | "chalk": "1.1.3", 2203 | "cli-truncate": "0.2.1", 2204 | "elegant-spinner": "1.0.1", 2205 | "figures": "1.7.0", 2206 | "indent-string": "3.2.0", 2207 | "log-symbols": "1.0.2", 2208 | "log-update": "1.0.2", 2209 | "strip-ansi": "3.0.1" 2210 | }, 2211 | "dependencies": { 2212 | "ansi-styles": { 2213 | "version": "2.2.1", 2214 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", 2215 | "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" 2216 | }, 2217 | "chalk": { 2218 | "version": "1.1.3", 2219 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", 2220 | "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", 2221 | "requires": { 2222 | "ansi-styles": "2.2.1", 2223 | "escape-string-regexp": "1.0.5", 2224 | "has-ansi": "2.0.0", 2225 | "strip-ansi": "3.0.1", 2226 | "supports-color": "2.0.0" 2227 | } 2228 | }, 2229 | "figures": { 2230 | "version": "1.7.0", 2231 | "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz", 2232 | "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=", 2233 | "requires": { 2234 | "escape-string-regexp": "1.0.5", 2235 | "object-assign": "4.1.1" 2236 | } 2237 | }, 2238 | "indent-string": { 2239 | "version": "3.2.0", 2240 | "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz", 2241 | "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=" 2242 | }, 2243 | "log-symbols": { 2244 | "version": "1.0.2", 2245 | "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-1.0.2.tgz", 2246 | "integrity": "sha1-N2/3tY6jCGoPCfrMdGF+ylAeGhg=", 2247 | "requires": { 2248 | "chalk": "1.1.3" 2249 | } 2250 | }, 2251 | "supports-color": { 2252 | "version": "2.0.0", 2253 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", 2254 | "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" 2255 | } 2256 | } 2257 | }, 2258 | "listr-verbose-renderer": { 2259 | "version": "0.4.1", 2260 | "resolved": "https://registry.npmjs.org/listr-verbose-renderer/-/listr-verbose-renderer-0.4.1.tgz", 2261 | "integrity": "sha1-ggb0z21S3cWCfl/RSYng6WWTOjU=", 2262 | "requires": { 2263 | "chalk": "1.1.3", 2264 | "cli-cursor": "1.0.2", 2265 | "date-fns": "1.29.0", 2266 | "figures": "1.7.0" 2267 | }, 2268 | "dependencies": { 2269 | "ansi-styles": { 2270 | "version": "2.2.1", 2271 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", 2272 | "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" 2273 | }, 2274 | "chalk": { 2275 | "version": "1.1.3", 2276 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", 2277 | "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", 2278 | "requires": { 2279 | "ansi-styles": "2.2.1", 2280 | "escape-string-regexp": "1.0.5", 2281 | "has-ansi": "2.0.0", 2282 | "strip-ansi": "3.0.1", 2283 | "supports-color": "2.0.0" 2284 | } 2285 | }, 2286 | "cli-cursor": { 2287 | "version": "1.0.2", 2288 | "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-1.0.2.tgz", 2289 | "integrity": "sha1-ZNo/fValRBLll5S9Ytw1KV6PKYc=", 2290 | "requires": { 2291 | "restore-cursor": "1.0.1" 2292 | } 2293 | }, 2294 | "figures": { 2295 | "version": "1.7.0", 2296 | "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz", 2297 | "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=", 2298 | "requires": { 2299 | "escape-string-regexp": "1.0.5", 2300 | "object-assign": "4.1.1" 2301 | } 2302 | }, 2303 | "onetime": { 2304 | "version": "1.1.0", 2305 | "resolved": "http://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz", 2306 | "integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=" 2307 | }, 2308 | "restore-cursor": { 2309 | "version": "1.0.1", 2310 | "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-1.0.1.tgz", 2311 | "integrity": "sha1-NGYfRohjJ/7SmRR5FSJS35LapUE=", 2312 | "requires": { 2313 | "exit-hook": "1.1.1", 2314 | "onetime": "1.1.0" 2315 | } 2316 | }, 2317 | "supports-color": { 2318 | "version": "2.0.0", 2319 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", 2320 | "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" 2321 | } 2322 | } 2323 | }, 2324 | "load-json-file": { 2325 | "version": "1.1.0", 2326 | "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", 2327 | "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", 2328 | "requires": { 2329 | "graceful-fs": "4.1.11", 2330 | "parse-json": "2.2.0", 2331 | "pify": "2.3.0", 2332 | "pinkie-promise": "2.0.1", 2333 | "strip-bom": "2.0.0" 2334 | } 2335 | }, 2336 | "loader-utils": { 2337 | "version": "1.1.0", 2338 | "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz", 2339 | "integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=", 2340 | "requires": { 2341 | "big.js": "3.2.0", 2342 | "emojis-list": "2.1.0", 2343 | "json5": "0.5.1" 2344 | } 2345 | }, 2346 | "locate-path": { 2347 | "version": "2.0.0", 2348 | "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", 2349 | "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", 2350 | "requires": { 2351 | "p-locate": "2.0.0", 2352 | "path-exists": "3.0.0" 2353 | }, 2354 | "dependencies": { 2355 | "path-exists": { 2356 | "version": "3.0.0", 2357 | "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", 2358 | "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=" 2359 | } 2360 | } 2361 | }, 2362 | "lodash": { 2363 | "version": "4.17.5", 2364 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz", 2365 | "integrity": "sha512-svL3uiZf1RwhH+cWrfZn3A4+U58wbP0tGVTLQPbjplZxZ8ROD9VLuNgsRniTlLe7OlSqR79RUehXgpBW/s0IQw==" 2366 | }, 2367 | "lodash._baseassign": { 2368 | "version": "3.2.0", 2369 | "resolved": "https://registry.npmjs.org/lodash._baseassign/-/lodash._baseassign-3.2.0.tgz", 2370 | "integrity": "sha1-jDigmVAPIVrQnlnxci/QxSv+Ck4=", 2371 | "requires": { 2372 | "lodash._basecopy": "3.0.1", 2373 | "lodash.keys": "3.1.2" 2374 | } 2375 | }, 2376 | "lodash._basecopy": { 2377 | "version": "3.0.1", 2378 | "resolved": "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz", 2379 | "integrity": "sha1-jaDmqHbPNEwK2KVIghEd08XHyjY=" 2380 | }, 2381 | "lodash._basecreate": { 2382 | "version": "3.0.3", 2383 | "resolved": "https://registry.npmjs.org/lodash._basecreate/-/lodash._basecreate-3.0.3.tgz", 2384 | "integrity": "sha1-G8ZhYU2qf8MRt9A78WgGoCE8+CE=" 2385 | }, 2386 | "lodash._getnative": { 2387 | "version": "3.9.1", 2388 | "resolved": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz", 2389 | "integrity": "sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U=" 2390 | }, 2391 | "lodash._isiterateecall": { 2392 | "version": "3.0.9", 2393 | "resolved": "https://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz", 2394 | "integrity": "sha1-UgOte6Ql+uhCRg5pbbnPPmqsBXw=" 2395 | }, 2396 | "lodash.assign": { 2397 | "version": "4.2.0", 2398 | "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz", 2399 | "integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=" 2400 | }, 2401 | "lodash.create": { 2402 | "version": "3.1.1", 2403 | "resolved": "https://registry.npmjs.org/lodash.create/-/lodash.create-3.1.1.tgz", 2404 | "integrity": "sha1-1/KEnw29p+BGgruM1yqwIkYd6+c=", 2405 | "requires": { 2406 | "lodash._baseassign": "3.2.0", 2407 | "lodash._basecreate": "3.0.3", 2408 | "lodash._isiterateecall": "3.0.9" 2409 | } 2410 | }, 2411 | "lodash.isarguments": { 2412 | "version": "3.1.0", 2413 | "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz", 2414 | "integrity": "sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo=" 2415 | }, 2416 | "lodash.isarray": { 2417 | "version": "3.0.4", 2418 | "resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz", 2419 | "integrity": "sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U=" 2420 | }, 2421 | "lodash.keys": { 2422 | "version": "3.1.2", 2423 | "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz", 2424 | "integrity": "sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo=", 2425 | "requires": { 2426 | "lodash._getnative": "3.9.1", 2427 | "lodash.isarguments": "3.1.0", 2428 | "lodash.isarray": "3.0.4" 2429 | } 2430 | }, 2431 | "log-symbols": { 2432 | "version": "2.2.0", 2433 | "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", 2434 | "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", 2435 | "requires": { 2436 | "chalk": "2.3.2" 2437 | } 2438 | }, 2439 | "log-update": { 2440 | "version": "1.0.2", 2441 | "resolved": "https://registry.npmjs.org/log-update/-/log-update-1.0.2.tgz", 2442 | "integrity": "sha1-GZKfZMQJPS0ucHWh2tivWcKWuNE=", 2443 | "requires": { 2444 | "ansi-escapes": "1.4.0", 2445 | "cli-cursor": "1.0.2" 2446 | }, 2447 | "dependencies": { 2448 | "ansi-escapes": { 2449 | "version": "1.4.0", 2450 | "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-1.4.0.tgz", 2451 | "integrity": "sha1-06ioOzGapneTZisT52HHkRQiMG4=" 2452 | }, 2453 | "cli-cursor": { 2454 | "version": "1.0.2", 2455 | "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-1.0.2.tgz", 2456 | "integrity": "sha1-ZNo/fValRBLll5S9Ytw1KV6PKYc=", 2457 | "requires": { 2458 | "restore-cursor": "1.0.1" 2459 | } 2460 | }, 2461 | "onetime": { 2462 | "version": "1.1.0", 2463 | "resolved": "http://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz", 2464 | "integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=" 2465 | }, 2466 | "restore-cursor": { 2467 | "version": "1.0.1", 2468 | "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-1.0.1.tgz", 2469 | "integrity": "sha1-NGYfRohjJ/7SmRR5FSJS35LapUE=", 2470 | "requires": { 2471 | "exit-hook": "1.1.1", 2472 | "onetime": "1.1.0" 2473 | } 2474 | } 2475 | } 2476 | }, 2477 | "loose-envify": { 2478 | "version": "1.3.1", 2479 | "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz", 2480 | "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=", 2481 | "requires": { 2482 | "js-tokens": "3.0.2" 2483 | } 2484 | }, 2485 | "lowercase-keys": { 2486 | "version": "1.0.1", 2487 | "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", 2488 | "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==" 2489 | }, 2490 | "lru-cache": { 2491 | "version": "4.1.2", 2492 | "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.2.tgz", 2493 | "integrity": "sha512-wgeVXhrDwAWnIF/yZARsFnMBtdFXOg1b8RIrhilp+0iDYN4mdQcNZElDZ0e4B64BhaxeQ5zN7PMyvu7we1kPeQ==", 2494 | "requires": { 2495 | "pseudomap": "1.0.2", 2496 | "yallist": "2.1.2" 2497 | } 2498 | }, 2499 | "make-dir": { 2500 | "version": "1.2.0", 2501 | "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.2.0.tgz", 2502 | "integrity": "sha512-aNUAa4UMg/UougV25bbrU4ZaaKNjJ/3/xnvg/twpmKROPdKZPZ9wGgI0opdZzO8q/zUFawoUuixuOv33eZ61Iw==", 2503 | "requires": { 2504 | "pify": "3.0.0" 2505 | }, 2506 | "dependencies": { 2507 | "pify": { 2508 | "version": "3.0.0", 2509 | "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", 2510 | "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" 2511 | } 2512 | } 2513 | }, 2514 | "mem": { 2515 | "version": "1.1.0", 2516 | "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", 2517 | "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", 2518 | "requires": { 2519 | "mimic-fn": "1.2.0" 2520 | } 2521 | }, 2522 | "mem-fs": { 2523 | "version": "1.1.3", 2524 | "resolved": "https://registry.npmjs.org/mem-fs/-/mem-fs-1.1.3.tgz", 2525 | "integrity": "sha1-uK6NLj/Lb10/kWXBLUVRoGXZicw=", 2526 | "requires": { 2527 | "through2": "2.0.3", 2528 | "vinyl": "1.2.0", 2529 | "vinyl-file": "2.0.0" 2530 | } 2531 | }, 2532 | "mem-fs-editor": { 2533 | "version": "3.0.2", 2534 | "resolved": "https://registry.npmjs.org/mem-fs-editor/-/mem-fs-editor-3.0.2.tgz", 2535 | "integrity": "sha1-3Qpuryu4prN3QAZ6pUnrUwEFr58=", 2536 | "requires": { 2537 | "commondir": "1.0.1", 2538 | "deep-extend": "0.4.2", 2539 | "ejs": "2.5.8", 2540 | "glob": "7.1.1", 2541 | "globby": "6.1.0", 2542 | "mkdirp": "0.5.1", 2543 | "multimatch": "2.1.0", 2544 | "rimraf": "2.6.2", 2545 | "through2": "2.0.3", 2546 | "vinyl": "2.1.0" 2547 | }, 2548 | "dependencies": { 2549 | "clone": { 2550 | "version": "2.1.2", 2551 | "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", 2552 | "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=" 2553 | }, 2554 | "clone-stats": { 2555 | "version": "1.0.0", 2556 | "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz", 2557 | "integrity": "sha1-s3gt/4u1R04Yuba/D9/ngvh3doA=" 2558 | }, 2559 | "replace-ext": { 2560 | "version": "1.0.0", 2561 | "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.0.tgz", 2562 | "integrity": "sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs=" 2563 | }, 2564 | "vinyl": { 2565 | "version": "2.1.0", 2566 | "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-2.1.0.tgz", 2567 | "integrity": "sha1-Ah+cLPlR1rk5lDyJ617lrdT9kkw=", 2568 | "requires": { 2569 | "clone": "2.1.2", 2570 | "clone-buffer": "1.0.0", 2571 | "clone-stats": "1.0.0", 2572 | "cloneable-readable": "1.1.2", 2573 | "remove-trailing-separator": "1.1.0", 2574 | "replace-ext": "1.0.0" 2575 | } 2576 | } 2577 | } 2578 | }, 2579 | "memory-fs": { 2580 | "version": "0.4.1", 2581 | "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", 2582 | "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", 2583 | "requires": { 2584 | "errno": "0.1.7", 2585 | "readable-stream": "2.3.6" 2586 | } 2587 | }, 2588 | "memorystream": { 2589 | "version": "0.3.1", 2590 | "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz", 2591 | "integrity": "sha1-htcJCzDORV1j+64S3aUaR93K+bI=" 2592 | }, 2593 | "micromatch": { 2594 | "version": "2.3.11", 2595 | "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", 2596 | "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", 2597 | "requires": { 2598 | "arr-diff": "2.0.0", 2599 | "array-unique": "0.2.1", 2600 | "braces": "1.8.5", 2601 | "expand-brackets": "0.1.5", 2602 | "extglob": "0.3.2", 2603 | "filename-regex": "2.0.1", 2604 | "is-extglob": "1.0.0", 2605 | "is-glob": "2.0.1", 2606 | "kind-of": "3.2.2", 2607 | "normalize-path": "2.1.1", 2608 | "object.omit": "2.0.1", 2609 | "parse-glob": "3.0.4", 2610 | "regex-cache": "0.4.4" 2611 | } 2612 | }, 2613 | "mimic-fn": { 2614 | "version": "1.2.0", 2615 | "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", 2616 | "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==" 2617 | }, 2618 | "mimic-response": { 2619 | "version": "1.0.0", 2620 | "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.0.tgz", 2621 | "integrity": "sha1-3z02Uqc/3ta5sLJBRub9BSNTRY4=" 2622 | }, 2623 | "minimatch": { 2624 | "version": "3.0.4", 2625 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", 2626 | "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", 2627 | "requires": { 2628 | "brace-expansion": "1.1.11" 2629 | } 2630 | }, 2631 | "minimist": { 2632 | "version": "0.0.8", 2633 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", 2634 | "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" 2635 | }, 2636 | "mkdirp": { 2637 | "version": "0.5.1", 2638 | "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", 2639 | "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", 2640 | "requires": { 2641 | "minimist": "0.0.8" 2642 | } 2643 | }, 2644 | "mocha": { 2645 | "version": "3.5.3", 2646 | "resolved": "https://registry.npmjs.org/mocha/-/mocha-3.5.3.tgz", 2647 | "integrity": "sha512-/6na001MJWEtYxHOV1WLfsmR4YIynkUEhBwzsb+fk2qmQ3iqsi258l/Q2MWHJMImAcNpZ8DEdYAK72NHoIQ9Eg==", 2648 | "requires": { 2649 | "browser-stdout": "1.3.0", 2650 | "commander": "2.9.0", 2651 | "debug": "2.6.8", 2652 | "diff": "3.2.0", 2653 | "escape-string-regexp": "1.0.5", 2654 | "glob": "7.1.1", 2655 | "growl": "1.9.2", 2656 | "he": "1.1.1", 2657 | "json3": "3.3.2", 2658 | "lodash.create": "3.1.1", 2659 | "mkdirp": "0.5.1", 2660 | "supports-color": "3.1.2" 2661 | } 2662 | }, 2663 | "ms": { 2664 | "version": "2.0.0", 2665 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", 2666 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" 2667 | }, 2668 | "multimatch": { 2669 | "version": "2.1.0", 2670 | "resolved": "https://registry.npmjs.org/multimatch/-/multimatch-2.1.0.tgz", 2671 | "integrity": "sha1-nHkGoi+0wCkZ4vX3UWG0zb1LKis=", 2672 | "requires": { 2673 | "array-differ": "1.0.0", 2674 | "array-union": "1.0.2", 2675 | "arrify": "1.0.1", 2676 | "minimatch": "3.0.4" 2677 | } 2678 | }, 2679 | "mute-stream": { 2680 | "version": "0.0.7", 2681 | "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", 2682 | "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=" 2683 | }, 2684 | "neo-async": { 2685 | "version": "2.5.1", 2686 | "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.5.1.tgz", 2687 | "integrity": "sha512-3KL3fvuRkZ7s4IFOMfztb7zJp3QaVWnBeGoJlgB38XnCRPj/0tLzzLG5IB8NYOHbJ8g8UGrgZv44GLDk6CxTxA==" 2688 | }, 2689 | "nice-try": { 2690 | "version": "1.0.4", 2691 | "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.4.tgz", 2692 | "integrity": "sha512-2NpiFHqC87y/zFke0fC0spBXL3bBsoh/p5H1EFhshxjCR5+0g2d6BiXbUFz9v1sAcxsk2htp2eQnNIci2dIYcA==" 2693 | }, 2694 | "node-dir": { 2695 | "version": "0.1.8", 2696 | "resolved": "https://registry.npmjs.org/node-dir/-/node-dir-0.1.8.tgz", 2697 | "integrity": "sha1-VfuN62mQcHB/tn+RpGDwRIKUx30=" 2698 | }, 2699 | "nomnom": { 2700 | "version": "1.8.1", 2701 | "resolved": "https://registry.npmjs.org/nomnom/-/nomnom-1.8.1.tgz", 2702 | "integrity": "sha1-IVH3Ikcrp55Qp2/BJbuMjy5Nwqc=", 2703 | "requires": { 2704 | "chalk": "0.4.0", 2705 | "underscore": "1.6.0" 2706 | }, 2707 | "dependencies": { 2708 | "ansi-styles": { 2709 | "version": "1.0.0", 2710 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.0.0.tgz", 2711 | "integrity": "sha1-yxAt8cVvUSPquLZ817mAJ6AnkXg=" 2712 | }, 2713 | "chalk": { 2714 | "version": "0.4.0", 2715 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-0.4.0.tgz", 2716 | "integrity": "sha1-UZmj3c0MHv4jvAjBsCewYXbgxk8=", 2717 | "requires": { 2718 | "ansi-styles": "1.0.0", 2719 | "has-color": "0.1.7", 2720 | "strip-ansi": "0.1.1" 2721 | } 2722 | }, 2723 | "strip-ansi": { 2724 | "version": "0.1.1", 2725 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.1.1.tgz", 2726 | "integrity": "sha1-OeipjQRNFQZgq+SmgIrPcLt7yZE=" 2727 | } 2728 | } 2729 | }, 2730 | "normalize-package-data": { 2731 | "version": "2.4.0", 2732 | "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", 2733 | "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", 2734 | "requires": { 2735 | "hosted-git-info": "2.6.0", 2736 | "is-builtin-module": "1.0.0", 2737 | "semver": "5.5.0", 2738 | "validate-npm-package-license": "3.0.3" 2739 | } 2740 | }, 2741 | "normalize-path": { 2742 | "version": "2.1.1", 2743 | "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", 2744 | "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", 2745 | "requires": { 2746 | "remove-trailing-separator": "1.1.0" 2747 | } 2748 | }, 2749 | "normalize-url": { 2750 | "version": "2.0.1", 2751 | "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-2.0.1.tgz", 2752 | "integrity": "sha512-D6MUW4K/VzoJ4rJ01JFKxDrtY1v9wrgzCX5f2qj/lzH1m/lW6MhUZFKerVsnyjOhOsYzI9Kqqak+10l4LvLpMw==", 2753 | "requires": { 2754 | "prepend-http": "2.0.0", 2755 | "query-string": "5.1.1", 2756 | "sort-keys": "2.0.0" 2757 | } 2758 | }, 2759 | "npm-run-path": { 2760 | "version": "2.0.2", 2761 | "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", 2762 | "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", 2763 | "requires": { 2764 | "path-key": "2.0.1" 2765 | } 2766 | }, 2767 | "number-is-nan": { 2768 | "version": "1.0.1", 2769 | "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", 2770 | "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" 2771 | }, 2772 | "object-assign": { 2773 | "version": "4.1.1", 2774 | "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", 2775 | "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" 2776 | }, 2777 | "object.omit": { 2778 | "version": "2.0.1", 2779 | "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", 2780 | "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", 2781 | "requires": { 2782 | "for-own": "0.1.5", 2783 | "is-extendable": "0.1.1" 2784 | } 2785 | }, 2786 | "once": { 2787 | "version": "1.4.0", 2788 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", 2789 | "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", 2790 | "requires": { 2791 | "wrappy": "1.0.2" 2792 | } 2793 | }, 2794 | "onetime": { 2795 | "version": "2.0.1", 2796 | "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", 2797 | "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", 2798 | "requires": { 2799 | "mimic-fn": "1.2.0" 2800 | } 2801 | }, 2802 | "ora": { 2803 | "version": "0.2.3", 2804 | "resolved": "https://registry.npmjs.org/ora/-/ora-0.2.3.tgz", 2805 | "integrity": "sha1-N1J9Igrc1Tw5tzVx11QVbV22V6Q=", 2806 | "requires": { 2807 | "chalk": "1.1.3", 2808 | "cli-cursor": "1.0.2", 2809 | "cli-spinners": "0.1.2", 2810 | "object-assign": "4.1.1" 2811 | }, 2812 | "dependencies": { 2813 | "ansi-styles": { 2814 | "version": "2.2.1", 2815 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", 2816 | "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" 2817 | }, 2818 | "chalk": { 2819 | "version": "1.1.3", 2820 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", 2821 | "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", 2822 | "requires": { 2823 | "ansi-styles": "2.2.1", 2824 | "escape-string-regexp": "1.0.5", 2825 | "has-ansi": "2.0.0", 2826 | "strip-ansi": "3.0.1", 2827 | "supports-color": "2.0.0" 2828 | } 2829 | }, 2830 | "cli-cursor": { 2831 | "version": "1.0.2", 2832 | "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-1.0.2.tgz", 2833 | "integrity": "sha1-ZNo/fValRBLll5S9Ytw1KV6PKYc=", 2834 | "requires": { 2835 | "restore-cursor": "1.0.1" 2836 | } 2837 | }, 2838 | "onetime": { 2839 | "version": "1.1.0", 2840 | "resolved": "http://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz", 2841 | "integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=" 2842 | }, 2843 | "restore-cursor": { 2844 | "version": "1.0.1", 2845 | "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-1.0.1.tgz", 2846 | "integrity": "sha1-NGYfRohjJ/7SmRR5FSJS35LapUE=", 2847 | "requires": { 2848 | "exit-hook": "1.1.1", 2849 | "onetime": "1.1.0" 2850 | } 2851 | }, 2852 | "supports-color": { 2853 | "version": "2.0.0", 2854 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", 2855 | "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" 2856 | } 2857 | } 2858 | }, 2859 | "original-require": { 2860 | "version": "1.0.1", 2861 | "resolved": "https://registry.npmjs.org/original-require/-/original-require-1.0.1.tgz", 2862 | "integrity": "sha1-DxMEcVhM0zURxew4yNWSE/msXiA=" 2863 | }, 2864 | "os-homedir": { 2865 | "version": "1.0.2", 2866 | "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", 2867 | "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=" 2868 | }, 2869 | "os-locale": { 2870 | "version": "1.4.0", 2871 | "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", 2872 | "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", 2873 | "requires": { 2874 | "lcid": "1.0.0" 2875 | } 2876 | }, 2877 | "os-tmpdir": { 2878 | "version": "1.0.2", 2879 | "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", 2880 | "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" 2881 | }, 2882 | "p-cancelable": { 2883 | "version": "0.4.1", 2884 | "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.4.1.tgz", 2885 | "integrity": "sha512-HNa1A8LvB1kie7cERyy21VNeHb2CWJJYqyyC2o3klWFfMGlFmWv2Z7sFgZH8ZiaYL95ydToKTFVXgMV/Os0bBQ==" 2886 | }, 2887 | "p-each-series": { 2888 | "version": "1.0.0", 2889 | "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-1.0.0.tgz", 2890 | "integrity": "sha1-kw89Et0fUOdDRFeiLNbwSsatf3E=", 2891 | "requires": { 2892 | "p-reduce": "1.0.0" 2893 | } 2894 | }, 2895 | "p-finally": { 2896 | "version": "1.0.0", 2897 | "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", 2898 | "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=" 2899 | }, 2900 | "p-is-promise": { 2901 | "version": "1.1.0", 2902 | "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-1.1.0.tgz", 2903 | "integrity": "sha1-nJRWmJ6fZYgBewQ01WCXZ1w9oF4=" 2904 | }, 2905 | "p-lazy": { 2906 | "version": "1.0.0", 2907 | "resolved": "https://registry.npmjs.org/p-lazy/-/p-lazy-1.0.0.tgz", 2908 | "integrity": "sha1-7FPIAvLuOsKPFmzILQsrAt4nqDU=" 2909 | }, 2910 | "p-limit": { 2911 | "version": "1.2.0", 2912 | "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.2.0.tgz", 2913 | "integrity": "sha512-Y/OtIaXtUPr4/YpMv1pCL5L5ed0rumAaAeBSj12F+bSlMdys7i8oQF/GUJmfpTS/QoaRrS/k6pma29haJpsMng==", 2914 | "requires": { 2915 | "p-try": "1.0.0" 2916 | } 2917 | }, 2918 | "p-locate": { 2919 | "version": "2.0.0", 2920 | "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", 2921 | "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", 2922 | "requires": { 2923 | "p-limit": "1.2.0" 2924 | } 2925 | }, 2926 | "p-map": { 2927 | "version": "1.2.0", 2928 | "resolved": "https://registry.npmjs.org/p-map/-/p-map-1.2.0.tgz", 2929 | "integrity": "sha512-r6zKACMNhjPJMTl8KcFH4li//gkrXWfbD6feV8l6doRHlzljFWGJ2AP6iKaCJXyZmAUMOPtvbW7EXkbWO/pLEA==" 2930 | }, 2931 | "p-reduce": { 2932 | "version": "1.0.0", 2933 | "resolved": "https://registry.npmjs.org/p-reduce/-/p-reduce-1.0.0.tgz", 2934 | "integrity": "sha1-GMKw3ZNqRpClKfgjH1ig/bakffo=" 2935 | }, 2936 | "p-timeout": { 2937 | "version": "2.0.1", 2938 | "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-2.0.1.tgz", 2939 | "integrity": "sha512-88em58dDVB/KzPEx1X0N3LwFfYZPyDc4B6eF38M1rk9VTZMbxXXgjugz8mmwpS9Ox4BDZ+t6t3QP5+/gazweIA==", 2940 | "requires": { 2941 | "p-finally": "1.0.0" 2942 | } 2943 | }, 2944 | "p-try": { 2945 | "version": "1.0.0", 2946 | "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", 2947 | "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=" 2948 | }, 2949 | "parse-glob": { 2950 | "version": "3.0.4", 2951 | "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", 2952 | "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", 2953 | "requires": { 2954 | "glob-base": "0.3.0", 2955 | "is-dotfile": "1.0.3", 2956 | "is-extglob": "1.0.0", 2957 | "is-glob": "2.0.1" 2958 | } 2959 | }, 2960 | "parse-json": { 2961 | "version": "2.2.0", 2962 | "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", 2963 | "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", 2964 | "requires": { 2965 | "error-ex": "1.3.1" 2966 | } 2967 | }, 2968 | "parse-passwd": { 2969 | "version": "1.0.0", 2970 | "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", 2971 | "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=" 2972 | }, 2973 | "path-exists": { 2974 | "version": "2.1.0", 2975 | "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", 2976 | "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", 2977 | "requires": { 2978 | "pinkie-promise": "2.0.1" 2979 | } 2980 | }, 2981 | "path-is-absolute": { 2982 | "version": "1.0.1", 2983 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", 2984 | "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" 2985 | }, 2986 | "path-key": { 2987 | "version": "2.0.1", 2988 | "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", 2989 | "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=" 2990 | }, 2991 | "path-parse": { 2992 | "version": "1.0.5", 2993 | "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz", 2994 | "integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME=" 2995 | }, 2996 | "path-type": { 2997 | "version": "1.1.0", 2998 | "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", 2999 | "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", 3000 | "requires": { 3001 | "graceful-fs": "4.1.11", 3002 | "pify": "2.3.0", 3003 | "pinkie-promise": "2.0.1" 3004 | } 3005 | }, 3006 | "pify": { 3007 | "version": "2.3.0", 3008 | "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", 3009 | "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" 3010 | }, 3011 | "pinkie": { 3012 | "version": "2.0.4", 3013 | "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", 3014 | "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=" 3015 | }, 3016 | "pinkie-promise": { 3017 | "version": "2.0.1", 3018 | "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", 3019 | "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", 3020 | "requires": { 3021 | "pinkie": "2.0.4" 3022 | } 3023 | }, 3024 | "pkg-dir": { 3025 | "version": "2.0.0", 3026 | "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", 3027 | "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", 3028 | "requires": { 3029 | "find-up": "2.1.0" 3030 | }, 3031 | "dependencies": { 3032 | "find-up": { 3033 | "version": "2.1.0", 3034 | "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", 3035 | "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", 3036 | "requires": { 3037 | "locate-path": "2.0.0" 3038 | } 3039 | } 3040 | } 3041 | }, 3042 | "prepend-http": { 3043 | "version": "2.0.0", 3044 | "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", 3045 | "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=" 3046 | }, 3047 | "preserve": { 3048 | "version": "0.2.0", 3049 | "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz", 3050 | "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=" 3051 | }, 3052 | "prettier": { 3053 | "version": "1.12.0", 3054 | "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.12.0.tgz", 3055 | "integrity": "sha512-Wz0SMncgaglBzDcohH3ZIAi4nVpzOIEweFzCOmgVEoRSeO72b4dcKGfgxoRGVMaFlh1r7dlVaJ+f3CIHfeH6xg==" 3056 | }, 3057 | "pretty-bytes": { 3058 | "version": "4.0.2", 3059 | "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-4.0.2.tgz", 3060 | "integrity": "sha1-sr+C5zUNZcbDOqlaqlpPYyf2HNk=" 3061 | }, 3062 | "private": { 3063 | "version": "0.1.8", 3064 | "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", 3065 | "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==" 3066 | }, 3067 | "process-nextick-args": { 3068 | "version": "2.0.0", 3069 | "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", 3070 | "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==" 3071 | }, 3072 | "prr": { 3073 | "version": "1.0.1", 3074 | "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", 3075 | "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=" 3076 | }, 3077 | "pseudomap": { 3078 | "version": "1.0.2", 3079 | "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", 3080 | "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=" 3081 | }, 3082 | "query-string": { 3083 | "version": "5.1.1", 3084 | "resolved": "https://registry.npmjs.org/query-string/-/query-string-5.1.1.tgz", 3085 | "integrity": "sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==", 3086 | "requires": { 3087 | "decode-uri-component": "0.2.0", 3088 | "object-assign": "4.1.1", 3089 | "strict-uri-encode": "1.1.0" 3090 | } 3091 | }, 3092 | "randomatic": { 3093 | "version": "1.1.7", 3094 | "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.7.tgz", 3095 | "integrity": "sha512-D5JUjPyJbaJDkuAazpVnSfVkLlpeO3wDlPROTMLGKG1zMFNFRgrciKo1ltz/AzNTkqE0HzDx655QOL51N06how==", 3096 | "requires": { 3097 | "is-number": "3.0.0", 3098 | "kind-of": "4.0.0" 3099 | }, 3100 | "dependencies": { 3101 | "is-number": { 3102 | "version": "3.0.0", 3103 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", 3104 | "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", 3105 | "requires": { 3106 | "kind-of": "3.2.2" 3107 | }, 3108 | "dependencies": { 3109 | "kind-of": { 3110 | "version": "3.2.2", 3111 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", 3112 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", 3113 | "requires": { 3114 | "is-buffer": "1.1.6" 3115 | } 3116 | } 3117 | } 3118 | }, 3119 | "kind-of": { 3120 | "version": "4.0.0", 3121 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", 3122 | "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", 3123 | "requires": { 3124 | "is-buffer": "1.1.6" 3125 | } 3126 | } 3127 | } 3128 | }, 3129 | "read-chunk": { 3130 | "version": "2.1.0", 3131 | "resolved": "https://registry.npmjs.org/read-chunk/-/read-chunk-2.1.0.tgz", 3132 | "integrity": "sha1-agTAkoAF7Z1C4aasVgDhnLx/9lU=", 3133 | "requires": { 3134 | "pify": "3.0.0", 3135 | "safe-buffer": "5.1.1" 3136 | }, 3137 | "dependencies": { 3138 | "pify": { 3139 | "version": "3.0.0", 3140 | "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", 3141 | "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" 3142 | } 3143 | } 3144 | }, 3145 | "read-pkg": { 3146 | "version": "1.1.0", 3147 | "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", 3148 | "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", 3149 | "requires": { 3150 | "load-json-file": "1.1.0", 3151 | "normalize-package-data": "2.4.0", 3152 | "path-type": "1.1.0" 3153 | } 3154 | }, 3155 | "read-pkg-up": { 3156 | "version": "1.0.1", 3157 | "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", 3158 | "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", 3159 | "requires": { 3160 | "find-up": "1.1.2", 3161 | "read-pkg": "1.1.0" 3162 | } 3163 | }, 3164 | "readable-stream": { 3165 | "version": "2.3.6", 3166 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", 3167 | "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", 3168 | "requires": { 3169 | "core-util-is": "1.0.2", 3170 | "inherits": "2.0.3", 3171 | "isarray": "1.0.0", 3172 | "process-nextick-args": "2.0.0", 3173 | "safe-buffer": "5.1.1", 3174 | "string_decoder": "1.1.1", 3175 | "util-deprecate": "1.0.2" 3176 | } 3177 | }, 3178 | "recast": { 3179 | "version": "0.14.7", 3180 | "resolved": "https://registry.npmjs.org/recast/-/recast-0.14.7.tgz", 3181 | "integrity": "sha512-/nwm9pkrcWagN40JeJhkPaRxiHXBRkXyRh/hgU088Z/v+qCy+zIHHY6bC6o7NaKAxPqtE6nD8zBH1LfU0/Wx6A==", 3182 | "requires": { 3183 | "ast-types": "0.11.3", 3184 | "esprima": "4.0.0", 3185 | "private": "0.1.8", 3186 | "source-map": "0.6.1" 3187 | } 3188 | }, 3189 | "rechoir": { 3190 | "version": "0.6.2", 3191 | "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", 3192 | "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", 3193 | "requires": { 3194 | "resolve": "1.7.1" 3195 | } 3196 | }, 3197 | "regenerate": { 3198 | "version": "1.3.3", 3199 | "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.3.3.tgz", 3200 | "integrity": "sha512-jVpo1GadrDAK59t/0jRx5VxYWQEDkkEKi6+HjE3joFVLfDOh9Xrdh0dF1eSq+BI/SwvTQ44gSscJ8N5zYL61sg==" 3201 | }, 3202 | "regenerator-runtime": { 3203 | "version": "0.11.1", 3204 | "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", 3205 | "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" 3206 | }, 3207 | "regenerator-transform": { 3208 | "version": "0.10.1", 3209 | "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.10.1.tgz", 3210 | "integrity": "sha512-PJepbvDbuK1xgIgnau7Y90cwaAmO/LCLMI2mPvaXq2heGMR3aWW5/BQvYrhJ8jgmQjXewXvBjzfqKcVOmhjZ6Q==", 3211 | "requires": { 3212 | "babel-runtime": "6.26.0", 3213 | "babel-types": "6.26.0", 3214 | "private": "0.1.8" 3215 | } 3216 | }, 3217 | "regex-cache": { 3218 | "version": "0.4.4", 3219 | "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz", 3220 | "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", 3221 | "requires": { 3222 | "is-equal-shallow": "0.1.3" 3223 | } 3224 | }, 3225 | "regexpu-core": { 3226 | "version": "2.0.0", 3227 | "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz", 3228 | "integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=", 3229 | "requires": { 3230 | "regenerate": "1.3.3", 3231 | "regjsgen": "0.2.0", 3232 | "regjsparser": "0.1.5" 3233 | } 3234 | }, 3235 | "regjsgen": { 3236 | "version": "0.2.0", 3237 | "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz", 3238 | "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=" 3239 | }, 3240 | "regjsparser": { 3241 | "version": "0.1.5", 3242 | "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz", 3243 | "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=", 3244 | "requires": { 3245 | "jsesc": "0.5.0" 3246 | } 3247 | }, 3248 | "remove-trailing-separator": { 3249 | "version": "1.1.0", 3250 | "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", 3251 | "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=" 3252 | }, 3253 | "repeat-element": { 3254 | "version": "1.1.2", 3255 | "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz", 3256 | "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=" 3257 | }, 3258 | "repeat-string": { 3259 | "version": "1.6.1", 3260 | "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", 3261 | "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" 3262 | }, 3263 | "repeating": { 3264 | "version": "2.0.1", 3265 | "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", 3266 | "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", 3267 | "requires": { 3268 | "is-finite": "1.0.2" 3269 | } 3270 | }, 3271 | "replace-ext": { 3272 | "version": "0.0.1", 3273 | "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz", 3274 | "integrity": "sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ=" 3275 | }, 3276 | "require-directory": { 3277 | "version": "2.1.1", 3278 | "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", 3279 | "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" 3280 | }, 3281 | "require-from-string": { 3282 | "version": "1.2.1", 3283 | "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-1.2.1.tgz", 3284 | "integrity": "sha1-UpyczvJzgK3+yaL5ZbZJu+5jZBg=" 3285 | }, 3286 | "require-main-filename": { 3287 | "version": "1.0.1", 3288 | "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", 3289 | "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=" 3290 | }, 3291 | "resolve": { 3292 | "version": "1.7.1", 3293 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.7.1.tgz", 3294 | "integrity": "sha512-c7rwLofp8g1U+h1KNyHL/jicrKg1Ek4q+Lr33AL65uZTinUZHe30D5HlyN5V9NW0JX1D5dXQ4jqW5l7Sy/kGfw==", 3295 | "requires": { 3296 | "path-parse": "1.0.5" 3297 | } 3298 | }, 3299 | "resolve-cwd": { 3300 | "version": "2.0.0", 3301 | "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", 3302 | "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", 3303 | "requires": { 3304 | "resolve-from": "3.0.0" 3305 | } 3306 | }, 3307 | "resolve-dir": { 3308 | "version": "1.0.1", 3309 | "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", 3310 | "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=", 3311 | "requires": { 3312 | "expand-tilde": "2.0.2", 3313 | "global-modules": "1.0.0" 3314 | } 3315 | }, 3316 | "resolve-from": { 3317 | "version": "3.0.0", 3318 | "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", 3319 | "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=" 3320 | }, 3321 | "responselike": { 3322 | "version": "1.0.2", 3323 | "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", 3324 | "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=", 3325 | "requires": { 3326 | "lowercase-keys": "1.0.1" 3327 | } 3328 | }, 3329 | "restore-cursor": { 3330 | "version": "2.0.0", 3331 | "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", 3332 | "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", 3333 | "requires": { 3334 | "onetime": "2.0.1", 3335 | "signal-exit": "3.0.2" 3336 | } 3337 | }, 3338 | "rimraf": { 3339 | "version": "2.6.2", 3340 | "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", 3341 | "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", 3342 | "requires": { 3343 | "glob": "7.1.1" 3344 | } 3345 | }, 3346 | "run-async": { 3347 | "version": "2.3.0", 3348 | "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", 3349 | "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", 3350 | "requires": { 3351 | "is-promise": "2.1.0" 3352 | } 3353 | }, 3354 | "rx-lite": { 3355 | "version": "4.0.8", 3356 | "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-4.0.8.tgz", 3357 | "integrity": "sha1-Cx4Rr4vESDbwSmQH6S2kJGe3lEQ=" 3358 | }, 3359 | "rx-lite-aggregates": { 3360 | "version": "4.0.8", 3361 | "resolved": "https://registry.npmjs.org/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz", 3362 | "integrity": "sha1-dTuHqJoRyVRnxKwWJsTvxOBcZ74=", 3363 | "requires": { 3364 | "rx-lite": "4.0.8" 3365 | } 3366 | }, 3367 | "rxjs": { 3368 | "version": "5.5.10", 3369 | "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-5.5.10.tgz", 3370 | "integrity": "sha512-SRjimIDUHJkon+2hFo7xnvNC4ZEHGzCRwh9P7nzX3zPkCGFEg/tuElrNR7L/rZMagnK2JeH2jQwPRpmyXyLB6A==", 3371 | "requires": { 3372 | "symbol-observable": "1.0.1" 3373 | } 3374 | }, 3375 | "safe-buffer": { 3376 | "version": "5.1.1", 3377 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", 3378 | "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==" 3379 | }, 3380 | "safer-buffer": { 3381 | "version": "2.1.2", 3382 | "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", 3383 | "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" 3384 | }, 3385 | "scoped-regex": { 3386 | "version": "1.0.0", 3387 | "resolved": "https://registry.npmjs.org/scoped-regex/-/scoped-regex-1.0.0.tgz", 3388 | "integrity": "sha1-o0a7Gs1CB65wvXwMfKnlZra63bg=" 3389 | }, 3390 | "semver": { 3391 | "version": "5.5.0", 3392 | "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", 3393 | "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==" 3394 | }, 3395 | "set-blocking": { 3396 | "version": "2.0.0", 3397 | "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", 3398 | "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" 3399 | }, 3400 | "shebang-command": { 3401 | "version": "1.2.0", 3402 | "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", 3403 | "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", 3404 | "requires": { 3405 | "shebang-regex": "1.0.0" 3406 | } 3407 | }, 3408 | "shebang-regex": { 3409 | "version": "1.0.0", 3410 | "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", 3411 | "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=" 3412 | }, 3413 | "shelljs": { 3414 | "version": "0.8.1", 3415 | "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.1.tgz", 3416 | "integrity": "sha512-YA/iYtZpzFe5HyWVGrb02FjPxc4EMCfpoU/Phg9fQoyMC72u9598OUBrsU8IrtwAKG0tO8IYaqbaLIw+k3IRGA==", 3417 | "requires": { 3418 | "glob": "7.1.1", 3419 | "interpret": "1.1.0", 3420 | "rechoir": "0.6.2" 3421 | } 3422 | }, 3423 | "signal-exit": { 3424 | "version": "3.0.2", 3425 | "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", 3426 | "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=" 3427 | }, 3428 | "slash": { 3429 | "version": "1.0.0", 3430 | "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", 3431 | "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=" 3432 | }, 3433 | "slice-ansi": { 3434 | "version": "0.0.4", 3435 | "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-0.0.4.tgz", 3436 | "integrity": "sha1-7b+JA/ZvfOL46v1s7tZeJkyDGzU=" 3437 | }, 3438 | "slide": { 3439 | "version": "1.1.6", 3440 | "resolved": "https://registry.npmjs.org/slide/-/slide-1.1.6.tgz", 3441 | "integrity": "sha1-VusCfWW00tzmyy4tMsTUr8nh1wc=" 3442 | }, 3443 | "solc": { 3444 | "version": "0.4.21", 3445 | "resolved": "https://registry.npmjs.org/solc/-/solc-0.4.21.tgz", 3446 | "integrity": "sha512-8lJmimVjOG9AJOQRWS2ph4rSctPMsPGZ4H360HLs5iI+euUlt7iAvUxSLeFZZzwk0kas4Qta7HmlMXNU3yYwhw==", 3447 | "requires": { 3448 | "fs-extra": "0.30.0", 3449 | "memorystream": "0.3.1", 3450 | "require-from-string": "1.2.1", 3451 | "semver": "5.5.0", 3452 | "yargs": "4.8.1" 3453 | } 3454 | }, 3455 | "sort-keys": { 3456 | "version": "2.0.0", 3457 | "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-2.0.0.tgz", 3458 | "integrity": "sha1-ZYU1WEhh7JfXMNbPQYIuH1ZoQSg=", 3459 | "requires": { 3460 | "is-plain-obj": "1.1.0" 3461 | } 3462 | }, 3463 | "source-map": { 3464 | "version": "0.6.1", 3465 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", 3466 | "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" 3467 | }, 3468 | "source-map-support": { 3469 | "version": "0.5.4", 3470 | "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.4.tgz", 3471 | "integrity": "sha512-PETSPG6BjY1AHs2t64vS2aqAgu6dMIMXJULWFBGbh2Gr8nVLbCFDo6i/RMMvviIQ2h1Z8+5gQhVKSn2je9nmdg==", 3472 | "requires": { 3473 | "source-map": "0.6.1" 3474 | } 3475 | }, 3476 | "spdx-correct": { 3477 | "version": "3.0.0", 3478 | "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.0.0.tgz", 3479 | "integrity": "sha512-N19o9z5cEyc8yQQPukRCZ9EUmb4HUpnrmaL/fxS2pBo2jbfcFRVuFZ/oFC+vZz0MNNk0h80iMn5/S6qGZOL5+g==", 3480 | "requires": { 3481 | "spdx-expression-parse": "3.0.0", 3482 | "spdx-license-ids": "3.0.0" 3483 | } 3484 | }, 3485 | "spdx-exceptions": { 3486 | "version": "2.1.0", 3487 | "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.1.0.tgz", 3488 | "integrity": "sha512-4K1NsmrlCU1JJgUrtgEeTVyfx8VaYea9J9LvARxhbHtVtohPs/gFGG5yy49beySjlIMhhXZ4QqujIZEfS4l6Cg==" 3489 | }, 3490 | "spdx-expression-parse": { 3491 | "version": "3.0.0", 3492 | "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", 3493 | "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", 3494 | "requires": { 3495 | "spdx-exceptions": "2.1.0", 3496 | "spdx-license-ids": "3.0.0" 3497 | } 3498 | }, 3499 | "spdx-license-ids": { 3500 | "version": "3.0.0", 3501 | "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.0.tgz", 3502 | "integrity": "sha512-2+EPwgbnmOIl8HjGBXXMd9NAu02vLjOO1nWw4kmeRDFyHn+M/ETfHxQUK0oXg8ctgVnl9t3rosNVsZ1jG61nDA==" 3503 | }, 3504 | "stream-to-observable": { 3505 | "version": "0.2.0", 3506 | "resolved": "https://registry.npmjs.org/stream-to-observable/-/stream-to-observable-0.2.0.tgz", 3507 | "integrity": "sha1-WdbqOT2HwsDdrBCqDVYbxrpvDhA=", 3508 | "requires": { 3509 | "any-observable": "0.2.0" 3510 | } 3511 | }, 3512 | "strict-uri-encode": { 3513 | "version": "1.1.0", 3514 | "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", 3515 | "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=" 3516 | }, 3517 | "string-template": { 3518 | "version": "0.2.1", 3519 | "resolved": "https://registry.npmjs.org/string-template/-/string-template-0.2.1.tgz", 3520 | "integrity": "sha1-QpMuWYo1LQH8IuwzZ9nYTuxsmt0=" 3521 | }, 3522 | "string-width": { 3523 | "version": "1.0.2", 3524 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", 3525 | "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", 3526 | "requires": { 3527 | "code-point-at": "1.1.0", 3528 | "is-fullwidth-code-point": "1.0.0", 3529 | "strip-ansi": "3.0.1" 3530 | } 3531 | }, 3532 | "string_decoder": { 3533 | "version": "1.1.1", 3534 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", 3535 | "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", 3536 | "requires": { 3537 | "safe-buffer": "5.1.1" 3538 | } 3539 | }, 3540 | "strip-ansi": { 3541 | "version": "3.0.1", 3542 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", 3543 | "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", 3544 | "requires": { 3545 | "ansi-regex": "2.1.1" 3546 | } 3547 | }, 3548 | "strip-bom": { 3549 | "version": "2.0.0", 3550 | "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", 3551 | "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", 3552 | "requires": { 3553 | "is-utf8": "0.2.1" 3554 | } 3555 | }, 3556 | "strip-bom-stream": { 3557 | "version": "2.0.0", 3558 | "resolved": "https://registry.npmjs.org/strip-bom-stream/-/strip-bom-stream-2.0.0.tgz", 3559 | "integrity": "sha1-+H217yYT9paKpUWr/h7HKLaoKco=", 3560 | "requires": { 3561 | "first-chunk-stream": "2.0.0", 3562 | "strip-bom": "2.0.0" 3563 | } 3564 | }, 3565 | "strip-eof": { 3566 | "version": "1.0.0", 3567 | "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", 3568 | "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=" 3569 | }, 3570 | "supports-color": { 3571 | "version": "3.1.2", 3572 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.1.2.tgz", 3573 | "integrity": "sha1-cqJiiU2dQIuVbKBf83su2KbiotU=", 3574 | "requires": { 3575 | "has-flag": "1.0.0" 3576 | } 3577 | }, 3578 | "symbol-observable": { 3579 | "version": "1.0.1", 3580 | "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.0.1.tgz", 3581 | "integrity": "sha1-g0D8RwLDEi310iKI+IKD9RPT/dQ=" 3582 | }, 3583 | "tapable": { 3584 | "version": "1.0.0", 3585 | "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.0.0.tgz", 3586 | "integrity": "sha512-dQRhbNQkRnaqauC7WqSJ21EEksgT0fYZX2lqXzGkpo8JNig9zGZTYoMGvyI2nWmXlE2VSVXVDu7wLVGu/mQEsg==" 3587 | }, 3588 | "temp": { 3589 | "version": "0.8.3", 3590 | "resolved": "https://registry.npmjs.org/temp/-/temp-0.8.3.tgz", 3591 | "integrity": "sha1-4Ma8TSa5AxJEEOT+2BEDAU38H1k=", 3592 | "requires": { 3593 | "os-tmpdir": "1.0.2", 3594 | "rimraf": "2.2.8" 3595 | }, 3596 | "dependencies": { 3597 | "rimraf": { 3598 | "version": "2.2.8", 3599 | "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz", 3600 | "integrity": "sha1-5Dm+Kq7jJzIZUnMPmaiSnk/FBYI=" 3601 | } 3602 | } 3603 | }, 3604 | "text-table": { 3605 | "version": "0.2.0", 3606 | "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", 3607 | "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=" 3608 | }, 3609 | "textextensions": { 3610 | "version": "2.2.0", 3611 | "resolved": "https://registry.npmjs.org/textextensions/-/textextensions-2.2.0.tgz", 3612 | "integrity": "sha512-j5EMxnryTvKxwH2Cq+Pb43tsf6sdEgw6Pdwxk83mPaq0ToeFJt6WE4J3s5BqY7vmjlLgkgXvhtXUxo80FyBhCA==" 3613 | }, 3614 | "through": { 3615 | "version": "2.3.8", 3616 | "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", 3617 | "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" 3618 | }, 3619 | "through2": { 3620 | "version": "2.0.3", 3621 | "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", 3622 | "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", 3623 | "requires": { 3624 | "readable-stream": "2.3.6", 3625 | "xtend": "4.0.1" 3626 | } 3627 | }, 3628 | "timed-out": { 3629 | "version": "4.0.1", 3630 | "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz", 3631 | "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=" 3632 | }, 3633 | "tmp": { 3634 | "version": "0.0.33", 3635 | "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", 3636 | "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", 3637 | "requires": { 3638 | "os-tmpdir": "1.0.2" 3639 | } 3640 | }, 3641 | "to-fast-properties": { 3642 | "version": "1.0.3", 3643 | "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", 3644 | "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=" 3645 | }, 3646 | "trim-right": { 3647 | "version": "1.0.1", 3648 | "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", 3649 | "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=" 3650 | }, 3651 | "truffle": { 3652 | "version": "4.1.5", 3653 | "resolved": "https://registry.npmjs.org/truffle/-/truffle-4.1.5.tgz", 3654 | "integrity": "sha512-6sOVFQ0xNbb52MMWf0nHxv0FiXWPTV+OIbq1B0+I5F3sIS8JJ7pM1+o7chbs+oO/CLqbbC6ggXJqFWzIWaiaQg==", 3655 | "requires": { 3656 | "mocha": "3.5.3", 3657 | "original-require": "1.0.1", 3658 | "solc": "0.4.21" 3659 | } 3660 | }, 3661 | "underscore": { 3662 | "version": "1.6.0", 3663 | "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.6.0.tgz", 3664 | "integrity": "sha1-izixDKze9jM3uLJOT/htRa6lKag=" 3665 | }, 3666 | "untildify": { 3667 | "version": "3.0.2", 3668 | "resolved": "https://registry.npmjs.org/untildify/-/untildify-3.0.2.tgz", 3669 | "integrity": "sha1-fx8wIFWz/qDz6B3HjrNnZstl4/E=" 3670 | }, 3671 | "url-parse-lax": { 3672 | "version": "3.0.0", 3673 | "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", 3674 | "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", 3675 | "requires": { 3676 | "prepend-http": "2.0.0" 3677 | } 3678 | }, 3679 | "url-to-options": { 3680 | "version": "1.0.1", 3681 | "resolved": "https://registry.npmjs.org/url-to-options/-/url-to-options-1.0.1.tgz", 3682 | "integrity": "sha1-FQWgOiiaSMvXpDTvuu7FBV9WM6k=" 3683 | }, 3684 | "util-deprecate": { 3685 | "version": "1.0.2", 3686 | "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", 3687 | "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" 3688 | }, 3689 | "v8-compile-cache": { 3690 | "version": "1.1.2", 3691 | "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-1.1.2.tgz", 3692 | "integrity": "sha512-ejdrifsIydN1XDH7EuR2hn8ZrkRKUYF7tUcBjBy/lhrCvs2K+zRlbW9UHc0IQ9RsYFZJFqJrieoIHfkCa0DBRA==" 3693 | }, 3694 | "validate-npm-package-license": { 3695 | "version": "3.0.3", 3696 | "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.3.tgz", 3697 | "integrity": "sha512-63ZOUnL4SIXj4L0NixR3L1lcjO38crAbgrTpl28t8jjrfuiOBL5Iygm+60qPs/KsZGzPNg6Smnc/oY16QTjF0g==", 3698 | "requires": { 3699 | "spdx-correct": "3.0.0", 3700 | "spdx-expression-parse": "3.0.0" 3701 | } 3702 | }, 3703 | "vinyl": { 3704 | "version": "1.2.0", 3705 | "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-1.2.0.tgz", 3706 | "integrity": "sha1-XIgDbPVl5d8FVYv8kR+GVt8hiIQ=", 3707 | "requires": { 3708 | "clone": "1.0.4", 3709 | "clone-stats": "0.0.1", 3710 | "replace-ext": "0.0.1" 3711 | } 3712 | }, 3713 | "vinyl-file": { 3714 | "version": "2.0.0", 3715 | "resolved": "https://registry.npmjs.org/vinyl-file/-/vinyl-file-2.0.0.tgz", 3716 | "integrity": "sha1-p+v1/779obfRjRQPyweyI++2dRo=", 3717 | "requires": { 3718 | "graceful-fs": "4.1.11", 3719 | "pify": "2.3.0", 3720 | "pinkie-promise": "2.0.1", 3721 | "strip-bom": "2.0.0", 3722 | "strip-bom-stream": "2.0.0", 3723 | "vinyl": "1.2.0" 3724 | } 3725 | }, 3726 | "webpack-addons": { 3727 | "version": "1.1.5", 3728 | "resolved": "https://registry.npmjs.org/webpack-addons/-/webpack-addons-1.1.5.tgz", 3729 | "integrity": "sha512-MGO0nVniCLFAQz1qv22zM02QPjcpAoJdy7ED0i3Zy7SY1IecgXCm460ib7H/Wq7e9oL5VL6S2BxaObxwIcag0g==", 3730 | "requires": { 3731 | "jscodeshift": "0.4.1" 3732 | }, 3733 | "dependencies": { 3734 | "ast-types": { 3735 | "version": "0.10.1", 3736 | "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.10.1.tgz", 3737 | "integrity": "sha512-UY7+9DPzlJ9VM8eY0b2TUZcZvF+1pO0hzMtAyjBYKhOmnvRlqYNYnWdtsMj0V16CGaMlpL0G1jnLbLo4AyotuQ==" 3738 | }, 3739 | "babylon": { 3740 | "version": "6.18.0", 3741 | "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", 3742 | "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==" 3743 | }, 3744 | "jscodeshift": { 3745 | "version": "0.4.1", 3746 | "resolved": "https://registry.npmjs.org/jscodeshift/-/jscodeshift-0.4.1.tgz", 3747 | "integrity": "sha512-iOX6If+hsw0q99V3n31t4f5VlD1TQZddH08xbT65ZqA7T4Vkx68emrDZMUOLVvCEAJ6NpAk7DECe3fjC/t52AQ==", 3748 | "requires": { 3749 | "async": "1.5.2", 3750 | "babel-plugin-transform-flow-strip-types": "6.22.0", 3751 | "babel-preset-es2015": "6.24.1", 3752 | "babel-preset-stage-1": "6.24.1", 3753 | "babel-register": "6.26.0", 3754 | "babylon": "6.18.0", 3755 | "colors": "1.2.1", 3756 | "flow-parser": "0.70.0", 3757 | "lodash": "4.17.5", 3758 | "micromatch": "2.3.11", 3759 | "node-dir": "0.1.8", 3760 | "nomnom": "1.8.1", 3761 | "recast": "0.12.9", 3762 | "temp": "0.8.3", 3763 | "write-file-atomic": "1.3.4" 3764 | } 3765 | }, 3766 | "recast": { 3767 | "version": "0.12.9", 3768 | "resolved": "https://registry.npmjs.org/recast/-/recast-0.12.9.tgz", 3769 | "integrity": "sha512-y7ANxCWmMW8xLOaiopiRDlyjQ9ajKRENBH+2wjntIbk3A6ZR1+BLQttkmSHMY7Arl+AAZFwJ10grg2T6f1WI8A==", 3770 | "requires": { 3771 | "ast-types": "0.10.1", 3772 | "core-js": "2.5.5", 3773 | "esprima": "4.0.0", 3774 | "private": "0.1.8", 3775 | "source-map": "0.6.1" 3776 | } 3777 | } 3778 | } 3779 | }, 3780 | "webpack-cli": { 3781 | "version": "2.0.14", 3782 | "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-2.0.14.tgz", 3783 | "integrity": "sha512-gRoWaxSi2JWiYsn1QgOTb6ENwIeSvN1YExZ+kJ0STsTZK7bWPElW+BBBv1UnTbvcPC3v7E17mK8hlFX8DOYSGw==", 3784 | "requires": { 3785 | "chalk": "2.3.2", 3786 | "cross-spawn": "6.0.5", 3787 | "diff": "3.5.0", 3788 | "enhanced-resolve": "4.0.0", 3789 | "envinfo": "4.4.2", 3790 | "glob-all": "3.1.0", 3791 | "global-modules": "1.0.0", 3792 | "got": "8.3.0", 3793 | "import-local": "1.0.0", 3794 | "inquirer": "5.2.0", 3795 | "interpret": "1.1.0", 3796 | "jscodeshift": "0.5.0", 3797 | "listr": "0.13.0", 3798 | "loader-utils": "1.1.0", 3799 | "lodash": "4.17.5", 3800 | "log-symbols": "2.2.0", 3801 | "mkdirp": "0.5.1", 3802 | "p-each-series": "1.0.0", 3803 | "p-lazy": "1.0.0", 3804 | "prettier": "1.12.0", 3805 | "supports-color": "5.3.0", 3806 | "v8-compile-cache": "1.1.2", 3807 | "webpack-addons": "1.1.5", 3808 | "yargs": "11.1.0", 3809 | "yeoman-environment": "2.0.6", 3810 | "yeoman-generator": "2.0.4" 3811 | }, 3812 | "dependencies": { 3813 | "ansi-regex": { 3814 | "version": "3.0.0", 3815 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", 3816 | "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" 3817 | }, 3818 | "camelcase": { 3819 | "version": "4.1.0", 3820 | "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", 3821 | "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=" 3822 | }, 3823 | "cliui": { 3824 | "version": "4.0.0", 3825 | "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.0.0.tgz", 3826 | "integrity": "sha512-nY3W5Gu2racvdDk//ELReY+dHjb9PlIcVDFXP72nVIhq2Gy3LuVXYwJoPVudwQnv1shtohpgkdCKT2YaKY0CKw==", 3827 | "requires": { 3828 | "string-width": "2.1.1", 3829 | "strip-ansi": "4.0.0", 3830 | "wrap-ansi": "2.1.0" 3831 | } 3832 | }, 3833 | "diff": { 3834 | "version": "3.5.0", 3835 | "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", 3836 | "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==" 3837 | }, 3838 | "find-up": { 3839 | "version": "2.1.0", 3840 | "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", 3841 | "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", 3842 | "requires": { 3843 | "locate-path": "2.0.0" 3844 | } 3845 | }, 3846 | "has-flag": { 3847 | "version": "3.0.0", 3848 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", 3849 | "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" 3850 | }, 3851 | "is-fullwidth-code-point": { 3852 | "version": "2.0.0", 3853 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", 3854 | "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" 3855 | }, 3856 | "os-locale": { 3857 | "version": "2.1.0", 3858 | "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", 3859 | "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", 3860 | "requires": { 3861 | "execa": "0.7.0", 3862 | "lcid": "1.0.0", 3863 | "mem": "1.1.0" 3864 | } 3865 | }, 3866 | "string-width": { 3867 | "version": "2.1.1", 3868 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", 3869 | "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", 3870 | "requires": { 3871 | "is-fullwidth-code-point": "2.0.0", 3872 | "strip-ansi": "4.0.0" 3873 | } 3874 | }, 3875 | "strip-ansi": { 3876 | "version": "4.0.0", 3877 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", 3878 | "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", 3879 | "requires": { 3880 | "ansi-regex": "3.0.0" 3881 | } 3882 | }, 3883 | "supports-color": { 3884 | "version": "5.3.0", 3885 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.3.0.tgz", 3886 | "integrity": "sha512-0aP01LLIskjKs3lq52EC0aGBAJhLq7B2Rd8HC/DR/PtNNpcLilNmHC12O+hu0usQpo7wtHNRqtrhBwtDb0+dNg==", 3887 | "requires": { 3888 | "has-flag": "3.0.0" 3889 | } 3890 | }, 3891 | "which-module": { 3892 | "version": "2.0.0", 3893 | "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", 3894 | "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" 3895 | }, 3896 | "yargs": { 3897 | "version": "11.1.0", 3898 | "resolved": "https://registry.npmjs.org/yargs/-/yargs-11.1.0.tgz", 3899 | "integrity": "sha512-NwW69J42EsCSanF8kyn5upxvjp5ds+t3+udGBeTbFnERA+lF541DDpMawzo4z6W/QrzNM18D+BPMiOBibnFV5A==", 3900 | "requires": { 3901 | "cliui": "4.0.0", 3902 | "decamelize": "1.2.0", 3903 | "find-up": "2.1.0", 3904 | "get-caller-file": "1.0.2", 3905 | "os-locale": "2.1.0", 3906 | "require-directory": "2.1.1", 3907 | "require-main-filename": "1.0.1", 3908 | "set-blocking": "2.0.0", 3909 | "string-width": "2.1.1", 3910 | "which-module": "2.0.0", 3911 | "y18n": "3.2.1", 3912 | "yargs-parser": "9.0.2" 3913 | } 3914 | }, 3915 | "yargs-parser": { 3916 | "version": "9.0.2", 3917 | "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-9.0.2.tgz", 3918 | "integrity": "sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=", 3919 | "requires": { 3920 | "camelcase": "4.1.0" 3921 | } 3922 | } 3923 | } 3924 | }, 3925 | "which": { 3926 | "version": "1.3.0", 3927 | "resolved": "https://registry.npmjs.org/which/-/which-1.3.0.tgz", 3928 | "integrity": "sha512-xcJpopdamTuY5duC/KnTTNBraPK54YwpenP4lzxU8H91GudWpFv38u0CKjclE1Wi2EH2EDz5LRcHcKbCIzqGyg==", 3929 | "requires": { 3930 | "isexe": "2.0.0" 3931 | } 3932 | }, 3933 | "which-module": { 3934 | "version": "1.0.0", 3935 | "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", 3936 | "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=" 3937 | }, 3938 | "window-size": { 3939 | "version": "0.2.0", 3940 | "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.2.0.tgz", 3941 | "integrity": "sha1-tDFbtCFKPXBY6+7okuE/ok2YsHU=" 3942 | }, 3943 | "wrap-ansi": { 3944 | "version": "2.1.0", 3945 | "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", 3946 | "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", 3947 | "requires": { 3948 | "string-width": "1.0.2", 3949 | "strip-ansi": "3.0.1" 3950 | } 3951 | }, 3952 | "wrappy": { 3953 | "version": "1.0.2", 3954 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", 3955 | "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" 3956 | }, 3957 | "write-file-atomic": { 3958 | "version": "1.3.4", 3959 | "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-1.3.4.tgz", 3960 | "integrity": "sha1-+Aek8LHZ6ROuekgRLmzDrxmRtF8=", 3961 | "requires": { 3962 | "graceful-fs": "4.1.11", 3963 | "imurmurhash": "0.1.4", 3964 | "slide": "1.1.6" 3965 | } 3966 | }, 3967 | "xtend": { 3968 | "version": "4.0.1", 3969 | "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", 3970 | "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=" 3971 | }, 3972 | "y18n": { 3973 | "version": "3.2.1", 3974 | "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", 3975 | "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=" 3976 | }, 3977 | "yallist": { 3978 | "version": "2.1.2", 3979 | "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", 3980 | "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=" 3981 | }, 3982 | "yargs": { 3983 | "version": "4.8.1", 3984 | "resolved": "https://registry.npmjs.org/yargs/-/yargs-4.8.1.tgz", 3985 | "integrity": "sha1-wMQpJMpKqmsObaFznfshZDn53cA=", 3986 | "requires": { 3987 | "cliui": "3.2.0", 3988 | "decamelize": "1.2.0", 3989 | "get-caller-file": "1.0.2", 3990 | "lodash.assign": "4.2.0", 3991 | "os-locale": "1.4.0", 3992 | "read-pkg-up": "1.0.1", 3993 | "require-directory": "2.1.1", 3994 | "require-main-filename": "1.0.1", 3995 | "set-blocking": "2.0.0", 3996 | "string-width": "1.0.2", 3997 | "which-module": "1.0.0", 3998 | "window-size": "0.2.0", 3999 | "y18n": "3.2.1", 4000 | "yargs-parser": "2.4.1" 4001 | } 4002 | }, 4003 | "yargs-parser": { 4004 | "version": "2.4.1", 4005 | "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-2.4.1.tgz", 4006 | "integrity": "sha1-hVaN488VD/SfpRgl8DqMiA3cxcQ=", 4007 | "requires": { 4008 | "camelcase": "3.0.0", 4009 | "lodash.assign": "4.2.0" 4010 | } 4011 | }, 4012 | "yeoman-environment": { 4013 | "version": "2.0.6", 4014 | "resolved": "https://registry.npmjs.org/yeoman-environment/-/yeoman-environment-2.0.6.tgz", 4015 | "integrity": "sha512-jzHBTTy8EPI4ImV8dpUMt+Q5zELkSU5xvGpndHcHudQ4tqN6YgIWaCGmRFl+HDchwRUkcgyjQ+n6/w5zlJBCPg==", 4016 | "requires": { 4017 | "chalk": "2.3.2", 4018 | "debug": "3.1.0", 4019 | "diff": "3.5.0", 4020 | "escape-string-regexp": "1.0.5", 4021 | "globby": "6.1.0", 4022 | "grouped-queue": "0.3.3", 4023 | "inquirer": "3.3.0", 4024 | "is-scoped": "1.0.0", 4025 | "lodash": "4.17.5", 4026 | "log-symbols": "2.2.0", 4027 | "mem-fs": "1.1.3", 4028 | "text-table": "0.2.0", 4029 | "untildify": "3.0.2" 4030 | }, 4031 | "dependencies": { 4032 | "ansi-regex": { 4033 | "version": "3.0.0", 4034 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", 4035 | "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" 4036 | }, 4037 | "debug": { 4038 | "version": "3.1.0", 4039 | "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", 4040 | "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", 4041 | "requires": { 4042 | "ms": "2.0.0" 4043 | } 4044 | }, 4045 | "diff": { 4046 | "version": "3.5.0", 4047 | "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", 4048 | "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==" 4049 | }, 4050 | "inquirer": { 4051 | "version": "3.3.0", 4052 | "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-3.3.0.tgz", 4053 | "integrity": "sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ==", 4054 | "requires": { 4055 | "ansi-escapes": "3.1.0", 4056 | "chalk": "2.3.2", 4057 | "cli-cursor": "2.1.0", 4058 | "cli-width": "2.2.0", 4059 | "external-editor": "2.2.0", 4060 | "figures": "2.0.0", 4061 | "lodash": "4.17.5", 4062 | "mute-stream": "0.0.7", 4063 | "run-async": "2.3.0", 4064 | "rx-lite": "4.0.8", 4065 | "rx-lite-aggregates": "4.0.8", 4066 | "string-width": "2.1.1", 4067 | "strip-ansi": "4.0.0", 4068 | "through": "2.3.8" 4069 | } 4070 | }, 4071 | "is-fullwidth-code-point": { 4072 | "version": "2.0.0", 4073 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", 4074 | "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" 4075 | }, 4076 | "string-width": { 4077 | "version": "2.1.1", 4078 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", 4079 | "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", 4080 | "requires": { 4081 | "is-fullwidth-code-point": "2.0.0", 4082 | "strip-ansi": "4.0.0" 4083 | } 4084 | }, 4085 | "strip-ansi": { 4086 | "version": "4.0.0", 4087 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", 4088 | "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", 4089 | "requires": { 4090 | "ansi-regex": "3.0.0" 4091 | } 4092 | } 4093 | } 4094 | }, 4095 | "yeoman-generator": { 4096 | "version": "2.0.4", 4097 | "resolved": "https://registry.npmjs.org/yeoman-generator/-/yeoman-generator-2.0.4.tgz", 4098 | "integrity": "sha512-Sgvz3MAkOpEIobcpW3rjEl6bOTNnl8SkibP9z7hYKfIGIlw0QDC2k0MAeXvyE2pLqc2M0Duql+6R7/W9GrJojg==", 4099 | "requires": { 4100 | "async": "2.6.0", 4101 | "chalk": "2.3.2", 4102 | "cli-table": "0.3.1", 4103 | "cross-spawn": "5.1.0", 4104 | "dargs": "5.1.0", 4105 | "dateformat": "3.0.3", 4106 | "debug": "3.1.0", 4107 | "detect-conflict": "1.0.1", 4108 | "error": "7.0.2", 4109 | "find-up": "2.1.0", 4110 | "github-username": "4.1.0", 4111 | "istextorbinary": "2.2.1", 4112 | "lodash": "4.17.5", 4113 | "make-dir": "1.2.0", 4114 | "mem-fs-editor": "3.0.2", 4115 | "minimist": "1.2.0", 4116 | "pretty-bytes": "4.0.2", 4117 | "read-chunk": "2.1.0", 4118 | "read-pkg-up": "3.0.0", 4119 | "rimraf": "2.6.2", 4120 | "run-async": "2.3.0", 4121 | "shelljs": "0.8.1", 4122 | "text-table": "0.2.0", 4123 | "through2": "2.0.3", 4124 | "yeoman-environment": "2.0.6" 4125 | }, 4126 | "dependencies": { 4127 | "async": { 4128 | "version": "2.6.0", 4129 | "resolved": "https://registry.npmjs.org/async/-/async-2.6.0.tgz", 4130 | "integrity": "sha512-xAfGg1/NTLBBKlHFmnd7PlmUW9KhVQIUuSrYem9xzFUZy13ScvtyGGejaae9iAVRiRq9+Cx7DPFaAAhCpyxyPw==", 4131 | "requires": { 4132 | "lodash": "4.17.5" 4133 | } 4134 | }, 4135 | "cross-spawn": { 4136 | "version": "5.1.0", 4137 | "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", 4138 | "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", 4139 | "requires": { 4140 | "lru-cache": "4.1.2", 4141 | "shebang-command": "1.2.0", 4142 | "which": "1.3.0" 4143 | } 4144 | }, 4145 | "debug": { 4146 | "version": "3.1.0", 4147 | "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", 4148 | "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", 4149 | "requires": { 4150 | "ms": "2.0.0" 4151 | } 4152 | }, 4153 | "find-up": { 4154 | "version": "2.1.0", 4155 | "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", 4156 | "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", 4157 | "requires": { 4158 | "locate-path": "2.0.0" 4159 | } 4160 | }, 4161 | "load-json-file": { 4162 | "version": "4.0.0", 4163 | "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", 4164 | "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", 4165 | "requires": { 4166 | "graceful-fs": "4.1.11", 4167 | "parse-json": "4.0.0", 4168 | "pify": "3.0.0", 4169 | "strip-bom": "3.0.0" 4170 | } 4171 | }, 4172 | "minimist": { 4173 | "version": "1.2.0", 4174 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", 4175 | "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" 4176 | }, 4177 | "parse-json": { 4178 | "version": "4.0.0", 4179 | "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", 4180 | "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", 4181 | "requires": { 4182 | "error-ex": "1.3.1", 4183 | "json-parse-better-errors": "1.0.2" 4184 | } 4185 | }, 4186 | "path-type": { 4187 | "version": "3.0.0", 4188 | "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", 4189 | "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", 4190 | "requires": { 4191 | "pify": "3.0.0" 4192 | } 4193 | }, 4194 | "pify": { 4195 | "version": "3.0.0", 4196 | "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", 4197 | "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" 4198 | }, 4199 | "read-pkg": { 4200 | "version": "3.0.0", 4201 | "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", 4202 | "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", 4203 | "requires": { 4204 | "load-json-file": "4.0.0", 4205 | "normalize-package-data": "2.4.0", 4206 | "path-type": "3.0.0" 4207 | } 4208 | }, 4209 | "read-pkg-up": { 4210 | "version": "3.0.0", 4211 | "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz", 4212 | "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=", 4213 | "requires": { 4214 | "find-up": "2.1.0", 4215 | "read-pkg": "3.0.0" 4216 | } 4217 | }, 4218 | "strip-bom": { 4219 | "version": "3.0.0", 4220 | "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", 4221 | "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=" 4222 | } 4223 | } 4224 | } 4225 | } 4226 | } 4227 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ethereum-ico-contract", 3 | "version": "1.0.0", 4 | "description": "This is a basic example of a crowdsale with a brand new ERC20 token. First deploy the Sale contract, and then the ERC20 token contract. The ERC20 contract will require the Sale Contract etheruem address.", 5 | "main": "truffle.js", 6 | "directories": { 7 | "test": "test" 8 | }, 9 | "scripts": { 10 | "test": "truffle test" 11 | }, 12 | "repository": { 13 | "type": "git", 14 | "url": "git+https://github.com/hunterlong/ethereum-ico-contract.git" 15 | }, 16 | "author": "", 17 | "license": "ISC", 18 | "bugs": { 19 | "url": "https://github.com/hunterlong/ethereum-ico-contract/issues" 20 | }, 21 | "homepage": "https://github.com/hunterlong/ethereum-ico-contract#readme", 22 | "dependencies": { 23 | "ganache-cli": "^6.1.0", 24 | "solc": "^0.4.21", 25 | "truffle": "^4.1.5" 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /test/sale_erc20.js: -------------------------------------------------------------------------------- 1 | var Sale = artifacts.require("./Sale.sol"); 2 | var Token = artifacts.require("./Token.sol"); 3 | 4 | var account_one; 5 | var account_two; 6 | var account_three; 7 | 8 | var saleAddress; 9 | var tokenAddress; 10 | 11 | var Tokenint; 12 | 13 | 14 | contract('Sale', function(accounts) { 15 | 16 | account_one = accounts[0]; 17 | account_two = accounts[1]; 18 | account_three = accounts[2]; 19 | 20 | var cn; 21 | 22 | it("should setup the wallet", function() { 23 | return Sale.deployed().then(function(instance) { 24 | cn = instance; 25 | return instance.setup(tokenAddress, 50000, {from: account_one}); 26 | }); 27 | }); 28 | 29 | it("should confirm the Token address", function() { 30 | return Sale.deployed().then(function(instance) { 31 | return instance.ETHWallet.call() 32 | }).then(function(address) { 33 | assert.equal(address, "0x004f3e7ffa2f06ea78e14ed2b13e87d710e8013f", "Transfer ETH to confirmed"); 34 | }); 35 | }); 36 | 37 | 38 | it("should contribute some ETH", function() { 39 | return Sale.deployed().then(function(instance) { 40 | return instance.contribute({from: account_one, value: 20000000000}) 41 | }).then(function(tx) { 42 | assert.equal(tx.logs[0].event, "Contribution", "Transfer ETH to confirmed"); 43 | }) 44 | }); 45 | 46 | 47 | it("should send some ETH without contribute function", function() { 48 | return Sale.deployed().then(function(instance) { 49 | return instance.sendTransaction({value: 100000000000, gasLimit: 100000, from: account_three}); 50 | }).then(function(tx) { 51 | assert.equal(tx.logs[0].event, "Contribution", "Transfer ETH to confirmed"); 52 | }) 53 | }); 54 | 55 | 56 | it("should have TOKENs in wallet 1", function() { 57 | return Token.deployed().then(function(instance) { 58 | Tokenint = instance; 59 | return instance.balanceOf.call(account_one) 60 | }).then(function(balance) { 61 | assert.equal(balance.valueOf(), 12000000000000, "Purchaser has the new Tokens"); 62 | }) 63 | }); 64 | 65 | it("should have TOKENs in wallet 3", function() { 66 | return Token.deployed().then(function(instance) { 67 | Tokenint = instance; 68 | return instance.balanceOf.call(account_three) 69 | }).then(function(balance) { 70 | assert.equal(balance.valueOf(), 60000000000000, "Purchaser has the new Tokens"); 71 | }) 72 | }); 73 | 74 | it("should transfer Tokens to someone else", function() { 75 | return Token.deployed().then(function(instance) { 76 | return instance.transfer(account_two, 100000000, {from: account_one}) 77 | }).then(function(tx) { 78 | assert.equal(tx.logs[0].event, "Transfer", "Transfer Tokens confirmed"); 79 | }) 80 | }); 81 | 82 | 83 | it("second address has TOKENs in wallet", function() { 84 | return Token.deployed().then(function(instance) { 85 | return instance.balanceOf.call(account_two) 86 | }).then(function(balance) { 87 | assert.equal(balance.valueOf(), 100000000, "Second wallet has some Tokens"); 88 | }) 89 | }); 90 | 91 | it("should change TOKEN/ETH rate", function() { 92 | return Sale.deployed().then(function(instance) { 93 | return instance.updateRate(750, {from: account_one}) 94 | }).then(function() { 95 | return cn.exchangeRate.call() 96 | }).then(function(rate) { 97 | assert.equal(rate, 750, "Rate was changed"); 98 | }) 99 | }); 100 | 101 | 102 | it("should change creator", function() { 103 | return Sale.deployed().then(function(instance) { 104 | cn = instance; 105 | return instance.changeCreator(account_two, {from: account_one}) 106 | }).then(function() { 107 | return cn.creator.call() 108 | }).then(function(creator) { 109 | assert.equal(creator.valueOf(), account_two, "Creator was changed"); 110 | }) 111 | }); 112 | 113 | 114 | it("should change Transfer status to OFF", function() { 115 | return Sale.deployed().then(function(instance) { 116 | return instance.changeTransferStats(false, {from: account_two}) 117 | }).then(function() { 118 | return Tokenint.allowTransfer.call() 119 | }).then(function(allow) { 120 | assert.equal(allow, false, "Tokens cannot be transferred"); 121 | }) 122 | }); 123 | 124 | 125 | it("should change Transfer status to ON", function() { 126 | return Sale.deployed().then(function(instance) { 127 | return instance.changeTransferStats(true, {from: account_two}) 128 | }).then(function() { 129 | return Tokenint.allowTransfer.call() 130 | }).then(function(allow) { 131 | assert.equal(allow, true, "Tokens can be transferred"); 132 | }) 133 | }); 134 | 135 | 136 | it("should turn off token sale", function() { 137 | return Sale.deployed().then(function(instance) { 138 | return instance.closeSale({from: account_two}) 139 | }).then(function() { 140 | return cn.isFunding.call() 141 | }).then(function(allow) { 142 | assert.equal(allow, false, "Tokens Sale has ended"); 143 | }) 144 | }); 145 | 146 | 147 | it("should return amount of tokens to be held", function() { 148 | return Sale.deployed().then(function(instance) { 149 | return instance.getHeldCoin(account_one) 150 | }).then(function(held) { 151 | assert.equal(held.valueOf(), 1000, "Tokens that are held for address"); 152 | }) 153 | }); 154 | 155 | 156 | it("should release held tokens to founders", function() { 157 | return Sale.deployed().then(function(instance) { 158 | return instance.releaseHeldCoins({from: account_one}) 159 | }).then(function() { 160 | return Tokenint.balanceOf.call(account_one) 161 | }).then(function(balance) { 162 | assert.equal(balance.valueOf(), 11999900001000, "Tokens were released to founder"); 163 | }) 164 | }); 165 | 166 | }); 167 | 168 | 169 | contract('Token', function(accounts) { 170 | 171 | tokenAddress = Token.address; 172 | saleAddress = Sale.address; 173 | 174 | it("should confirm the Sale address", function() { 175 | return Token.deployed().then(function(instance) { 176 | Tokenint = instance; 177 | return instance.mintableAddress.call() 178 | }).then(function(address) { 179 | assert.equal(address, saleAddress, "Sale account is the same"); 180 | }); 181 | }); 182 | 183 | 184 | 185 | }); 186 | -------------------------------------------------------------------------------- /truffle.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | networks: { 3 | development: { 4 | host: "localhost", 5 | port: 8545, 6 | network_id: "*" // Match any network id 7 | } 8 | } 9 | }; 10 | --------------------------------------------------------------------------------