diff --git a/CHANGELOG.md b/CHANGELOG.md index 45a62c38..80bcdd72 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,23 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [0.14.0](https://github.com/nervosnetwork/ckb-sdk-js/compare/v0.13.0...v0.14.0) (2019-06-15) + + +### Features + +* **types:** remove the args field in cell input type ([d07f253](https://github.com/nervosnetwork/ckb-sdk-js/commit/d07f253)) +* **core:** add signWitnesses and signTransaction methods in the core module ([c20d36c](https://github.com/nervosnetwork/ckb-sdk-js/commit/c20d36c)) + + +### BREAKING CHANGES + +* **types:** the type of cell input changes, its args field is removed. + + + + + # [0.13.0](https://github.com/nervosnetwork/ckb-sdk-js/compare/v0.12.0...v0.13.0) (2019-06-01) diff --git a/lerna.json b/lerna.json index 87012598..34bd4fb4 100644 --- a/lerna.json +++ b/lerna.json @@ -2,5 +2,5 @@ "packages": [ "packages/*" ], - "version": "0.13.0" + "version": "0.14.0" } diff --git a/packages/ckb-cli/CHANGELOG.md b/packages/ckb-cli/CHANGELOG.md index cac14c5a..f9875e5d 100644 --- a/packages/ckb-cli/CHANGELOG.md +++ b/packages/ckb-cli/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [0.14.0](https://github.com/nervosnetwork/ckb-sdk-js/compare/v0.13.0...v0.14.0) (2019-06-15) + +**Note:** Version bump only for package @nervosnetwork/ckb-cli + + + + + # [0.13.0](https://github.com/nervosnetwork/ckb-sdk-js/compare/v0.12.0...v0.13.0) (2019-06-01) **Note:** Version bump only for package @nervosnetwork/ckb-cli diff --git a/packages/ckb-cli/package.json b/packages/ckb-cli/package.json index b9a65304..32c14a69 100644 --- a/packages/ckb-cli/package.json +++ b/packages/ckb-cli/package.json @@ -1,6 +1,6 @@ { "name": "@nervosnetwork/ckb-cli", - "version": "0.13.0", + "version": "0.14.0", "description": "Command line package based on @nervosnetwork/ckb-sdk-core", "author": "Nervos ", "homepage": "https://github.com/nervosnetwork/ckb-sdk-js#readme", @@ -34,7 +34,7 @@ "url": "https://github.com/nervosnetwork/ckb-sdk-js/issues" }, "dependencies": { - "@nervosnetwork/ckb-sdk-core": "0.13.0", + "@nervosnetwork/ckb-sdk-core": "0.14.0", "commander": "2.20.0", "inquirer": "6.2.1" }, @@ -42,5 +42,5 @@ "@types/crypto-js": "3.1.43", "@types/inquirer": "6.0.0" }, - "gitHead": "fed4580b376c2826d9b565afebaa56c402b56216" + "gitHead": "4fcb80e6068f9219076005435445a41333c00ea9" } diff --git a/packages/ckb-sdk-address/CHANGELOG.md b/packages/ckb-sdk-address/CHANGELOG.md index 1eec3180..bf2b66d1 100644 --- a/packages/ckb-sdk-address/CHANGELOG.md +++ b/packages/ckb-sdk-address/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [0.14.0](https://github.com/nervosnetwork/ckb-sdk-js/compare/v0.13.0...v0.14.0) (2019-06-15) + +**Note:** Version bump only for package @nervosnetwork/ckb-sdk-address + + + + + # [0.13.0](https://github.com/nervosnetwork/ckb-sdk-js/compare/v0.12.0...v0.13.0) (2019-06-01) diff --git a/packages/ckb-sdk-address/package.json b/packages/ckb-sdk-address/package.json index 76eb0aaa..069f5f53 100644 --- a/packages/ckb-sdk-address/package.json +++ b/packages/ckb-sdk-address/package.json @@ -1,6 +1,6 @@ { "name": "@nervosnetwork/ckb-sdk-address", - "version": "0.13.0", + "version": "0.14.0", "description": "Address module of @nervosnetwork/ckb-sdk-core", "keywords": [ "CKB", @@ -33,8 +33,8 @@ "url": "https://github.com/nervosnetwork/ckb-sdk-js/issues" }, "dependencies": { - "@nervosnetwork/ckb-sdk-utils": "0.13.0", - "@nervosnetwork/ckb-types": "0.13.0" + "@nervosnetwork/ckb-sdk-utils": "0.14.0", + "@nervosnetwork/ckb-types": "0.14.0" }, - "gitHead": "fed4580b376c2826d9b565afebaa56c402b56216" + "gitHead": "4fcb80e6068f9219076005435445a41333c00ea9" } diff --git a/packages/ckb-sdk-address/src/index.ts b/packages/ckb-sdk-address/src/index.ts index 9962429f..80629540 100644 --- a/packages/ckb-sdk-address/src/index.ts +++ b/packages/ckb-sdk-address/src/index.ts @@ -33,7 +33,7 @@ class Address extends ECPair { type, binIdx, }) - this.idenfitier = blake160(this.publicKey as string, 'hex') as string + this.idenfitier = blake160(this.publicKey as string, 'hex') } } diff --git a/packages/ckb-sdk-core/CHANGELOG.md b/packages/ckb-sdk-core/CHANGELOG.md index a0aeb015..73060d4d 100644 --- a/packages/ckb-sdk-core/CHANGELOG.md +++ b/packages/ckb-sdk-core/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [0.14.0](https://github.com/nervosnetwork/ckb-sdk-js/compare/v0.13.0...v0.14.0) (2019-06-15) + +* **core:** add signWitnesses and signTransaction methods in the core module ([c20d36c](https://github.com/nervosnetwork/ckb-sdk-js/commit/c20d36c)) + + + + + # [0.13.0](https://github.com/nervosnetwork/ckb-sdk-js/compare/v0.12.0...v0.13.0) (2019-06-01) **Note:** Version bump only for package @nervosnetwork/ckb-sdk-core diff --git a/packages/ckb-sdk-core/README.md b/packages/ckb-sdk-core/README.md index 3e892dea..80dafcf2 100644 --- a/packages/ckb-sdk-core/README.md +++ b/packages/ckb-sdk-core/README.md @@ -2,6 +2,6 @@ `@nervosnetwork/ckb-sdk-core` is the JavaScript SDK for Nervos Network [CKB Project](https://github.com/nervosnetwork/ckb) -# More Information +## More Information -[README.md](../../README.md) +[README.md](https://github.com/nervosnetwork/ckb-sdk-js/blob/develop/README.md) diff --git a/packages/ckb-sdk-core/__tests__/ckb-core.test.js b/packages/ckb-sdk-core/__tests__/ckb-core.test.js index dc34d0be..a7ff5607 100644 --- a/packages/ckb-sdk-core/__tests__/ckb-core.test.js +++ b/packages/ckb-sdk-core/__tests__/ckb-core.test.js @@ -1,35 +1,86 @@ +const successFixtures = require('./successFixtures.json') +const exceptionFixtures = require('./exceptionFixtures.json') + const Core = require('../lib').default const url = 'http://localhost:8114' const core = new Core(url) describe('ckb-core', () => { - const fixture = { - empty: { - codeHash: '', - outPoint: { - blockHash: '', - cell: { - txHash: '', - index: '0', - }, - }, - }, - target: { - codeHash: '9e3b3557f11b2b3532ce352bfe8017e9fd11d154c4c7f9b7aaaa1e621b539a08', - outPoint: { - blockHash: 'aad9b82caa07f5989dfb8caa44927f0bab515a96ccaaceba82c7bea609fec205', - cell: { - txHash: 'bffab7ee0a050e2cb882de066d3dbf3afdd8932d6a26eda44f06e4b23f0f4b5a', - index: '1', - }, - }, - }, - } - it('load the system cell', async () => { - expect(core.config.systemCellInfo).toEqual(fixture.empty) - - const systemCellInfo = await core.loadSystemCell() - expect(systemCellInfo).toEqual(fixture.target) + describe('success', () => { + it('load the system cell', async () => { + const fixture = successFixtures.loadSystemCell + expect(core.config.systemCellInfo).toEqual(fixture.emptyInfo) + + const systemCellInfo = await core.loadSystemCell() + expect(systemCellInfo).toEqual(fixture.target) + }) + + it('sign witnesses', () => { + const fixture = successFixtures.signWitnesses + const signedWitnessesByPrivateKey = core.signWitnesses(fixture.privateKey)(fixture.message) + expect(signedWitnessesByPrivateKey).toEqual(fixture.target) + + const signedWitnessesByAddressObject = core.signWitnesses(core.generateAddress(fixture.privateKey))( + fixture.message + ) + expect(signedWitnessesByAddressObject).toEqual(fixture.target) + }) + + it('sign transaction', async () => { + const fixture = successFixtures.signTransaction + const signedTransactionWithPrivateKey = await core.signTransaction(fixture.privateKey)(fixture.transaction) + const signedTransactionWithAddressObj = await core.signTransaction(core.generateAddress(fixture.privateKey))( + fixture.transaction + ) + expect(signedTransactionWithPrivateKey).toEqual(fixture.target) + expect(signedTransactionWithAddressObj).toEqual(fixture.target) + }) + }) + + describe('exceptions', () => { + describe('sign witneses', () => { + it('throw an error when key is missing', () => { + const fixture = exceptionFixtures.signWitnessesWithoutKey + expect(() => core.signWitnesses(fixture.privateKey)(fixture.message)).toThrowError(fixture.exception) + }) + + it('throw an error when transaction hash is missing', () => { + const fixture = exceptionFixtures.signWitnessesWithoutTransactionHash + expect(() => core.signWitnesses(fixture.privateKey)(fixture.message)).toThrowError(fixture.exception) + }) + }) + + describe('sign transaction', () => { + it('throw an error when key is missing', () => { + const fixture = exceptionFixtures.signTransactionWithoutKey + expect(core.signTransaction(fixture.privateKey)(fixture.transaction)).rejects.toEqual( + new Error(fixture.exception) + ) + }) + + it('throw an error when trasnaction is missing', () => { + const fixture = exceptionFixtures.signTransactionWithoutTransaction + expect(core.signTransaction(fixture.privateKey)(fixture.transaction)).rejects.toEqual( + new Error(fixture.exception) + ) + }) + + it('throw an error when witnesses is missing', () => { + const fixture = exceptionFixtures.signTransactionWithoutWitnesses + console.log(!fixture.transaction.witnesses) + expect(core.signTransaction(fixture.privateKey)(fixture.transaction)).rejects.toEqual( + new Error(fixture.exception) + ) + }) + + it('throw an error with invalid cound of witnesses', () => { + const fixture = exceptionFixtures.signTransactionWithInvalidCountOfWitnesses + console.log(!fixture.transaction.witnesses) + expect(core.signTransaction(fixture.privateKey)(fixture.transaction)).rejects.toEqual( + new Error(fixture.exception) + ) + }) + }) }) }) diff --git a/packages/ckb-sdk-core/__tests__/exceptionFixtures.json b/packages/ckb-sdk-core/__tests__/exceptionFixtures.json new file mode 100644 index 00000000..4f7cc657 --- /dev/null +++ b/packages/ckb-sdk-core/__tests__/exceptionFixtures.json @@ -0,0 +1,156 @@ +{ + "signWitnessesWithoutKey": { + "privateKey": null, + "message": { + "transactionHash": "0xac1bb95455cdfb89b6e977568744e09b6b80e08cab9477936a09c4ca07f5b8ab", + "witnesses": [ + { + "data": [] + } + ] + }, + "exception": "Private key or address object is required" + }, + + "signWitnessesWithoutTransactionHash": { + "privateKey": "0xe79f3207ea4980b7fed79956d5934249ceac4751a4fae01a0f7c4a96884bc4e3", + "message": { + "transactionHash": null, + "witnesses": [ + { + "data": [] + } + ] + }, + "exception": "Transaction hash is required" + }, + + "signTransactionWithoutKey": { + "privateKey": null, + "transaction": { + "deps": [ + { + "cell": { + "txHash": "0x0000000000000000000000000000000000000000000000000000000000000000", + "index": "4294967295" + }, + "blockHash": "0x0000000000000000000000000000000000000000000000000000000000000000" + } + ], + "inputs": [ + { + "previousOutput": { + "cell": { + "txHash": "0x0000000000000000000000000000000000000000000000000000000000000000", + "index": "4294967295" + }, + "blockHash": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "since": "0" + } + ], + "outputs": [ + { + "capacity": "5000000000000", + "data": "0x", + "lock": { + "args": [], + "codeHash": "0x0000000000000000000000000000000000000000000000000000000000000001" + }, + "type": null + } + ], + "version": "0", + "witnesses": [{ "data": [] }] + }, + "exception": "Private key or address object is required" + }, + + "signTransactionWithoutTransaction": { + "privateKey": "0xe79f3207ea4980b7fed79956d5934249ceac4751a4fae01a0f7c4a96884bc4e3", + "transaction": null, + "exception": "Transaction is required" + }, + + "signTransactionWithoutWitnesses": { + "privateKey": "0xe79f3207ea4980b7fed79956d5934249ceac4751a4fae01a0f7c4a96884bc4e3", + "transaction": { + "deps": [ + { + "cell": { + "txHash": "0x0000000000000000000000000000000000000000000000000000000000000000", + "index": "4294967295" + }, + "blockHash": "0x0000000000000000000000000000000000000000000000000000000000000000" + } + ], + "inputs": [ + { + "previousOutput": { + "cell": { + "txHash": "0x0000000000000000000000000000000000000000000000000000000000000000", + "index": "4294967295" + }, + "blockHash": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "since": "0" + } + ], + "outputs": [ + { + "capacity": "5000000000000", + "data": "0x", + "lock": { + "args": [], + "codeHash": "0x0000000000000000000000000000000000000000000000000000000000000001" + }, + "type": null + } + ], + "version": "0", + "witnesses": null + }, + "exception": "Witnesses is required" + }, + + "signTransactionWithInvalidCountOfWitnesses": { + "privateKey": "0xe79f3207ea4980b7fed79956d5934249ceac4751a4fae01a0f7c4a96884bc4e3", + "transaction": { + "deps": [ + { + "cell": { + "txHash": "0x0000000000000000000000000000000000000000000000000000000000000000", + "index": "4294967295" + }, + "blockHash": "0x0000000000000000000000000000000000000000000000000000000000000000" + } + ], + "inputs": [ + { + "previousOutput": { + "cell": { + "txHash": "0x0000000000000000000000000000000000000000000000000000000000000000", + "index": "4294967295" + }, + "blockHash": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "since": "0" + } + ], + "outputs": [ + { + "capacity": "5000000000000", + "data": "0x", + "lock": { + "args": [], + "codeHash": "0x0000000000000000000000000000000000000000000000000000000000000001" + }, + "type": null + } + ], + "version": "0", + "witnesses": [] + }, + "exception": "Invalid count of witnesses" + } +} diff --git a/packages/ckb-sdk-core/__tests__/successFixtures.json b/packages/ckb-sdk-core/__tests__/successFixtures.json new file mode 100644 index 00000000..68fa8913 --- /dev/null +++ b/packages/ckb-sdk-core/__tests__/successFixtures.json @@ -0,0 +1,127 @@ +{ + "loadSystemCell": { + "emptyInfo": { + "codeHash": "", + "outPoint": { + "blockHash": "", + "cell": { + "txHash": "", + "index": "0" + } + } + }, + "target": { + "codeHash": "f1951123466e4479842387a66fabfd6b65fc87fd84ae8e6cd3053edb27fff2fd", + "outPoint": { + "blockHash": "fc3ad90e38598032598c90b4ad4fefb420bacabaa7c5b40111daca7dfcc1f9d4", + "cell": { + "txHash": "3f09b95f8886723cc850db0beb9c153169151c663f3e8f832dc04421fbb1f382", + "index": "1" + } + } + } + }, + + "signWitnesses": { + "privateKey": "0xe79f3207ea4980b7fed79956d5934249ceac4751a4fae01a0f7c4a96884bc4e3", + "message": { + "transactionHash": "0xac1bb95455cdfb89b6e977568744e09b6b80e08cab9477936a09c4ca07f5b8ab", + "witnesses": [ + { + "data": [] + } + ] + }, + "target": [ + { + "data": [ + "0x024a501efd328e062c8675f2365970728c859c592beeefd6be8ead3d901330bc01", + "0x304402202c643579e47045be050d3842ed9270151af8885e33954bddad0e53e81d1c2dbe02202dc637877a8302110846ebc6a16d9148c106e25f945063ad1c4d4db2b6952408" + ] + } + ] + }, + + "signTransaction": { + "privateKey": "0xe79f3207ea4980b7fed79956d5934249ceac4751a4fae01a0f7c4a96884bc4e3", + "transaction": { + "deps": [ + { + "cell": { + "txHash": "0x0000000000000000000000000000000000000000000000000000000000000000", + "index": "4294967295" + }, + "blockHash": "0x0000000000000000000000000000000000000000000000000000000000000000" + } + ], + "inputs": [ + { + "previousOutput": { + "cell": { + "txHash": "0x0000000000000000000000000000000000000000000000000000000000000000", + "index": "4294967295" + }, + "blockHash": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "since": "0" + } + ], + "outputs": [ + { + "capacity": "5000000000000", + "data": "0x", + "lock": { + "args": [], + "codeHash": "0x0000000000000000000000000000000000000000000000000000000000000001" + }, + "type": null + } + ], + "version": "0", + "witnesses": [{ "data": [] }] + }, + "target": { + "deps": [ + { + "cell": { + "txHash": "0x0000000000000000000000000000000000000000000000000000000000000000", + "index": "4294967295" + }, + "blockHash": "0x0000000000000000000000000000000000000000000000000000000000000000" + } + ], + "inputs": [ + { + "previousOutput": { + "cell": { + "txHash": "0x0000000000000000000000000000000000000000000000000000000000000000", + "index": "4294967295" + }, + "blockHash": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "since": "0" + } + ], + "outputs": [ + { + "capacity": "5000000000000", + "data": "0x", + "lock": { + "args": [], + "codeHash": "0x0000000000000000000000000000000000000000000000000000000000000001" + }, + "type": null + } + ], + "version": "0", + "witnesses": [ + { + "data": [ + "0x024a501efd328e062c8675f2365970728c859c592beeefd6be8ead3d901330bc01", + "0x3045022100aa659c1d2920d144b76e4d03eb4d0c56b22e66501c68bb330bc58b5af1ba411c02203728e526386d4186955049405a669a9ce63ec0e3b233ca7696f9a5d95651a256" + ] + } + ] + } + } +} diff --git a/packages/ckb-sdk-core/examples/sendTransaction.js b/packages/ckb-sdk-core/examples/sendTransaction.js index 458de621..5d00178f 100644 --- a/packages/ckb-sdk-core/examples/sendTransaction.js +++ b/packages/ckb-sdk-core/examples/sendTransaction.js @@ -37,6 +37,7 @@ const bootstrap = async () => { * - value, the address string * - privateKey, the private key in hex string format * - publicKey, the public key in hex string format + * - identifier, the identifier of the public key, a blake160-ed public key is use here * - sign(msg): signature string * - verify(msg, signature): boolean */ @@ -48,19 +49,14 @@ const bootstrap = async () => { /** * calculate the lockhash by the address - * 1. a blake160-ed public key is required in the args field of lock script + * 1. the identifier of the address is required in the args field of lock script * 2. compose the lock script with SYSTEM_ENCRYPTION_CODE_HASH, and args * 3. calculate the hash of lock script */ - const blake160edPublicKey = core.utils.blake160(myAddressObj.publicKey, 'hex') - /** - * to see the blake160-ed public key - */ - // console.log(blake160edPublicKey) const script = { codeHash: SYSTEM_ENCRYPTION_CODE_HASH, - args: [blake160edPublicKey], + args: [`0x${myAddressObj.idenfitier}`], } /** * to see the lock script @@ -130,11 +126,11 @@ const bootstrap = async () => { // .then(console.log) /** - * @notice fill the blaked160ed public key in the output's args, + * @notice fill the blaked160ed public key as the identifier of the target address in the output's args, * which is used to specify the next owner of the output, namely the fresh cell. * @notice use bigint or big number to handle the capacity for safety */ - const generateTransaction = async (targetBlake160edPublicKey, capacity) => { + const generateTransaction = async (targetIdentifier, capacity) => { const targetCapacity = BigInt(capacity) /** @@ -144,7 +140,7 @@ const bootstrap = async () => { capacity: targetCapacity, lock: { codeHash: SYSTEM_ENCRYPTION_CODE_HASH, - args: [targetBlake160edPublicKey], + args: [targetIdentifier], }, data: '0x', } @@ -156,7 +152,7 @@ const bootstrap = async () => { capacity: 0n, lock: { codeHash: SYSTEM_ENCRYPTION_CODE_HASH, - args: [`0x${blake160edPublicKey}`], + args: [`0x${myAddressObj.idenfitier}`], }, data: '0x', } @@ -193,27 +189,21 @@ const bootstrap = async () => { version: '0', deps: [SYSTEM_ENCRYPTION_OUT_POINT], inputs, - outputs: - changeOutput.capacity > 0n ? [ - { - ...targetOutput, - capacity: targetOutput.capacity.toString(), - }, - { - ...changeOutput, - capacity: changeOutput.capacity.toString(), - }, - ] : [ - { - ...targetOutput, - capacity: targetOutput.capacity.toString(), - }, - ], - witnesses: [ + outputs: changeOutput.capacity > 0n ? [{ + ...targetOutput, + capacity: targetOutput.capacity.toString(), + }, { - data: [], + ...changeOutput, + capacity: changeOutput.capacity.toString(), }, - ], + ] : [{ + ...targetOutput, + capacity: targetOutput.capacity.toString(), + }, ], + witnesses: [{ + data: [], + }, ], } return tx } @@ -225,40 +215,17 @@ const bootstrap = async () => { // console.log(JSON.stringify(tx, null, 2)) // }) - /** - * sign the transaction hash and then compute the witness which will fill the witnesses field in the transaction - * to know more about witness and segwit - * @link https://www.wikiwand.com/en/SegWit - */ - const fillTransactionWithWitnesses = async () => { - const tx = await generateTransaction(`0x${blake160edPublicKey}`, 6000000000) // generate the raw transaction with empty witnesses - const txHash = await core.rpc.computeTransactionHash(tx) // get transaction hash - const signature = myAddressObj.sign(txHash) // sign the transaction - const signatureSize = core.utils.hexToBytes(signature).length // get the size of signature - const sequence = new DataView(new ArrayBuffer(8)) - sequence.setUint8(0, signatureSize) - const sequencedSignatureSize = Buffer.from(sequence.buffer).toString('hex') // get a formatted signature size - const witness = { - data: [`0x${myAddressObj.publicKey}`, `0x${signature}`, `0x${sequencedSignatureSize}`], - } - const witnesses = Array.from({ - length: tx.inputs.length, - }, - () => witness - ) - tx.witnesses = witnesses // fill the witness in transaction's witnesses - return tx - } - /** * send transaction */ - const tx = await fillTransactionWithWitnesses() + const tx = await generateTransaction(`0x${myAddressObj.idenfitier}`, 6000000000) // generate the raw transaction with empty witnesses + const signedTx = await core.signTransaction(myAddressObj)(tx) /** - * to see the real transaction, (slightly differs from the previous one which used to calculate the transaction hash) + * to see the signed transaction */ - // console.log(JSON.stringify(tx, null, 2)) - const realTxHash = await core.rpc.sendTransaction(tx) + // console.log(JSON.stringify(signedTx, null, 2)) + + const realTxHash = await core.rpc.sendTransaction(signedTx) /** * to see the real transaction hash */ diff --git a/packages/ckb-sdk-core/package.json b/packages/ckb-sdk-core/package.json index dee5bdcf..43a9b649 100644 --- a/packages/ckb-sdk-core/package.json +++ b/packages/ckb-sdk-core/package.json @@ -1,6 +1,6 @@ { "name": "@nervosnetwork/ckb-sdk-core", - "version": "0.13.0", + "version": "0.14.0", "description": "JavaScript SDK for Nervos Network CKB Project", "author": "Nervos ", "homepage": "https://github.com/nervosnetwork/ckb-sdk-js#readme", @@ -29,13 +29,13 @@ "url": "https://github.com/nervosnetwork/ckb-sdk-js/issues" }, "dependencies": { - "@nervosnetwork/ckb-sdk-address": "0.13.0", - "@nervosnetwork/ckb-sdk-rpc": "0.13.0", - "@nervosnetwork/ckb-sdk-utils": "0.13.0", - "@nervosnetwork/ckb-types": "0.13.0" + "@nervosnetwork/ckb-sdk-address": "0.14.0", + "@nervosnetwork/ckb-sdk-rpc": "0.14.0", + "@nervosnetwork/ckb-sdk-utils": "0.14.0", + "@nervosnetwork/ckb-types": "0.14.0" }, "devDependencies": { "@types/crypto-js": "3.1.43" }, - "gitHead": "fed4580b376c2826d9b565afebaa56c402b56216" + "gitHead": "4fcb80e6068f9219076005435445a41333c00ea9" } diff --git a/packages/ckb-sdk-core/src/index.ts b/packages/ckb-sdk-core/src/index.ts index 2680a0b7..0dbc64d0 100644 --- a/packages/ckb-sdk-core/src/index.ts +++ b/packages/ckb-sdk-core/src/index.ts @@ -96,6 +96,52 @@ class Core { } return this.config.systemCellInfo } + + public signWitnesses = (key: string | Address) => ({ + transactionHash, + witnesses = [], + }: { + transactionHash: string + witnesses: CKBComponents.Witness[] + }) => { + if (!key) throw new Error('Private key or address object is required') + if (!transactionHash) throw new Error('Transaction hash is required') + + const addrObj = typeof key === 'string' ? this.generateAddress(key) : key + const signedWitnesses = witnesses.map(witness => { + const oldData = witness.data || [] + const s = this.utils.blake2b(32, null, null, this.utils.PERSONAL) + s.update(this.utils.hexToBytes(transactionHash.replace(/^0x/, ''))) + oldData.forEach(datum => { + s.update(this.utils.hexToBytes(datum)) + }) + const message = s.digest('hex') + const data = [`0x${addrObj.publicKey}`, `0x${addrObj.sign(message)}`, ...oldData] + return { + data, + } + }) + return signedWitnesses + } + + public signTransaction = (key: string | Address) => async (transaction: CKBComponents.RawTransaction) => { + if (!key) throw new Error('Private key or address object is required') + if (!transaction) throw new Error('Transaction is required') + if (!transaction.witnesses) throw new Error('Witnesses is required') + if (transaction.witnesses.length < transaction.inputs.length) throw new Error('Invalid count of witnesses') + + const transactionHash = await (this.rpc as RPC & { computeTransactionHash: Function }).computeTransactionHash( + transaction + ) + const signedWitnesses = await this.signWitnesses(key)({ + transactionHash, + witnesses: transaction.witnesses, + }) + return { + ...transaction, + witnesses: signedWitnesses, + } + } } export default Core diff --git a/packages/ckb-sdk-rpc/CHANGELOG.md b/packages/ckb-sdk-rpc/CHANGELOG.md index 8470e25f..5b94777b 100644 --- a/packages/ckb-sdk-rpc/CHANGELOG.md +++ b/packages/ckb-sdk-rpc/CHANGELOG.md @@ -1,8 +1,24 @@ -# Change Log +# Changelog All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [0.14.0](https://github.com/nervosnetwork/ckb-sdk-js/compare/v0.13.0...v0.14.0) (2019-06-15) + + +### Features + +* **types:** remove the args field in cell input type ([d07f253](https://github.com/nervosnetwork/ckb-sdk-js/commit/d07f253)) + + +### BREAKING CHANGES + +* **types:** the type of cell input changes, its args field is removed. + + + + + # [0.13.0](https://github.com/nervosnetwork/ckb-sdk-js/compare/v0.12.0...v0.13.0) (2019-06-01) diff --git a/packages/ckb-sdk-rpc/README.md b/packages/ckb-sdk-rpc/README.md index fba02b73..075a88d4 100644 --- a/packages/ckb-sdk-rpc/README.md +++ b/packages/ckb-sdk-rpc/README.md @@ -2,4 +2,4 @@ `@nervosnetwork/ckb-sdk-rpc` is the rpc module of `@nervosnetwork/ckb-sdk-core`. -RPC list could be found [here](http://nervosnetwork.github.io/ckb-sdk-js/classes/defaultrpc.html) +RPC list could be found [here](https://github.com/nervosnetwork/ckb-sdk-js/blob/develop/packages/ckb-sdk-rpc/src/defaultRPC.ts#L107) diff --git a/packages/ckb-sdk-rpc/__tests__/formatters/fixtures.json b/packages/ckb-sdk-rpc/__tests__/formatters/fixtures.json index b73e8245..d9709f00 100644 --- a/packages/ckb-sdk-rpc/__tests__/formatters/fixtures.json +++ b/packages/ckb-sdk-rpc/__tests__/formatters/fixtures.json @@ -67,7 +67,6 @@ "blockHash": "0x0000000000000000000000000000000000000000000000000000000000000000" }], "inputs": [{ - "args": ["0x0200000000000000"], "previousOutput": { "cell": { "txHash": "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -98,7 +97,6 @@ "block_hash": "0x0000000000000000000000000000000000000000000000000000000000000000" }], "inputs": [{ - "args": ["0x0200000000000000"], "previous_output": { "cell": { "tx_hash": "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -142,9 +140,6 @@ }], "toInput": [{ "source": { - "args": [ - "0x0200000000000000" - ], "previous_output": { "cell": { "hash": "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -155,9 +150,6 @@ "since": "0" }, "target": { - "args": [ - "0x0200000000000000" - ], "previousOutput": { "cell": { "hash": "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -262,9 +254,6 @@ "deps": [], "hash": "0x8027376875e45318ed469bed6314408e8f1986de246cbd03a786b69073c948b8", "inputs": [{ - "args": [ - "0x0200000000000000" - ], "previous_output": { "cell": { "tx_hash": "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -291,9 +280,6 @@ "deps": [], "hash": "0x8027376875e45318ed469bed6314408e8f1986de246cbd03a786b69073c948b8", "inputs": [{ - "args": [ - "0x0200000000000000" - ], "previousOutput": { "cell": { "txHash": "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -387,9 +373,6 @@ "deps": [], "hash": "0x8027376875e45318ed469bed6314408e8f1986de246cbd03a786b69073c948b8", "inputs": [{ - "args": [ - "0x0200000000000000" - ], "previous_output": { "cell": { "tx_hash": "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -437,9 +420,6 @@ "deps": [], "hash": "0x8027376875e45318ed469bed6314408e8f1986de246cbd03a786b69073c948b8", "inputs": [{ - "args": [ - "0x0200000000000000" - ], "previousOutput": { "cell": { "txHash": "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -770,9 +750,6 @@ "deps": [], "hash": "0x8027376875e45318ed469bed6314408e8f1986de246cbd03a786b69073c948b8", "inputs": [{ - "args": [ - "0x0200000000000000" - ], "previous_output": { "cell": { "tx_hash": "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -804,9 +781,6 @@ "deps": [], "hash": "0x8027376875e45318ed469bed6314408e8f1986de246cbd03a786b69073c948b8", "inputs": [{ - "args": [ - "0x0200000000000000" - ], "previousOutput": { "cell": { "txHash": "0x0000000000000000000000000000000000000000000000000000000000000000", diff --git a/packages/ckb-sdk-rpc/package.json b/packages/ckb-sdk-rpc/package.json index 64676c0a..ad76e946 100644 --- a/packages/ckb-sdk-rpc/package.json +++ b/packages/ckb-sdk-rpc/package.json @@ -1,6 +1,6 @@ { "name": "@nervosnetwork/ckb-sdk-rpc", - "version": "0.13.0", + "version": "0.14.0", "description": "RPC module of @nervosnetwork/ckb-sdk-core", "author": "Nervos ", "homepage": "https://github.com/nervosnetwork/ckb-sdk-js/packages/ckb-rpc#readme", @@ -32,12 +32,12 @@ "url": "https://github.com/nervosnetwork/ckb-sdk-js/issues" }, "dependencies": { - "@nervosnetwork/ckb-sdk-utils": "0.13.0", - "axios": "0.18.0" + "@nervosnetwork/ckb-sdk-utils": "0.14.0", + "axios": "0.19.0" }, "devDependencies": { - "@nervosnetwork/ckb-types": "0.13.0", + "@nervosnetwork/ckb-types": "0.14.0", "@types/crypto-js": "3.1.43" }, - "gitHead": "fed4580b376c2826d9b565afebaa56c402b56216" + "gitHead": "4fcb80e6068f9219076005435445a41333c00ea9" } diff --git a/packages/ckb-sdk-rpc/types/CKB_RPC/index.d.ts b/packages/ckb-sdk-rpc/types/CKB_RPC/index.d.ts index 944430ea..40ef06d2 100644 --- a/packages/ckb-sdk-rpc/types/CKB_RPC/index.d.ts +++ b/packages/ckb-sdk-rpc/types/CKB_RPC/index.d.ts @@ -45,7 +45,6 @@ declare module CKB_RPC { export interface CellInput { previous_output: OutPoint since: Since - args: Bytes[] } export interface CellOutput { diff --git a/packages/ckb-sdk-utils/CHANGELOG.md b/packages/ckb-sdk-utils/CHANGELOG.md index c45e7747..deea1516 100644 --- a/packages/ckb-sdk-utils/CHANGELOG.md +++ b/packages/ckb-sdk-utils/CHANGELOG.md @@ -1,8 +1,16 @@ -# Change Log +# Changelog All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [0.14.0](https://github.com/nervosnetwork/ckb-sdk-js/compare/v0.13.0...v0.14.0) (2019-06-15) + +**Note:** Version bump only for package @nervosnetwork/ckb-sdk-utils + + + + + # [0.13.0](https://github.com/nervosnetwork/ckb-sdk-js/compare/v0.12.0...v0.13.0) (2019-06-01) diff --git a/packages/ckb-sdk-utils/package.json b/packages/ckb-sdk-utils/package.json index 130988ae..8236c723 100644 --- a/packages/ckb-sdk-utils/package.json +++ b/packages/ckb-sdk-utils/package.json @@ -1,6 +1,6 @@ { "name": "@nervosnetwork/ckb-sdk-utils", - "version": "0.13.0", + "version": "0.14.0", "description": "Utils module of @nervosnetwork/ckb-sdk-core", "author": "Nervos ", "homepage": "https://github.com/nervosnetwork/ckb-sdk-js#readme", @@ -30,7 +30,7 @@ "url": "https://github.com/nervosnetwork/ckb-sdk-js/issues" }, "dependencies": { - "@nervosnetwork/ckb-types": "0.13.0", + "@nervosnetwork/ckb-types": "0.14.0", "blake2b-wasm": "1.1.7", "elliptic": "6.4.1" }, @@ -39,5 +39,5 @@ "@types/elliptic": "6.4.8", "@types/utf8": "2.1.6" }, - "gitHead": "fed4580b376c2826d9b565afebaa56c402b56216" + "gitHead": "4fcb80e6068f9219076005435445a41333c00ea9" } diff --git a/packages/ckb-sdk-utils/src/address/index.ts b/packages/ckb-sdk-utils/src/address/index.ts index 8eea89ed..239586d5 100644 --- a/packages/ckb-sdk-utils/src/address/index.ts +++ b/packages/ckb-sdk-utils/src/address/index.ts @@ -68,11 +68,18 @@ export const pubkeyToAddress = ( }) } -export const parseAddress = ( +export declare interface ParseAddress { + (address: string): Uint8Array + (address: string, prefix: AddressPrefix): Uint8Array + (address: string, prefix: AddressPrefix, encode: 'binary'): Uint8Array + (address: string, prefix: AddressPrefix, encode: 'hex'): string + (address: string, prefix: AddressPrefix, encode: 'binary' | 'hex'): Uint8Array | string +} +export const parseAddress: ParseAddress = ( address: string, prefix: AddressPrefix = AddressPrefix.Testnet, encode: 'binary' | 'hex' = 'binary' -) => { +): any => { const decoded = bech32.decode(address) if (decoded.prefix !== prefix) { throw new Error('Prefix not matched') diff --git a/packages/ckb-sdk-utils/src/crypto/blake160.ts b/packages/ckb-sdk-utils/src/crypto/blake160.ts index 6ae330fe..9b6363c4 100644 --- a/packages/ckb-sdk-utils/src/crypto/blake160.ts +++ b/packages/ckb-sdk-utils/src/crypto/blake160.ts @@ -1,7 +1,13 @@ import blake2b from 'blake2b-wasm' import { PERSONAL, hexToBytes } from '../index' -export const blake160 = (data: Uint8Array | string, encode: 'binary' | 'hex' = 'binary') => { +export declare interface Blake160 { + (data: Uint8Array | string): Uint8Array + (data: Uint8Array | string, encode: 'binary'): Uint8Array + (data: Uint8Array | string, encode: 'hex'): string + (data: Uint8Array | string, encode: 'binary' | 'hex'): Uint8Array | string +} +export const blake160: Blake160 = (data: Uint8Array | string, encode: 'binary' | 'hex' = 'binary'): any => { const formattedData = typeof data === 'string' ? hexToBytes(data) : data const s = blake2b(32, null, null, PERSONAL) s.update(formattedData) diff --git a/packages/ckb-sdk-utils/src/ecpair.ts b/packages/ckb-sdk-utils/src/ecpair.ts index 5d231688..614c0b2b 100644 --- a/packages/ckb-sdk-utils/src/ecpair.ts +++ b/packages/ckb-sdk-utils/src/ecpair.ts @@ -24,19 +24,19 @@ class ECPair { this.compressed = compressed } - get privateKey(): string { + get privateKey() { return this.key.getPrivate('hex') } get publicKey() { - return this.key.getPublic(this.compressed, 'hex') + return this.key.getPublic(this.compressed, 'hex') as string } public getPrivateKey = (enc: 'hex' = 'hex') => this.key.getPrivate(enc) public getPublicKey = (enc: 'hex' | 'array') => this.key.getPublic(this.compressed, enc) - public sign = (msg: string | Uint8Array) => { + public sign = (msg: string | Uint8Array): string => { const message = typeof msg === 'string' ? hexToBytes(msg) : msg return this.key .sign(message, { diff --git a/packages/ckb-types/CHANGELOG.md b/packages/ckb-types/CHANGELOG.md index 797c2f07..097178aa 100644 --- a/packages/ckb-types/CHANGELOG.md +++ b/packages/ckb-types/CHANGELOG.md @@ -1,8 +1,24 @@ -# Change Log +# Changelog All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [0.14.0](https://github.com/nervosnetwork/ckb-sdk-js/compare/v0.13.0...v0.14.0) (2019-06-15) + + +### Features + +* **types:** remove the args field in cell input type ([d07f253](https://github.com/nervosnetwork/ckb-sdk-js/commit/d07f253)) + + +### BREAKING CHANGES + +* **types:** the type of cell input changes, its args field is removed. + + + + + # [0.13.0](https://github.com/nervosnetwork/ckb-sdk-js/compare/v0.12.0...v0.13.0) (2019-06-01) diff --git a/packages/ckb-types/index.d.ts b/packages/ckb-types/index.d.ts index 3ffcf48a..5f483904 100644 --- a/packages/ckb-types/index.d.ts +++ b/packages/ckb-types/index.d.ts @@ -58,12 +58,10 @@ declare namespace CKBComponents { * @property previousOutput, point to its P1 cell * @property since, a parameter to prevent a cell to be spent before a centain block timestamp or a block number, * [RFC](https://github.com/nervosnetwork/rfcs/blob/master/rfcs/0017-tx-valid-since/0017-tx-valid-since.md) - * @property args, args to unlock cell */ export interface CellInput { previousOutput: OutPoint since: Since - args: Bytes[] } /** diff --git a/packages/ckb-types/package.json b/packages/ckb-types/package.json index e6a11f26..c412f7db 100644 --- a/packages/ckb-types/package.json +++ b/packages/ckb-types/package.json @@ -1,6 +1,6 @@ { "name": "@nervosnetwork/ckb-types", - "version": "0.13.0", + "version": "0.14.0", "description": "Type module of @nervosnetwork/ckb-sdk-core", "author": "Nervos ", "homepage": "https://github.com/nervosnetwork/ckb-sdk-js#readme", @@ -26,5 +26,5 @@ "devDependencies": { "@types/crypto-js": "3.1.43" }, - "gitHead": "fed4580b376c2826d9b565afebaa56c402b56216" + "gitHead": "4fcb80e6068f9219076005435445a41333c00ea9" } diff --git a/yarn.lock b/yarn.lock index c69ce99d..9e64ddad 100644 --- a/yarn.lock +++ b/yarn.lock @@ -302,14 +302,14 @@ "@types/istanbul-reports" "^1.1.1" "@types/yargs" "^12.0.9" -"@lerna/add@3.13.3": - version "3.13.3" - resolved "https://registry.yarnpkg.com/@lerna/add/-/add-3.13.3.tgz#f4c1674839780e458f0426d4f7b6d0a77b9a2ae9" - integrity sha512-T3/Lsbo9ZFq+vL3ssaHxA8oKikZAPTJTGFe4CRuQgWCDd/M61+51jeWsngdaHpwzSSRDRjxg8fJTG10y10pnfA== - dependencies: - "@lerna/bootstrap" "3.13.3" - "@lerna/command" "3.13.3" - "@lerna/filter-options" "3.13.3" +"@lerna/add@3.14.0": + version "3.14.0" + resolved "https://registry.yarnpkg.com/@lerna/add/-/add-3.14.0.tgz#799d416e67d48c285967abf883be746557aefa48" + integrity sha512-Sa79Ju6HqF3heSVpBiYPNrGtuS56U/jMzVq4CcVvhNwB34USLrzJJncGFVcfnuUvsjKeFJv+jHxUycHeRE8XYw== + dependencies: + "@lerna/bootstrap" "3.14.0" + "@lerna/command" "3.14.0" + "@lerna/filter-options" "3.14.0" "@lerna/npm-conf" "3.13.0" "@lerna/validation-error" "3.13.0" dedent "^0.7.0" @@ -318,32 +318,31 @@ pacote "^9.5.0" semver "^5.5.0" -"@lerna/batch-packages@3.13.0": - version "3.13.0" - resolved "https://registry.yarnpkg.com/@lerna/batch-packages/-/batch-packages-3.13.0.tgz#697fde5be28822af9d9dca2f750250b90a89a000" - integrity sha512-TgLBTZ7ZlqilGnzJ3xh1KdAHcySfHytgNRTdG9YomfriTU6kVfp1HrXxKJYVGs7ClPUNt2CTFEOkw0tMBronjw== +"@lerna/batch-packages@3.14.0": + version "3.14.0" + resolved "https://registry.yarnpkg.com/@lerna/batch-packages/-/batch-packages-3.14.0.tgz#0208663bab3ddbf57956b370aaec4c9ebee6c800" + integrity sha512-RlBkQVNTqk1qvn6PFWiWNiskllUHh6tXbTVm43mZRNd+vhAyvrQC8RWJxH0ECVvnFAt9rSNGRIVbEJ31WnNQLg== dependencies: - "@lerna/package-graph" "3.13.0" - "@lerna/validation-error" "3.13.0" + "@lerna/package-graph" "3.14.0" npmlog "^4.1.2" -"@lerna/bootstrap@3.13.3": - version "3.13.3" - resolved "https://registry.yarnpkg.com/@lerna/bootstrap/-/bootstrap-3.13.3.tgz#a0e5e466de5c100b49d558d39139204fc4db5c95" - integrity sha512-2XzijnLHRZOVQh8pwS7+5GR3cG4uh+EiLrWOishCq2TVzkqgjaS3GGBoef7KMCXfWHoLqAZRr/jEdLqfETLVqg== +"@lerna/bootstrap@3.14.0": + version "3.14.0" + resolved "https://registry.yarnpkg.com/@lerna/bootstrap/-/bootstrap-3.14.0.tgz#dde35eac0a912097033e1daea237a50e5c3cb75b" + integrity sha512-AvnuDp8b0kX4zZgqD3v7ItPABhUsN5CmTEvZBD2JqM+xkQKhzCfz5ABcHEwDwOPWnNQmtH+/2iQdwaD7xBcAXw== dependencies: - "@lerna/batch-packages" "3.13.0" - "@lerna/command" "3.13.3" - "@lerna/filter-options" "3.13.3" + "@lerna/batch-packages" "3.14.0" + "@lerna/command" "3.14.0" + "@lerna/filter-options" "3.14.0" "@lerna/has-npm-version" "3.13.3" "@lerna/npm-install" "3.13.3" - "@lerna/package-graph" "3.13.0" + "@lerna/package-graph" "3.14.0" "@lerna/pulse-till-done" "3.13.0" "@lerna/rimraf-dir" "3.13.3" - "@lerna/run-lifecycle" "3.13.0" + "@lerna/run-lifecycle" "3.14.0" "@lerna/run-parallel-batches" "3.13.0" - "@lerna/symlink-binary" "3.13.0" - "@lerna/symlink-dependencies" "3.13.0" + "@lerna/symlink-binary" "3.14.0" + "@lerna/symlink-dependencies" "3.14.0" "@lerna/validation-error" "3.13.0" dedent "^0.7.0" get-port "^3.2.0" @@ -357,22 +356,23 @@ read-package-tree "^5.1.6" semver "^5.5.0" -"@lerna/changed@3.13.4": - version "3.13.4" - resolved "https://registry.yarnpkg.com/@lerna/changed/-/changed-3.13.4.tgz#c69d8a079999e49611dd58987f08437baee81ad4" - integrity sha512-9lfOyRVObasw6L/z7yCSfsEl1QKy0Eamb8t2Krg1deIoAt+cE3JXOdGGC1MhOSli+7f/U9LyLXjJzIOs/pc9fw== +"@lerna/changed@3.14.1": + version "3.14.1" + resolved "https://registry.yarnpkg.com/@lerna/changed/-/changed-3.14.1.tgz#274fa67a34f234546925c139aabe20765f07a8e4" + integrity sha512-G0RgYL/WLTFzbezRBLUO2J0v39EvgZIO5bHHUtYt7zUFSfzapkPfvpdpBj+5JlMtf0B2xfxwTk+lSA4LVnbfmA== dependencies: - "@lerna/collect-updates" "3.13.3" - "@lerna/command" "3.13.3" - "@lerna/listable" "3.13.0" + "@lerna/collect-updates" "3.14.0" + "@lerna/command" "3.14.0" + "@lerna/listable" "3.14.0" "@lerna/output" "3.13.0" - "@lerna/version" "3.13.4" + "@lerna/version" "3.14.1" -"@lerna/check-working-tree@3.13.3": - version "3.13.3" - resolved "https://registry.yarnpkg.com/@lerna/check-working-tree/-/check-working-tree-3.13.3.tgz#836a3ffd4413a29aca92ccca4a115e4f97109992" - integrity sha512-LoGZvTkne+V1WpVdCTU0XNzFKsQa2AiAFKksGRT0v8NQj6VAPp0jfVYDayTqwaWt2Ne0OGKOFE79Y5LStOuhaQ== +"@lerna/check-working-tree@3.14.1": + version "3.14.1" + resolved "https://registry.yarnpkg.com/@lerna/check-working-tree/-/check-working-tree-3.14.1.tgz#4102681c31e4cebed3968db27567e3180e519822" + integrity sha512-ae/sdZPNh4SS+6c4UDuWP/QKbtIFAn/TvKsPncA1Jdo0PqXLBlug4DzkHTGkvZ5F0nj+0JrSxYteInakJV99vg== dependencies: + "@lerna/collect-uncommitted" "3.14.1" "@lerna/describe-ref" "3.13.3" "@lerna/validation-error" "3.13.0" @@ -385,13 +385,13 @@ execa "^1.0.0" strong-log-transformer "^2.0.0" -"@lerna/clean@3.13.3": - version "3.13.3" - resolved "https://registry.yarnpkg.com/@lerna/clean/-/clean-3.13.3.tgz#5673a1238e0712d31711e7e4e8cb9641891daaea" - integrity sha512-xmNauF1PpmDaKdtA2yuRc23Tru4q7UMO6yB1a/TTwxYPYYsAWG/CBK65bV26J7x4RlZtEv06ztYGMa9zh34UXA== +"@lerna/clean@3.14.0": + version "3.14.0" + resolved "https://registry.yarnpkg.com/@lerna/clean/-/clean-3.14.0.tgz#4399f4a3289106b0b8ffbffd4a6cfd2e3fe935f2" + integrity sha512-wEuAqOS9VMqh2C20KD63IySzyEnyVDqDI3LUsXw+ByUf9AJDgEHv0TCOxbDjDYaaQw1tjSBNZMyYInNeoASwhA== dependencies: - "@lerna/command" "3.13.3" - "@lerna/filter-options" "3.13.3" + "@lerna/command" "3.14.0" + "@lerna/filter-options" "3.14.0" "@lerna/prompt" "3.13.0" "@lerna/pulse-till-done" "3.13.0" "@lerna/rimraf-dir" "3.13.3" @@ -409,10 +409,20 @@ npmlog "^4.1.2" yargs "^12.0.1" -"@lerna/collect-updates@3.13.3": - version "3.13.3" - resolved "https://registry.yarnpkg.com/@lerna/collect-updates/-/collect-updates-3.13.3.tgz#616648da59f0aff4a8e60257795cc46ca6921edd" - integrity sha512-sTpALOAxli/ZS+Mjq6fbmjU9YXqFJ2E4FrE1Ijl4wPC5stXEosg2u0Z1uPY+zVKdM+mOIhLxPVdx83rUgRS+Cg== +"@lerna/collect-uncommitted@3.14.1": + version "3.14.1" + resolved "https://registry.yarnpkg.com/@lerna/collect-uncommitted/-/collect-uncommitted-3.14.1.tgz#b3498c4c7f46efc79092ce4aa0a24edc535e5d1a" + integrity sha512-hQ67S+nlSJwsPylXbWlrQSZUcWa8tTNIdcMd9OY4+QxdJlZUG7CLbWSyaxi0g11WdoRJHT163mr9xQyAvIVT1A== + dependencies: + "@lerna/child-process" "3.13.3" + chalk "^2.3.1" + figgy-pudding "^3.5.1" + npmlog "^4.1.2" + +"@lerna/collect-updates@3.14.0": + version "3.14.0" + resolved "https://registry.yarnpkg.com/@lerna/collect-updates/-/collect-updates-3.14.0.tgz#64d64ff1ec05ac53dfe6851be49d2ad261e6795e" + integrity sha512-siRHo2atAwj5KpKVOo6QTVIYDYbNs7dzTG6ow9VcFMLKX5shuaEyFA22Z3LmnxQ3sakVFdgvvVeediEz6cM3VA== dependencies: "@lerna/child-process" "3.13.3" "@lerna/describe-ref" "3.13.3" @@ -420,13 +430,13 @@ npmlog "^4.1.2" slash "^1.0.0" -"@lerna/command@3.13.3": - version "3.13.3" - resolved "https://registry.yarnpkg.com/@lerna/command/-/command-3.13.3.tgz#5b20b3f507224573551039e0460bc36c39f7e9d1" - integrity sha512-WHFIQCubJV0T8gSLRNr6exZUxTswrh+iAtJCb86SE0Sa+auMPklE8af7w2Yck5GJfewmxSjke3yrjNxQrstx7w== +"@lerna/command@3.14.0": + version "3.14.0" + resolved "https://registry.yarnpkg.com/@lerna/command/-/command-3.14.0.tgz#5f5e68293c0ff1e85a20b4e96fa6bea33b7632df" + integrity sha512-PtFi5EtXB2VuSruoLsjfZdus56d7oKlZAI4iSRoaS/BBxE2Wyfn7//vW7Ow4hZCzuqb9tBcpDq+4u2pdXN1d2Q== dependencies: "@lerna/child-process" "3.13.3" - "@lerna/package-graph" "3.13.0" + "@lerna/package-graph" "3.14.0" "@lerna/project" "3.13.1" "@lerna/validation-error" "3.13.0" "@lerna/write-log-file" "3.13.0" @@ -436,10 +446,10 @@ lodash "^4.17.5" npmlog "^4.1.2" -"@lerna/conventional-commits@3.13.0": - version "3.13.0" - resolved "https://registry.yarnpkg.com/@lerna/conventional-commits/-/conventional-commits-3.13.0.tgz#877aa225ca34cca61c31ea02a5a6296af74e1144" - integrity sha512-BeAgcNXuocmLhPxnmKU2Vy8YkPd/Uo+vu2i/p3JGsUldzrPC8iF3IDxH7fuXpEFN2Nfogu7KHachd4tchtOppA== +"@lerna/conventional-commits@3.14.0": + version "3.14.0" + resolved "https://registry.yarnpkg.com/@lerna/conventional-commits/-/conventional-commits-3.14.0.tgz#24f643550dc29d4f1249cc26d0eb453d7a1c513d" + integrity sha512-hGZ2qQZ9uEGf2eeIiIpEodSs9Qkkf/2uYEtNT7QN1RYISPUh6/lKGBssc5dpbCF64aEuxmemWLdlDf1ogG6++w== dependencies: "@lerna/validation-error" "3.13.0" conventional-changelog-angular "^5.0.3" @@ -452,22 +462,22 @@ pify "^3.0.0" semver "^5.5.0" -"@lerna/create-symlink@3.13.0": - version "3.13.0" - resolved "https://registry.yarnpkg.com/@lerna/create-symlink/-/create-symlink-3.13.0.tgz#e01133082fe040779712c960683cb3a272b67809" - integrity sha512-PTvg3jAAJSAtLFoZDsuTMv1wTOC3XYIdtg54k7uxIHsP8Ztpt+vlilY/Cni0THAqEMHvfiToel76Xdta4TU21Q== +"@lerna/create-symlink@3.14.0": + version "3.14.0" + resolved "https://registry.yarnpkg.com/@lerna/create-symlink/-/create-symlink-3.14.0.tgz#f40ae06e8cebe70c694368ebf9a4af5ab380fbea" + integrity sha512-Kw51HYOOi6UfCKncqkgEU1k/SYueSBXgkNL91FR8HAZH7EPSRTEtp9mnJo568g0+Hog5C+3cOaWySwhHpRG29A== dependencies: cmd-shim "^2.0.2" fs-extra "^7.0.0" npmlog "^4.1.2" -"@lerna/create@3.13.3": - version "3.13.3" - resolved "https://registry.yarnpkg.com/@lerna/create/-/create-3.13.3.tgz#6ded142c54b7f3cea86413c3637b067027b7f55d" - integrity sha512-4M5xT1AyUMwt1gCDph4BfW3e6fZmt0KjTa3FoXkUotf/w/eqTsc2IQ+ULz2+gOFQmtuNbqIZEOK3J4P9ArJJ/A== +"@lerna/create@3.14.0": + version "3.14.0" + resolved "https://registry.yarnpkg.com/@lerna/create/-/create-3.14.0.tgz#ec7a0d4aa81e60c918ea2ba06f3c71ee2855a936" + integrity sha512-J4PeGnzVBOSV7Cih8Uhv9xIauljR9bGcfSDN9aMzFtJhSX0xFXNvmnpXRORp7xNHV2lbxk7mNxRQxzR9CQRMuw== dependencies: "@lerna/child-process" "3.13.3" - "@lerna/command" "3.13.3" + "@lerna/command" "3.14.0" "@lerna/npm-conf" "3.13.0" "@lerna/validation-error" "3.13.0" camelcase "^5.0.0" @@ -493,34 +503,34 @@ "@lerna/child-process" "3.13.3" npmlog "^4.1.2" -"@lerna/diff@3.13.3": - version "3.13.3" - resolved "https://registry.yarnpkg.com/@lerna/diff/-/diff-3.13.3.tgz#883cb3a83a956dbfc2c17bc9a156468a5d3fae17" - integrity sha512-/DRS2keYbnKaAC+5AkDyZRGkP/kT7v1GlUS0JGZeiRDPQ1H6PzhX09EgE5X6nj0Ytrm0sUasDeN++CDVvgaI+A== +"@lerna/diff@3.14.0": + version "3.14.0" + resolved "https://registry.yarnpkg.com/@lerna/diff/-/diff-3.14.0.tgz#a4860c062faf990dd3c208dcf1c6fbde5a042bdb" + integrity sha512-H6FSj0jOiQ6unVCwOK6ReT5uZN6ZIn/j/cx4YwuOtU3SMcs3UfuQRIFNeKg/tKmOcQGd39Mn9zDhmt3TAYGROA== dependencies: "@lerna/child-process" "3.13.3" - "@lerna/command" "3.13.3" + "@lerna/command" "3.14.0" "@lerna/validation-error" "3.13.0" npmlog "^4.1.2" -"@lerna/exec@3.13.3": - version "3.13.3" - resolved "https://registry.yarnpkg.com/@lerna/exec/-/exec-3.13.3.tgz#5d2eda3f6e584f2f15b115e8a4b5bc960ba5de85" - integrity sha512-c0bD4XqM96CTPV8+lvkxzE7mkxiFyv/WNM4H01YvvbFAJzk+S4Y7cBtRkIYFTfkFZW3FLo8pEgtG1ONtIdM+tg== +"@lerna/exec@3.14.0": + version "3.14.0" + resolved "https://registry.yarnpkg.com/@lerna/exec/-/exec-3.14.0.tgz#da632dac4a86d59f7fe8c566af8648f8272241ff" + integrity sha512-cNFO8hWsBVLeqVQ7LsQ4rYKbbQ2eN+Ne+hWKTlUQoyRbYzgJ22TXhjKR6IMr68q0xtclcDlasfcNO+XEWESh0g== dependencies: - "@lerna/batch-packages" "3.13.0" "@lerna/child-process" "3.13.3" - "@lerna/command" "3.13.3" - "@lerna/filter-options" "3.13.3" - "@lerna/run-parallel-batches" "3.13.0" + "@lerna/command" "3.14.0" + "@lerna/filter-options" "3.14.0" + "@lerna/run-topologically" "3.14.0" "@lerna/validation-error" "3.13.0" + p-map "^1.2.0" -"@lerna/filter-options@3.13.3": - version "3.13.3" - resolved "https://registry.yarnpkg.com/@lerna/filter-options/-/filter-options-3.13.3.tgz#aa42a4ab78837b8a6c4278ba871d27e92d77c54f" - integrity sha512-DbtQX4eRgrBz1wCFWRP99JBD7ODykYme9ykEK79+RrKph40znhJQRlLg4idogj6IsUEzwo1OHjihCzSfnVo6Cg== +"@lerna/filter-options@3.14.0": + version "3.14.0" + resolved "https://registry.yarnpkg.com/@lerna/filter-options/-/filter-options-3.14.0.tgz#6a2e60708633f54973bf31262b58e53efb537ef2" + integrity sha512-ZmNZK9m8evxHc+2ZnDyCm8XFIKVDKpIASG1wtizr3R14t49fuYE7nR+rm4t82u9oSSmER8gb8bGzh0SKZme/jg== dependencies: - "@lerna/collect-updates" "3.13.3" + "@lerna/collect-updates" "3.14.0" "@lerna/filter-packages" "3.13.0" dedent "^0.7.0" @@ -573,13 +583,13 @@ "@lerna/child-process" "3.13.3" semver "^5.5.0" -"@lerna/import@3.13.4": - version "3.13.4" - resolved "https://registry.yarnpkg.com/@lerna/import/-/import-3.13.4.tgz#e9a1831b8fed33f3cbeab3b84c722c9371a2eaf7" - integrity sha512-dn6eNuPEljWsifBEzJ9B6NoaLwl/Zvof7PBUPA4hRyRlqG5sXRn6F9DnusMTovvSarbicmTURbOokYuotVWQQA== +"@lerna/import@3.14.0": + version "3.14.0" + resolved "https://registry.yarnpkg.com/@lerna/import/-/import-3.14.0.tgz#de5727dc18d21c50af14b481e47b424c5bbe107c" + integrity sha512-j8z/m85FX1QYPgl5TzMNupdxsQF/NFZSmdCR19HQzqiVKC8ULGzF30WJEk66+KeZ94wYMSakINtYD+41s34pNQ== dependencies: "@lerna/child-process" "3.13.3" - "@lerna/command" "3.13.3" + "@lerna/command" "3.14.0" "@lerna/prompt" "3.13.0" "@lerna/pulse-till-done" "3.13.0" "@lerna/validation-error" "3.13.0" @@ -587,44 +597,44 @@ fs-extra "^7.0.0" p-map-series "^1.0.0" -"@lerna/init@3.13.3": - version "3.13.3" - resolved "https://registry.yarnpkg.com/@lerna/init/-/init-3.13.3.tgz#ebd522fee9b9d7d3b2dacb0261eaddb4826851ff" - integrity sha512-bK/mp0sF6jT0N+c+xrbMCqN4xRoiZCXQzlYsyACxPK99KH/mpHv7hViZlTYUGlYcymtew6ZC770miv5A9wF9hA== +"@lerna/init@3.14.0": + version "3.14.0" + resolved "https://registry.yarnpkg.com/@lerna/init/-/init-3.14.0.tgz#f5b92f171f9ed4168bd3d9305fffe6a46460a1d2" + integrity sha512-X3PQkQZds5ozA1xiarmVzAK6LPLNK3bBu24Api0w2KJXO7Ccs9ob/VcGdevZuzqdJo1Xg2H6oBhEqIClU9Uqqw== dependencies: "@lerna/child-process" "3.13.3" - "@lerna/command" "3.13.3" + "@lerna/command" "3.14.0" fs-extra "^7.0.0" p-map "^1.2.0" write-json-file "^2.3.0" -"@lerna/link@3.13.3": - version "3.13.3" - resolved "https://registry.yarnpkg.com/@lerna/link/-/link-3.13.3.tgz#11124d4a0c8d0b79752fbda3babedfd62dd57847" - integrity sha512-IHhtdhA0KlIdevCsq6WHkI2rF3lHWHziJs2mlrEWAKniVrFczbELON1KJAgdJS1k3kAP/WeWVqmIYZ2hJDxMvg== +"@lerna/link@3.14.0": + version "3.14.0" + resolved "https://registry.yarnpkg.com/@lerna/link/-/link-3.14.0.tgz#817243559b3d460a08bd65582e7632b1dbc6df69" + integrity sha512-xlwQhWTVOZrgAuoONY3/OIBWehDfZXmf5qFhnOy7lIxByRhEX5Vwx0ApaGxHTv3Flv7T+oI4s8UZVq5F6dT8Aw== dependencies: - "@lerna/command" "3.13.3" - "@lerna/package-graph" "3.13.0" - "@lerna/symlink-dependencies" "3.13.0" + "@lerna/command" "3.14.0" + "@lerna/package-graph" "3.14.0" + "@lerna/symlink-dependencies" "3.14.0" p-map "^1.2.0" slash "^1.0.0" -"@lerna/list@3.13.3": - version "3.13.3" - resolved "https://registry.yarnpkg.com/@lerna/list/-/list-3.13.3.tgz#fa93864d43cadeb4cd540a4e78a52886c57dbe74" - integrity sha512-rLRDsBCkydMq2FL6WY1J/elvnXIjxxRtb72lfKHdvDEqVdquT5Qgt9ci42hwjmcocFwWcFJgF6BZozj5pbc13A== +"@lerna/list@3.14.0": + version "3.14.0" + resolved "https://registry.yarnpkg.com/@lerna/list/-/list-3.14.0.tgz#cfe826937c63a3652003639eb7fd36bf4b0a3660" + integrity sha512-Gp+9gaIkBfXBwc9Ng0Y74IEfAqpQpLiXwOP4IOpdINxOeDpllhMaYP6SzLaMvrfSyHRayM7Cq5/PRnHkXQ5uuQ== dependencies: - "@lerna/command" "3.13.3" - "@lerna/filter-options" "3.13.3" - "@lerna/listable" "3.13.0" + "@lerna/command" "3.14.0" + "@lerna/filter-options" "3.14.0" + "@lerna/listable" "3.14.0" "@lerna/output" "3.13.0" -"@lerna/listable@3.13.0": - version "3.13.0" - resolved "https://registry.yarnpkg.com/@lerna/listable/-/listable-3.13.0.tgz#babc18442c590b549cf0966d20d75fea066598d4" - integrity sha512-liYJ/WBUYP4N4MnSVZuLUgfa/jy3BZ02/1Om7xUY09xGVSuNVNEeB8uZUMSC+nHqFHIsMPZ8QK9HnmZb1E/eTA== +"@lerna/listable@3.14.0": + version "3.14.0" + resolved "https://registry.yarnpkg.com/@lerna/listable/-/listable-3.14.0.tgz#08f4c78e0466568e8e8a57d4ad09537f2bb7bbb9" + integrity sha512-ZK44Mo8xf/N97eQZ236SPSq0ek6+gk4HqHIx05foEMZVV1iIDH4a/nblLsJNjGQVsIdMYFPaqNJ0z+ZQfiJazQ== dependencies: - "@lerna/batch-packages" "3.13.0" + "@lerna/query-graph" "3.14.0" chalk "^2.3.1" columnify "^1.5.4" @@ -646,11 +656,12 @@ config-chain "^1.1.11" pify "^3.0.0" -"@lerna/npm-dist-tag@3.13.0": - version "3.13.0" - resolved "https://registry.yarnpkg.com/@lerna/npm-dist-tag/-/npm-dist-tag-3.13.0.tgz#49ecbe0e82cbe4ad4a8ea6de112982bf6c4e6cd4" - integrity sha512-mcuhw34JhSRFrbPn0vedbvgBTvveG52bR2lVE3M3tfE8gmR/cKS/EJFO4AUhfRKGCTFn9rjaSEzlFGYV87pemQ== +"@lerna/npm-dist-tag@3.14.0": + version "3.14.0" + resolved "https://registry.yarnpkg.com/@lerna/npm-dist-tag/-/npm-dist-tag-3.14.0.tgz#69b1f99ce9d777782afe646522cb14293d986eb5" + integrity sha512-DEyYEdufTGIC6E4RTJUsYPgqlz1Bs/XPeEQ5fd+ojWnICevj7dRrr2DfHucPiUCADlm2jbAraAQc3QPU0dXRhw== dependencies: + "@lerna/otplease" "3.14.0" figgy-pudding "^3.5.1" npm-package-arg "^6.1.0" npm-registry-fetch "^3.9.0" @@ -669,12 +680,13 @@ signal-exit "^3.0.2" write-pkg "^3.1.0" -"@lerna/npm-publish@3.13.2": - version "3.13.2" - resolved "https://registry.yarnpkg.com/@lerna/npm-publish/-/npm-publish-3.13.2.tgz#ad713ca6f91a852687d7d0e1bda7f9c66df21768" - integrity sha512-HMucPyEYZfom5tRJL4GsKBRi47yvSS2ynMXYxL3kO0ie+j9J7cb0Ir8NmaAMEd3uJWJVFCPuQarehyfTDZsSxg== +"@lerna/npm-publish@3.14.0": + version "3.14.0" + resolved "https://registry.yarnpkg.com/@lerna/npm-publish/-/npm-publish-3.14.0.tgz#e3fc5613a2dd08cdd3323347ba87fad5dc5f11fb" + integrity sha512-ShG0qEnGkWxtjQvIRATgm/CzeoVaSyyoNRag5t8gDSR/r2u9ux72oROKQUEaE8OwcTS4rL2cyBECts8XMNmyYw== dependencies: - "@lerna/run-lifecycle" "3.13.0" + "@lerna/otplease" "3.14.0" + "@lerna/run-lifecycle" "3.14.0" figgy-pudding "^3.5.1" fs-extra "^7.0.0" libnpmpublish "^1.1.1" @@ -692,6 +704,14 @@ "@lerna/get-npm-exec-opts" "3.13.0" npmlog "^4.1.2" +"@lerna/otplease@3.14.0": + version "3.14.0" + resolved "https://registry.yarnpkg.com/@lerna/otplease/-/otplease-3.14.0.tgz#b539fd3e7a08452fc0db3b10010ca3cf0e4a73e7" + integrity sha512-rYAWzaYZ81bwnrmTkYWGgcc13bl/6DlG7pjWQWNGAJNLzO5zzj0xmXN5sMFJnNvDpSiS/ZS1sIuPvb4xnwLUkg== + dependencies: + "@lerna/prompt" "3.13.0" + figgy-pudding "^3.5.1" + "@lerna/output@3.13.0": version "3.13.0" resolved "https://registry.yarnpkg.com/@lerna/output/-/output-3.13.0.tgz#3ded7cc908b27a9872228a630d950aedae7a4989" @@ -699,27 +719,29 @@ dependencies: npmlog "^4.1.2" -"@lerna/pack-directory@3.13.1": - version "3.13.1" - resolved "https://registry.yarnpkg.com/@lerna/pack-directory/-/pack-directory-3.13.1.tgz#5ad4d0945f86a648f565e24d53c1e01bb3a912d1" - integrity sha512-kXnyqrkQbCIZOf1054N88+8h0ItC7tUN5v9ca/aWpx298gsURpxUx/1TIKqijL5TOnHMyIkj0YJmnH/PyBVLKA== +"@lerna/pack-directory@3.14.0": + version "3.14.0" + resolved "https://registry.yarnpkg.com/@lerna/pack-directory/-/pack-directory-3.14.0.tgz#229446c2e3f307a7932f2f779d7fb8b8ff7d93b0" + integrity sha512-E9PmC1oWYjYN8Z0Oeoj7X98NruMg/pcdDiRxnwJ5awnB0d/kyfoquHXCYwCQQFCnWUfto7m5lM4CSostcolEVQ== dependencies: "@lerna/get-packed" "3.13.0" "@lerna/package" "3.13.0" - "@lerna/run-lifecycle" "3.13.0" + "@lerna/run-lifecycle" "3.14.0" figgy-pudding "^3.5.1" npm-packlist "^1.4.1" npmlog "^4.1.2" tar "^4.4.8" temp-write "^3.4.0" -"@lerna/package-graph@3.13.0": - version "3.13.0" - resolved "https://registry.yarnpkg.com/@lerna/package-graph/-/package-graph-3.13.0.tgz#607062f8d2ce22b15f8d4a0623f384736e67f760" - integrity sha512-3mRF1zuqFE1HEFmMMAIggXy+f+9cvHhW/jzaPEVyrPNLKsyfJQtpTNzeI04nfRvbAh+Gd2aNksvaW/w3xGJnnw== +"@lerna/package-graph@3.14.0": + version "3.14.0" + resolved "https://registry.yarnpkg.com/@lerna/package-graph/-/package-graph-3.14.0.tgz#4ccdf446dccedfbbeb4efff3eb720cb6fcb109fc" + integrity sha512-dNpA/64STD5YXhaSlg4gT6Z474WPJVCHoX1ibsVIFu0fVgH609Y69bsdmbvTRdI7r6Dcu4ZfGxdR636RTrH+Eg== dependencies: + "@lerna/prerelease-id-from-version" "3.14.0" "@lerna/validation-error" "3.13.0" npm-package-arg "^6.1.0" + npmlog "^4.1.2" semver "^5.5.0" "@lerna/package@3.13.0": @@ -731,6 +753,13 @@ npm-package-arg "^6.1.0" write-pkg "^3.1.0" +"@lerna/prerelease-id-from-version@3.14.0": + version "3.14.0" + resolved "https://registry.yarnpkg.com/@lerna/prerelease-id-from-version/-/prerelease-id-from-version-3.14.0.tgz#d5da9c26ac4a0d0ecde09018f06e41ca4dd444c2" + integrity sha512-Ap3Z/dNhqQuSrKmK+JmzYvQYI2vowxHvUVxZJiDVilW8dyNnxkCsYFmkuZytk5sxVz4VeGLNPS2RSsU5eeSS+Q== + dependencies: + semver "^5.5.0" + "@lerna/project@3.13.1": version "3.13.1" resolved "https://registry.yarnpkg.com/@lerna/project/-/project-3.13.1.tgz#bce890f60187bd950bcf36c04b5260642e295e79" @@ -757,29 +786,29 @@ inquirer "^6.2.0" npmlog "^4.1.2" -"@lerna/publish@3.13.4": - version "3.13.4" - resolved "https://registry.yarnpkg.com/@lerna/publish/-/publish-3.13.4.tgz#25b678c285110897a7fc5198a35bdfa9db7f9cc1" - integrity sha512-v03pabiPlqCDwX6cVNis1PDdT6/jBgkVb5Nl4e8wcJXevIhZw3ClvtI94gSZu/wdoVFX0RMfc8QBVmaimSO0qg== +"@lerna/publish@3.14.1": + version "3.14.1" + resolved "https://registry.yarnpkg.com/@lerna/publish/-/publish-3.14.1.tgz#c1f7ad8d152947bb88a1755b4305a5a431d3e610" + integrity sha512-p+By/P84XJkndBzrmcnVLMcFpGAE+sQZCQK4e3aKQrEMLDrEwXkWt/XJxzeQskPxInFA/7Icj686LOADO7p0qg== dependencies: - "@lerna/batch-packages" "3.13.0" - "@lerna/check-working-tree" "3.13.3" + "@lerna/check-working-tree" "3.14.1" "@lerna/child-process" "3.13.3" - "@lerna/collect-updates" "3.13.3" - "@lerna/command" "3.13.3" + "@lerna/collect-updates" "3.14.0" + "@lerna/command" "3.14.0" "@lerna/describe-ref" "3.13.3" "@lerna/log-packed" "3.13.0" "@lerna/npm-conf" "3.13.0" - "@lerna/npm-dist-tag" "3.13.0" - "@lerna/npm-publish" "3.13.2" + "@lerna/npm-dist-tag" "3.14.0" + "@lerna/npm-publish" "3.14.0" "@lerna/output" "3.13.0" - "@lerna/pack-directory" "3.13.1" + "@lerna/pack-directory" "3.14.0" + "@lerna/prerelease-id-from-version" "3.14.0" "@lerna/prompt" "3.13.0" "@lerna/pulse-till-done" "3.13.0" - "@lerna/run-lifecycle" "3.13.0" - "@lerna/run-parallel-batches" "3.13.0" + "@lerna/run-lifecycle" "3.14.0" + "@lerna/run-topologically" "3.14.0" "@lerna/validation-error" "3.13.0" - "@lerna/version" "3.13.4" + "@lerna/version" "3.14.1" figgy-pudding "^3.5.1" fs-extra "^7.0.0" libnpmaccess "^3.0.1" @@ -789,7 +818,6 @@ p-finally "^1.0.0" p-map "^1.2.0" p-pipe "^1.2.0" - p-reduce "^1.0.0" pacote "^9.5.0" semver "^5.5.0" @@ -800,6 +828,14 @@ dependencies: npmlog "^4.1.2" +"@lerna/query-graph@3.14.0": + version "3.14.0" + resolved "https://registry.yarnpkg.com/@lerna/query-graph/-/query-graph-3.14.0.tgz#2abb36f445bd924d0f85ac7aec1445e9ef1e2c6c" + integrity sha512-6YTh3vDMW2hUxHdKeRvx4bosc9lZClKaN+DzC1XKTkwDbWrsjmEzLcemKL6QnyyeuryN2f/eto7P9iSe3z3pQQ== + dependencies: + "@lerna/package-graph" "3.14.0" + figgy-pudding "^3.5.1" + "@lerna/resolve-symlink@3.13.0": version "3.13.0" resolved "https://registry.yarnpkg.com/@lerna/resolve-symlink/-/resolve-symlink-3.13.0.tgz#3e6809ef53b63fe914814bfa071cd68012e22fbb" @@ -819,14 +855,14 @@ path-exists "^3.0.0" rimraf "^2.6.2" -"@lerna/run-lifecycle@3.13.0": - version "3.13.0" - resolved "https://registry.yarnpkg.com/@lerna/run-lifecycle/-/run-lifecycle-3.13.0.tgz#d8835ee83425edee40f687a55f81b502354d3261" - integrity sha512-oyiaL1biZdjpmjh6X/5C4w07wNFyiwXSSHH5GQB4Ay4BPwgq9oNhCcxRoi0UVZlZ1YwzSW8sTwLgj8emkIo3Yg== +"@lerna/run-lifecycle@3.14.0": + version "3.14.0" + resolved "https://registry.yarnpkg.com/@lerna/run-lifecycle/-/run-lifecycle-3.14.0.tgz#0499eca0e7f393faf4e24e6c8737302a9059c22b" + integrity sha512-GUM3L9MzGRSW0WQ8wbLW1+SYStU1OFjW0GBzShhBnFrO4nGRrU7VchsLpcLu0hk2uCzyhsrDKzifEdOdUyMoEQ== dependencies: "@lerna/npm-conf" "3.13.0" figgy-pudding "^3.5.1" - npm-lifecycle "^2.1.0" + npm-lifecycle "^2.1.1" npmlog "^4.1.2" "@lerna/run-parallel-batches@3.13.0": @@ -837,39 +873,47 @@ p-map "^1.2.0" p-map-series "^1.0.0" -"@lerna/run@3.13.3": - version "3.13.3" - resolved "https://registry.yarnpkg.com/@lerna/run/-/run-3.13.3.tgz#0781c82d225ef6e85e28d3e763f7fc090a376a21" - integrity sha512-ygnLIfIYS6YY1JHWOM4CsdZiY8kTYPsDFOLAwASlRnlAXF9HiMT08GFXLmMHIblZJ8yJhsM2+QgraCB0WdxzOQ== +"@lerna/run-topologically@3.14.0": + version "3.14.0" + resolved "https://registry.yarnpkg.com/@lerna/run-topologically/-/run-topologically-3.14.0.tgz#2a560cb657f0ef1565c680b6001b4b01b872dc07" + integrity sha512-y+KBpC1YExFzGynovt9MY4O/bc3RrJaKeuXieiPfKGKxrdtmZe/r33oj/xePTXZq65jnw3SaU3H8S5CrrdkwDg== dependencies: - "@lerna/batch-packages" "3.13.0" - "@lerna/command" "3.13.3" - "@lerna/filter-options" "3.13.3" + "@lerna/query-graph" "3.14.0" + figgy-pudding "^3.5.1" + p-queue "^4.0.0" + +"@lerna/run@3.14.0": + version "3.14.0" + resolved "https://registry.yarnpkg.com/@lerna/run/-/run-3.14.0.tgz#1a5d3330149fbf5092012707b775d5f57d9d0057" + integrity sha512-kGGFGLYPKozAN07CSJ7kOyLY6W3oLCQcxCathg1isSkBqQH29tWUg8qNduOlhIFLmnq/nf1JEJxxoXnF6IRLjQ== + dependencies: + "@lerna/command" "3.14.0" + "@lerna/filter-options" "3.14.0" "@lerna/npm-run-script" "3.13.3" "@lerna/output" "3.13.0" - "@lerna/run-parallel-batches" "3.13.0" + "@lerna/run-topologically" "3.14.0" "@lerna/timer" "3.13.0" "@lerna/validation-error" "3.13.0" p-map "^1.2.0" -"@lerna/symlink-binary@3.13.0": - version "3.13.0" - resolved "https://registry.yarnpkg.com/@lerna/symlink-binary/-/symlink-binary-3.13.0.tgz#36a9415d468afcb8105750296902f6f000a9680d" - integrity sha512-obc4Y6jxywkdaCe+DB0uTxYqP0IQ8mFWvN+k/YMbwH4G2h7M7lCBWgPy8e7xw/50+1II9tT2sxgx+jMus1sTJg== +"@lerna/symlink-binary@3.14.0": + version "3.14.0" + resolved "https://registry.yarnpkg.com/@lerna/symlink-binary/-/symlink-binary-3.14.0.tgz#db1c3204b83d91c4b43386302ee76cea4d20bc3f" + integrity sha512-AHFb4NlazxYmC+7guoamM3laIRbMSeKERMooKHJ7moe0ayGPBWsCGOH+ZFKZ+eXSDek+FnxdzayR3wf8B3LkTg== dependencies: - "@lerna/create-symlink" "3.13.0" + "@lerna/create-symlink" "3.14.0" "@lerna/package" "3.13.0" fs-extra "^7.0.0" p-map "^1.2.0" -"@lerna/symlink-dependencies@3.13.0": - version "3.13.0" - resolved "https://registry.yarnpkg.com/@lerna/symlink-dependencies/-/symlink-dependencies-3.13.0.tgz#76c23ecabda7824db98a0561364f122b457509cf" - integrity sha512-7CyN5WYEPkbPLbqHBIQg/YiimBzb5cIGQB0E9IkLs3+racq2vmUNQZn38LOaazQacAA83seB+zWSxlI6H+eXSg== +"@lerna/symlink-dependencies@3.14.0": + version "3.14.0" + resolved "https://registry.yarnpkg.com/@lerna/symlink-dependencies/-/symlink-dependencies-3.14.0.tgz#f17e5cd704a0f067636038dafeaf42b5d2f28802" + integrity sha512-kuSXxwAWiVZqFcXfUBKH4yLUH3lrnGyZmCYon7UnZitw3AK3LQY7HvV2LNNw/oatfjOAiKhPBxnYjYijKiV4oA== dependencies: - "@lerna/create-symlink" "3.13.0" + "@lerna/create-symlink" "3.14.0" "@lerna/resolve-symlink" "3.13.0" - "@lerna/symlink-binary" "3.13.0" + "@lerna/symlink-binary" "3.14.0" fs-extra "^7.0.0" p-finally "^1.0.0" p-map "^1.2.0" @@ -887,21 +931,23 @@ dependencies: npmlog "^4.1.2" -"@lerna/version@3.13.4": - version "3.13.4" - resolved "https://registry.yarnpkg.com/@lerna/version/-/version-3.13.4.tgz#ea23b264bebda425ccbfcdcd1de13ef45a390e59" - integrity sha512-pptWUEgN/lUTQZu34+gfH1g4Uhs7TDKRcdZY9A4T9k6RTOwpKC2ceLGiXdeR+ZgQJAey2C4qiE8fo5Z6Rbc6QA== +"@lerna/version@3.14.1": + version "3.14.1" + resolved "https://registry.yarnpkg.com/@lerna/version/-/version-3.14.1.tgz#df081fec70fcfdcd3c470648c49b035b44a373bf" + integrity sha512-H/jykoxVIt4oDEYkBgwDfO5dmZFl3G6vP1UEttRVP1FIkI+gCN+olby8S0Qd8XprDuR5OrLboiDWQs3p7nJhLw== dependencies: - "@lerna/batch-packages" "3.13.0" - "@lerna/check-working-tree" "3.13.3" + "@lerna/batch-packages" "3.14.0" + "@lerna/check-working-tree" "3.14.1" "@lerna/child-process" "3.13.3" - "@lerna/collect-updates" "3.13.3" - "@lerna/command" "3.13.3" - "@lerna/conventional-commits" "3.13.0" + "@lerna/collect-updates" "3.14.0" + "@lerna/command" "3.14.0" + "@lerna/conventional-commits" "3.14.0" "@lerna/github-client" "3.13.3" "@lerna/output" "3.13.0" + "@lerna/prerelease-id-from-version" "3.14.0" "@lerna/prompt" "3.13.0" - "@lerna/run-lifecycle" "3.13.0" + "@lerna/run-lifecycle" "3.14.0" + "@lerna/run-topologically" "3.14.0" "@lerna/validation-error" "3.13.0" chalk "^2.3.1" dedent "^0.7.0" @@ -1090,9 +1136,9 @@ integrity sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA== "@types/node@*", "@types/node@^12.0.0": - version "12.0.2" - resolved "https://registry.yarnpkg.com/@types/node/-/node-12.0.2.tgz#3452a24edf9fea138b48fad4a0a028a683da1e40" - integrity sha512-5tabW/i+9mhrfEOUcLDu2xBPsHJ+X5Orqy9FKpale3SjDA17j5AEpYq5vfy3oAeAHGcvANRCO3NV3d2D6q3NiA== + version "12.0.4" + resolved "https://registry.yarnpkg.com/@types/node/-/node-12.0.4.tgz#46832183115c904410c275e34cf9403992999c32" + integrity sha512-j8YL2C0fXq7IONwl/Ud5Kt0PeXw22zGERt+HSSnwbKOJVsAGkEz3sFCYwaF9IOuoG1HOtE0vKCj6sXF7Q0+Vaw== "@types/normalize-package-data@^2.4.0": version "2.4.0" @@ -1491,13 +1537,6 @@ before-after-hook@^1.4.0: resolved "https://registry.yarnpkg.com/before-after-hook/-/before-after-hook-1.4.0.tgz#2b6bf23dca4f32e628fd2747c10a37c74a4b484d" integrity sha512-l5r9ir56nda3qu14nAXIlyq1MmUSs0meCIaFAh8HwkFwP1F8eToOuS3ah2VAHHcY04jaYD7FpJC5JTXHYRbkzg== -block-stream@*: - version "0.0.9" - resolved "https://registry.yarnpkg.com/block-stream/-/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a" - integrity sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo= - dependencies: - inherits "~2.0.0" - bluebird@^3.5.1, bluebird@^3.5.3: version "3.5.3" resolved "https://registry.npmjs.org/bluebird/-/bluebird-3.5.3.tgz#7d01c6f9616c9a51ab0f8c549a79dfe6ec33efa7" @@ -2460,9 +2499,9 @@ eslint-module-utils@^2.4.0: pkg-dir "^2.0.0" eslint-plugin-import@^2.14.0: - version "2.17.2" - resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.17.2.tgz#d227d5c6dc67eca71eb590d2bb62fb38d86e9fcb" - integrity sha512-m+cSVxM7oLsIpmwNn2WXTJoReOF9f/CtLMo7qOVmKd1KntBy0hEcuNZ3erTmWjx+DxRO0Zcrm5KwAvI9wHcV5g== + version "2.17.3" + resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.17.3.tgz#00548b4434c18faebaba04b24ae6198f280de189" + integrity sha512-qeVf/UwXFJbeyLbxuY8RgqDyEKCkqV7YC+E5S5uOjAp4tOc8zj01JP3ucoBM8JcEqd1qRasJSg6LLlisirfy0Q== dependencies: array-includes "^3.0.3" contains-path "^0.1.0" @@ -2474,12 +2513,12 @@ eslint-plugin-import@^2.14.0: lodash "^4.17.11" minimatch "^3.0.4" read-pkg-up "^2.0.0" - resolve "^1.10.0" + resolve "^1.11.0" eslint-plugin-jest@^22.1.2: - version "22.5.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-22.5.1.tgz#a31dfe9f9513c6af7c17ece4c65535a1370f060b" - integrity sha512-c3WjZR/HBoi4GedJRwo2OGHa8Pzo1EbSVwQ2HFzJ+4t2OoYM7Alx646EH/aaxZ+9eGcPiq0FT0UGkRuFFx2FHg== + version "22.6.4" + resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-22.6.4.tgz#2895b047dd82f90f43a58a25cf136220a21c9104" + integrity sha512-36OqnZR/uMCDxXGmTsqU4RwllR0IiB/XF8GW3ODmhsjiITKuI0GpgultWFt193ipN3HARkaIcKowpE6HBvRHNg== eslint-plugin-prettier@^3.0.0: version "3.1.0" @@ -2596,6 +2635,11 @@ esutils@^2.0.2: resolved "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" integrity sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs= +eventemitter3@^3.1.0: + version "3.1.2" + resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-3.1.2.tgz#2d3d48f9c346698fce83a85d7d664e98535df6e7" + integrity sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q== + exec-sh@^0.3.2: version "0.3.2" resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.3.2.tgz#6738de2eb7c8e671d0366aea0b0db8c6f7d7391b" @@ -2943,16 +2987,6 @@ fsevents@^1.2.7: nan "^2.9.2" node-pre-gyp "^0.10.0" -fstream@^1.0.0, fstream@^1.0.12: - version "1.0.12" - resolved "https://registry.yarnpkg.com/fstream/-/fstream-1.0.12.tgz#4e8ba8ee2d48be4f7d0de505455548eae5932045" - integrity sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg== - dependencies: - graceful-fs "^4.1.2" - inherits "~2.0.0" - mkdirp ">=0.5 0" - rimraf "2" - function-bind@^1.1.1: version "1.1.1" resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" @@ -3443,7 +3477,7 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.0, inherits@~2.0.3: +inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= @@ -4385,25 +4419,25 @@ left-pad@^1.3.0: integrity sha512-XI5MPzVNApjAyhQzphX8BkmKsKUxD4LdyK24iZeQGinBN9yTQT3bFlCBy/aVx2HrNcqQGsdot8ghrjyrvMCoEA== lerna@^3.6.0: - version "3.13.4" - resolved "https://registry.yarnpkg.com/lerna/-/lerna-3.13.4.tgz#03026c11c5643f341fda42e4fb1882e2df35e6cb" - integrity sha512-qTp22nlpcgVrJGZuD7oHnFbTk72j2USFimc2Pj4kC0/rXmcU2xPtCiyuxLl8y6/6Lj5g9kwEuvKDZtSXujjX/A== - dependencies: - "@lerna/add" "3.13.3" - "@lerna/bootstrap" "3.13.3" - "@lerna/changed" "3.13.4" - "@lerna/clean" "3.13.3" + version "3.14.1" + resolved "https://registry.yarnpkg.com/lerna/-/lerna-3.14.1.tgz#6bce5d2d4958e853f51387f8f41a8f2d9aa4a8ea" + integrity sha512-lQxmGeEECjOMI3pRh2+I6jazoEWhEfvZNIs7XaX71op33AVwyjlY/nQ1GJGrPhxYBuQnlPgH0vH/nC/lcLaVkw== + dependencies: + "@lerna/add" "3.14.0" + "@lerna/bootstrap" "3.14.0" + "@lerna/changed" "3.14.1" + "@lerna/clean" "3.14.0" "@lerna/cli" "3.13.0" - "@lerna/create" "3.13.3" - "@lerna/diff" "3.13.3" - "@lerna/exec" "3.13.3" - "@lerna/import" "3.13.4" - "@lerna/init" "3.13.3" - "@lerna/link" "3.13.3" - "@lerna/list" "3.13.3" - "@lerna/publish" "3.13.4" - "@lerna/run" "3.13.3" - "@lerna/version" "3.13.4" + "@lerna/create" "3.14.0" + "@lerna/diff" "3.14.0" + "@lerna/exec" "3.14.0" + "@lerna/import" "3.14.0" + "@lerna/init" "3.14.0" + "@lerna/link" "3.14.0" + "@lerna/list" "3.14.0" + "@lerna/publish" "3.14.1" + "@lerna/run" "3.14.0" + "@lerna/version" "3.14.1" import-local "^1.0.0" npmlog "^4.1.2" @@ -4924,7 +4958,7 @@ mixin-deep@^1.2.0: for-in "^1.0.2" is-extendable "^1.0.1" -"mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0: +mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0: version "0.5.1" resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" integrity sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM= @@ -5033,12 +5067,11 @@ node-fetch@^2.3.0: resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.3.0.tgz#1a1d940bbfb916a1d3e0219f037e89e71f8c5fa5" integrity sha512-MOd8pV3fxENbryESLgVIeaGKrdl+uaYhCSSVkjeOb/31/njTpcis5aWfdqgNlHIrKOLRbMnfPINPOML2CIFeXA== -node-gyp@^3.8.0: - version "3.8.0" - resolved "https://registry.npmjs.org/node-gyp/-/node-gyp-3.8.0.tgz#540304261c330e80d0d5edce253a68cb3964218c" - integrity sha512-3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA== +node-gyp@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-4.0.0.tgz#972654af4e5dd0cd2a19081b4b46fe0442ba6f45" + integrity sha512-2XiryJ8sICNo6ej8d0idXDEMKfVfFK7kekGCtJAuelGsYHQxhj13KTf95swTCN2dZ/4lTfZ84Fu31jqJEEgjWA== dependencies: - fstream "^1.0.0" glob "^7.0.3" graceful-fs "^4.1.2" mkdirp "^0.5.0" @@ -5048,7 +5081,7 @@ node-gyp@^3.8.0: request "^2.87.0" rimraf "2" semver "~5.3.0" - tar "^2.0.0" + tar "^4.4.8" which "1" node-int64@^0.4.0: @@ -5139,14 +5172,14 @@ npm-bundled@^1.0.1: resolved "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.0.5.tgz#3c1732b7ba936b3a10325aef616467c0ccbcc979" integrity sha512-m/e6jgWu8/v5niCUKQi9qQl8QdeEduFA96xHDDzFGqly0OOjI7c+60KM/2sppfnUU9JJagf+zs+yGhqSOFj71g== -npm-lifecycle@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/npm-lifecycle/-/npm-lifecycle-2.1.0.tgz#1eda2eedb82db929e3a0c50341ab0aad140ed569" - integrity sha512-QbBfLlGBKsktwBZLj6AviHC6Q9Y3R/AY4a2PYSIRhSKSS0/CxRyD/PfxEX6tPeOCXQgMSNdwGeECacstgptc+g== +npm-lifecycle@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/npm-lifecycle/-/npm-lifecycle-2.1.1.tgz#0027c09646f0fd346c5c93377bdaba59c6748fdf" + integrity sha512-+Vg6I60Z75V/09pdcH5iUo/99Q/vop35PaI99elvxk56azSVVsdsSsS/sXqKDNwbRRNN1qSxkcO45ZOu0yOWew== dependencies: byline "^5.0.0" - graceful-fs "^4.1.11" - node-gyp "^3.8.0" + graceful-fs "^4.1.15" + node-gyp "^4.0.0" resolve-from "^4.0.0" slide "^1.1.6" uid-number "0.0.6" @@ -5455,6 +5488,13 @@ p-pipe@^1.2.0: resolved "https://registry.npmjs.org/p-pipe/-/p-pipe-1.2.0.tgz#4b1a11399a11520a67790ee5a0c1d5881d6befe9" integrity sha1-SxoROZoRUgpneQ7loMHViB1r7+k= +p-queue@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/p-queue/-/p-queue-4.0.0.tgz#ed0eee8798927ed6f2c2f5f5b77fdb2061a5d346" + integrity sha512-3cRXXn3/O0o3+eVmUroJPSj/esxoEFIm0ZOno/T+NzG/VZgPOqQ8WKmlNqubSEpZmCIngEy34unkHGg83ZIBmg== + dependencies: + eventemitter3 "^3.1.0" + p-reduce@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/p-reduce/-/p-reduce-1.0.0.tgz#18c2b0dd936a4690a529f8231f58a0fdb6a47dfa" @@ -6164,10 +6204,10 @@ resolve@1.1.7: resolved "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" integrity sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs= -resolve@^1.1.6, resolve@^1.10.0, resolve@^1.3.2, resolve@^1.5.0: - version "1.10.0" - resolved "https://registry.npmjs.org/resolve/-/resolve-1.10.0.tgz#3bdaaeaf45cc07f375656dfd2e54ed0810b101ba" - integrity sha512-3sUr9aq5OfSg2S9pNtPA9hL1FVEAjvfOC4leW0SNf/mpnaakz2a9femSd6LqAww2RaFctwyf1lCqnTHuF1rxDg== +resolve@^1.1.6, resolve@^1.10.0, resolve@^1.11.0, resolve@^1.3.2, resolve@^1.5.0: + version "1.11.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.11.0.tgz#4014870ba296176b86343d50b60f3b50609ce232" + integrity sha512-WL2pBDjqT6pGUNSUzMw00o4T7If+z4H2x3Gz893WoUQ5KW8Vr9txp00ykiP16VBaZF5+j/OcXJHZ9+PCvdiDKw== dependencies: path-parse "^1.0.6" @@ -6770,15 +6810,6 @@ table@^5.2.3: slice-ansi "^2.1.0" string-width "^3.0.0" -tar@^2.0.0: - version "2.2.2" - resolved "https://registry.yarnpkg.com/tar/-/tar-2.2.2.tgz#0ca8848562c7299b8b446ff6a4d60cdbb23edc40" - integrity sha512-FCEhQ/4rE1zYv9rYXJw/msRqsnmlje5jHP6huWeBZ704jUTy02c5AZyWujpMR1ax6mVw9NyJMfuK2CMDWVIfgA== - dependencies: - block-stream "*" - fstream "^1.0.12" - inherits "2" - tar@^4, tar@^4.4.8: version "4.4.8" resolved "https://registry.npmjs.org/tar/-/tar-4.4.8.tgz#b19eec3fde2a96e64666df9fdb40c5ca1bc3747d" @@ -7021,9 +7052,9 @@ typescript@3.2.x: integrity sha512-0RNDbSdEokBeEAkgNbxJ+BLwSManFy9TeXz8uW+48j/xhEXv1ePME60olyzw2XzUqUBNAYFeJadIqAgNqIACwg== typescript@^3.2.2: - version "3.4.5" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.4.5.tgz#2d2618d10bb566572b8d7aad5180d84257d70a99" - integrity sha512-YycBxUb49UUhdNMU5aJ7z5Ej2XGmaIBL0x34vZ82fn3hGvD+bgrMrVDpatgz2f7YxUMJxMkbWxJZeAvDxVe7Vw== + version "3.5.1" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.5.1.tgz#ba72a6a600b2158139c5dd8850f700e231464202" + integrity sha512-64HkdiRv1yYZsSe4xC1WVgamNigVYjlssIoaH2HcZF0+ijsk5YK2g0G34w9wJkze8+5ow4STd22AynfO6ZYYLw== uglify-js@^3.1.4: version "3.4.9"