From 6d3bdee042cadcc0f04f14b5c3beebb7c5a576b0 Mon Sep 17 00:00:00 2001 From: Sean M Date: Thu, 7 Feb 2019 16:08:58 +1300 Subject: [PATCH 01/38] checkpoint --- package-lock.json | 72 +++++++++++++++++++++---- src/components/CustomTableRow/index.tsx | 58 +++++++++++++++++++- 2 files changed, 117 insertions(+), 13 deletions(-) diff --git a/package-lock.json b/package-lock.json index a2b82da3..19b26fe9 100644 --- a/package-lock.json +++ b/package-lock.json @@ -3721,7 +3721,8 @@ "ansi-regex": { "version": "2.1.1", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "aproba": { "version": "1.2.0", @@ -3742,12 +3743,14 @@ "balanced-match": { "version": "1.0.0", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "brace-expansion": { "version": "1.1.11", "bundled": true, "dev": true, + "optional": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -3762,17 +3765,20 @@ "code-point-at": { "version": "1.1.0", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "concat-map": { "version": "0.0.1", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "console-control-strings": { "version": "1.1.0", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "core-util-is": { "version": "1.0.2", @@ -3889,7 +3895,8 @@ "inherits": { "version": "2.0.3", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "ini": { "version": "1.3.5", @@ -3901,6 +3908,7 @@ "version": "1.0.0", "bundled": true, "dev": true, + "optional": true, "requires": { "number-is-nan": "^1.0.0" } @@ -3915,6 +3923,7 @@ "version": "3.0.4", "bundled": true, "dev": true, + "optional": true, "requires": { "brace-expansion": "^1.1.7" } @@ -3922,12 +3931,14 @@ "minimist": { "version": "0.0.8", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "minipass": { "version": "2.3.5", "bundled": true, "dev": true, + "optional": true, "requires": { "safe-buffer": "^5.1.2", "yallist": "^3.0.0" @@ -3946,6 +3957,7 @@ "version": "0.5.1", "bundled": true, "dev": true, + "optional": true, "requires": { "minimist": "0.0.8" } @@ -4026,7 +4038,8 @@ "number-is-nan": { "version": "1.0.1", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "object-assign": { "version": "4.1.1", @@ -4038,6 +4051,7 @@ "version": "1.4.0", "bundled": true, "dev": true, + "optional": true, "requires": { "wrappy": "1" } @@ -4123,7 +4137,8 @@ "safe-buffer": { "version": "5.1.2", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "safer-buffer": { "version": "2.1.2", @@ -4159,6 +4174,7 @@ "version": "1.0.2", "bundled": true, "dev": true, + "optional": true, "requires": { "code-point-at": "^1.0.0", "is-fullwidth-code-point": "^1.0.0", @@ -4178,6 +4194,7 @@ "version": "3.0.1", "bundled": true, "dev": true, + "optional": true, "requires": { "ansi-regex": "^2.0.0" } @@ -4221,12 +4238,14 @@ "wrappy": { "version": "1.0.2", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "yallist": { "version": "3.0.3", "bundled": true, - "dev": true + "dev": true, + "optional": true } } }, @@ -6521,6 +6540,28 @@ "strip-json-comments": "~2.0.1" } }, + "react": { + "version": "16.8.1", + "resolved": "https://registry.npmjs.org/react/-/react-16.8.1.tgz", + "integrity": "sha512-wLw5CFGPdo7p/AgteFz7GblI2JPOos0+biSoxf1FPsGxWQZdN/pj6oToJs1crn61DL3Ln7mN86uZ4j74p31ELQ==", + "requires": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "prop-types": "^15.6.2", + "scheduler": "^0.13.1" + } + }, + "react-dom": { + "version": "16.8.1", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.8.1.tgz", + "integrity": "sha512-N74IZUrPt6UiDjXaO7UbDDFXeUXnVhZzeRLy/6iqqN1ipfjrhR60Bp5NuBK+rv3GMdqdIuwIl22u1SYwf330bg==", + "requires": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "prop-types": "^15.6.2", + "scheduler": "^0.13.1" + } + }, "react-event-listener": { "version": "0.6.5", "resolved": "https://registry.npmjs.org/react-event-listener/-/react-event-listener-0.6.5.tgz", @@ -6913,6 +6954,15 @@ "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" }, + "scheduler": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.13.1.tgz", + "integrity": "sha512-VJKOkiKIN2/6NOoexuypwSrybx13MY7NSy9RNt8wPvZDMRT1CW6qlpF5jXRToXNHz3uWzbm2elNpZfXfGPqP9A==", + "requires": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + } + }, "schema-utils": { "version": "0.4.7", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.4.7.tgz", diff --git a/src/components/CustomTableRow/index.tsx b/src/components/CustomTableRow/index.tsx index ce013f18..0a9767d9 100755 --- a/src/components/CustomTableRow/index.tsx +++ b/src/components/CustomTableRow/index.tsx @@ -5,6 +5,7 @@ import { getColumns } from '../../reducers/app/selectors'; import styled from 'styled-components'; import TableCell from '@material-ui/core/TableCell'; import TableRow from '@material-ui/core/TableRow'; +import Circle from '@material-ui/icons/FiberManualRecord'; const TableRowWrapper = styled(TableRow)` &&& { @@ -26,14 +27,43 @@ const StyledCell = styled(TableCell)` const SpanContainer = styled.span` display: flex; `; + +const styles = { + linkUnderline: { + textDecoration: 'none', + }, +}; + interface Props { category: string; - item: any; + item: object; selectedColumns: any[]; } const CustomTableRow: React.StatelessComponent = props => { const { selectedColumns, item } = props; + const itemBeforeShortening = { ...item }; + let itemsArray = Object.keys(item); + itemsArray.forEach(hash => { + if ( + hash.toLowerCase().includes('hash') || + hash.toLowerCase().includes('predecessor') || + hash.toLowerCase().includes('accountid') || + hash.toLowerCase().includes('blockid') || + hash.toLowerCase().includes('manager') + ) { + const hashRepresentation = item[hash]; + const firstHalf = hashRepresentation.substring(0, 6); + const secondHalf = hashRepresentation.substring( + hashRepresentation.length - 6, + hashRepresentation.length + ); + const newHash = `${firstHalf}...${secondHalf}`; + item[hash] = newHash; + } + return item[hash]; + }); + return ( {selectedColumns.map(column => { @@ -44,7 +74,31 @@ const CustomTableRow: React.StatelessComponent = props => { ) : ( // NOTE: SpanContainer necessary to avoid error (for passing isIcon: boolean): // Warning: Failed prop type: Invalid prop children supplied to TableCell, expected a ReactNode. - {item[column.dataIndex]} + + {column.dataIndex === 'predecessor' || + column.dataIndex === 'hash' || + column.dataIndex === 'operationsHash' || + column.dataIndex === 'accountId' || + column.dataIndex === 'blockId' || + column.dataIndex === 'blockHash' || + column.dataIndex === 'operationGroupHash' || + column.dataIndex === 'manager' ? ( + + {' '} + {' '} + + {item[column.dataIndex]} + + + ) : ( + item[column.dataIndex] + )} + )} ); From 569758cf6b23ca2afecaa607d3036f7f5a59041f Mon Sep 17 00:00:00 2001 From: Sean M Date: Thu, 7 Feb 2019 16:36:26 +1300 Subject: [PATCH 02/38] checkpoint --- src/components/CustomTableRow/index.tsx | 116 +++++++++++++++--------- 1 file changed, 73 insertions(+), 43 deletions(-) diff --git a/src/components/CustomTableRow/index.tsx b/src/components/CustomTableRow/index.tsx index 0a9767d9..708446d0 100755 --- a/src/components/CustomTableRow/index.tsx +++ b/src/components/CustomTableRow/index.tsx @@ -40,29 +40,81 @@ interface Props { selectedColumns: any[]; } +export const displayType = (item, dataIndex) => { + if (dataIndex === 'accountId' || dataIndex === 'manager') { + const hashRepresentation = item[dataIndex]; + const firstHalf = hashRepresentation.substring(0, 6); + const secondHalf = hashRepresentation.substring( + hashRepresentation.length - 6, + hashRepresentation.length + ); + const newHash = `${firstHalf}...${secondHalf}`; + item[dataIndex] = newHash; + return ( + <> + + + {newHash} + + + ); + } else if ( + dataIndex === 'predecessor' || + dataIndex === 'hash' || + dataIndex === 'operationsHash' || + dataIndex === 'blockId' || + dataIndex === 'blockHash' || + dataIndex === 'operationGroupHash' + ) { + const hashRepresentation = item[dataIndex]; + const firstHalf = hashRepresentation.substring(0, 6); + const secondHalf = hashRepresentation.substring( + hashRepresentation.length - 6, + hashRepresentation.length + ); + const newHash = `${firstHalf}...${secondHalf}`; + item[dataIndex] = newHash; + return ( + <> + + {newHash} + + + ); + } else { + return item[dataIndex]; + } +}; + const CustomTableRow: React.StatelessComponent = props => { const { selectedColumns, item } = props; const itemBeforeShortening = { ...item }; - let itemsArray = Object.keys(item); - itemsArray.forEach(hash => { - if ( - hash.toLowerCase().includes('hash') || - hash.toLowerCase().includes('predecessor') || - hash.toLowerCase().includes('accountid') || - hash.toLowerCase().includes('blockid') || - hash.toLowerCase().includes('manager') - ) { - const hashRepresentation = item[hash]; - const firstHalf = hashRepresentation.substring(0, 6); - const secondHalf = hashRepresentation.substring( - hashRepresentation.length - 6, - hashRepresentation.length - ); - const newHash = `${firstHalf}...${secondHalf}`; - item[hash] = newHash; - } - return item[hash]; - }); + // let itemsArray = Object.keys(item); + // itemsArray.forEach(hash => { + // if ( + // hash.toLowerCase().includes('hash') || + // hash.toLowerCase().includes('predecessor') || + // hash.toLowerCase().includes('accountid') || + // hash.toLowerCase().includes('blockid') || + // hash.toLowerCase().includes('manager') + // ) { + // const hashRepresentation = item[hash]; + // const firstHalf = hashRepresentation.substring(0, 6); + // const secondHalf = hashRepresentation.substring( + // hashRepresentation.length - 6, + // hashRepresentation.length + // ); + // const newHash = `${firstHalf}...${secondHalf}`; + // item[hash] = newHash; + // } + // return item[hash]; + // }); return ( @@ -75,29 +127,7 @@ const CustomTableRow: React.StatelessComponent = props => { // NOTE: SpanContainer necessary to avoid error (for passing isIcon: boolean): // Warning: Failed prop type: Invalid prop children supplied to TableCell, expected a ReactNode. - {column.dataIndex === 'predecessor' || - column.dataIndex === 'hash' || - column.dataIndex === 'operationsHash' || - column.dataIndex === 'accountId' || - column.dataIndex === 'blockId' || - column.dataIndex === 'blockHash' || - column.dataIndex === 'operationGroupHash' || - column.dataIndex === 'manager' ? ( - - {' '} - {' '} - - {item[column.dataIndex]} - - - ) : ( - item[column.dataIndex] - )} + {displayType(item, column.dataIndex)} )} From baf659c5306f15e0d4cbd3ebc695e3a94ca6b451 Mon Sep 17 00:00:00 2001 From: Sean M Date: Thu, 7 Feb 2019 16:47:07 +1300 Subject: [PATCH 03/38] checkpoint --- src/components/CustomTableRow/index.tsx | 61 +++++++++---------------- 1 file changed, 22 insertions(+), 39 deletions(-) diff --git a/src/components/CustomTableRow/index.tsx b/src/components/CustomTableRow/index.tsx index 708446d0..32c2d0b7 100755 --- a/src/components/CustomTableRow/index.tsx +++ b/src/components/CustomTableRow/index.tsx @@ -42,14 +42,6 @@ interface Props { export const displayType = (item, dataIndex) => { if (dataIndex === 'accountId' || dataIndex === 'manager') { - const hashRepresentation = item[dataIndex]; - const firstHalf = hashRepresentation.substring(0, 6); - const secondHalf = hashRepresentation.substring( - hashRepresentation.length - 6, - hashRepresentation.length - ); - const newHash = `${firstHalf}...${secondHalf}`; - item[dataIndex] = newHash; return ( <> @@ -57,7 +49,7 @@ export const displayType = (item, dataIndex) => { href={`https://zeronet.tzscan.io/${item[dataIndex]}`} style={styles.linkUnderline} > - {newHash} + {item[dataIndex]} ); @@ -69,21 +61,13 @@ export const displayType = (item, dataIndex) => { dataIndex === 'blockHash' || dataIndex === 'operationGroupHash' ) { - const hashRepresentation = item[dataIndex]; - const firstHalf = hashRepresentation.substring(0, 6); - const secondHalf = hashRepresentation.substring( - hashRepresentation.length - 6, - hashRepresentation.length - ); - const newHash = `${firstHalf}...${secondHalf}`; - item[dataIndex] = newHash; return ( <> - {newHash} + {item[dataIndex]} ); @@ -94,27 +78,26 @@ export const displayType = (item, dataIndex) => { const CustomTableRow: React.StatelessComponent = props => { const { selectedColumns, item } = props; - const itemBeforeShortening = { ...item }; - // let itemsArray = Object.keys(item); - // itemsArray.forEach(hash => { - // if ( - // hash.toLowerCase().includes('hash') || - // hash.toLowerCase().includes('predecessor') || - // hash.toLowerCase().includes('accountid') || - // hash.toLowerCase().includes('blockid') || - // hash.toLowerCase().includes('manager') - // ) { - // const hashRepresentation = item[hash]; - // const firstHalf = hashRepresentation.substring(0, 6); - // const secondHalf = hashRepresentation.substring( - // hashRepresentation.length - 6, - // hashRepresentation.length - // ); - // const newHash = `${firstHalf}...${secondHalf}`; - // item[hash] = newHash; - // } - // return item[hash]; - // }); + let itemsArray = Object.keys(item); + itemsArray.forEach(hash => { + if ( + hash.toLowerCase().includes('hash') || + hash.toLowerCase().includes('predecessor') || + hash.toLowerCase().includes('accountid') || + hash.toLowerCase().includes('blockid') || + hash.toLowerCase().includes('manager') + ) { + const hashRepresentation = item[hash]; + const firstHalf = hashRepresentation.substring(0, 6); + const secondHalf = hashRepresentation.substring( + hashRepresentation.length - 6, + hashRepresentation.length + ); + const newHash = `${firstHalf}...${secondHalf}`; + item[hash] = newHash; + } + return item[hash]; + }); return ( From 00ee6baee8f5ba5e2b09b2dafe0a6f2f287460e0 Mon Sep 17 00:00:00 2001 From: Sean M Date: Thu, 7 Feb 2019 17:13:15 +1300 Subject: [PATCH 04/38] checkpoint --- src/components/CustomTableRow/index.tsx | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/src/components/CustomTableRow/index.tsx b/src/components/CustomTableRow/index.tsx index 32c2d0b7..e568d972 100755 --- a/src/components/CustomTableRow/index.tsx +++ b/src/components/CustomTableRow/index.tsx @@ -40,7 +40,7 @@ interface Props { selectedColumns: any[]; } -export const displayType = (item, dataIndex) => { +export const displayType = (shortenedItem, item, dataIndex) => { if (dataIndex === 'accountId' || dataIndex === 'manager') { return ( <> @@ -49,7 +49,7 @@ export const displayType = (item, dataIndex) => { href={`https://zeronet.tzscan.io/${item[dataIndex]}`} style={styles.linkUnderline} > - {item[dataIndex]} + {shortenedItem[dataIndex]} ); @@ -67,7 +67,7 @@ export const displayType = (item, dataIndex) => { href={`https://zeronet.tzscan.io/${item[dataIndex]}`} style={styles.linkUnderline} > - {item[dataIndex]} + {shortenedItem[dataIndex]} ); @@ -78,7 +78,8 @@ export const displayType = (item, dataIndex) => { const CustomTableRow: React.StatelessComponent = props => { const { selectedColumns, item } = props; - let itemsArray = Object.keys(item); + const shortenedItem = { ...item }; + let itemsArray = Object.keys(shortenedItem); itemsArray.forEach(hash => { if ( hash.toLowerCase().includes('hash') || @@ -94,9 +95,9 @@ const CustomTableRow: React.StatelessComponent = props => { hashRepresentation.length ); const newHash = `${firstHalf}...${secondHalf}`; - item[hash] = newHash; + shortenedItem[hash] = newHash; } - return item[hash]; + return shortenedItem[hash]; }); return ( @@ -110,7 +111,7 @@ const CustomTableRow: React.StatelessComponent = props => { // NOTE: SpanContainer necessary to avoid error (for passing isIcon: boolean): // Warning: Failed prop type: Invalid prop children supplied to TableCell, expected a ReactNode. - {displayType(item, column.dataIndex)} + {displayType(shortenedItem, item, column.dataIndex)} )} From d272ce687e9c04b170413bf1cf471ae2452460a5 Mon Sep 17 00:00:00 2001 From: Sean M Date: Thu, 7 Feb 2019 17:20:57 +1300 Subject: [PATCH 05/38] checkpoint --- src/components/CustomTableRow/index.tsx | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/components/CustomTableRow/index.tsx b/src/components/CustomTableRow/index.tsx index e568d972..623fb19b 100755 --- a/src/components/CustomTableRow/index.tsx +++ b/src/components/CustomTableRow/index.tsx @@ -14,6 +14,11 @@ const TableRowWrapper = styled(TableRow)` } } `; + +const StyledCircle = styled(Circle)` + color: rgb(255, 155, 213); +`; + const StyledCell = styled(TableCell)` &&& { color: #4a4a4a; @@ -44,7 +49,7 @@ export const displayType = (shortenedItem, item, dataIndex) => { if (dataIndex === 'accountId' || dataIndex === 'manager') { return ( <> - + Date: Thu, 7 Feb 2019 17:25:45 +1300 Subject: [PATCH 06/38] checkpoint --- src/components/CustomTableRow/index.tsx | 1 + 1 file changed, 1 insertion(+) diff --git a/src/components/CustomTableRow/index.tsx b/src/components/CustomTableRow/index.tsx index 623fb19b..234ed32b 100755 --- a/src/components/CustomTableRow/index.tsx +++ b/src/components/CustomTableRow/index.tsx @@ -36,6 +36,7 @@ const SpanContainer = styled.span` const styles = { linkUnderline: { textDecoration: 'none', + color: '#10ADE4', }, }; From 1931fa8041b2cb039fa453c7904416dba55912d3 Mon Sep 17 00:00:00 2001 From: Sean M Date: Thu, 7 Feb 2019 17:30:05 +1300 Subject: [PATCH 07/38] checkpoint --- src/components/CustomTableRow/index.tsx | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/components/CustomTableRow/index.tsx b/src/components/CustomTableRow/index.tsx index 234ed32b..7bbeca16 100755 --- a/src/components/CustomTableRow/index.tsx +++ b/src/components/CustomTableRow/index.tsx @@ -15,10 +15,16 @@ const TableRowWrapper = styled(TableRow)` } `; -const StyledCircle = styled(Circle)` +const StyledCircle1 = styled(Circle)` color: rgb(255, 155, 213); `; +const StyledCircle2 = styled(Circle)` + color: rgb(215, 195, 113); + margin-left: -4px; + margin-right: 7px; +`; + const StyledCell = styled(TableCell)` &&& { color: #4a4a4a; @@ -50,7 +56,8 @@ export const displayType = (shortenedItem, item, dataIndex) => { if (dataIndex === 'accountId' || dataIndex === 'manager') { return ( <> - + + Date: Thu, 7 Feb 2019 17:36:13 +1300 Subject: [PATCH 08/38] checkpoint --- src/components/FilterPanel/index.tsx | 1 - 1 file changed, 1 deletion(-) diff --git a/src/components/FilterPanel/index.tsx b/src/components/FilterPanel/index.tsx index a5445a97..88e21df3 100755 --- a/src/components/FilterPanel/index.tsx +++ b/src/components/FilterPanel/index.tsx @@ -3,7 +3,6 @@ import styled from 'styled-components'; import Collapse from '@material-ui/core/Collapse'; import CloseIcon from '@material-ui/icons/CloseOutlined'; import PlusIcon from '@material-ui/icons/Add'; -import OutlinedInput from '@material-ui/core/OutlinedInput'; import ColumnsDisplay from '../ColumnsDisplay'; const Container = styled.div` From 67b6af83fe664ddb0c9e1e7ad8c6d502ee62419d Mon Sep 17 00:00:00 2001 From: Sean M Date: Sat, 9 Feb 2019 06:38:22 +1300 Subject: [PATCH 09/38] final updates --- src/components/CustomTableRow/index.tsx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/components/CustomTableRow/index.tsx b/src/components/CustomTableRow/index.tsx index 7bbeca16..3821b0d3 100755 --- a/src/components/CustomTableRow/index.tsx +++ b/src/components/CustomTableRow/index.tsx @@ -72,7 +72,8 @@ export const displayType = (shortenedItem, item, dataIndex) => { dataIndex === 'operationsHash' || dataIndex === 'blockId' || dataIndex === 'blockHash' || - dataIndex === 'operationGroupHash' + dataIndex === 'operationGroupHash' || + dataIndex === 'protocol' ) { return ( <> @@ -99,7 +100,8 @@ const CustomTableRow: React.StatelessComponent = props => { hash.toLowerCase().includes('predecessor') || hash.toLowerCase().includes('accountid') || hash.toLowerCase().includes('blockid') || - hash.toLowerCase().includes('manager') + hash.toLowerCase().includes('manager') || + hash.toLowerCase().includes('protocol') ) { const hashRepresentation = item[hash]; const firstHalf = hashRepresentation.substring(0, 6); @@ -121,8 +123,6 @@ const CustomTableRow: React.StatelessComponent = props => { {column.dataIndex === 'timestamp' ? ( moment(item[column.dataIndex]).format('dd MM YYYY h:mm:ss a') ) : ( - // NOTE: SpanContainer necessary to avoid error (for passing isIcon: boolean): - // Warning: Failed prop type: Invalid prop children supplied to TableCell, expected a ReactNode. {displayType(shortenedItem, item, column.dataIndex)} From d04d75a94e5a7e91b461a556fca3b670e124c0ea Mon Sep 17 00:00:00 2001 From: Sean M Date: Sat, 9 Feb 2019 06:53:29 +1300 Subject: [PATCH 10/38] shortened context and signature --- src/components/CustomTableRow/index.tsx | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/components/CustomTableRow/index.tsx b/src/components/CustomTableRow/index.tsx index 3821b0d3..2f696aac 100755 --- a/src/components/CustomTableRow/index.tsx +++ b/src/components/CustomTableRow/index.tsx @@ -73,7 +73,9 @@ export const displayType = (shortenedItem, item, dataIndex) => { dataIndex === 'blockId' || dataIndex === 'blockHash' || dataIndex === 'operationGroupHash' || - dataIndex === 'protocol' + dataIndex === 'protocol' || + dataIndex === 'context' || + dataIndex === 'signature' ) { return ( <> @@ -101,7 +103,9 @@ const CustomTableRow: React.StatelessComponent = props => { hash.toLowerCase().includes('accountid') || hash.toLowerCase().includes('blockid') || hash.toLowerCase().includes('manager') || - hash.toLowerCase().includes('protocol') + hash.toLowerCase().includes('protocol') || + hash.toLowerCase().includes('context') || + hash.toLowerCase().includes('signature') ) { const hashRepresentation = item[hash]; const firstHalf = hashRepresentation.substring(0, 6); From b96aad36132a2bb354980fce7e9ca7851883bfcd Mon Sep 17 00:00:00 2001 From: Sean M Date: Sat, 9 Feb 2019 07:11:11 +1300 Subject: [PATCH 11/38] removed links where necessary --- src/components/CustomTableRow/index.tsx | 13 ++++++++----- src/containers/App/index.tsx | 5 +++++ 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/src/components/CustomTableRow/index.tsx b/src/components/CustomTableRow/index.tsx index 2f696aac..1a760e40 100755 --- a/src/components/CustomTableRow/index.tsx +++ b/src/components/CustomTableRow/index.tsx @@ -69,13 +69,9 @@ export const displayType = (shortenedItem, item, dataIndex) => { } else if ( dataIndex === 'predecessor' || dataIndex === 'hash' || - dataIndex === 'operationsHash' || dataIndex === 'blockId' || dataIndex === 'blockHash' || - dataIndex === 'operationGroupHash' || - dataIndex === 'protocol' || - dataIndex === 'context' || - dataIndex === 'signature' + dataIndex === 'operationGroupHash' ) { return ( <> @@ -87,6 +83,13 @@ export const displayType = (shortenedItem, item, dataIndex) => { ); + } else if ( + dataIndex === 'protocol' || + dataIndex === 'context' || + dataIndex === 'operationsHash' || + dataIndex === 'signature' + ) { + return shortenedItem[dataIndex]; } else { return item[dataIndex]; } diff --git a/src/containers/App/index.tsx b/src/containers/App/index.tsx index bed2ff5b..81dcd429 100644 --- a/src/containers/App/index.tsx +++ b/src/containers/App/index.tsx @@ -157,6 +157,11 @@ class Arronax extends React.Component { dataIndex: 'operationsHash', key: 'operationsHash', }, + { + title: 'Protocol Hash', + dataIndex: 'protocol', + key: 'protocol', + }, ]; case 'operations': return [ From b867a87c3fdcb4a2b0ecd39b45e599e469137144 Mon Sep 17 00:00:00 2001 From: Sean M Date: Wed, 13 Feb 2019 13:11:39 +1300 Subject: [PATCH 12/38] updated fragments --- src/components/CustomTableRow/index.tsx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/components/CustomTableRow/index.tsx b/src/components/CustomTableRow/index.tsx index 1a760e40..776ff847 100755 --- a/src/components/CustomTableRow/index.tsx +++ b/src/components/CustomTableRow/index.tsx @@ -55,7 +55,7 @@ interface Props { export const displayType = (shortenedItem, item, dataIndex) => { if (dataIndex === 'accountId' || dataIndex === 'manager') { return ( - <> + { > {shortenedItem[dataIndex]} - + ); } else if ( dataIndex === 'predecessor' || @@ -74,14 +74,14 @@ export const displayType = (shortenedItem, item, dataIndex) => { dataIndex === 'operationGroupHash' ) { return ( - <> + {shortenedItem[dataIndex]} - + ); } else if ( dataIndex === 'protocol' || From 5f7ce08d52cd9e885ceafeea6c4a45c7f7bbd605 Mon Sep 17 00:00:00 2001 From: Sean M Date: Wed, 13 Feb 2019 13:55:33 +1300 Subject: [PATCH 13/38] config updates --- src/components/CustomTableRow/index.tsx | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/components/CustomTableRow/index.tsx b/src/components/CustomTableRow/index.tsx index 776ff847..b3b7f1c6 100755 --- a/src/components/CustomTableRow/index.tsx +++ b/src/components/CustomTableRow/index.tsx @@ -6,6 +6,7 @@ import styled from 'styled-components'; import TableCell from '@material-ui/core/TableCell'; import TableRow from '@material-ui/core/TableRow'; import Circle from '@material-ui/icons/FiberManualRecord'; +import config from '../../config'; const TableRowWrapper = styled(TableRow)` &&& { @@ -52,6 +53,8 @@ interface Props { selectedColumns: any[]; } +const network = config.map(config => console.log(config)); + export const displayType = (shortenedItem, item, dataIndex) => { if (dataIndex === 'accountId' || dataIndex === 'manager') { return ( From 681d0743ddcfae264c24828bfb08c0b3462d5284 Mon Sep 17 00:00:00 2001 From: Sean M Date: Wed, 13 Feb 2019 14:07:19 +1300 Subject: [PATCH 14/38] updated networks --- src/components/CustomTableRow/index.tsx | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/components/CustomTableRow/index.tsx b/src/components/CustomTableRow/index.tsx index b3b7f1c6..32455487 100755 --- a/src/components/CustomTableRow/index.tsx +++ b/src/components/CustomTableRow/index.tsx @@ -1,7 +1,7 @@ import * as React from 'react'; import * as moment from 'moment'; import { connect } from 'react-redux'; -import { getColumns } from '../../reducers/app/selectors'; +import { getColumns, getNetwork } from '../../reducers/app/selectors'; import styled from 'styled-components'; import TableCell from '@material-ui/core/TableCell'; import TableRow from '@material-ui/core/TableRow'; @@ -51,18 +51,17 @@ interface Props { category: string; item: object; selectedColumns: any[]; + network: string; } -const network = config.map(config => console.log(config)); - -export const displayType = (shortenedItem, item, dataIndex) => { +export const displayType = (network, shortenedItem, item, dataIndex) => { if (dataIndex === 'accountId' || dataIndex === 'manager') { return ( {shortenedItem[dataIndex]} @@ -79,7 +78,7 @@ export const displayType = (shortenedItem, item, dataIndex) => { return ( {shortenedItem[dataIndex]} @@ -99,7 +98,7 @@ export const displayType = (shortenedItem, item, dataIndex) => { }; const CustomTableRow: React.StatelessComponent = props => { - const { selectedColumns, item } = props; + const { selectedColumns, item, network } = props; const shortenedItem = { ...item }; let itemsArray = Object.keys(shortenedItem); itemsArray.forEach(hash => { @@ -134,7 +133,7 @@ const CustomTableRow: React.StatelessComponent = props => { moment(item[column.dataIndex]).format('dd MM YYYY h:mm:ss a') ) : ( - {displayType(shortenedItem, item, column.dataIndex)} + {displayType(network, shortenedItem, item, column.dataIndex)} )} @@ -145,6 +144,7 @@ const CustomTableRow: React.StatelessComponent = props => { }; const mapStateToProps = (state: any) => ({ + network: getNetwork(state), selectedColumns: getColumns(state), }); From c88fb003b9023f322cb51d48305314e921fa506b Mon Sep 17 00:00:00 2001 From: Sean M Date: Thu, 14 Feb 2019 08:53:36 +1300 Subject: [PATCH 15/38] added styled component and updated target --- src/components/CustomTableRow/index.tsx | 26 ++++++++++++------------- 1 file changed, 12 insertions(+), 14 deletions(-) diff --git a/src/components/CustomTableRow/index.tsx b/src/components/CustomTableRow/index.tsx index 32455487..1fc10d91 100755 --- a/src/components/CustomTableRow/index.tsx +++ b/src/components/CustomTableRow/index.tsx @@ -6,7 +6,6 @@ import styled from 'styled-components'; import TableCell from '@material-ui/core/TableCell'; import TableRow from '@material-ui/core/TableRow'; import Circle from '@material-ui/icons/FiberManualRecord'; -import config from '../../config'; const TableRowWrapper = styled(TableRow)` &&& { @@ -40,13 +39,10 @@ const SpanContainer = styled.span` display: flex; `; -const styles = { - linkUnderline: { - textDecoration: 'none', - color: '#10ADE4', - }, -}; - +const ExplorerLink = styled.a` + text-decoration: none; + color: #10ade4; +`; interface Props { category: string; item: object; @@ -56,16 +52,18 @@ interface Props { export const displayType = (network, shortenedItem, item, dataIndex) => { if (dataIndex === 'accountId' || dataIndex === 'manager') { + console.log(item); + console.log(shortenedItem); return ( - {shortenedItem[dataIndex]} - + ); } else if ( @@ -77,12 +75,12 @@ export const displayType = (network, shortenedItem, item, dataIndex) => { ) { return ( - {shortenedItem[dataIndex]} - + ); } else if ( From 339bbea6065de6384d5add70dbe090fca6fefe47 Mon Sep 17 00:00:00 2001 From: Sean M Date: Thu, 14 Feb 2019 09:07:14 +1300 Subject: [PATCH 16/38] updated conseilJS package --- package-lock.json | 431 ++++++++++++++++++++++++++++------------------ package.json | 2 +- 2 files changed, 266 insertions(+), 167 deletions(-) diff --git a/package-lock.json b/package-lock.json index 19b26fe9..ff5f29a7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -64,44 +64,22 @@ "integrity": "sha512-4zAPlpDEh2VwXswwr/t8xGNDGg8RQiPxtxZ3qQEXyQsBV39ptTdESCjuBvGze1nLMVrxmTIKmnO/nAV8Tqjjzg==" }, "@ledgerhq/hw-transport": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/@ledgerhq/hw-transport/-/hw-transport-4.21.0.tgz", - "integrity": "sha1-UPhc/hFbo/nVv5R1XHAeknF1eU8=", + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@ledgerhq/hw-transport/-/hw-transport-4.24.0.tgz", + "integrity": "sha512-L34TG1Ss7goRB+5BxtvBwUuu0CmDSIxS33oUqkpEy6rCs31k7XicV48iUGAnRnt8hNY2DvJ9WFyaOroUE9h6wQ==", "requires": { - "events": "^2.0.0" - }, - "dependencies": { - "events": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/events/-/events-2.1.0.tgz", - "integrity": "sha512-3Zmiobend8P9DjmKAty0Era4jV8oJ0yGYe2nJJAxgymF9+N8F2m0hhZiMoWtcfepExzNKZumFU3ksdQbInGWCg==" - } + "events": "^3.0.0" } }, "@ledgerhq/hw-transport-node-hid": { - "version": "4.33.3", - "resolved": "https://registry.npmjs.org/@ledgerhq/hw-transport-node-hid/-/hw-transport-node-hid-4.33.3.tgz", - "integrity": "sha512-hmNAm7k385RJXY38hVUpzYgGgyk9QjScD3erNlFCTO8FnnxmEJCFUmVhWkv4sTwufuUJSpXL3ZXXNZ44qLMJpg==", + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@ledgerhq/hw-transport-node-hid/-/hw-transport-node-hid-4.24.0.tgz", + "integrity": "sha512-RA3ZlRM+6y/XL/sAFKUpuLIU5tsmEpDBwJEBKC+qdzG508Vl/kBJDMuQyo6pmx/YcKZrtjfKiXXQEXP9Fgk75w==", "requires": { - "@ledgerhq/hw-transport": "^4.32.0", + "@ledgerhq/hw-transport": "^4.24.0", "lodash": "^4.17.11", "node-hid": "^0.7.2", "usb": "^1.3.3" - }, - "dependencies": { - "@ledgerhq/hw-transport": { - "version": "4.32.0", - "resolved": "https://registry.npmjs.org/@ledgerhq/hw-transport/-/hw-transport-4.32.0.tgz", - "integrity": "sha512-Wgsk9UHC4RShqYoDeIEeKgHZOvNCtB0WWIG0xqlVPzS+IcKDkIxtXQw7hTA7GQSuDuGeauVtlbTQ5yat6+2/BA==", - "requires": { - "events": "^3.0.0" - } - }, - "events": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.0.0.tgz", - "integrity": "sha512-Dc381HFWJzEOhQ+d8pkNon++bk9h6cdAoAj4iE6Q4y6xgTzySWXlKn05/TVNpjnfRqi/X0EpJEJohPjNI3zpVA==" - } } }, "@material-ui/core": { @@ -202,11 +180,6 @@ "integrity": "sha512-ui3WwXmjTaY73fOQ3/m3nnajU/Orhi6cEu5rzX+BrAAJxa3eITXZ5ch9suPqtM03OWhAHhPSyBGCN4UKoxO20Q==", "dev": true }, - "@types/json5": { - "version": "0.0.29", - "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", - "integrity": "sha1-7ihweulOEdK4J7y+UnC86n8+ce4=" - }, "@types/jss": { "version": "9.5.7", "resolved": "https://registry.npmjs.org/@types/jss/-/jss-9.5.7.tgz", @@ -543,6 +516,7 @@ "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, "requires": { "color-convert": "^1.9.0" } @@ -574,17 +548,20 @@ "arr-diff": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=" + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "dev": true }, "arr-flatten": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==" + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "dev": true }, "arr-union": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=" + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", + "dev": true }, "array-flatten": { "version": "2.1.2", @@ -610,7 +587,8 @@ "array-unique": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=" + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "dev": true }, "asap": { "version": "2.0.6", @@ -654,10 +632,16 @@ } } }, + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" + }, "assign-symbols": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=" + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", + "dev": true }, "async": { "version": "1.5.2", @@ -674,12 +658,14 @@ "atob": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==" + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "dev": true }, "awesome-typescript-loader": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/awesome-typescript-loader/-/awesome-typescript-loader-5.2.1.tgz", "integrity": "sha512-slv66OAJB8orL+UUaTI3pKlLorwIvS4ARZzYR9iJJyGsEgOqueMfOMdKySWzZ73vIkEe3fcwFgsKMg4d8zyb1g==", + "dev": true, "requires": { "chalk": "^2.4.1", "enhanced-resolve": "^4.0.0", @@ -695,6 +681,7 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-1.2.0.tgz", "integrity": "sha512-U9AnICnu50HXtiqiDxuli5gLB5PGBo7VvcHx36jRZHwK4vzOYLbImqT4lwWwoMHdQWwEKw736fCHEekokTEKHA==", + "dev": true, "requires": { "chalk": "^2.1.0", "log-symbols": "^2.1.0", @@ -705,9 +692,9 @@ } }, "aws-sdk": { - "version": "2.395.0", - "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.395.0.tgz", - "integrity": "sha512-ldTTjctniZT4E2lq2z3D8Y2u+vpkp+laoEnDkXgjKXTKbiJ0QEtfWsUdx/IQ7awCt8stoxyqZK47DJOxIbRNoA==", + "version": "2.401.0", + "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.401.0.tgz", + "integrity": "sha512-mOI4gzKoP/g8Q0ToAaqTh7TijGG9PvGVVUkKmurXqBKy7GTPmy4JizfVkTrM+iBg7RAsx5H2lBxBFpdEFBa5fg==", "requires": { "buffer": "4.9.1", "events": "1.1.1", @@ -720,6 +707,11 @@ "xml2js": "0.4.19" }, "dependencies": { + "events": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz", + "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=" + }, "sax": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.1.tgz", @@ -1844,6 +1836,7 @@ "version": "0.11.2", "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "dev": true, "requires": { "cache-base": "^1.0.1", "class-utils": "^0.3.5", @@ -1858,6 +1851,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, "requires": { "is-descriptor": "^1.0.0" } @@ -1866,6 +1860,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, "requires": { "kind-of": "^6.0.0" } @@ -1874,6 +1869,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, "requires": { "kind-of": "^6.0.0" } @@ -1882,6 +1878,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, "requires": { "is-accessor-descriptor": "^1.0.0", "is-data-descriptor": "^1.0.0", @@ -1890,6 +1887,13 @@ } } }, + "base-n": { + "version": "git://github.com/yourcodesucks/base-n.git#9d983f475c7396fbdc2fcbbc35b4821f0deeaa25", + "from": "git://github.com/yourcodesucks/base-n.git", + "requires": { + "dashdash": "^1.14.1" + } + }, "base-x": { "version": "3.0.5", "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.5.tgz", @@ -1920,7 +1924,8 @@ "big.js": { "version": "5.2.2", "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", - "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==" + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "dev": true }, "binary-extensions": { "version": "1.12.0", @@ -2032,6 +2037,7 @@ "version": "2.3.2", "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, "requires": { "arr-flatten": "^1.1.0", "array-unique": "^0.3.2", @@ -2049,6 +2055,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, "requires": { "is-extendable": "^0.1.0" } @@ -2196,7 +2203,8 @@ "buffer-from": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", - "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==" + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", + "dev": true }, "buffer-indexof": { "version": "1.1.1", @@ -2248,6 +2256,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "dev": true, "requires": { "collection-visit": "^1.0.0", "component-emitter": "^1.2.1", @@ -2286,6 +2295,7 @@ "version": "2.4.1", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "dev": true, "requires": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", @@ -2345,6 +2355,7 @@ "version": "0.3.6", "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "dev": true, "requires": { "arr-union": "^3.1.0", "define-property": "^0.2.5", @@ -2356,6 +2367,7 @@ "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, "requires": { "is-descriptor": "^0.1.0" } @@ -2413,6 +2425,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "dev": true, "requires": { "map-visit": "^1.0.0", "object-visit": "^1.0.0" @@ -2422,6 +2435,7 @@ "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, "requires": { "color-name": "1.1.3" } @@ -2429,7 +2443,8 @@ "color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true }, "commander": { "version": "2.17.1", @@ -2446,7 +2461,8 @@ "component-emitter": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", - "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=" + "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=", + "dev": true }, "compressible": { "version": "2.0.15", @@ -2496,23 +2512,31 @@ "dev": true }, "conseiljs": { - "version": "git+https://github.com/Cryptonomic/ConseilJS.git#50a2db5684fc5de4082b5434084b39fc48e60dc1", - "from": "git+https://github.com/Cryptonomic/ConseilJS.git#develop-arronax", + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/conseiljs/-/conseiljs-0.2.0.tgz", + "integrity": "sha512-43j9ihrBhZandA7m4zvT64alYLjIDUm56qrFpsliOW/NwExiV8wXIdG2lzkRWLVLiA94Wxe0nS1+312ML5GfEw==", "requires": { - "@ledgerhq/hw-transport": "4.21.0", - "@ledgerhq/hw-transport-node-hid": "^4.22.0", - "awesome-typescript-loader": "^5.0.0", - "aws-sdk": "^2.326.0", + "@ledgerhq/hw-transport": "4.24.0", + "@ledgerhq/hw-transport-node-hid": "4.24.0", + "aws-sdk": "^2.400.0", "babel-runtime": "6.26.0", + "base-n": "git://github.com/yourcodesucks/base-n.git", "basil-tezos-ledger": "0.0.1", "bip32": "^1.0.0", "bip39": "^2.5.0", - "bs58check": "^2.1.1", + "bs58check": "^2.1.2", "https": "^1.0.0", - "libsodium-wrappers": "^0.5.4", - "libsodium-wrappers-sumo": "^0.5.4", - "tsconfig-paths-webpack-plugin": "^3.2.0", + "libsodium-wrappers": "0.5.4", + "libsodium-wrappers-sumo": "0.5.4", + "node-fetch": "^2.3.0", "zxcvbn": "^4.4.2" + }, + "dependencies": { + "node-fetch": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.3.0.tgz", + "integrity": "sha512-MOd8pV3fxENbryESLgVIeaGKrdl+uaYhCSSVkjeOb/31/njTpcis5aWfdqgNlHIrKOLRbMnfPINPOML2CIFeXA==" + } } }, "console-browserify": { @@ -2585,7 +2609,8 @@ "copy-descriptor": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=" + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", + "dev": true }, "core-js": { "version": "2.6.1", @@ -2780,10 +2805,19 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/d/-/d-1.0.0.tgz", "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=", + "dev": true, "requires": { "es5-ext": "^0.10.9" } }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "requires": { + "assert-plus": "^1.0.0" + } + }, "date-now": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz", @@ -2812,7 +2846,8 @@ "decode-uri-component": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=" + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", + "dev": true }, "decompress-response": { "version": "3.3.0", @@ -2875,6 +2910,7 @@ "version": "1.1.3", "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "dev": true, "requires": { "object-keys": "^1.0.12" } @@ -2883,6 +2919,7 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "dev": true, "requires": { "is-descriptor": "^1.0.2", "isobject": "^3.0.1" @@ -2892,6 +2929,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, "requires": { "kind-of": "^6.0.0" } @@ -2900,6 +2938,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, "requires": { "kind-of": "^6.0.0" } @@ -2908,6 +2947,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, "requires": { "is-accessor-descriptor": "^1.0.0", "is-data-descriptor": "^1.0.0", @@ -3120,7 +3160,8 @@ "emojis-list": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", - "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=" + "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=", + "dev": true }, "encodeurl": { "version": "1.0.2", @@ -3148,6 +3189,7 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.1.0.tgz", "integrity": "sha512-F/7vkyTtyc/llOIn8oWclcB25KdRaiPBpZYDgJHgh/UHtpgT2p2eldQgtQnLtUvfMKPKxbRaQM/hHkvLHt1Vng==", + "dev": true, "requires": { "graceful-fs": "^4.1.2", "memory-fs": "^0.4.0", @@ -3164,6 +3206,7 @@ "version": "0.1.7", "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz", "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==", + "dev": true, "requires": { "prr": "~1.0.1" } @@ -3197,6 +3240,7 @@ "version": "0.10.47", "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.47.tgz", "integrity": "sha512-/1TItLfj+TTfWoeRcDn/0FbGV6SNo4R+On2GGVucPU/j3BWnXE2Co8h8CTo4Tu34gFJtnmwS9xiScKs4EjZhdw==", + "dev": true, "requires": { "es6-iterator": "~2.0.3", "es6-symbol": "~3.1.1", @@ -3207,6 +3251,7 @@ "version": "2.0.3", "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", + "dev": true, "requires": { "d": "1", "es5-ext": "^0.10.35", @@ -3217,6 +3262,7 @@ "version": "3.1.1", "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz", "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=", + "dev": true, "requires": { "d": "1", "es5-ext": "~0.10.14" @@ -3231,7 +3277,8 @@ "escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true }, "eslint-scope": { "version": "4.0.0", @@ -3276,9 +3323,9 @@ "dev": true }, "events": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz", - "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=" + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.0.0.tgz", + "integrity": "sha512-Dc381HFWJzEOhQ+d8pkNon++bk9h6cdAoAj4iE6Q4y6xgTzySWXlKn05/TVNpjnfRqi/X0EpJEJohPjNI3zpVA==" }, "eventsource": { "version": "1.0.7", @@ -3318,6 +3365,7 @@ "version": "2.1.4", "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "dev": true, "requires": { "debug": "^2.3.3", "define-property": "^0.2.5", @@ -3332,6 +3380,7 @@ "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, "requires": { "is-descriptor": "^0.1.0" } @@ -3340,6 +3389,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, "requires": { "is-extendable": "^0.1.0" } @@ -3401,6 +3451,7 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dev": true, "requires": { "assign-symbols": "^1.0.0", "is-extendable": "^1.0.1" @@ -3410,6 +3461,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, "requires": { "is-plain-object": "^2.0.4" } @@ -3420,6 +3472,7 @@ "version": "2.0.4", "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, "requires": { "array-unique": "^0.3.2", "define-property": "^1.0.0", @@ -3435,6 +3488,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, "requires": { "is-descriptor": "^1.0.0" } @@ -3443,6 +3497,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, "requires": { "is-extendable": "^0.1.0" } @@ -3451,6 +3506,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, "requires": { "kind-of": "^6.0.0" } @@ -3459,6 +3515,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, "requires": { "kind-of": "^6.0.0" } @@ -3467,6 +3524,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, "requires": { "is-accessor-descriptor": "^1.0.0", "is-data-descriptor": "^1.0.0", @@ -3548,6 +3606,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, "requires": { "extend-shallow": "^2.0.1", "is-number": "^3.0.0", @@ -3559,6 +3618,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, "requires": { "is-extendable": "^0.1.0" } @@ -3639,7 +3699,8 @@ "for-in": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=" + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "dev": true }, "forwarded": { "version": "0.1.2", @@ -3651,6 +3712,7 @@ "version": "0.2.1", "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "dev": true, "requires": { "map-cache": "^0.2.2" } @@ -4252,7 +4314,8 @@ "function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true }, "gauge": { "version": "2.7.4", @@ -4319,7 +4382,8 @@ "get-value": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=" + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", + "dev": true }, "github-from-package": { "version": "0.0.0", @@ -4396,7 +4460,8 @@ "graceful-fs": { "version": "4.1.15", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz", - "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==" + "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==", + "dev": true }, "handle-thing": { "version": "2.0.0", @@ -4430,7 +4495,8 @@ "has-symbols": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz", - "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=" + "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=", + "dev": true }, "has-unicode": { "version": "2.0.1", @@ -4441,6 +4507,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "dev": true, "requires": { "get-value": "^2.0.6", "has-values": "^1.0.0", @@ -4451,6 +4518,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "dev": true, "requires": { "is-number": "^3.0.0", "kind-of": "^4.0.0" @@ -4460,6 +4528,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "dev": true, "requires": { "is-buffer": "^1.1.5" } @@ -4909,6 +4978,7 @@ "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, "requires": { "kind-of": "^3.0.2" }, @@ -4917,6 +4987,7 @@ "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, "requires": { "is-buffer": "^1.1.5" } @@ -4935,7 +5006,8 @@ "is-buffer": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true }, "is-callable": { "version": "1.1.4", @@ -4947,6 +5019,7 @@ "version": "0.1.4", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, "requires": { "kind-of": "^3.0.2" }, @@ -4955,6 +5028,7 @@ "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, "requires": { "is-buffer": "^1.1.5" } @@ -4971,6 +5045,7 @@ "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, "requires": { "is-accessor-descriptor": "^0.1.6", "is-data-descriptor": "^0.1.4", @@ -4980,14 +5055,16 @@ "kind-of": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true } } }, "is-extendable": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=" + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true }, "is-extglob": { "version": "2.1.1", @@ -5027,6 +5104,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, "requires": { "kind-of": "^3.0.2" }, @@ -5035,6 +5113,7 @@ "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, "requires": { "is-buffer": "^1.1.5" } @@ -5099,7 +5178,8 @@ "is-windows": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==" + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "dev": true }, "is-wsl": { "version": "1.1.0", @@ -5250,7 +5330,8 @@ "kind-of": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==" + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true }, "lcid": { "version": "2.0.0", @@ -5297,6 +5378,7 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.1.tgz", "integrity": "sha512-3Zhx4qDqBQ9U8udWB3RMJ29nLu5a3ObNOSzk87woPvge01pi0wABowgv7F79Z4mL0DGtHRi/oOndT34EVhInoQ==", + "dev": true, "requires": { "big.js": "^5.2.2", "emojis-list": "^2.0.0", @@ -5307,6 +5389,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, "requires": { "minimist": "^1.2.0" } @@ -5338,6 +5421,7 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", + "dev": true, "requires": { "chalk": "^2.0.1" } @@ -5352,6 +5436,7 @@ "version": "1.0.5", "resolved": "https://registry.npmjs.org/loglevelnext/-/loglevelnext-1.0.5.tgz", "integrity": "sha512-V/73qkPuJmx4BcBF19xPBr+0ZRVBhc4POxvZTZdMeXpJ4NItXSJ/MSwuFT0kQJlCbXvdlZoQQ/418bS1y9Jh6A==", + "dev": true, "requires": { "es6-symbol": "^3.1.1", "object.assign": "^4.1.0" @@ -5401,12 +5486,14 @@ "map-cache": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=" + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", + "dev": true }, "map-visit": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "dev": true, "requires": { "object-visit": "^1.0.0" } @@ -5447,6 +5534,7 @@ "version": "0.4.1", "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", + "dev": true, "requires": { "errno": "^0.1.3", "readable-stream": "^2.0.1" @@ -5468,6 +5556,7 @@ "version": "3.1.10", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, "requires": { "arr-diff": "^4.0.0", "array-unique": "^0.3.2", @@ -5624,6 +5713,7 @@ "version": "1.3.1", "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz", "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", + "dev": true, "requires": { "for-in": "^1.0.2", "is-extendable": "^1.0.1" @@ -5633,6 +5723,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, "requires": { "is-plain-object": "^2.0.4" } @@ -5703,6 +5794,7 @@ "version": "1.2.13", "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "dev": true, "requires": { "arr-diff": "^4.0.0", "array-unique": "^0.3.2", @@ -5747,7 +5839,8 @@ "next-tick": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz", - "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=" + "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=", + "dev": true }, "nice-try": { "version": "1.0.5", @@ -5765,9 +5858,9 @@ } }, "node-abi": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-2.6.0.tgz", - "integrity": "sha512-kCnEh6af6Z6DB7RFI/7LHNwqRjvJW7rgrv3lhIFoQ/+XhLPI/lJYwsk5vzvkldPWWgqnAMcuPF5S8/jj56kVOA==", + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-2.7.1.tgz", + "integrity": "sha512-OV8Bq1OrPh6z+Y4dqwo05HqrRL9YNF7QVMRfq1/pguwKLG+q9UB/Lk0x5qXjO23JjJg+/jqCHSTaG1P3tfKfuw==", "requires": { "semver": "^5.4.1" } @@ -5845,6 +5938,23 @@ } } }, + "node-pre-gyp": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.11.0.tgz", + "integrity": "sha512-TwWAOZb0j7e9eGaf9esRx3ZcLaE5tQ2lvYy1pb5IAaG1a2e2Kv5Lms1Y4hpj+ciXJRofIxxlt5haeQ/2ANeE0Q==", + "requires": { + "detect-libc": "^1.0.2", + "mkdirp": "^0.5.1", + "needle": "^2.2.1", + "nopt": "^4.0.1", + "npm-packlist": "^1.1.6", + "npmlog": "^4.0.2", + "rc": "^1.2.7", + "rimraf": "^2.6.1", + "semver": "^5.3.0", + "tar": "^4" + } + }, "noop-logger": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/noop-logger/-/noop-logger-0.1.1.tgz", @@ -5874,14 +5984,14 @@ "integrity": "sha512-F9YMRls0zCF6BFIE2YnXDRpHPpfd91nOIaNdDgrx5YMoPLo8Wqj+6jNXHQsYBavJeXP4ww8HCt0xQAKc5qk2Fg==" }, "npm-bundled": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.0.5.tgz", - "integrity": "sha512-m/e6jgWu8/v5niCUKQi9qQl8QdeEduFA96xHDDzFGqly0OOjI7c+60KM/2sppfnUU9JJagf+zs+yGhqSOFj71g==" + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.0.6.tgz", + "integrity": "sha512-8/JCaftHwbd//k6y2rEWp6k1wxVfpFzB6t1p825+cUb7Ym2XQfhwIC5KwhrvzZRJu+LtDE585zVaS32+CGtf0g==" }, "npm-packlist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.2.0.tgz", - "integrity": "sha512-7Mni4Z8Xkx0/oegoqlcao/JpPCPEMtUvsmB0q7mgvlMinykJLSRTYuFqoQLYgGY8biuxIeiHO+QNJKbCfljewQ==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.3.0.tgz", + "integrity": "sha512-qPBc6CnxEzpOcc4bjoIBJbYdy0D/LFFPUdxvfwor4/w3vxeE0h6TiOVurCEPpQ6trjN77u/ShyfeJGsbAfB3dA==", "requires": { "ignore-walk": "^3.0.1", "npm-bundled": "^1.0.1" @@ -5930,6 +6040,7 @@ "version": "0.1.0", "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "dev": true, "requires": { "copy-descriptor": "^0.1.0", "define-property": "^0.2.5", @@ -5940,6 +6051,7 @@ "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, "requires": { "is-descriptor": "^0.1.0" } @@ -5948,6 +6060,7 @@ "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, "requires": { "is-buffer": "^1.1.5" } @@ -5957,12 +6070,14 @@ "object-keys": { "version": "1.0.12", "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.12.tgz", - "integrity": "sha512-FTMyFUm2wBcGHnH2eXmz7tC6IwlqQZ6mVZ+6dm6vZ4IQIHjs6FdNsQBuKGPuUUUY6NfJw2PshC08Tn6LzLDOag==" + "integrity": "sha512-FTMyFUm2wBcGHnH2eXmz7tC6IwlqQZ6mVZ+6dm6vZ4IQIHjs6FdNsQBuKGPuUUUY6NfJw2PshC08Tn6LzLDOag==", + "dev": true }, "object-visit": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "dev": true, "requires": { "isobject": "^3.0.0" } @@ -5971,6 +6086,7 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", + "dev": true, "requires": { "define-properties": "^1.1.2", "function-bind": "^1.1.1", @@ -5992,6 +6108,7 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "dev": true, "requires": { "isobject": "^3.0.1" } @@ -6176,7 +6293,8 @@ "pascalcase": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=" + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", + "dev": true }, "path-browserify": { "version": "0.0.0", @@ -6286,7 +6404,8 @@ "posix-character-classes": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=" + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", + "dev": true }, "postcss": { "version": "6.0.23", @@ -6344,9 +6463,9 @@ "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" }, "prebuild-install": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-5.2.2.tgz", - "integrity": "sha512-4e8VJnP3zJdZv/uP0eNWmr2r9urp4NECw7Mt1OSAi3rcLrbBRxGiAkfUFtre2MhQ5wfREAjRV+K1gubvs/GPsA==", + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-5.2.4.tgz", + "integrity": "sha512-CG3JnpTZXdmr92GW4zbcba4jkDha6uHraJ7hW4Fn8j0mExxwOKK20hqho8ZuBDCKYCHYIkFM1P2jhtG+KpP4fg==", "requires": { "detect-libc": "^1.0.3", "expand-template": "^2.0.3", @@ -6354,7 +6473,7 @@ "minimist": "^1.2.0", "mkdirp": "^0.5.1", "napi-build-utils": "^1.0.1", - "node-abi": "^2.2.0", + "node-abi": "^2.7.0", "noop-logger": "^0.1.1", "npmlog": "^4.0.1", "os-homedir": "^1.0.1", @@ -6429,7 +6548,8 @@ "prr": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", - "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=" + "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", + "dev": true }, "public-encrypt": { "version": "4.0.3", @@ -6769,6 +6889,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "dev": true, "requires": { "extend-shallow": "^3.0.2", "safe-regex": "^1.1.0" @@ -6836,12 +6957,14 @@ "repeat-element": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", - "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==" + "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==", + "dev": true }, "repeat-string": { "version": "1.6.1", "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "dev": true }, "repeating": { "version": "2.0.1", @@ -6898,12 +7021,14 @@ "resolve-url": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=" + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", + "dev": true }, "ret": { "version": "0.1.15", "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", - "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==" + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "dev": true }, "rimraf": { "version": "2.6.2", @@ -6940,6 +7065,7 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "dev": true, "requires": { "ret": "~0.1.10" } @@ -7064,6 +7190,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz", "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==", + "dev": true, "requires": { "extend-shallow": "^2.0.1", "is-extendable": "^0.1.1", @@ -7075,6 +7202,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, "requires": { "is-extendable": "^0.1.0" } @@ -7146,6 +7274,7 @@ "version": "0.8.2", "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "dev": true, "requires": { "base": "^0.11.1", "debug": "^2.2.0", @@ -7161,6 +7290,7 @@ "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, "requires": { "is-descriptor": "^0.1.0" } @@ -7169,6 +7299,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, "requires": { "is-extendable": "^0.1.0" } @@ -7176,7 +7307,8 @@ "source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true } } }, @@ -7184,6 +7316,7 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "dev": true, "requires": { "define-property": "^1.0.0", "isobject": "^3.0.0", @@ -7194,6 +7327,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, "requires": { "is-descriptor": "^1.0.0" } @@ -7202,6 +7336,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, "requires": { "kind-of": "^6.0.0" } @@ -7210,6 +7345,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, "requires": { "kind-of": "^6.0.0" } @@ -7218,6 +7354,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, "requires": { "is-accessor-descriptor": "^1.0.0", "is-data-descriptor": "^1.0.0", @@ -7230,6 +7367,7 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "dev": true, "requires": { "kind-of": "^3.2.0" }, @@ -7238,6 +7376,7 @@ "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, "requires": { "is-buffer": "^1.1.5" } @@ -7303,12 +7442,14 @@ "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true }, "source-map-resolve": { "version": "0.5.2", "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz", "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==", + "dev": true, "requires": { "atob": "^2.1.1", "decode-uri-component": "^0.2.0", @@ -7321,6 +7462,7 @@ "version": "0.5.9", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.9.tgz", "integrity": "sha512-gR6Rw4MvUlYy83vP0vxoVNzM6t8MUXqNuRsuBmBHQDu1Fh6X015FrLdgoDKcNdkwGubozq0P4N0Q37UyFVr1EA==", + "dev": true, "requires": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" @@ -7329,7 +7471,8 @@ "source-map-url": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", - "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=" + "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", + "dev": true }, "spdy": { "version": "4.0.0", @@ -7416,6 +7559,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "dev": true, "requires": { "extend-shallow": "^3.0.0" } @@ -7433,6 +7577,7 @@ "version": "0.1.2", "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "dev": true, "requires": { "define-property": "^0.2.5", "object-copy": "^0.1.0" @@ -7442,6 +7587,7 @@ "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, "requires": { "is-descriptor": "^0.1.0" } @@ -7531,11 +7677,6 @@ "ansi-regex": "^2.0.0" } }, - "strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=" - }, "strip-eof": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", @@ -7601,7 +7742,8 @@ "tapable": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.1.tgz", - "integrity": "sha512-9I2ydhj8Z9veORCw5PRm4u9uebCn0mcCa6scWoNcbZ6dAtoo2618u9UUzxgmsCOreJpqDDuv61LvwofW7hLcBA==" + "integrity": "sha512-9I2ydhj8Z9veORCw5PRm4u9uebCn0mcCa6scWoNcbZ6dAtoo2618u9UUzxgmsCOreJpqDDuv61LvwofW7hLcBA==", + "dev": true }, "tar": { "version": "4.4.8", @@ -7814,6 +7956,7 @@ "version": "0.3.0", "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "dev": true, "requires": { "kind-of": "^3.0.2" }, @@ -7822,6 +7965,7 @@ "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, "requires": { "is-buffer": "^1.1.5" } @@ -7832,6 +7976,7 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "dev": true, "requires": { "define-property": "^2.0.2", "extend-shallow": "^3.0.2", @@ -7843,6 +7988,7 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "dev": true, "requires": { "is-number": "^3.0.0", "repeat-string": "^1.6.1" @@ -7860,43 +8006,6 @@ "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=", "dev": true }, - "tsconfig-paths": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.7.0.tgz", - "integrity": "sha512-7iE+Q/2E1lgvxD+c0Ot+GFFmgmfIjt/zCayyruXkXQ84BLT85gHXy0WSoQSiuFX9+d+keE/jiON7notV74ZY+A==", - "requires": { - "@types/json5": "^0.0.29", - "deepmerge": "^2.0.1", - "json5": "^1.0.1", - "minimist": "^1.2.0", - "strip-bom": "^3.0.0" - }, - "dependencies": { - "deepmerge": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-2.2.1.tgz", - "integrity": "sha512-R9hc1Xa/NOBi9WRVUWg19rl1UB7Tt4kuPd+thNJgFZoxXsTz7ncaPaeIm+40oSGuP33DfMb4sZt1QIGiJzC4EA==" - }, - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "requires": { - "minimist": "^1.2.0" - } - } - } - }, - "tsconfig-paths-webpack-plugin": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/tsconfig-paths-webpack-plugin/-/tsconfig-paths-webpack-plugin-3.2.0.tgz", - "integrity": "sha512-S/gOOPOkV8rIL4LurZ1vUdYCVgo15iX9ZMJ6wx6w2OgcpT/G4wMyHB6WM+xheSqGMrWKuxFul+aXpCju3wmj/g==", - "requires": { - "chalk": "^2.3.0", - "enhanced-resolve": "^4.0.0", - "tsconfig-paths": "^3.4.0" - } - }, "tslib": { "version": "1.9.3", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.3.tgz", @@ -7962,6 +8071,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", + "dev": true, "requires": { "arr-union": "^3.1.0", "get-value": "^2.0.6", @@ -7973,6 +8083,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, "requires": { "is-extendable": "^0.1.0" } @@ -7981,6 +8092,7 @@ "version": "0.4.3", "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz", "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=", + "dev": true, "requires": { "extend-shallow": "^2.0.1", "is-extendable": "^0.1.1", @@ -8023,6 +8135,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "dev": true, "requires": { "has-value": "^0.3.1", "isobject": "^3.0.0" @@ -8032,6 +8145,7 @@ "version": "0.3.1", "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "dev": true, "requires": { "get-value": "^2.0.3", "has-values": "^0.1.4", @@ -8042,6 +8156,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true, "requires": { "isarray": "1.0.0" } @@ -8051,7 +8166,8 @@ "has-values": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=" + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", + "dev": true } } }, @@ -8087,7 +8203,8 @@ "urix": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=" + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", + "dev": true }, "url": { "version": "0.11.0", @@ -8140,31 +8257,13 @@ "requires": { "nan": "^2.8.0", "node-pre-gyp": "^0.11.0" - }, - "dependencies": { - "node-pre-gyp": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.11.0.tgz", - "integrity": "sha512-TwWAOZb0j7e9eGaf9esRx3ZcLaE5tQ2lvYy1pb5IAaG1a2e2Kv5Lms1Y4hpj+ciXJRofIxxlt5haeQ/2ANeE0Q==", - "requires": { - "detect-libc": "^1.0.2", - "mkdirp": "^0.5.1", - "needle": "^2.2.1", - "nopt": "^4.0.1", - "npm-packlist": "^1.1.6", - "npmlog": "^4.0.2", - "rc": "^1.2.7", - "rimraf": "^2.6.1", - "semver": "^5.3.0", - "tar": "^4" - } - } } }, "use": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", - "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==" + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", + "dev": true }, "util": { "version": "0.11.1", diff --git a/package.json b/package.json index 9b86053b..9b032db6 100755 --- a/package.json +++ b/package.json @@ -45,7 +45,7 @@ "dependencies": { "@material-ui/core": "^3.8.3", "@material-ui/icons": "^3.0.1", - "conseiljs": "https://github.com/Cryptonomic/ConseilJS.git#beta2-package", + "conseiljs": "^0.2.0", "moment": "^2.23.0", "react": "^16.4.1", "react-dom": "^16.4.1", From 7e978e4b40dfde6cdbbe4ee852372c234961c467 Mon Sep 17 00:00:00 2001 From: Sean M Date: Thu, 14 Feb 2019 09:28:57 +1300 Subject: [PATCH 17/38] updated travis.yml --- .travis.yml | 70 +++- package-lock.json | 976 ++++++++++++++++++++++++++-------------------- 2 files changed, 615 insertions(+), 431 deletions(-) diff --git a/.travis.yml b/.travis.yml index a3c0f2a8..1c656d69 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,17 +1,59 @@ -language: node_js -node_js: - - "stable" +sudo: true +matrix: + include: + - os: osx + osx_image: xcode9.4 + language: node_js + node_js: + - 8 + - os: linux + services: docker + language: node_js + node_js: + - 8 + addons: + apt: + sources: + - ubuntu-toolchain-r-test + packages: + - libudev-dev + - g++-4.8 + - icnsutils + - graphicsmagick + - xz-utils + - xorriso + - rpm + - g++-4.8-multilib + - gcc-multilib + - libusb-1.0-0-dev + cache: + yarn: true directories: - - node_modules + - node_modules + +install: + - npm install + # On Linux, initialize "virtual display". See before_script + - | + if [ "$TRAVIS_OS_NAME" == "linux" ]; then + /sbin/start-stop-daemon \ + --start \ + --quiet \ + --pidfile /tmp/custom_xvfb_99.pid \ + --make-pidfile \ + --background \ + --exec /usr/bin/Xvfb \ + -- :99 -ac -screen 0 1280x1024x16 + else + : + fi +before_script: + # On Linux, create a "virtual display". This allows browsers to work properly + - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then export DISPLAY=:99.0; fi + - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then sh -e /etc/init.d/xvfb start; fi + - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then sleep 3; fi + script: - - npm run lint - - npm test - - npm run build -deploy: - provider: pages - skip_cleanup: true - github_token: $githubToken - local_dir: build - on: - branch: master + - node --version + - npm run build \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index ff5f29a7..abc9fbe1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -29,20 +29,13 @@ } }, "@babel/types": { - "version": "7.3.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.3.0.tgz", - "integrity": "sha512-QkFPw68QqWU1/RVPyBe8SO7lXbPfjtqAxRYQKpFpaB8yMq7X2qAqfwK5LKoQufEkSmO5NQ70O6Kc3Afk03RwXw==", + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.3.2.tgz", + "integrity": "sha512-3Y6H8xlUlpbGR+XvawiH0UXehqydTmNmEpozWcXymqwcrwYAl5KMvKtQ+TF6f6E08V6Jur7v/ykdDSF+WDEIXQ==", "requires": { "esutils": "^2.0.2", "lodash": "^4.17.10", "to-fast-properties": "^2.0.0" - }, - "dependencies": { - "to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=" - } } }, "@emotion/is-prop-valid": { @@ -83,9 +76,9 @@ } }, "@material-ui/core": { - "version": "3.9.1", - "resolved": "https://registry.npmjs.org/@material-ui/core/-/core-3.9.1.tgz", - "integrity": "sha512-26GtjuwxPPfSsUnYrTOC8zuCuhWPVhc4SsUSFTZq0n1QvpGi9UEZRFe8yp6FykQE+PmqyyY+eWdrfiXKSUKZ0w==", + "version": "3.9.2", + "resolved": "https://registry.npmjs.org/@material-ui/core/-/core-3.9.2.tgz", + "integrity": "sha512-aukR3mSH3g115St2OnqoeMRtmxzxxx+Mch7pFKRV3Tz3URExBlZwOolimjxKZpG4LGec8HlhREawafLsDzjVWQ==", "requires": { "@babel/runtime": "^7.2.0", "@material-ui/system": "^3.0.0-alpha.0", @@ -117,40 +110,12 @@ } }, "@material-ui/icons": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@material-ui/icons/-/icons-3.0.1.tgz", - "integrity": "sha512-1kNcxYiIT1x8iDPEAlgmKrfRTIV8UyK6fLVcZ9kMHIKGWft9I451V5mvSrbCjbf7MX1TbLWzZjph0aVCRf9MqQ==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@material-ui/icons/-/icons-3.0.2.tgz", + "integrity": "sha512-QY/3gJnObZQ3O/e6WjH+0ah2M3MOgLOzCy8HTUoUx9B6dDrS18vP7Ycw3qrDEKlB6q1KNxy6CZHm5FCauWGy2g==", "requires": { - "@babel/runtime": "7.0.0", - "recompose": "^0.29.0" - }, - "dependencies": { - "@babel/runtime": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.0.0.tgz", - "integrity": "sha512-7hGhzlcmg01CvH1EHdSPVXYX1aJ8KCEyz6I9xYIi/asDtzBPMyMhVibhM/K6g/5qnKBwjZtp10bNZIEFTRW1MA==", - "requires": { - "regenerator-runtime": "^0.12.0" - } - }, - "hoist-non-react-statics": { - "version": "2.5.5", - "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-2.5.5.tgz", - "integrity": "sha512-rqcy4pJo55FTTLWt+bU8ukscqHeE/e9KWvsOW2b/a3afxQZhwkQdT1rPPCJ0rYXdj4vNcasY8zHTH+jF/qStxw==" - }, - "recompose": { - "version": "0.29.0", - "resolved": "https://registry.npmjs.org/recompose/-/recompose-0.29.0.tgz", - "integrity": "sha512-J/qLXNU4W+AeHCDR70ajW8eMd1uroqZaECTj6qqDLPMILz3y0EzpYlvrnxKB9DnqcngWrtGwjXY9JeXaW9kS1A==", - "requires": { - "@babel/runtime": "^7.0.0", - "change-emitter": "^0.1.2", - "fbjs": "^0.8.1", - "hoist-non-react-statics": "^2.3.1", - "react-lifecycles-compat": "^3.0.2", - "symbol-observable": "^1.0.4" - } - } + "@babel/runtime": "^7.2.0", + "recompose": "0.28.0 - 0.30.0" } }, "@material-ui/system": { @@ -190,9 +155,9 @@ } }, "@types/node": { - "version": "10.12.18", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.12.18.tgz", - "integrity": "sha512-fh+pAqt4xRzPfqA6eh3Z2y6fyZavRIumvjhaCL753+TVkGKGhpPeyrJG2JftD0T9q4GF00KjefsQ+PQNDdWQaQ==", + "version": "10.12.26", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.12.26.tgz", + "integrity": "sha512-nMRqS+mL1TOnIJrL6LKJcNZPB8V3eTfRo9FQA2b5gDvrHurC8XbSA86KNe0dShlEL7ReWJv/OU9NL7Z0dnqWTg==", "dev": true }, "@types/prop-types": { @@ -201,27 +166,27 @@ "integrity": "sha512-3AQoUxQcQtLHsK25wtTWIoIpgYjH3vSDroZOUr7PpCHw/jLY1RB9z9E8dBT/OSmwStVgkRNvdh+ZHNiomRieaw==" }, "@types/react": { - "version": "16.7.18", - "resolved": "https://registry.npmjs.org/@types/react/-/react-16.7.18.tgz", - "integrity": "sha512-Tx4uu3ppK53/iHk6VpamMP3f3ahfDLEVt3ZQc8TFm30a1H3v9lMsCntBREswZIW/SKrvJjkb3Hq8UwO6GREBng==", + "version": "16.8.2", + "resolved": "https://registry.npmjs.org/@types/react/-/react-16.8.2.tgz", + "integrity": "sha512-6mcKsqlqkN9xADrwiUz2gm9Wg4iGnlVGciwBRYFQSMWG6MQjhOZ/AVnxn+6v8nslFgfYTV8fNdE6XwKu6va5PA==", "requires": { "@types/prop-types": "*", "csstype": "^2.2.0" } }, "@types/react-dom": { - "version": "16.0.11", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-16.0.11.tgz", - "integrity": "sha512-x6zUx9/42B5Kl2Vl9HlopV8JF64wLpX3c+Pst9kc1HgzrsH+mkehe/zmHMQTplIrR48H2gpU7ZqurQolYu8XBA==", + "version": "16.8.0", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-16.8.0.tgz", + "integrity": "sha512-Jp4ufcEEjVJEB0OHq2MCZcE1u3KYUKO6WnSuiU/tZeYeiZxUoQavfa/TZeiIT+1XoN6l0lQVNM30VINZFDeolQ==", "dev": true, "requires": { "@types/react": "*" } }, "@types/react-redux": { - "version": "6.0.11", - "resolved": "https://registry.npmjs.org/@types/react-redux/-/react-redux-6.0.11.tgz", - "integrity": "sha512-I3POoeGGwNqZjbK7TfnPJS2C51TFvT0atQPz4M+xpVTrLMjsX37AAfcTF3XUOTnmxHsryEjwJN9r/ScGwSXdtg==", + "version": "6.0.13", + "resolved": "https://registry.npmjs.org/@types/react-redux/-/react-redux-6.0.13.tgz", + "integrity": "sha512-69lPYT69CSvzQ75Ut4MfT+oQU9TAjCycdL6BQOrPztqbzdhzSe1d4Qj8vrMkTOm454Xz151zh+YT6S4t2OBopw==", "dev": true, "requires": { "@types/react": "*", @@ -229,9 +194,9 @@ } }, "@types/react-router": { - "version": "4.4.3", - "resolved": "https://registry.npmjs.org/@types/react-router/-/react-router-4.4.3.tgz", - "integrity": "sha512-8GmjakEBFNCLJbpg9jtDp1EDvFP0VkIPPKBpVwmB3Q+9whFoHu8rluMUXUE5SoGkEQvVOtgJzWmUsJojNpFMQQ==", + "version": "4.4.4", + "resolved": "https://registry.npmjs.org/@types/react-router/-/react-router-4.4.4.tgz", + "integrity": "sha512-TZVfpT6nvUv/lbho/nRtckEtgkhspOQr3qxrnpXixwgQRKKyg5PvDfNKc8Uend/p/Pi70614VCmC0NPAKWF+0g==", "dev": true, "requires": { "@types/history": "*", @@ -457,24 +422,21 @@ } }, "acorn": { - "version": "5.7.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.3.tgz", - "integrity": "sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.1.0.tgz", + "integrity": "sha512-MW/FjM+IvU9CgBzjO3UIPCE2pyEwUsoFl+VGdczOPEdxfGFjuKny/gN54mOuX7Qxmb9Rg9MCn2oKiSUeW+pjrw==", "dev": true }, "acorn-dynamic-import": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-3.0.0.tgz", - "integrity": "sha512-zVWV8Z8lislJoOKKqdNMOB+s6+XV5WERty8MnKBeFgwA+19XJjJHs2RP5dzM57FftIs+jQnRToLiWazKr6sSWg==", - "dev": true, - "requires": { - "acorn": "^5.0.0" - } + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-4.0.0.tgz", + "integrity": "sha512-d3OEjQV4ROpoflsnUA8HozoIR504TFxNivYEUi6uwz0IYhBkTDXGuWlNdMtybRt3nqVx/L6XqMt0FxkXuWKZhw==", + "dev": true }, "ajv": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.7.0.tgz", - "integrity": "sha512-RZXPviBTtfmtka9n9sy1N5M5b82CbxWIR6HIis4s3WQTXDJamc/0gpCWNGz6EWdWp4DOfjzJfhz/AS9zVPjjWg==", + "version": "6.9.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.9.1.tgz", + "integrity": "sha512-XDN92U311aINL77ieWHmqCcNlwjoP5cHXDxIxbf2MaPYuCXOHS7gHH8jktxeK5omgd52XbSTX6a4Piwd1pQmzA==", "dev": true, "requires": { "fast-deep-equal": "^2.0.1", @@ -490,9 +452,9 @@ "dev": true }, "ajv-keywords": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.2.0.tgz", - "integrity": "sha1-6GuBnGAs+IIa1jdBNpjx3sAhhHo=", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.4.0.tgz", + "integrity": "sha512-aUjdRFISbuFOl0EIZc+9e4FfZp0bDZgAdOOf30bJmw8VM9v84SHyVyxDfbWxpGYbdZD/9XoKxfHVNmxPkhwyGw==", "dev": true }, "ansi-colors": { @@ -529,6 +491,17 @@ "requires": { "micromatch": "^3.1.4", "normalize-path": "^2.1.1" + }, + "dependencies": { + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "requires": { + "remove-trailing-separator": "^1.0.1" + } + } } }, "aproba": { @@ -675,20 +648,6 @@ "mkdirp": "^0.5.1", "source-map-support": "^0.5.3", "webpack-log": "^1.2.0" - }, - "dependencies": { - "webpack-log": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-1.2.0.tgz", - "integrity": "sha512-U9AnICnu50HXtiqiDxuli5gLB5PGBo7VvcHx36jRZHwK4vzOYLbImqT4lwWwoMHdQWwEKw736fCHEekokTEKHA==", - "dev": true, - "requires": { - "chalk": "^2.1.0", - "log-symbols": "^2.1.0", - "loglevelnext": "^1.0.1", - "uuid": "^3.1.0" - } - } } }, "aws-sdk": { @@ -716,15 +675,6 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.1.tgz", "integrity": "sha1-e45lYZCyKOgaZq6nSEgNgozS03o=" - }, - "url": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/url/-/url-0.10.3.tgz", - "integrity": "sha1-Ah5NnHcF8hu/N9A861h2dAJ3TGQ=", - "requires": { - "punycode": "1.3.2", - "querystring": "0.2.0" - } } } }, @@ -799,10 +749,10 @@ "source-map": "^0.5.7" }, "dependencies": { - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "json5": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", "dev": true } } @@ -821,14 +771,6 @@ "lodash": "^4.17.4", "source-map": "^0.5.7", "trim-right": "^1.0.1" - }, - "dependencies": { - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - } } }, "babel-helper-bindify-decorators": { @@ -1746,10 +1688,10 @@ "source-map-support": "^0.4.15" }, "dependencies": { - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "core-js": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.4.tgz", + "integrity": "sha512-05qQ5hXShcqGkPZpXEFLIpxayZscVD2kuMBZewxiIPPEagukO4mqgPA9CWhUvFBJfy3ODdK2p9xyHh7FTU9/7A==", "dev": true }, "source-map-support": { @@ -1772,6 +1714,11 @@ "regenerator-runtime": "^0.11.0" }, "dependencies": { + "core-js": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.4.tgz", + "integrity": "sha512-05qQ5hXShcqGkPZpXEFLIpxayZscVD2kuMBZewxiIPPEagukO4mqgPA9CWhUvFBJfy3ODdK2p9xyHh7FTU9/7A==" + }, "regenerator-runtime": { "version": "0.11.1", "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", @@ -1819,6 +1766,14 @@ "esutils": "^2.0.2", "lodash": "^4.17.4", "to-fast-properties": "^1.0.3" + }, + "dependencies": { + "to-fast-properties": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", + "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", + "dev": true + } } }, "babylon": { @@ -1928,9 +1883,9 @@ "dev": true }, "binary-extensions": { - "version": "1.12.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.12.0.tgz", - "integrity": "sha512-DYWGk01lDcxeS/K9IHPGWfT8PsJmbXRtRd2Sx72Tnb8pcYZQFF1oSDb8hJtS1vhp212q1Rzi5dUf9+nq0o9UIg==", + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.0.tgz", + "integrity": "sha512-EgmjVLMn22z7eGGv3kcnHwSnJXmFHjISTY9E/S5lIcTD3Oxw05QTcBLNkJFzcb3cNueUdF/IN4U+d78V0zO8Hw==", "dev": true }, "bindings": { @@ -2002,6 +1957,17 @@ "qs": "6.5.2", "raw-body": "2.3.3", "type-is": "~1.6.16" + }, + "dependencies": { + "iconv-lite": { + "version": "0.4.23", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz", + "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==", + "dev": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + } } }, "bonjour": { @@ -2285,16 +2251,21 @@ "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", "dev": true }, + "camelize": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/camelize/-/camelize-1.0.0.tgz", + "integrity": "sha1-FkpUg+Yw+kMh5a8HAg5TGDGyYJs=" + }, "caniuse-lite": { - "version": "1.0.30000932", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000932.tgz", - "integrity": "sha512-4bghJFItvzz8m0T3lLZbacmEY9X1Z2AtIzTr7s7byqZIOumASfr4ynDx7rtm0J85nDmx8vsgR6vnaSoeU8Oh0A==", + "version": "1.0.30000936", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000936.tgz", + "integrity": "sha512-orX4IdpbFhdNO7bTBhSbahp1EBpqzBc+qrvTRVUFfZgA4zta7TdM6PN5ZxkEUgDnz36m+PfWGcdX7AVfFWItJw==", "dev": true }, "chalk": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", - "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, "requires": { "ansi-styles": "^3.2.1", @@ -2308,24 +2279,23 @@ "integrity": "sha1-6LL+PX8at9aaMhma/5HqaTFAlRU=" }, "chokidar": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.0.4.tgz", - "integrity": "sha512-z9n7yt9rOvIJrMhvDtDictKrkFHeihkNl6uWMmZlmL6tJtX9Cs+87oK+teBx+JIgzvbX3yZHT3eF8vpbDxHJXQ==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.1.tgz", + "integrity": "sha512-gfw3p2oQV2wEt+8VuMlNsPjCxDxvvgnm/kz+uATu805mWVF8IJN7uz9DN7iBz+RMJISmiVbCOBFs9qBGMjtPfQ==", "dev": true, "requires": { "anymatch": "^2.0.0", - "async-each": "^1.0.0", - "braces": "^2.3.0", - "fsevents": "^1.2.2", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "fsevents": "^1.2.7", "glob-parent": "^3.1.0", - "inherits": "^2.0.1", + "inherits": "^2.0.3", "is-binary-path": "^1.0.0", "is-glob": "^4.0.0", - "lodash.debounce": "^4.0.8", - "normalize-path": "^2.1.1", + "normalize-path": "^3.0.0", "path-is-absolute": "^1.0.0", - "readdirp": "^2.0.0", - "upath": "^1.0.5" + "readdirp": "^2.2.1", + "upath": "^1.1.0" } }, "chownr": { @@ -2386,6 +2356,14 @@ "dev": true, "requires": { "source-map": "~0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } } }, "cliui": { @@ -2405,6 +2383,22 @@ "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", "dev": true }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + } + }, "strip-ansi": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", @@ -2613,9 +2607,9 @@ "dev": true }, "core-js": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.1.tgz", - "integrity": "sha512-L72mmmEayPJBejKIWe2pYtGis5r0tQ5NaJekdhyXgeMQTpJoBsH0NL4ElY2LfSoV15xeQWKQ+XTTOZdyero5Xg==" + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz", + "integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY=" }, "core-util-is": { "version": "1.0.2", @@ -2761,12 +2755,12 @@ } }, "css-to-react-native": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/css-to-react-native/-/css-to-react-native-2.2.2.tgz", - "integrity": "sha512-w99Fzop1FO8XKm0VpbQp3y5mnTnaS+rtCvS+ylSEOK76YXO5zoHQx/QMB1N54Cp+Ya9jB9922EHrh14ld4xmmw==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/css-to-react-native/-/css-to-react-native-2.3.0.tgz", + "integrity": "sha512-IhR7bNIrCFwbJbKZOAjNDZdwpsbjTN6f1agXeELHDqg1wHPA8c2QLruttKOW7hgMGetkfraRJCIEMrptifBfVw==", "requires": { + "camelize": "^1.0.0", "css-color-keywords": "^1.0.0", - "fbjs": "^0.8.5", "postcss-value-parser": "^3.3.0" } }, @@ -2791,9 +2785,9 @@ "dev": true }, "csstype": { - "version": "2.5.8", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.5.8.tgz", - "integrity": "sha512-r4DbsyNJ7slwBSKoGesxDubRWJ71ghG8W2+1HcsDlAo12KGca9dDLv0u98tfdFw7ldBdoA7XmCnI6Q8LpAJXaQ==" + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.2.tgz", + "integrity": "sha512-Rl7PvTae0pflc1YtxtKbiSqq20Ts6vpIYOD5WBafl4y123DyHUeLrRdQP66sQW8/6gmX8jrYJLXwNeMqYVJcow==" }, "cyclist": { "version": "0.2.2", @@ -2997,6 +2991,12 @@ "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", "dev": true }, + "detect-file": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz", + "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=", + "dev": true + }, "detect-indent": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", @@ -3120,9 +3120,9 @@ } }, "duplexify": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.6.1.tgz", - "integrity": "sha512-vM58DwdnKmty+FSPzT14K9JXb90H+j5emaR4KYbr2KTIz00WHGbWOe5ghQTx233ZCLZtrGDALzKwcjEtSt35mA==", + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", + "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", "dev": true, "requires": { "end-of-stream": "^1.0.0", @@ -3138,9 +3138,9 @@ "dev": true }, "electron-to-chromium": { - "version": "1.3.108", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.108.tgz", - "integrity": "sha512-/QI4hMpAh48a1Sea6PALGv+kuVne9A2EWGd8HrWHMdYhIzGtbhVVHh6heL5fAzGaDnZuPyrlWJRl8WPm4RyiQQ==", + "version": "1.3.113", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.113.tgz", + "integrity": "sha512-De+lPAxEcpxvqPTyZAXELNpRZXABRxf+uL/rSykstQhzj/B0l1150G/ExIIxKc16lI89Hgz81J0BHAcbTqK49g==", "dev": true }, "elliptic": { @@ -3401,6 +3401,15 @@ "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz", "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==" }, + "expand-tilde": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", + "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=", + "dev": true, + "requires": { + "homedir-polyfill": "^1.0.1" + } + }, "express": { "version": "4.16.4", "resolved": "https://registry.npmjs.org/express/-/express-4.16.4.tgz", @@ -3444,6 +3453,12 @@ "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", "dev": true + }, + "path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=", + "dev": true } } }, @@ -3572,13 +3587,6 @@ "promise": "^7.1.1", "setimmediate": "^1.0.5", "ua-parser-js": "^0.7.18" - }, - "dependencies": { - "core-js": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz", - "integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY=" - } } }, "figgy-pudding": { @@ -3660,6 +3668,29 @@ "locate-path": "^2.0.0" } }, + "findup-sync": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-2.0.0.tgz", + "integrity": "sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw=", + "dev": true, + "requires": { + "detect-file": "^1.0.0", + "is-glob": "^3.1.0", + "micromatch": "^3.0.4", + "resolve-dir": "^1.0.1" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "requires": { + "is-extglob": "^2.1.0" + } + } + } + }, "flow-config-parser": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/flow-config-parser/-/flow-config-parser-0.3.0.tgz", @@ -3667,13 +3698,13 @@ "dev": true }, "flush-write-stream": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.0.3.tgz", - "integrity": "sha512-calZMC10u0FMUqoiunI2AiGIIUtUIvifNwkHhNupZH4cbNnW1Itkoh/Nf5HFYmDrwWPjrUxpkZT0KhuCq0jmGw==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", + "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", "dev": true, "requires": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.4" + "inherits": "^2.0.3", + "readable-stream": "^2.3.6" } }, "follow-redirects": { @@ -4330,26 +4361,6 @@ "string-width": "^1.0.1", "strip-ansi": "^3.0.1", "wide-align": "^1.1.0" - }, - "dependencies": { - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - } } }, "get-caller-file": { @@ -4424,11 +4435,29 @@ } } }, - "global-modules-path": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/global-modules-path/-/global-modules-path-2.3.1.tgz", - "integrity": "sha512-y+shkf4InI7mPRHSo2b/k6ix6+NLDtyccYv86whhxrSGX9wjPX1VMITmrDbE1eh7zkzhiWtW2sHklJYoQ62Cxg==", - "dev": true + "global-modules": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", + "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", + "dev": true, + "requires": { + "global-prefix": "^1.0.1", + "is-windows": "^1.0.1", + "resolve-dir": "^1.0.0" + } + }, + "global-prefix": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", + "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=", + "dev": true, + "requires": { + "expand-tilde": "^2.0.2", + "homedir-polyfill": "^1.0.1", + "ini": "^1.3.4", + "is-windows": "^1.0.1", + "which": "^1.2.14" + } }, "globals": { "version": "9.18.0", @@ -4609,6 +4638,15 @@ "os-tmpdir": "^1.0.1" } }, + "homedir-polyfill": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.1.tgz", + "integrity": "sha1-TCu8inWJmP7r9e1oWA921GdotLw=", + "dev": true, + "requires": { + "parse-passwd": "^1.0.0" + } + }, "hpack.js": { "version": "2.1.6", "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", @@ -4663,6 +4701,12 @@ "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==", "dev": true }, + "json5": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", + "dev": true + }, "loader-utils": { "version": "0.2.17", "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz", @@ -4715,6 +4759,12 @@ "isarray": "0.0.1", "string_decoder": "~0.10.x" } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true } } }, @@ -4777,14 +4827,14 @@ "dev": true }, "hyphenate-style-name": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/hyphenate-style-name/-/hyphenate-style-name-1.0.2.tgz", - "integrity": "sha1-MRYKNpMK2vH8BMYHT360FGXU7Es=" + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/hyphenate-style-name/-/hyphenate-style-name-1.0.3.tgz", + "integrity": "sha512-EcuixamT82oplpoJ2XU4pDtKGWQ7b00CD9f1ug9IaQ3p1bkHMiKCZ9ut9QDI6qsa6cpUuB+A/I+zLtdNK4n2DQ==" }, "iconv-lite": { - "version": "0.4.23", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz", - "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==", + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", "requires": { "safer-buffer": ">= 2.1.2 < 3" } @@ -5082,9 +5132,12 @@ } }, "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "requires": { + "number-is-nan": "^1.0.0" + } }, "is-glob": { "version": "4.0.0", @@ -5247,10 +5300,13 @@ "dev": true }, "json5": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", - "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", - "dev": true + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } }, "jss": { "version": "9.8.7", @@ -5375,25 +5431,14 @@ "dev": true }, "loader-utils": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.1.tgz", - "integrity": "sha512-3Zhx4qDqBQ9U8udWB3RMJ29nLu5a3ObNOSzk87woPvge01pi0wABowgv7F79Z4mL0DGtHRi/oOndT34EVhInoQ==", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz", + "integrity": "sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==", "dev": true, "requires": { "big.js": "^5.2.2", "emojis-list": "^2.0.0", "json5": "^1.0.1" - }, - "dependencies": { - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } - } } }, "locate-path": { @@ -5411,12 +5456,6 @@ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==" }, - "lodash.debounce": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=", - "dev": true - }, "log-symbols": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", @@ -5515,14 +5554,14 @@ "dev": true }, "mem": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/mem/-/mem-4.0.0.tgz", - "integrity": "sha512-WQxG/5xYc3tMbYLXoXPm81ET2WDULiU5FxbuIoNbJqLOOI8zehXFdZuiUEgfdrU2mVB1pxBZUGlYORSrpuJreA==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/mem/-/mem-4.1.0.tgz", + "integrity": "sha512-I5u6Q1x7wxO0kdOpYBB28xueHADYps5uty/zg936CiG8NTe5sJL8EjrCuLneuDW3PlMdZBGDIn8BirEVdovZvg==", "dev": true, "requires": { "map-age-cleaner": "^0.1.1", "mimic-fn": "^1.0.0", - "p-is-promise": "^1.1.0" + "p-is-promise": "^2.0.0" } }, "memoize-one": { @@ -5746,9 +5785,9 @@ } }, "moment": { - "version": "2.23.0", - "resolved": "https://registry.npmjs.org/moment/-/moment-2.23.0.tgz", - "integrity": "sha512-3IE39bHVqFbWWaPOMHZF98Q9c3LDKGTmypMiTM2QygGXXElkFWIH7GxfmlwmY2vwa+wmNsoYZmG2iusf1ZjJoA==" + "version": "2.24.0", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.24.0.tgz", + "integrity": "sha512-bV7f+6l2QigeBBZSM/6yTNq4P2fNpSWj/0e7jQcy87A8e7o2nAfP/34/2ky5Vw4B9S446EtIhodAzkFCcR4dQg==" }, "move-concurrently": { "version": "1.0.1", @@ -5921,19 +5960,14 @@ "vm-browserify": "0.0.4" }, "dependencies": { - "events": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.0.0.tgz", - "integrity": "sha512-Dc381HFWJzEOhQ+d8pkNon++bk9h6cdAoAj4iE6Q4y6xgTzySWXlKn05/TVNpjnfRqi/X0EpJEJohPjNI3zpVA==", - "dev": true - }, - "string_decoder": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.2.0.tgz", - "integrity": "sha512-6YqyX6ZWEYguAxgZzHGL7SsCeGx3V2TtOTqZz1xSTSWnqsbWwbptafNyvf/ACquZUXV3DANr5BDIwNYe1mN42w==", + "url": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", + "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", "dev": true, "requires": { - "safe-buffer": "~5.1.0" + "punycode": "1.3.2", + "querystring": "0.2.0" } } } @@ -5970,13 +6004,10 @@ } }, "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "dev": true, - "requires": { - "remove-trailing-separator": "^1.0.1" - } + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true }, "normalize-scroll-left": { "version": "0.1.2", @@ -6068,9 +6099,9 @@ } }, "object-keys": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.12.tgz", - "integrity": "sha512-FTMyFUm2wBcGHnH2eXmz7tC6IwlqQZ6mVZ+6dm6vZ4IQIHjs6FdNsQBuKGPuUUUY6NfJw2PshC08Tn6LzLDOag==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.0.tgz", + "integrity": "sha512-6OO5X1+2tYkNyNEx6TsCxEqFfRWaqx6EtMiSbGrw8Ob8v9Ne+Hl8rBAgLBZn5wjEz3s/s6U1WXFUFOcxxAwUpg==", "dev": true }, "object-visit": { @@ -6209,9 +6240,9 @@ "dev": true }, "p-is-promise": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-1.1.0.tgz", - "integrity": "sha1-nJRWmJ6fZYgBewQ01WCXZ1w9oF4=", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-2.0.0.tgz", + "integrity": "sha512-pzQPhYMCAgLAKPWD2jC3Se9fEfrD9npNos0y150EeqZll7akhEgGhTW/slB6lHku8AvYGiJ+YJ5hfHKePPgFWg==", "dev": true }, "p-limit": { @@ -6284,6 +6315,12 @@ "safe-buffer": "^5.1.1" } }, + "parse-passwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", + "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=", + "dev": true + }, "parseurl": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz", @@ -6332,10 +6369,19 @@ "dev": true }, "path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=", - "dev": true + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.7.0.tgz", + "integrity": "sha1-Wf3g9DW62suhA6hOnTvGTpa5k30=", + "requires": { + "isarray": "0.0.1" + }, + "dependencies": { + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" + } + } }, "pbkdf2": { "version": "3.0.17", @@ -6386,9 +6432,9 @@ "dev": true }, "popper.js": { - "version": "1.14.6", - "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.14.6.tgz", - "integrity": "sha512-AGwHGQBKumlk/MDfrSOf0JHhJCImdDMcGNoqKmKkU+68GFazv3CQ6q9r7Ja1sKDZmYWTckY/uLyEznheTDycnA==" + "version": "1.14.7", + "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.14.7.tgz", + "integrity": "sha512-4q1hNvoUre/8srWsH7hnoSJ5xVmIL4qgz+s4qf2TnJIMyZFUFMGH+9vE7mXynAlHSZ/NdTmmow86muD0myUkVQ==" }, "portfinder": { "version": "1.0.20", @@ -6416,6 +6462,14 @@ "chalk": "^2.4.1", "source-map": "^0.6.1", "supports-color": "^5.4.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } } }, "postcss-modules-extract-imports": { @@ -6527,12 +6581,13 @@ "dev": true }, "prop-types": { - "version": "15.6.2", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.2.tgz", - "integrity": "sha512-3pboPvLiWD7dkI3qf3KbUe6hKFKa52w+AE0VCqECtf+QHAKgOL37tTaNCnuX1nAAQ4ZhyP+kYVKf8rLmJ/feDQ==", + "version": "15.7.2", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz", + "integrity": "sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==", "requires": { - "loose-envify": "^1.3.1", - "object-assign": "^4.1.1" + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.8.1" } }, "proxy-addr": { @@ -6647,6 +6702,17 @@ "http-errors": "1.6.3", "iconv-lite": "0.4.23", "unpipe": "1.0.0" + }, + "dependencies": { + "iconv-lite": { + "version": "0.4.23", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz", + "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==", + "dev": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + } } }, "rc": { @@ -6683,29 +6749,19 @@ } }, "react-event-listener": { - "version": "0.6.5", - "resolved": "https://registry.npmjs.org/react-event-listener/-/react-event-listener-0.6.5.tgz", - "integrity": "sha512-//lCxOM3DQ0+xmTa/u9mI9mm55zCPdIKp89d8MGjlNsOOnXQ5sFDD1eed+sMBzQXKiRBLBMtSg/2T9RJFtfovw==", + "version": "0.6.6", + "resolved": "https://registry.npmjs.org/react-event-listener/-/react-event-listener-0.6.6.tgz", + "integrity": "sha512-+hCNqfy7o9wvO6UgjqFmBzARJS7qrNoda0VqzvOuioEpoEXKutiKuv92dSz6kP7rYLmyHPyYNLesi5t/aH1gfw==", "requires": { - "@babel/runtime": "7.2.0", + "@babel/runtime": "^7.2.0", "prop-types": "^15.6.0", "warning": "^4.0.1" - }, - "dependencies": { - "@babel/runtime": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.2.0.tgz", - "integrity": "sha512-oouEibCbHMVdZSDlJBO6bZmID/zA/G/Qx3H1d3rSNPTD+L8UNKvCat7aKWSJ74zYbm5zWGh0GQN0hKj8zYFTCg==", - "requires": { - "regenerator-runtime": "^0.12.0" - } - } } }, "react-is": { - "version": "16.7.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.7.0.tgz", - "integrity": "sha512-Z0VRQdF4NPDoI0tsXVMLkJLiwEBa+RP66g0xDHxgxysxSoCUccSten4RTF/UFvZF1dZvZ9Zu1sx+MDXwcOR34g==" + "version": "16.8.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.8.1.tgz", + "integrity": "sha512-ioMCzVDWvCvKD8eeT+iukyWrBGrA3DiFYkXfBsVYIRdaREZuBjENG+KjrikavCLasozqRWTwFUagU/O4vPpRMA==" }, "react-lifecycles-compat": { "version": "3.0.4", @@ -6744,19 +6800,6 @@ "version": "2.5.5", "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-2.5.5.tgz", "integrity": "sha512-rqcy4pJo55FTTLWt+bU8ukscqHeE/e9KWvsOW2b/a3afxQZhwkQdT1rPPCJ0rYXdj4vNcasY8zHTH+jF/qStxw==" - }, - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" - }, - "path-to-regexp": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.7.0.tgz", - "integrity": "sha1-Wf3g9DW62suhA6hOnTvGTpa5k30=", - "requires": { - "isarray": "0.0.1" - } } } }, @@ -6801,16 +6844,6 @@ "safe-buffer": "~5.1.1", "string_decoder": "~1.1.1", "util-deprecate": "~1.0.1" - }, - "dependencies": { - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } - } } }, "readdirp": { @@ -6854,9 +6887,9 @@ } }, "redux-devtools-extension": { - "version": "2.13.7", - "resolved": "https://registry.npmjs.org/redux-devtools-extension/-/redux-devtools-extension-2.13.7.tgz", - "integrity": "sha512-F2GlWMWxCTJGRjJ+GSZcGDcVAj6Pbf77FKb4C9S8eni5Eah6UBGNwxNj8K1MTtmItdZH1Wx+EvIifHN2KKcQrw==" + "version": "2.13.8", + "resolved": "https://registry.npmjs.org/redux-devtools-extension/-/redux-devtools-extension-2.13.8.tgz", + "integrity": "sha512-8qlpooP2QqPtZHQZRhx3x3OP5skEV1py/zUdMY28WNAocbafxdG2tRD1MWE7sp8obGMNYuLWanhhQ7EQvT1FBg==" }, "redux-thunk": { "version": "2.3.0", @@ -7007,6 +7040,16 @@ "resolve-from": "^3.0.0" } }, + "resolve-dir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", + "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=", + "dev": true, + "requires": { + "expand-tilde": "^2.0.0", + "global-modules": "^1.0.0" + } + }, "resolve-from": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", @@ -7031,11 +7074,11 @@ "dev": true }, "rimraf": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", - "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", "requires": { - "glob": "^7.0.5" + "glob": "^7.1.3" } }, "ripemd160": { @@ -7303,12 +7346,6 @@ "requires": { "is-extendable": "^0.1.0" } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true } } }, @@ -7440,9 +7477,9 @@ "dev": true }, "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", "dev": true }, "source-map-resolve": { @@ -7459,13 +7496,21 @@ } }, "source-map-support": { - "version": "0.5.9", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.9.tgz", - "integrity": "sha512-gR6Rw4MvUlYy83vP0vxoVNzM6t8MUXqNuRsuBmBHQDu1Fh6X015FrLdgoDKcNdkwGubozq0P4N0Q37UyFVr1EA==", + "version": "0.5.10", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.10.tgz", + "integrity": "sha512-YfQ3tQFTK/yzlGJuX8pTwa4tifQj4QS2Mj7UegOu8jAz59MqIiMGPXxQhVQiIMNzayuUSF/jEuVnfFF5JqybmQ==", "dev": true, "requires": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } } }, "source-map-url": { @@ -7543,15 +7588,6 @@ "string_decoder": "^1.1.1", "util-deprecate": "^1.0.1" } - }, - "string_decoder": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.2.0.tgz", - "integrity": "sha512-6YqyX6ZWEYguAxgZzHGL7SsCeGx3V2TtOTqZz1xSTSWnqsbWwbptafNyvf/ACquZUXV3DANr5BDIwNYe1mN42w==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } } } }, @@ -7640,34 +7676,22 @@ "dev": true }, "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "requires": { - "ansi-regex": "^3.0.0" - } - } + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" } }, "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", - "dev": true + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } }, "strip-ansi": { "version": "3.0.1", @@ -7796,20 +7820,28 @@ } }, "terser": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/terser/-/terser-3.14.1.tgz", - "integrity": "sha512-NSo3E99QDbYSMeJaEk9YW2lTg3qS9V0aKGlb+PlOrei1X02r1wSBHCNX/O+yeTRFSWPKPIGj6MqvvdqV4rnVGw==", + "version": "3.16.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-3.16.1.tgz", + "integrity": "sha512-JDJjgleBROeek2iBcSNzOHLKsB/MdDf+E/BOAJ0Tk9r7p9/fVobfv7LMJ/g/k3v9SXdmjZnIlFd5nfn/Rt0Xow==", "dev": true, "requires": { "commander": "~2.17.1", "source-map": "~0.6.1", - "source-map-support": "~0.5.6" + "source-map-support": "~0.5.9" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } } }, "terser-webpack-plugin": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.2.1.tgz", - "integrity": "sha512-GGSt+gbT0oKcMDmPx4SRSfJPE1XaN3kQRWG4ghxKQw9cn5G9x6aCKSsgYdvyM0na9NJ4Drv0RG6jbBByZ5CMjw==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.2.2.tgz", + "integrity": "sha512-1DMkTk286BzmfylAvLXwpJrI7dWa5BnFmscV/2dCr8+c56egFcbaeFAl7+sujAjdmpLam21XRdhA4oifLyiWWg==", "dev": true, "requires": { "cacache": "^11.0.2", @@ -7817,7 +7849,7 @@ "schema-utils": "^1.0.0", "serialize-javascript": "^1.4.0", "source-map": "^0.6.1", - "terser": "^3.8.1", + "terser": "^3.16.1", "webpack-sources": "^1.1.0", "worker-farm": "^1.5.2" }, @@ -7895,6 +7927,12 @@ "ajv-errors": "^1.0.0", "ajv-keywords": "^3.1.0" } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true } } }, @@ -7947,10 +7985,9 @@ "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==" }, "to-fast-properties": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", - "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", - "dev": true + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=" }, "to-object-path": { "version": "0.3.0", @@ -8048,9 +8085,9 @@ "integrity": "sha512-7uc1O8h1M1g0rArakJdf0uLRSSgFcYexrVoKo+bzJd32gd4gDy2L/Z+8/FjPnU9ydY3pEnVPtr9FyscYY60K1g==" }, "typescript": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.2.2.tgz", - "integrity": "sha512-VCj5UiSyHBjwfYacmDuc/NOk4QQixbE+Wn7MFJuS0nRuPQbof132Pw4u53dm264O8LPc2MVsc7RJNml5szurkg==" + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.3.3.tgz", + "integrity": "sha512-Y21Xqe54TBVp+VDSNbuDYdGw0BpoR/Q6wo/+35M8PAU0vipahnyduJWirxxdxjsAkS7hue53x2zp8gz7F05u0A==" }, "ua-parser-js": { "version": "0.7.19", @@ -8065,6 +8102,14 @@ "requires": { "commander": "~2.17.1", "source-map": "~0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } } }, "union-value": { @@ -8207,10 +8252,9 @@ "dev": true }, "url": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", - "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", - "dev": true, + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/url/-/url-0.10.3.tgz", + "integrity": "sha1-Ah5NnHcF8hu/N9A861h2dAJ3TGQ=", "requires": { "punycode": "1.3.2", "querystring": "0.2.0" @@ -8333,9 +8377,9 @@ } }, "warning": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/warning/-/warning-4.0.2.tgz", - "integrity": "sha512-wbTp09q/9C+jJn4KKJfJfoS6VleK/Dti0yqWSm6KMvJ4MRCXFQNapHuJXutJIrWV0Cf4AhTdeIe4qdKHR1+Hug==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/warning/-/warning-4.0.3.tgz", + "integrity": "sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==", "requires": { "loose-envify": "^1.0.0" } @@ -8361,17 +8405,17 @@ } }, "webpack": { - "version": "4.28.2", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.28.2.tgz", - "integrity": "sha512-PK3uVg3/NuNVOjPfYleFI6JF7khO7c2kIlksH7mivQm+QDcwiqV1x6+q89dDeOioh5FNxJHr3LKbDu3oSAhl9g==", + "version": "4.29.3", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.29.3.tgz", + "integrity": "sha512-xPJvFeB+8tUflXFq+OgdpiSnsCD5EANyv56co5q8q8+YtEasn5Sj3kzY44mta+csCIEB0vneSxnuaHkOL2h94A==", "dev": true, "requires": { "@webassemblyjs/ast": "1.7.11", "@webassemblyjs/helper-module-context": "1.7.11", "@webassemblyjs/wasm-edit": "1.7.11", "@webassemblyjs/wasm-parser": "1.7.11", - "acorn": "^5.6.2", - "acorn-dynamic-import": "^3.0.0", + "acorn": "^6.0.5", + "acorn-dynamic-import": "^4.0.0", "ajv": "^6.1.0", "ajv-keywords": "^3.1.0", "chrome-trace-event": "^1.0.0", @@ -8385,29 +8429,43 @@ "mkdirp": "~0.5.0", "neo-async": "^2.5.0", "node-libs-browser": "^2.0.0", - "schema-utils": "^0.4.4", + "schema-utils": "^1.0.0", "tapable": "^1.1.0", "terser-webpack-plugin": "^1.1.0", "watchpack": "^1.5.0", "webpack-sources": "^1.3.0" + }, + "dependencies": { + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "dev": true, + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + } } }, "webpack-cli": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-3.1.2.tgz", - "integrity": "sha512-Cnqo7CeqeSvC6PTdts+dywNi5CRlIPbLx1AoUPK2T6vC1YAugMG3IOoO9DmEscd+Dghw7uRlnzV1KwOe5IrtgQ==", + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-3.2.3.tgz", + "integrity": "sha512-Ik3SjV6uJtWIAN5jp5ZuBMWEAaP5E4V78XJ2nI+paFPh8v4HPSwo/myN0r29Xc/6ZKnd2IdrAlpSgNOu2CDQ6Q==", "dev": true, "requires": { "chalk": "^2.4.1", "cross-spawn": "^6.0.5", "enhanced-resolve": "^4.1.0", - "global-modules-path": "^2.3.0", + "findup-sync": "^2.0.0", + "global-modules": "^1.0.0", "import-local": "^2.0.0", "interpret": "^1.1.0", "loader-utils": "^1.1.0", "supports-color": "^5.5.0", "v8-compile-cache": "^2.0.2", - "yargs": "^12.0.2" + "yargs": "^12.0.4" } }, "webpack-dev-middleware": { @@ -8420,6 +8478,18 @@ "mime": "^2.3.1", "range-parser": "^1.0.3", "webpack-log": "^2.0.0" + }, + "dependencies": { + "webpack-log": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-2.0.0.tgz", + "integrity": "sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg==", + "dev": true, + "requires": { + "ansi-colors": "^3.0.0", + "uuid": "^3.3.2" + } + } } }, "webpack-dev-server": { @@ -8460,6 +8530,12 @@ "yargs": "12.0.2" }, "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, "camelcase": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", @@ -8493,6 +8569,12 @@ "locate-path": "^3.0.0" } }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, "locate-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", @@ -8544,6 +8626,47 @@ "ajv-keywords": "^3.1.0" } }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "dependencies": { + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, + "url": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", + "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", + "dev": true, + "requires": { + "punycode": "1.3.2", + "querystring": "0.2.0" + } + }, + "webpack-log": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-2.0.0.tgz", + "integrity": "sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg==", + "dev": true, + "requires": { + "ansi-colors": "^3.0.0", + "uuid": "^3.3.2" + } + }, "yargs": { "version": "12.0.2", "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.2.tgz", @@ -8576,13 +8699,15 @@ } }, "webpack-log": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-2.0.0.tgz", - "integrity": "sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-1.2.0.tgz", + "integrity": "sha512-U9AnICnu50HXtiqiDxuli5gLB5PGBo7VvcHx36jRZHwK4vzOYLbImqT4lwWwoMHdQWwEKw736fCHEekokTEKHA==", "dev": true, "requires": { - "ansi-colors": "^3.0.0", - "uuid": "^3.3.2" + "chalk": "^2.1.0", + "log-symbols": "^2.1.0", + "loglevelnext": "^1.0.1", + "uuid": "^3.1.0" } }, "webpack-sources": { @@ -8593,6 +8718,14 @@ "requires": { "source-list-map": "^2.0.0", "source-map": "~0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } } }, "websocket-driver": { @@ -8669,28 +8802,6 @@ "requires": { "string-width": "^1.0.1", "strip-ansi": "^3.0.1" - }, - "dependencies": { - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dev": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - } } }, "wrappy": { @@ -8754,6 +8865,12 @@ "yargs-parser": "^11.1.1" }, "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, "find-up": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", @@ -8763,6 +8880,12 @@ "locate-path": "^3.0.0" } }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, "locate-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", @@ -8796,6 +8919,25 @@ "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.0.0.tgz", "integrity": "sha512-hMp0onDKIajHfIkdRk3P4CdCmErkYAxxDtP3Wx/4nZ3aGlau2VKh3mZpcuFkH27WQkL/3WBCPOktzA9ZOAnMQQ==", "dev": true + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } } } }, From 006fb3279faa44715faba55fefff9d4eb2d4889f Mon Sep 17 00:00:00 2001 From: Sean M Date: Thu, 14 Feb 2019 09:41:13 +1300 Subject: [PATCH 18/38] implemented dumb config --- src/components/Header/index.tsx | 72 ++++++++++++++++++--------------- src/reducers/app/thunks.ts | 16 ++++---- src/utils/getconfig.ts | 0 3 files changed, 48 insertions(+), 40 deletions(-) create mode 100644 src/utils/getconfig.ts diff --git a/src/components/Header/index.tsx b/src/components/Header/index.tsx index fd898c17..af6c4b0f 100755 --- a/src/components/Header/index.tsx +++ b/src/components/Header/index.tsx @@ -1,4 +1,3 @@ - import * as React from 'react'; import styled from 'styled-components'; import FormControl from '@material-ui/core/FormControl'; @@ -12,8 +11,9 @@ import InputBase from '@material-ui/core/InputBase'; import IconButton from '@material-ui/core/IconButton'; import SearchIcon from '@material-ui/icons/Search'; import TezosIcon from '../TezosIcon'; +import getConfigs from '../../utils/getconfig'; -import configs from '../../config'; +const configs = getConfigs(); const HeaderContainer = styled.div` width: 100%; @@ -21,20 +21,29 @@ const HeaderContainer = styled.div` padding: 0 30px; display: flex; align-items: center; - background: linear-gradient(-225deg, #BCFCFF 0%, #9CD9E1 12.85%, #84BFCA 22.66%, #75AEBC 28.69%, #417895 48.65%, #395D94 85.37%, #34386E 100%); + background: linear-gradient( + -225deg, + #bcfcff 0%, + #9cd9e1 12.85%, + #84bfca 22.66%, + #75aebc 28.69%, + #417895 48.65%, + #395d94 85.37%, + #34386e 100% + ); `; const HeaderLogo = styled.div` font-family: 'Futura'; font-weight: 400; font-size: 36px; - color: #FFFFFE; + color: #fffffe; letter-spacing: 5.46px; `; const IconContainer = styled.div` width: 35px; height: 35px; - background: #669FB1; + background: #669fb1; border-radius: 35px; display: flex; align-items: center; @@ -43,9 +52,9 @@ const IconContainer = styled.div` `; const SelectContainer = styled(FormControl)` - &&& { - margin-left: 12px; - } + &&& { + margin-left: 12px; + } `; const SelectWrapper = styled(SelectField)` @@ -62,8 +71,8 @@ const SelectWrapper = styled(SelectField)` font-size: 24px; font-weight: 300; letter-spacing: 2.57px; - color: #FFFFFE; - } + color: #fffffe; + } `; const DownIcon = styled(ArrowDropDown)` @@ -103,7 +112,7 @@ const RevertSearchIcon = styled(SearchIcon)` const MenuHeaderItem = styled(MenuItem)` &&& { - color: #9B9B9B; + color: #9b9b9b; box-sizing: border-box; padding: 5px 25px; opacity: 1; @@ -113,11 +122,11 @@ const MenuHeaderItem = styled(MenuItem)` const MainMenuItem = styled(MenuItem)` &&& { - &[class*='selected'] { - background-color: rgba(101, 200, 206, 0.13); + &[class*='selected'] { + background-color: rgba(101,  200, 206, 0.13); } &:hover { - background-color: rgba(101, 200, 206, 0.1); + background-color: rgba(101,  200, 206, 0.1); } } `; @@ -126,39 +135,35 @@ const UncheckedIcon = styled(RadioButtonUncheckedIcon)` &&& { font-size: 18px; } - `; const CheckedIcon = styled(RadioButtonCheckedIcon)` &&& { font-size: 18px; - color: #00C4DC; + color: #00c4dc; } `; const MenuContent = styled.span``; -const SelectRenderWrapper = styled.div` +const SelectRenderWrapper = styled.div``; -`; - -const getConfig = (val) => { +const getConfig = val => { return configs.find(conf => conf.value === val); -} - +}; interface Props { network: string; onChangeNetwork(event: any): void; } -const Header: React.StatelessComponent = (props) => { - const {network, onChangeNetwork} = props; +const Header: React.StatelessComponent = props => { + const { network, onChangeNetwork } = props; return ( ARRONAX - + = (props) => { IconComponent={DownIcon} renderValue={value => { const config = getConfig(value); - return ( - {config.title} - ); + return {config.title}; }} > Select Preferred Tezos Network - {configs.map((config) => ( - + {configs.map(config => ( + } @@ -194,9 +201,8 @@ const Header: React.StatelessComponent = (props) => { - ); -} +}; -export default Header; \ No newline at end of file +export default Header; diff --git a/src/reducers/app/thunks.ts b/src/reducers/app/thunks.ts index f96f98b6..ae1b2211 100644 --- a/src/reducers/app/thunks.ts +++ b/src/reducers/app/thunks.ts @@ -6,7 +6,7 @@ import { setNetworkAction, setColumnsAction, } from './actions'; -import configs from '../../config'; +import getConfigs from '../../utils/getconfig'; const { getBlocks, getOperations, getAccounts } = TezosConseilClient; const ConseilOperations = { blocks: getBlocks, @@ -14,6 +14,8 @@ const ConseilOperations = { accounts: getAccounts, }; +const configs = getConfigs(); + const getConfig = val => { return configs.find(conf => conf.value === val); }; @@ -39,8 +41,8 @@ export const submitFilters = () => async (dispatch, state) => { const config = getConfig(network); const serverInfo = { url: config.url, - apiKey: config.key - } + apiKey: config.key, + }; const items = await ConseilOperations[category](serverInfo, network, filters); dispatch(setItemsAction(category, items)); dispatch(setLoadingAction(false)); @@ -57,8 +59,8 @@ export const changeNetwork = (network: string) => async (dispatch, state) => { const config = getConfig(network); const serverInfo = { url: config.url, - apiKey: config.key - } + apiKey: config.key, + }; const items = await ConseilOperations[category](serverInfo, network, filters); dispatch(setItemsAction(category, items)); dispatch(setLoadingAction(false)); @@ -76,8 +78,8 @@ export const fetchItemsAction = (category: string) => async ( const config = getConfig(network); const serverInfo = { url: config.url, - apiKey: config.key - } + apiKey: config.key, + }; const items = await ConseilOperations[category](serverInfo, network, filters); dispatch(setItemsAction(category, items)); dispatch(setLoadingAction(false)); diff --git a/src/utils/getconfig.ts b/src/utils/getconfig.ts new file mode 100644 index 00000000..e69de29b From 80a3db1ba2260ec709242d62c81e31f568cb4858 Mon Sep 17 00:00:00 2001 From: Sean M Date: Thu, 14 Feb 2019 09:58:35 +1300 Subject: [PATCH 19/38] update dumb config --- src/utils/getconfig.ts | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/src/utils/getconfig.ts b/src/utils/getconfig.ts index e69de29b..a89b00ed 100644 --- a/src/utils/getconfig.ts +++ b/src/utils/getconfig.ts @@ -0,0 +1,19 @@ +const dumbConfigs = [ + { + value: 'alphanet', + title: '', + url: '', + key: '', + }, +]; + +const getConfigs = () => { + try { + const configs = require('../config'); + return configs.default; + } catch (err) { + return dumbConfigs; + } +}; + +export default getConfigs; From 029d55c65b56462b676fd629ee2203a767fd7189 Mon Sep 17 00:00:00 2001 From: Sean M Date: Thu, 14 Feb 2019 12:05:47 +1300 Subject: [PATCH 20/38] merge conflicts --- src/components/CustomTableRow/index.tsx | 5 --- src/reducers/app/thunks.ts | 46 +++++++------------------ 2 files changed, 12 insertions(+), 39 deletions(-) diff --git a/src/components/CustomTableRow/index.tsx b/src/components/CustomTableRow/index.tsx index f6910c04..32d54b0f 100755 --- a/src/components/CustomTableRow/index.tsx +++ b/src/components/CustomTableRow/index.tsx @@ -44,13 +44,8 @@ const ExplorerLink = styled.a` color: #10ade4; `; interface Props { -<<<<<<< HEAD - category: string; - item: object; -======= entity: string; item: any; ->>>>>>> 01ebccb1ca46152990c33871d122860d989b9fa1 selectedColumns: any[]; network: string; } diff --git a/src/reducers/app/thunks.ts b/src/reducers/app/thunks.ts index d8acd63d..46c6f676 100644 --- a/src/reducers/app/thunks.ts +++ b/src/reducers/app/thunks.ts @@ -5,7 +5,7 @@ import { setLoadingAction, setNetworkAction, setColumnsAction, - setAttributesAction + setAttributesAction, } from './actions'; import getConfigs from '../../utils/getconfig'; @@ -18,7 +18,6 @@ const ConseilOperations = { accounts: getAccounts, }; - const getConfig = val => { return configs.find(conf => conf.value === val); }; @@ -44,17 +43,10 @@ export const submitFilters = () => async (dispatch, state) => { const config = getConfig(network); const serverInfo = { url: config.url, -<<<<<<< HEAD apiKey: config.key, }; - const items = await ConseilOperations[category](serverInfo, network, filters); - dispatch(setItemsAction(category, items)); -======= - apiKey: config.key - } const items = await ConseilOperations[entity](serverInfo, network, filters); dispatch(setItemsAction(entity, items)); ->>>>>>> 01ebccb1ca46152990c33871d122860d989b9fa1 dispatch(setLoadingAction(false)); }; @@ -69,24 +61,14 @@ export const changeNetwork = (network: string) => async (dispatch, state) => { const config = getConfig(network); const serverInfo = { url: config.url, -<<<<<<< HEAD apiKey: config.key, }; - const items = await ConseilOperations[category](serverInfo, network, filters); - dispatch(setItemsAction(category, items)); -======= - apiKey: config.key - } const items = await ConseilOperations[entity](serverInfo, network, filters); dispatch(setItemsAction(entity, items)); ->>>>>>> 01ebccb1ca46152990c33871d122860d989b9fa1 dispatch(setLoadingAction(false)); }; -export const fetchItemsAction = (entity: string) => async ( - dispatch, - state -) => { +export const fetchItemsAction = (entity: string) => async (dispatch, state) => { const network = state().app.network; const filters = state().app.filters; const originItems = state().app[entity]; @@ -95,29 +77,25 @@ export const fetchItemsAction = (entity: string) => async ( const config = getConfig(network); const serverInfo = { url: config.url, -<<<<<<< HEAD apiKey: config.key, }; - const items = await ConseilOperations[category](serverInfo, network, filters); - dispatch(setItemsAction(category, items)); -======= - apiKey: config.key - } const items = await ConseilOperations[entity](serverInfo, network, filters); dispatch(setItemsAction(entity, items)); dispatch(setLoadingAction(false)); }; -export const fetchAttributes = () => async ( - dispatch, - state -) => { +export const fetchAttributes = () => async (dispatch, state) => { const network = state().app.network; - const selectedEntity = state().app.selectedEntity; + const selectedEntity = state().app.selectedEntity; dispatch(setLoadingAction(true)); - const config = getConfig(network); - const attributes = await getAttributes(config.url, config.key, 'tezos', network, selectedEntity); + const config = getConfig(network); + const attributes = await getAttributes( + config.url, + config.key, + 'tezos', + network, + selectedEntity + ); dispatch(setAttributesAction(selectedEntity, attributes)); ->>>>>>> 01ebccb1ca46152990c33871d122860d989b9fa1 dispatch(setLoadingAction(false)); }; From 9f0066e78ce1531639d497477f4cda53e449a218 Mon Sep 17 00:00:00 2001 From: Sean M Date: Thu, 14 Feb 2019 12:38:19 +1300 Subject: [PATCH 21/38] updates to fix erroring out --- src/components/CustomTableRow/index.tsx | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/components/CustomTableRow/index.tsx b/src/components/CustomTableRow/index.tsx index 32d54b0f..815801be 100755 --- a/src/components/CustomTableRow/index.tsx +++ b/src/components/CustomTableRow/index.tsx @@ -52,8 +52,6 @@ interface Props { export const displayType = (network, shortenedItem, item, dataIndex) => { if (dataIndex === 'accountId' || dataIndex === 'manager') { - console.log(item); - console.log(shortenedItem); return ( @@ -105,7 +103,7 @@ const CustomTableRow: React.StatelessComponent = props => { hash.toLowerCase().includes('predecessor') || hash.toLowerCase().includes('accountid') || hash.toLowerCase().includes('blockid') || - hash.toLowerCase().includes('manager') || + // hash.toLowerCase().includes('manager') || hash.toLowerCase().includes('protocol') || hash.toLowerCase().includes('context') || hash.toLowerCase().includes('signature') From 4608983243a28b719dc3e065508b5d49e2659f64 Mon Sep 17 00:00:00 2001 From: Sean M Date: Thu, 14 Feb 2019 16:26:10 +1300 Subject: [PATCH 22/38] checkpoint --- src/components/ColumnsDisplay/index.tsx | 46 +++++++++++++++++-------- src/containers/App/index.tsx | 20 +++++++++-- 2 files changed, 48 insertions(+), 18 deletions(-) diff --git a/src/components/ColumnsDisplay/index.tsx b/src/components/ColumnsDisplay/index.tsx index b1320f93..476f45c9 100644 --- a/src/components/ColumnsDisplay/index.tsx +++ b/src/components/ColumnsDisplay/index.tsx @@ -1,12 +1,16 @@ import * as React from 'react'; import { connect } from 'react-redux'; -import { getEntity, getColumns } from '../../reducers/app/selectors'; -import { setColumns } from '../../reducers/app/thunks'; +import { + getEntity, + getColumns, + getAttributes, +} from '../../reducers/app/selectors'; +import { setColumns, fetchAttributes } from '../../reducers/app/thunks'; import styled from 'styled-components'; import { withStyles } from '@material-ui/core/styles'; import Checkbox from '@material-ui/core/Checkbox'; import ListItemText from '@material-ui/core/ListItemText'; -import getColumnData from 'src/utils/getColumns'; +// import getColumnData from 'src/utils/getColumns'; import Button from '@material-ui/core/Button'; import Menu from '@material-ui/core/Menu'; import MenuItem from '@material-ui/core/MenuItem'; @@ -178,9 +182,11 @@ interface SelectedColumnsData { type Props = { selectedEntity: string; + attributes: any; setColumns: (entity: string, items: object[]) => void; selectedColumns: object[]; classes: any; + fetchAttributes: () => void; }; type States = { @@ -197,7 +203,10 @@ class ColumnDisplay extends React.Component { }; componentDidMount() { - const { selectedColumns } = this.props; + const { selectedColumns, attributes } = this.props; + if (attributes.length === 0) { + fetchAttributes(); + } this.setState({ selected: [...selectedColumns], }); @@ -257,7 +266,7 @@ class ColumnDisplay extends React.Component { }; render() { - const { selectedEntity, selectedColumns, classes } = this.props; + const { selectedEntity, selectedColumns, classes, attributes } = this.props; const { anchorEl, fadeBottom, selected } = this.state; let tab; switch (selectedEntity) { @@ -271,8 +280,8 @@ class ColumnDisplay extends React.Component { tab = 'accounts'; break; } - const selectedDataIndex = selected.map(selected => { - return selected.dataIndex; + const selectedName = selected.map(selected => { + return selected.name; }); return ( @@ -286,27 +295,32 @@ class ColumnDisplay extends React.Component { - + Select Up to 6 Columns to Display - {getColumnData(tab).map(name => ( + {attributes.map((name, index) => ( = 6 && - selectedDataIndex.indexOf(name.dataIndex) === -1 + selectedName.indexOf(name.name) === -1 ? classes.removeSelector : null } classes={{ root: classes.menuItem }} onClick={this.handleChange(name)} - key={name.key} - value={name.dataIndex} + key={index} + value={name.name} > = 6 && - selectedDataIndex.indexOf(name.dataIndex) === -1 + selectedName.indexOf(name.name) === -1 ? classes.removeSelector : null } @@ -315,9 +329,9 @@ class ColumnDisplay extends React.Component { checked: classes.checked, }} disableRipple={true} - checked={selectedDataIndex.indexOf(name.dataIndex) > -1} + checked={selectedName.indexOf(name.name) > -1} /> - + ))} @@ -340,11 +354,13 @@ class ColumnDisplay extends React.Component { const mapStateToProps = state => ({ selectedEntity: getEntity(state), selectedColumns: getColumns(state), + attributes: getAttributes(state), }); const mapDispatchToProps = dispatch => ({ setColumns: (entity: string, items: object[]) => dispatch(setColumns(entity, items)), + fetchAttributes: () => dispatch(fetchAttributes()), }); export default connect( diff --git a/src/containers/App/index.tsx b/src/containers/App/index.tsx index abbb854b..1766ea82 100644 --- a/src/containers/App/index.tsx +++ b/src/containers/App/index.tsx @@ -5,6 +5,7 @@ import Tabs from '@material-ui/core/Tabs'; import Tab from '@material-ui/core/Tab'; import CircularProgress from '@material-ui/core/CircularProgress'; import { + getAttributes, getLoading, getNetwork, getEntity, @@ -14,6 +15,7 @@ import { changeNetwork, fetchItemsAction, setColumns, + fetchAttributes, } from '../../reducers/app/thunks'; import { setTabAction } from '../../reducers/app/actions'; import Header from 'components/Header'; @@ -104,10 +106,12 @@ export interface Props { network: string; selectedEntity: string; items: object[]; + attributes: object[]; changeNetwork(network: string): void; changeTab: (type: string) => void; fetchItems: (type: string) => void; setColumns(entity: string, items: object[]): void; + fetchAttributes: () => void; } export interface States { @@ -123,8 +127,16 @@ class Arronax extends React.Component { } componentDidMount = () => { - const { fetchItems, selectedEntity } = this.props; + const { + fetchItems, + selectedEntity, + attributes, + fetchAttributes, + } = this.props; fetchItems(selectedEntity); + if (attributes.length === 0) { + fetchAttributes(); + } }; onChangeNetwork = event => { @@ -133,9 +145,10 @@ class Arronax extends React.Component { }; onChangeTab = async (value: string) => { - const { changeTab, fetchItems, setColumns } = this.props; + const { changeTab, fetchItems, setColumns, fetchAttributes } = this.props; const columns = await this.findTab(value); await changeTab(value); + await fetchAttributes(); await setColumns(value, columns); await fetchItems(value); }; @@ -212,7 +225,6 @@ class Arronax extends React.Component { render() { const { isLoading, network, selectedEntity, items } = this.props; const { isFilterCollapse } = this.state; - return (
@@ -265,6 +277,7 @@ const mapStateToProps = (state: any) => ({ network: getNetwork(state), selectedEntity: getEntity(state), items: getItems(state), + attributes: getAttributes(state), }); const mapDispatchToProps = dispatch => ({ @@ -273,6 +286,7 @@ const mapDispatchToProps = dispatch => ({ changeNetwork: (network: string) => dispatch(changeNetwork(network)), changeTab: (type: string) => dispatch(setTabAction(type)), fetchItems: (type: string) => dispatch(fetchItemsAction(type)), + fetchAttributes: () => dispatch(fetchAttributes()), }); export default connect( From d4653ac80c0e02c67de5e8803f4ca0d37518a814 Mon Sep 17 00:00:00 2001 From: Sean M Date: Thu, 14 Feb 2019 16:39:33 +1300 Subject: [PATCH 23/38] checkpoint --- src/components/ColumnsDisplay/index.tsx | 12 ++++++------ src/reducers/app/thunks.ts | 5 ++++- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/src/components/ColumnsDisplay/index.tsx b/src/components/ColumnsDisplay/index.tsx index 476f45c9..262cc64f 100644 --- a/src/components/ColumnsDisplay/index.tsx +++ b/src/components/ColumnsDisplay/index.tsx @@ -16,6 +16,7 @@ import Menu from '@material-ui/core/Menu'; import MenuItem from '@material-ui/core/MenuItem'; import DragIcon from '@material-ui/icons/DragHandle'; import KeyboardArrowDown from '@material-ui/icons/KeyboardArrowDown'; +import { copyFile } from 'fs'; const Container = styled.div` display: flex; @@ -204,18 +205,17 @@ class ColumnDisplay extends React.Component { componentDidMount() { const { selectedColumns, attributes } = this.props; - if (attributes.length === 0) { - fetchAttributes(); - } this.setState({ selected: [...selectedColumns], }); } - componentWillReceiveProps(nextProps: Props) { - if (nextProps.selectedColumns !== this.state.selected) { + componentDidUpdate(prevProps: Props) { + const { selectedColumns } = this.props; + if (selectedColumns !== prevProps.selectedColumns) { + console.log(selectedColumns); this.setState({ - selected: [...nextProps.selectedColumns], + selected: [...selectedColumns], }); } } diff --git a/src/reducers/app/thunks.ts b/src/reducers/app/thunks.ts index 46c6f676..b637095e 100644 --- a/src/reducers/app/thunks.ts +++ b/src/reducers/app/thunks.ts @@ -85,8 +85,11 @@ export const fetchItemsAction = (entity: string) => async (dispatch, state) => { }; export const fetchAttributes = () => async (dispatch, state) => { - const network = state().app.network; const selectedEntity = state().app.selectedEntity; + if (state().app.attributes[selectedEntity].length > 0) { + return; + } + const network = state().app.network; dispatch(setLoadingAction(true)); const config = getConfig(network); const attributes = await getAttributes( From 9b1d446dcdf4a185178fc8037d73424df963af3a Mon Sep 17 00:00:00 2001 From: Sean M Date: Thu, 14 Feb 2019 17:05:20 +1300 Subject: [PATCH 24/38] checkpoint --- src/components/ColumnsDisplay/index.tsx | 2 - src/components/CustomTableRow/index.tsx | 4 +- src/components/SettingsPanel/index.tsx | 2 +- src/components/TableHeader/index.tsx | 28 ++--- src/containers/App/index.tsx | 159 +++++++++++++++++++----- src/reducers/app/reducers.ts | 84 +++++++++---- 6 files changed, 198 insertions(+), 81 deletions(-) diff --git a/src/components/ColumnsDisplay/index.tsx b/src/components/ColumnsDisplay/index.tsx index 262cc64f..f9c5d9c3 100644 --- a/src/components/ColumnsDisplay/index.tsx +++ b/src/components/ColumnsDisplay/index.tsx @@ -16,7 +16,6 @@ import Menu from '@material-ui/core/Menu'; import MenuItem from '@material-ui/core/MenuItem'; import DragIcon from '@material-ui/icons/DragHandle'; import KeyboardArrowDown from '@material-ui/icons/KeyboardArrowDown'; -import { copyFile } from 'fs'; const Container = styled.div` display: flex; @@ -213,7 +212,6 @@ class ColumnDisplay extends React.Component { componentDidUpdate(prevProps: Props) { const { selectedColumns } = this.props; if (selectedColumns !== prevProps.selectedColumns) { - console.log(selectedColumns); this.setState({ selected: [...selectedColumns], }); diff --git a/src/components/CustomTableRow/index.tsx b/src/components/CustomTableRow/index.tsx index 815801be..381c8d1d 100755 --- a/src/components/CustomTableRow/index.tsx +++ b/src/components/CustomTableRow/index.tsx @@ -122,9 +122,9 @@ const CustomTableRow: React.StatelessComponent = props => { return ( - {selectedColumns.map(column => { + {selectedColumns.map((column, index) => { return ( - + {column.dataIndex === 'timestamp' ? ( moment(item[column.dataIndex]).format('dd MM YYYY h:mm:ss a') ) : ( diff --git a/src/components/SettingsPanel/index.tsx b/src/components/SettingsPanel/index.tsx index 53f69085..1ed0074b 100755 --- a/src/components/SettingsPanel/index.tsx +++ b/src/components/SettingsPanel/index.tsx @@ -62,7 +62,7 @@ const SettingsPanel: React.StatelessComponent = props => { Filter - + Display diff --git a/src/components/TableHeader/index.tsx b/src/components/TableHeader/index.tsx index 0ee770d0..2d55a7ef 100755 --- a/src/components/TableHeader/index.tsx +++ b/src/components/TableHeader/index.tsx @@ -1,4 +1,3 @@ - import * as React from 'react'; import styled from 'styled-components'; import TableCell from '@material-ui/core/TableCell'; @@ -8,15 +7,14 @@ import TableSortLabel from '@material-ui/core/TableSortLabel'; const TableCellWrapper = styled(TableCell)` &&& { - color: #4A4A4A; + color: #4a4a4a; font-size: 16px; font-weight: 400; letter-spacing: 1.95px; border: none; - } + } `; - interface Props { order: 'asc' | 'desc'; orderBy: string; @@ -24,24 +22,24 @@ interface Props { createSortHandler(key: string): void; } -const TableHeader: React.StatelessComponent = (props) => { - const {rows, order, orderBy, createSortHandler} = props; +const TableHeader: React.StatelessComponent = props => { + const { rows, order, orderBy, createSortHandler } = props; return ( - {rows.map(row => { + {rows.map((row, index) => { return ( createSortHandler(row.dataIndex)} + onClick={() => createSortHandler(row.name)} > - {row.title} + {row.displayName} ); @@ -49,6 +47,6 @@ const TableHeader: React.StatelessComponent = (props) => { ); -} +}; -export default TableHeader; \ No newline at end of file +export default TableHeader; diff --git a/src/containers/App/index.tsx b/src/containers/App/index.tsx index 1766ea82..d6b82aa2 100644 --- a/src/containers/App/index.tsx +++ b/src/containers/App/index.tsx @@ -126,18 +126,19 @@ class Arronax extends React.Component { }; } - componentDidMount = () => { + componentDidMount() { const { fetchItems, selectedEntity, attributes, fetchAttributes, } = this.props; + // get legit columns fetchItems(selectedEntity); if (attributes.length === 0) { fetchAttributes(); } - }; + } onChangeNetwork = event => { const { changeNetwork } = this.props; @@ -157,57 +158,147 @@ class Arronax extends React.Component { switch (value) { case 'blocks': return [ - { title: 'Level', dataIndex: 'level', key: 'level' }, - { title: 'Timestamp', dataIndex: 'timestamp', key: 'timestamp' }, - { title: 'Block Hash', dataIndex: 'hash', key: 'blockHash' }, { - title: 'Predecessor Hash', - dataIndex: 'predecessor', - key: 'predecessor', + cardinality: null, + dataType: 'Int', + displayName: 'Level', + entity: 'blocks', + keyType: 'UniqueKey', + name: 'level', + }, + { + cardinality: null, + dataType: 'Int', + displayName: 'Proto', + entity: 'blocks', + keyType: 'UniqueKey', + name: 'proto', + }, + { + cardinality: null, + dataType: 'Int', + displayName: 'Predecessor', + entity: 'blocks', + keyType: 'UniqueKey', + name: 'predecessor', }, { - title: 'Operations Hash', - dataIndex: 'operationsHash', - key: 'operationsHash', + cardinality: null, + dataType: 'Int', + displayName: 'Timestamp', + entity: 'blocks', + keyType: 'UniqueKey', + name: 'timestamp', }, { - title: 'Protocol Hash', - dataIndex: 'protocol', - key: 'protocol', + cardinality: null, + dataType: 'Int', + displayName: 'Validation pass', + entity: 'blocks', + keyType: 'UniqueKey', + name: 'validation_pass', + }, + { + cardinality: null, + dataType: 'Int', + displayName: 'Fitness', + entity: 'blocks', + keyType: 'UniqueKey', + name: 'fitness', }, ]; case 'operations': return [ - { title: 'Kind', dataIndex: 'kind', key: 'kind' }, - { title: 'Source', dataIndex: 'source', key: 'source' }, { - title: 'Destination', - dataIndex: 'destination', - key: 'destination', + cardinality: null, + dataType: 'Int', + displayName: 'Kind', + entity: 'operations', + keyType: 'UniqueKey', + name: 'kind', + }, + { + cardinality: null, + dataType: 'Int', + displayName: 'Source', + entity: 'operations', + keyType: 'UniqueKey', + name: 'source', + }, + { + cardinality: null, + dataType: 'Int', + displayName: 'Destination', + entity: 'operations', + keyType: 'UniqueKey', + name: 'destination', + }, + { + cardinality: null, + dataType: 'Int', + displayName: 'Amount', + entity: 'operations', + keyType: 'UniqueKey', + name: 'amount', + }, + { + cardinality: null, + dataType: 'Int', + displayName: 'Fee', + entity: 'operations', + keyType: 'UniqueKey', + name: 'fee', }, - { title: 'Amount', dataIndex: 'amount', key: 'amount' }, - { title: 'Fee', dataIndex: 'fee', key: 'fee' }, ]; case 'accounts': return [ - { title: 'Account ID', dataIndex: 'accountId', key: 'accountId' }, - { title: 'Manager', dataIndex: 'manager', key: 'manager' }, { - title: 'Spendable', - dataIndex: 'spendable', - key: 'spendable', - isIcon: true, + cardinality: 13628, + dataType: 'String', + displayName: 'Account id', + entity: 'accounts', + keyType: 'UniqueKey', + name: 'account_id', + }, + { + cardinality: 1841, + dataType: 'String', + displayName: 'Block id', + entity: 'accounts', + keyType: 'NonKey', + name: 'block_id', + }, + { + cardinality: 11813, + dataType: 'String', + displayName: 'Manager', + entity: 'accounts', + keyType: 'NonKey', + name: 'manager', + }, + { + cardinality: 2, + dataType: 'Boolean', + displayName: 'Spendable', + entity: 'accounts', + keyType: 'NonKey', + name: 'spendable', }, { - title: 'Delegatable', - dataIndex: 'delegateSetable', - key: 'delegateSetable', - isIcon: true, + cardinality: 2, + dataType: 'Boolean', + displayName: 'Delegate setable', + entity: 'accounts', + keyType: 'NonKey', + name: 'delegate_setable', }, { - title: 'Delegate', - dataIndex: 'delegate', - key: 'delegateValue', + cardinality: 76, + dataType: 'String', + displayName: 'Delegate value', + entity: 'accounts', + keyType: 'NonKey', + name: 'delegate_value', }, ]; } diff --git a/src/reducers/app/reducers.ts b/src/reducers/app/reducers.ts index 1572c339..59bcb178 100644 --- a/src/reducers/app/reducers.ts +++ b/src/reducers/app/reducers.ts @@ -9,7 +9,7 @@ import { SET_ATTRIBUTES, ADD_FILTER, REMOVE_FILTER, - CHANGE_FILTER + CHANGE_FILTER, } from './types'; import { ConseilQueryBuilder, ConseilQuery } from 'conseiljs'; @@ -37,44 +37,74 @@ const initialState: AppState = { attributes: { blocks: [], operations: [], - accounts: [] + accounts: [], }, selectedFilters: { blocks: [], operations: [], - accounts: [] + accounts: [], }, operators: [ - {name: 'BETWEEN', displayName: 'between'}, - {name: 'EQ', displayName: 'equal'}, - {name: 'IN', displayName: 'in'}, - {name: 'LIKE', displayName: 'like'}, - {name: 'LT', displayName: 'less than'}, - {name: 'BEFORE', displayName: 'before'}, - {name: 'GT', displayName: 'greater than'}, - {name: 'AFTER', displayName: 'after'}, - {name: 'STARTSWITH', displayName: 'starts with'}, - {name: 'ENDSWITH', displayName: 'ends With'}, - {name: 'ISNULL', displayName: 'is null'} + { name: 'BETWEEN', displayName: 'between' }, + { name: 'EQ', displayName: 'equal' }, + { name: 'IN', displayName: 'in' }, + { name: 'LIKE', displayName: 'like' }, + { name: 'LT', displayName: 'less than' }, + { name: 'BEFORE', displayName: 'before' }, + { name: 'GT', displayName: 'greater than' }, + { name: 'AFTER', displayName: 'after' }, + { name: 'STARTSWITH', displayName: 'starts with' }, + { name: 'ENDSWITH', displayName: 'ends With' }, + { name: 'ISNULL', displayName: 'is null' }, ], columns: [ - { title: 'Level', dataIndex: 'level', key: 'level' }, - { title: 'Timestamp', dataIndex: 'timestamp', key: 'timestamp' }, - { title: 'Block Hash', dataIndex: 'hash', key: 'blockHash' }, { - title: 'Predecessor Hash', - dataIndex: 'predecessor', - key: 'predecessor', + cardinality: null, + dataType: 'Int', + displayName: 'Level', + entity: 'blocks', + keyType: 'UniqueKey', + name: 'level', }, { - title: 'Operations Hash', - dataIndex: 'operationsHash', - key: 'operationsHash', + cardinality: null, + dataType: 'Int', + displayName: 'Proto', + entity: 'blocks', + keyType: 'UniqueKey', + name: 'proto', }, { - title: 'Protocol Hash', - dataIndex: 'protocol', - key: 'protocol', + cardinality: null, + dataType: 'Int', + displayName: 'Predecessor', + entity: 'blocks', + keyType: 'UniqueKey', + name: 'predecessor', + }, + { + cardinality: null, + dataType: 'Int', + displayName: 'Timestamp', + entity: 'blocks', + keyType: 'UniqueKey', + name: 'timestamp', + }, + { + cardinality: null, + dataType: 'Int', + displayName: 'Validation pass', + entity: 'blocks', + keyType: 'UniqueKey', + name: 'validation_pass', + }, + { + cardinality: null, + dataType: 'Int', + displayName: 'Fitness', + entity: 'blocks', + keyType: 'UniqueKey', + name: 'fitness', }, ], accounts: [], @@ -115,7 +145,7 @@ const appReducer = (state = initialState, action) => { let filters = selectedFilters[action.entity]; const emptyFilter = { name: '', - operator: '' + operator: '', }; filters = filters.concat(emptyFilter); selectedFilters[action.entity] = filters; From 1777a87b472df65bf2d20f2014ef590c634dae55 Mon Sep 17 00:00:00 2001 From: Sean M Date: Thu, 14 Feb 2019 17:11:18 +1300 Subject: [PATCH 25/38] checkpoint --- src/components/CustomTableRow/index.tsx | 11 ++++++----- src/containers/App/index.tsx | 1 + 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/components/CustomTableRow/index.tsx b/src/components/CustomTableRow/index.tsx index 381c8d1d..a68fd1ee 100755 --- a/src/components/CustomTableRow/index.tsx +++ b/src/components/CustomTableRow/index.tsx @@ -98,11 +98,12 @@ const CustomTableRow: React.StatelessComponent = props => { const shortenedItem = { ...item }; let itemsArray = Object.keys(shortenedItem); itemsArray.forEach(hash => { + console.log(hash); if ( hash.toLowerCase().includes('hash') || hash.toLowerCase().includes('predecessor') || - hash.toLowerCase().includes('accountid') || - hash.toLowerCase().includes('blockid') || + hash.toLowerCase().includes('account_id') || + hash.toLowerCase().includes('block_id') || // hash.toLowerCase().includes('manager') || hash.toLowerCase().includes('protocol') || hash.toLowerCase().includes('context') || @@ -125,11 +126,11 @@ const CustomTableRow: React.StatelessComponent = props => { {selectedColumns.map((column, index) => { return ( - {column.dataIndex === 'timestamp' ? ( - moment(item[column.dataIndex]).format('dd MM YYYY h:mm:ss a') + {column.name === 'timestamp' ? ( + moment(item[column.name]).format('dd MM YYYY h:mm:ss a') ) : ( - {displayType(network, shortenedItem, item, column.dataIndex)} + {displayType(network, shortenedItem, item, column.name)} )} diff --git a/src/containers/App/index.tsx b/src/containers/App/index.tsx index d6b82aa2..fc65c28e 100644 --- a/src/containers/App/index.tsx +++ b/src/containers/App/index.tsx @@ -316,6 +316,7 @@ class Arronax extends React.Component { render() { const { isLoading, network, selectedEntity, items } = this.props; const { isFilterCollapse } = this.state; + console.log(items); return (
From f70206ae6802de8fd074f0f3e2fe9d21096beb8c Mon Sep 17 00:00:00 2001 From: Sean M Date: Thu, 14 Feb 2019 17:17:08 +1300 Subject: [PATCH 26/38] updated column display --- src/components/ColumnsDisplay/index.tsx | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/components/ColumnsDisplay/index.tsx b/src/components/ColumnsDisplay/index.tsx index f9c5d9c3..8a80eeb4 100644 --- a/src/components/ColumnsDisplay/index.tsx +++ b/src/components/ColumnsDisplay/index.tsx @@ -175,9 +175,12 @@ const styles = { }; interface SelectedColumnsData { - dataIndex: string; - title: string; - key: string; + cardinality: null | number; + dataType: string; + displayName: string; + entity: string; + keyType: string; + name: string; } type Props = { @@ -204,6 +207,7 @@ class ColumnDisplay extends React.Component { componentDidMount() { const { selectedColumns, attributes } = this.props; + console.log(selectedColumns); this.setState({ selected: [...selectedColumns], }); @@ -229,7 +233,7 @@ class ColumnDisplay extends React.Component { handleChange = (name: SelectedColumnsData) => event => { const { selected } = this.state; const positionInArray = selected.findIndex( - selected => selected.dataIndex === name.dataIndex + selected => selected.name === name.name ); if (positionInArray === -1 && selected.length <= 5) { this.setState({ From c3772a813f1cd69b83ca19b202adb69b66f9ec15 Mon Sep 17 00:00:00 2001 From: Sean M Date: Thu, 14 Feb 2019 17:39:50 +1300 Subject: [PATCH 27/38] updates --- src/components/ColumnsDisplay/index.tsx | 1 - src/components/CustomTableRow/index.tsx | 37 +++++----- src/containers/App/index.tsx | 1 - src/utils/getColumns.ts | 94 ------------------------- 4 files changed, 18 insertions(+), 115 deletions(-) delete mode 100644 src/utils/getColumns.ts diff --git a/src/components/ColumnsDisplay/index.tsx b/src/components/ColumnsDisplay/index.tsx index 8a80eeb4..563df9cc 100644 --- a/src/components/ColumnsDisplay/index.tsx +++ b/src/components/ColumnsDisplay/index.tsx @@ -207,7 +207,6 @@ class ColumnDisplay extends React.Component { componentDidMount() { const { selectedColumns, attributes } = this.props; - console.log(selectedColumns); this.setState({ selected: [...selectedColumns], }); diff --git a/src/components/CustomTableRow/index.tsx b/src/components/CustomTableRow/index.tsx index a68fd1ee..2918dc89 100755 --- a/src/components/CustomTableRow/index.tsx +++ b/src/components/CustomTableRow/index.tsx @@ -50,46 +50,46 @@ interface Props { network: string; } -export const displayType = (network, shortenedItem, item, dataIndex) => { - if (dataIndex === 'accountId' || dataIndex === 'manager') { +export const displayType = (network, shortenedItem, item, name) => { + if (name === 'account_id' || name === 'manager') { return ( - {shortenedItem[dataIndex]} + {shortenedItem[name]} ); } else if ( - dataIndex === 'predecessor' || - dataIndex === 'hash' || - dataIndex === 'blockId' || - dataIndex === 'blockHash' || - dataIndex === 'operationGroupHash' + name === 'predecessor' || + name === 'hash' || + name === 'block_id' || + name === 'block_hash' || + name === 'operationGroupHash' ) { return ( - {shortenedItem[dataIndex]} + {shortenedItem[name]} ); } else if ( - dataIndex === 'protocol' || - dataIndex === 'context' || - dataIndex === 'operationsHash' || - dataIndex === 'signature' + name === 'protocol' || + name === 'context' || + name === 'operations_hash' || + name === 'signature' ) { - return shortenedItem[dataIndex]; + return shortenedItem[name]; } else { - return item[dataIndex]; + return item[name]; } }; @@ -98,13 +98,12 @@ const CustomTableRow: React.StatelessComponent = props => { const shortenedItem = { ...item }; let itemsArray = Object.keys(shortenedItem); itemsArray.forEach(hash => { - console.log(hash); if ( hash.toLowerCase().includes('hash') || hash.toLowerCase().includes('predecessor') || hash.toLowerCase().includes('account_id') || hash.toLowerCase().includes('block_id') || - // hash.toLowerCase().includes('manager') || + hash.toLowerCase().includes('manager') || hash.toLowerCase().includes('protocol') || hash.toLowerCase().includes('context') || hash.toLowerCase().includes('signature') diff --git a/src/containers/App/index.tsx b/src/containers/App/index.tsx index fc65c28e..d6b82aa2 100644 --- a/src/containers/App/index.tsx +++ b/src/containers/App/index.tsx @@ -316,7 +316,6 @@ class Arronax extends React.Component { render() { const { isLoading, network, selectedEntity, items } = this.props; const { isFilterCollapse } = this.state; - console.log(items); return (
diff --git a/src/utils/getColumns.ts b/src/utils/getColumns.ts deleted file mode 100644 index e7fa09ef..00000000 --- a/src/utils/getColumns.ts +++ /dev/null @@ -1,94 +0,0 @@ -const getColumns = (entity: string) => { - switch (entity) { - case 'blocks': - return [ - { title: 'Level', dataIndex: 'level', key: 'level' }, - { title: 'Timestamp', dataIndex: 'timestamp', key: 'timestamp' }, - { title: 'Block Hash', dataIndex: 'hash', key: 'blockHash' }, - { - title: 'Predecessor Hash', - dataIndex: 'predecessor', - key: 'predecessor', - }, - { - title: 'Operations Hash', - dataIndex: 'operationsHash', - key: 'operationsHash', - }, - { - title: 'Protocol Hash', - dataIndex: 'protocol', - key: 'protocol', - }, - { title: 'Proto', dataIndex: 'proto', key: 'proto' }, - { title: 'Chain ID', dataIndex: 'chainId', key: 'chainId' }, - { - title: 'Validation Pass', - dataIndex: 'validationPass', - key: 'validationPass', - }, - { title: 'Fitness', dataIndex: 'fitness', key: 'fitness' }, - { title: 'Context', dataIndex: 'context', key: 'context' }, - { title: 'Signature', dataIndex: 'signature', key: 'signature' }, - ]; - case 'operations': - return [ - { title: 'Kind', dataIndex: 'kind', key: 'kind' }, - { title: 'Source', dataIndex: 'source', key: 'source' }, - { title: 'Destination', dataIndex: 'destination', key: 'destination' }, - { title: 'Amount', dataIndex: 'amount', key: 'amount' }, - { title: 'Fee', dataIndex: 'fee', key: 'fee' }, - { title: 'Balance', dataIndex: 'balance', key: 'balance' }, - { title: 'Delegate', dataIndex: 'delegate', key: 'delegate' }, - { - title: 'Operation Group Hash', - dataIndex: 'operationGroupHash', - key: 'operationGroupHash', - }, - { title: 'OperationId', dataIndex: 'operationId', key: 'operationId' }, - { - title: 'Storage limit', - dataIndex: 'storageLimit', - key: 'storageLimit', - }, - { title: 'Gas limit', dataIndex: 'gasLimit', key: 'gasLimit' }, - - { title: 'Block hash', dataIndex: 'blockHash', key: 'blockHash' }, - { title: 'Block level', dataIndex: 'blockLevel', key: 'blockLevel' }, - { - title: 'Timestamp', - dataIndex: 'timestamp', - key: 'timestamp', - }, - ]; - case 'accounts': - return [ - { title: 'Account ID', dataIndex: 'accountId', key: 'accountId' }, - { title: 'Manager', dataIndex: 'manager', key: 'manager' }, - { - title: 'Spendable', - dataIndex: 'spendable', - key: 'spendable', - isIcon: true, - }, - { - title: 'Delegatable', - dataIndex: 'delegateSetable', - key: 'delegateSetable', - isIcon: true, - }, - { - title: 'Delegate', - dataIndex: 'delegate', - key: 'delegateValue', - }, - { title: 'Counter', dataIndex: 'counter', key: 'counter' }, - { title: 'Script', dataIndex: 'script', key: 'script' }, - { title: 'Balance', dataIndex: 'balance', key: 'balance' }, - { title: 'Block level', dataIndex: 'blockLevel', key: 'blockLevel' }, - { title: 'Block ID', dataIndex: 'blockId', key: 'blockId' }, - ]; - } -}; - -export default getColumns; From 8e39c565ba046d361ae9878a32e5010d6a8e8072 Mon Sep 17 00:00:00 2001 From: Sean M Date: Thu, 14 Feb 2019 17:49:51 +1300 Subject: [PATCH 28/38] checkpoint --- src/components/CustomTableRow/index.tsx | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/components/CustomTableRow/index.tsx b/src/components/CustomTableRow/index.tsx index 2918dc89..e6b6cf10 100755 --- a/src/components/CustomTableRow/index.tsx +++ b/src/components/CustomTableRow/index.tsx @@ -69,7 +69,7 @@ export const displayType = (network, shortenedItem, item, name) => { name === 'hash' || name === 'block_id' || name === 'block_hash' || - name === 'operationGroupHash' + name === 'operation_group_hash' ) { return ( @@ -98,13 +98,19 @@ const CustomTableRow: React.StatelessComponent = props => { const shortenedItem = { ...item }; let itemsArray = Object.keys(shortenedItem); itemsArray.forEach(hash => { - if ( + console.log(hash, item[hash]); + if (hash[item] === null) { + return; + } else if ( hash.toLowerCase().includes('hash') || hash.toLowerCase().includes('predecessor') || hash.toLowerCase().includes('account_id') || hash.toLowerCase().includes('block_id') || hash.toLowerCase().includes('manager') || hash.toLowerCase().includes('protocol') || + hash.toLowerCase().includes('block_hash') || + hash.toLowerCase().includes('delegate') || + hash.toLowerCase().includes('opeartion_group_hash') || hash.toLowerCase().includes('context') || hash.toLowerCase().includes('signature') ) { From 82bd21f42cecd09a6f342a03662d007d720c1bcc Mon Sep 17 00:00:00 2001 From: Sean M Date: Thu, 14 Feb 2019 17:54:19 +1300 Subject: [PATCH 29/38] updates --- src/components/CustomTableRow/index.tsx | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/components/CustomTableRow/index.tsx b/src/components/CustomTableRow/index.tsx index e6b6cf10..256cad2a 100755 --- a/src/components/CustomTableRow/index.tsx +++ b/src/components/CustomTableRow/index.tsx @@ -69,7 +69,8 @@ export const displayType = (network, shortenedItem, item, name) => { name === 'hash' || name === 'block_id' || name === 'block_hash' || - name === 'operation_group_hash' + name === 'operation_group_hash' || + name === 'delegate' ) { return ( @@ -106,11 +107,11 @@ const CustomTableRow: React.StatelessComponent = props => { hash.toLowerCase().includes('predecessor') || hash.toLowerCase().includes('account_id') || hash.toLowerCase().includes('block_id') || - hash.toLowerCase().includes('manager') || + hash.toLowerCase() === 'manager' || hash.toLowerCase().includes('protocol') || hash.toLowerCase().includes('block_hash') || - hash.toLowerCase().includes('delegate') || - hash.toLowerCase().includes('opeartion_group_hash') || + hash.toLowerCase() === 'delegate' || + hash.toLowerCase().includes('operation_group_hash') || hash.toLowerCase().includes('context') || hash.toLowerCase().includes('signature') ) { From e553a8c31022b4a093af186203ca2365c755a41e Mon Sep 17 00:00:00 2001 From: Sean M Date: Mon, 18 Feb 2019 13:34:14 +1300 Subject: [PATCH 30/38] updated first highlighted operations --- src/containers/App/index.tsx | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/containers/App/index.tsx b/src/containers/App/index.tsx index d6b82aa2..c2a7429e 100644 --- a/src/containers/App/index.tsx +++ b/src/containers/App/index.tsx @@ -220,34 +220,34 @@ class Arronax extends React.Component { { cardinality: null, dataType: 'Int', - displayName: 'Source', + displayName: 'Operation id', entity: 'operations', keyType: 'UniqueKey', - name: 'source', + name: 'operation_id', }, { cardinality: null, dataType: 'Int', - displayName: 'Destination', + displayName: 'Operation Group Hash', entity: 'operations', keyType: 'UniqueKey', - name: 'destination', + name: 'operation_group_hash', }, { cardinality: null, dataType: 'Int', - displayName: 'Amount', + displayName: 'Level', entity: 'operations', keyType: 'UniqueKey', - name: 'amount', + name: 'level', }, { cardinality: null, dataType: 'Int', - displayName: 'Fee', + displayName: 'Delegate', entity: 'operations', keyType: 'UniqueKey', - name: 'fee', + name: 'delegate', }, ]; case 'accounts': From c0dbbaaa5b0a7c28356ccd7224fcca297790a761 Mon Sep 17 00:00:00 2001 From: Sean M Date: Mon, 18 Feb 2019 14:15:01 +1300 Subject: [PATCH 31/38] updated changeNetwork to v2 --- src/components/CustomTableRow/index.tsx | 1 - src/reducers/app/thunks.ts | 72 ++++++++++++++++++++++--- 2 files changed, 64 insertions(+), 9 deletions(-) diff --git a/src/components/CustomTableRow/index.tsx b/src/components/CustomTableRow/index.tsx index 256cad2a..3d8c8020 100755 --- a/src/components/CustomTableRow/index.tsx +++ b/src/components/CustomTableRow/index.tsx @@ -99,7 +99,6 @@ const CustomTableRow: React.StatelessComponent = props => { const shortenedItem = { ...item }; let itemsArray = Object.keys(shortenedItem); itemsArray.forEach(hash => { - console.log(hash, item[hash]); if (hash[item] === null) { return; } else if ( diff --git a/src/reducers/app/thunks.ts b/src/reducers/app/thunks.ts index b637095e..6aadfd7b 100644 --- a/src/reducers/app/thunks.ts +++ b/src/reducers/app/thunks.ts @@ -1,4 +1,17 @@ -import { TezosConseilClient, ConseilMetadataClient } from 'conseiljs'; +import { + TezosConseilClient, + ConseilMetadataClient, + ConseilDataClient, + ConseilQueryBuilder, +} from 'conseiljs'; +const { executeEntityQuery } = ConseilDataClient; +const { + blankQuery, + addPredicate, + addOrdering, + addFields, + setLimit, +} = ConseilQueryBuilder; import { setItemsAction, initDataAction, @@ -11,7 +24,7 @@ import getConfigs from '../../utils/getconfig'; const configs = getConfigs(); const { getBlocks, getOperations, getAccounts } = TezosConseilClient; -const { getAttributes, getAttributeValues } = ConseilMetadataClient; +const { getAttributes } = ConseilMetadataClient; const ConseilOperations = { blocks: getBlocks, operations: getOperations, @@ -22,6 +35,31 @@ const getConfig = val => { return configs.find(conf => conf.value === val); }; +const getAttributesForQuery = (attributes, entity) => { + if (entity === 'blocks') { + return [ + 'level', + 'proto', + 'predecessor', + 'timestamp', + 'validation_pass', + 'fitness', + 'context', + 'signature', + 'protocol', + 'chain_id', + 'hash', + 'operations_hash', + ]; + } else { + let attr = []; + attributes[entity].forEach(attribs => { + attr.push(attribs.name); + }); + return attr; + } +}; + export const setItems = (type, items) => { return dispatch => { dispatch(setItemsAction(type, items)); @@ -55,7 +93,6 @@ export const changeNetwork = (network: string) => async (dispatch, state) => { if (oldNetwork === network) return; dispatch(initDataAction()); dispatch(setNetworkAction(network)); - const filters = state().app.filters; const entity = state().app.selectedEntity; dispatch(setLoadingAction(true)); const config = getConfig(network); @@ -63,23 +100,42 @@ export const changeNetwork = (network: string) => async (dispatch, state) => { url: config.url, apiKey: config.key, }; - const items = await ConseilOperations[entity](serverInfo, network, filters); + const attributes = state().app.attributes; + const starters = getAttributesForQuery(attributes, entity); + let query = blankQuery(); + query = addFields(query, ...starters); + const items = await executeEntityQuery( + serverInfo, + 'tezos', + network, + entity, + query + ); dispatch(setItemsAction(entity, items)); dispatch(setLoadingAction(false)); }; export const fetchItemsAction = (entity: string) => async (dispatch, state) => { - const network = state().app.network; - const filters = state().app.filters; const originItems = state().app[entity]; if (originItems.length > 0) return; - dispatch(setLoadingAction(true)); + const network = state().app.network; const config = getConfig(network); + const attributes = state().app.attributes; + const starters = getAttributesForQuery(attributes, entity); const serverInfo = { url: config.url, apiKey: config.key, }; - const items = await ConseilOperations[entity](serverInfo, network, filters); + dispatch(setLoadingAction(true)); + let query = blankQuery(); + query = addFields(query, ...starters); + const items = await executeEntityQuery( + serverInfo, + 'tezos', + network, + entity, + query + ); dispatch(setItemsAction(entity, items)); dispatch(setLoadingAction(false)); }; From 1d7b808597fb5127ec2551c0304a73ba93bcbf8c Mon Sep 17 00:00:00 2001 From: Sean M Date: Mon, 18 Feb 2019 14:16:44 +1300 Subject: [PATCH 32/38] added notes about update to v2 for submitFilters in thunks --- src/reducers/app/thunks.ts | 31 ++++++++++++++++--------------- 1 file changed, 16 insertions(+), 15 deletions(-) diff --git a/src/reducers/app/thunks.ts b/src/reducers/app/thunks.ts index 6aadfd7b..593e5791 100644 --- a/src/reducers/app/thunks.ts +++ b/src/reducers/app/thunks.ts @@ -72,21 +72,22 @@ export const setColumns = (type, items) => { }; }; -export const submitFilters = () => async (dispatch, state) => { - dispatch(initDataAction()); - const network = state().app.network; - const filters = state().app.filters; - const entity = state().app.selectedEntity; - dispatch(setLoadingAction(true)); - const config = getConfig(network); - const serverInfo = { - url: config.url, - apiKey: config.key, - }; - const items = await ConseilOperations[entity](serverInfo, network, filters); - dispatch(setItemsAction(entity, items)); - dispatch(setLoadingAction(false)); -}; +// WILL NEED UPDATE TO V2! +// export const submitFilters = () => async (dispatch, state) => { +// dispatch(initDataAction()); +// const network = state().app.network; +// const filters = state().app.filters; +// const entity = state().app.selectedEntity; +// dispatch(setLoadingAction(true)); +// const config = getConfig(network); +// const serverInfo = { +// url: config.url, +// apiKey: config.key, +// }; +// const items = await ConseilOperations[entity](serverInfo, network, filters); +// dispatch(setItemsAction(entity, items)); +// dispatch(setLoadingAction(false)); +// }; export const changeNetwork = (network: string) => async (dispatch, state) => { const oldNetwork = state().app.network; From 9af15ffc7b9ca9b7a817e7c99720a8f04dbeae52 Mon Sep 17 00:00:00 2001 From: Sean M Date: Tue, 19 Feb 2019 11:35:19 +1300 Subject: [PATCH 33/38] final updates --- src/containers/App/index.tsx | 8 ++++++++ src/reducers/app/thunks.ts | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/containers/App/index.tsx b/src/containers/App/index.tsx index c2a7429e..9476e0e6 100644 --- a/src/containers/App/index.tsx +++ b/src/containers/App/index.tsx @@ -249,6 +249,14 @@ class Arronax extends React.Component { keyType: 'UniqueKey', name: 'delegate', }, + { + cardinality: null, + dataType: 'Int', + displayName: 'Slots', + entity: 'operations', + keyType: 'UniqueKey', + name: 'slots', + }, ]; case 'accounts': return [ diff --git a/src/reducers/app/thunks.ts b/src/reducers/app/thunks.ts index 593e5791..1043e77a 100644 --- a/src/reducers/app/thunks.ts +++ b/src/reducers/app/thunks.ts @@ -92,10 +92,10 @@ export const setColumns = (type, items) => { export const changeNetwork = (network: string) => async (dispatch, state) => { const oldNetwork = state().app.network; if (oldNetwork === network) return; + dispatch(setLoadingAction(true)); dispatch(initDataAction()); dispatch(setNetworkAction(network)); const entity = state().app.selectedEntity; - dispatch(setLoadingAction(true)); const config = getConfig(network); const serverInfo = { url: config.url, From 407694b2b41acce52be1250376c96a6035123239 Mon Sep 17 00:00:00 2001 From: Sean M Date: Tue, 19 Feb 2019 13:44:40 +1300 Subject: [PATCH 34/38] cleanup --- src/containers/App/index.tsx | 1 - 1 file changed, 1 deletion(-) diff --git a/src/containers/App/index.tsx b/src/containers/App/index.tsx index 9476e0e6..0ed35a61 100644 --- a/src/containers/App/index.tsx +++ b/src/containers/App/index.tsx @@ -133,7 +133,6 @@ class Arronax extends React.Component { attributes, fetchAttributes, } = this.props; - // get legit columns fetchItems(selectedEntity); if (attributes.length === 0) { fetchAttributes(); From dac5de853557429a839a614614a9010cdcfc6c6f Mon Sep 17 00:00:00 2001 From: Sean M Date: Tue, 19 Feb 2019 14:07:16 +1300 Subject: [PATCH 35/38] updated sorting to show most recent first --- src/containers/CustomTable/index.tsx | 4 ++-- src/reducers/app/thunks.ts | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/containers/CustomTable/index.tsx b/src/containers/CustomTable/index.tsx index 05708282..83be7c36 100755 --- a/src/containers/CustomTable/index.tsx +++ b/src/containers/CustomTable/index.tsx @@ -33,9 +33,9 @@ const desc = (a, b, orderBy) => { const stableSort = (array, cmp) => { const stabilizedThis = array.map((el, index) => [el, index]); stabilizedThis.sort((a, b) => { - const order = cmp(a[0], b[0]); + const order = cmp(b[0], a[0]); if (order !== 0) return order; - return a[1] - b[1]; + return b[1] - a[1]; }); return stabilizedThis.map(el => el[0]); }; diff --git a/src/reducers/app/thunks.ts b/src/reducers/app/thunks.ts index 1043e77a..5148055d 100644 --- a/src/reducers/app/thunks.ts +++ b/src/reducers/app/thunks.ts @@ -137,8 +137,8 @@ export const fetchItemsAction = (entity: string) => async (dispatch, state) => { entity, query ); - dispatch(setItemsAction(entity, items)); - dispatch(setLoadingAction(false)); + await dispatch(setItemsAction(entity, items)); + await dispatch(setLoadingAction(false)); }; export const fetchAttributes = () => async (dispatch, state) => { From 5ad153b7847a74d2e38c5e34fdefd5ab31854561 Mon Sep 17 00:00:00 2001 From: Sean M Date: Tue, 19 Feb 2019 14:14:58 +1300 Subject: [PATCH 36/38] updated sorting and inital selected values --- src/containers/App/index.tsx | 24 ++++-------------------- src/reducers/app/reducers.ts | 24 ++++-------------------- 2 files changed, 8 insertions(+), 40 deletions(-) diff --git a/src/containers/App/index.tsx b/src/containers/App/index.tsx index 0ed35a61..d43807ec 100644 --- a/src/containers/App/index.tsx +++ b/src/containers/App/index.tsx @@ -165,22 +165,6 @@ class Arronax extends React.Component { keyType: 'UniqueKey', name: 'level', }, - { - cardinality: null, - dataType: 'Int', - displayName: 'Proto', - entity: 'blocks', - keyType: 'UniqueKey', - name: 'proto', - }, - { - cardinality: null, - dataType: 'Int', - displayName: 'Predecessor', - entity: 'blocks', - keyType: 'UniqueKey', - name: 'predecessor', - }, { cardinality: null, dataType: 'Int', @@ -192,18 +176,18 @@ class Arronax extends React.Component { { cardinality: null, dataType: 'Int', - displayName: 'Validation pass', + displayName: 'Hash', entity: 'blocks', keyType: 'UniqueKey', - name: 'validation_pass', + name: 'hash', }, { cardinality: null, dataType: 'Int', - displayName: 'Fitness', + displayName: 'Predecessor', entity: 'blocks', keyType: 'UniqueKey', - name: 'fitness', + name: 'predecessor', }, ]; case 'operations': diff --git a/src/reducers/app/reducers.ts b/src/reducers/app/reducers.ts index 59bcb178..091a62f0 100644 --- a/src/reducers/app/reducers.ts +++ b/src/reducers/app/reducers.ts @@ -66,22 +66,6 @@ const initialState: AppState = { keyType: 'UniqueKey', name: 'level', }, - { - cardinality: null, - dataType: 'Int', - displayName: 'Proto', - entity: 'blocks', - keyType: 'UniqueKey', - name: 'proto', - }, - { - cardinality: null, - dataType: 'Int', - displayName: 'Predecessor', - entity: 'blocks', - keyType: 'UniqueKey', - name: 'predecessor', - }, { cardinality: null, dataType: 'Int', @@ -93,18 +77,18 @@ const initialState: AppState = { { cardinality: null, dataType: 'Int', - displayName: 'Validation pass', + displayName: 'Hash', entity: 'blocks', keyType: 'UniqueKey', - name: 'validation_pass', + name: 'hash', }, { cardinality: null, dataType: 'Int', - displayName: 'Fitness', + displayName: 'Predecessor', entity: 'blocks', keyType: 'UniqueKey', - name: 'fitness', + name: 'predecessor', }, ], accounts: [], From 91de399cf77b316f33dec4b4d865d16095748e5d Mon Sep 17 00:00:00 2001 From: Sean M Date: Thu, 21 Feb 2019 23:12:01 +1300 Subject: [PATCH 37/38] checkpoint/notes --- src/components/CustomTableRow/index.tsx | 2 +- src/reducers/app/thunks.ts | 14 +++++++------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/components/CustomTableRow/index.tsx b/src/components/CustomTableRow/index.tsx index 3d8c8020..0999cadb 100755 --- a/src/components/CustomTableRow/index.tsx +++ b/src/components/CustomTableRow/index.tsx @@ -99,7 +99,7 @@ const CustomTableRow: React.StatelessComponent = props => { const shortenedItem = { ...item }; let itemsArray = Object.keys(shortenedItem); itemsArray.forEach(hash => { - if (hash[item] === null) { + if (item[hash] === null) { return; } else if ( hash.toLowerCase().includes('hash') || diff --git a/src/reducers/app/thunks.ts b/src/reducers/app/thunks.ts index 5148055d..08767eeb 100644 --- a/src/reducers/app/thunks.ts +++ b/src/reducers/app/thunks.ts @@ -3,15 +3,10 @@ import { ConseilMetadataClient, ConseilDataClient, ConseilQueryBuilder, + ConseilSortDirection, } from 'conseiljs'; const { executeEntityQuery } = ConseilDataClient; -const { - blankQuery, - addPredicate, - addOrdering, - addFields, - setLimit, -} = ConseilQueryBuilder; +const { blankQuery, addOrdering, addFields, setLimit } = ConseilQueryBuilder; import { setItemsAction, initDataAction, @@ -90,6 +85,7 @@ export const setColumns = (type, items) => { // }; export const changeNetwork = (network: string) => async (dispatch, state) => { + // cannot read substring of null error. This way of querying is best though, will update for custom queries when the time comes. const oldNetwork = state().app.network; if (oldNetwork === network) return; dispatch(setLoadingAction(true)); @@ -117,6 +113,7 @@ export const changeNetwork = (network: string) => async (dispatch, state) => { }; export const fetchItemsAction = (entity: string) => async (dispatch, state) => { + // find what attribute all 3 share so that you can set that attribute for the addOrdering funciton 2nd argument const originItems = state().app[entity]; if (originItems.length > 0) return; const network = state().app.network; @@ -130,6 +127,8 @@ export const fetchItemsAction = (entity: string) => async (dispatch, state) => { dispatch(setLoadingAction(true)); let query = blankQuery(); query = addFields(query, ...starters); + query = setLimit(query, 100); + query = addOrdering(query, 'block_level', ConseilSortDirection.DESC); const items = await executeEntityQuery( serverInfo, 'tezos', @@ -137,6 +136,7 @@ export const fetchItemsAction = (entity: string) => async (dispatch, state) => { entity, query ); + console.log(items); await dispatch(setItemsAction(entity, items)); await dispatch(setLoadingAction(false)); }; From 8c903cb0ab93146aad62debf0c044d78a1a9b5c4 Mon Sep 17 00:00:00 2001 From: Sean M Date: Fri, 22 Feb 2019 10:44:57 +1300 Subject: [PATCH 38/38] updated initial call --- src/reducers/app/thunks.ts | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/reducers/app/thunks.ts b/src/reducers/app/thunks.ts index 08767eeb..342da526 100644 --- a/src/reducers/app/thunks.ts +++ b/src/reducers/app/thunks.ts @@ -85,7 +85,6 @@ export const setColumns = (type, items) => { // }; export const changeNetwork = (network: string) => async (dispatch, state) => { - // cannot read substring of null error. This way of querying is best though, will update for custom queries when the time comes. const oldNetwork = state().app.network; if (oldNetwork === network) return; dispatch(setLoadingAction(true)); @@ -113,7 +112,6 @@ export const changeNetwork = (network: string) => async (dispatch, state) => { }; export const fetchItemsAction = (entity: string) => async (dispatch, state) => { - // find what attribute all 3 share so that you can set that attribute for the addOrdering funciton 2nd argument const originItems = state().app[entity]; if (originItems.length > 0) return; const network = state().app.network; @@ -128,7 +126,11 @@ export const fetchItemsAction = (entity: string) => async (dispatch, state) => { let query = blankQuery(); query = addFields(query, ...starters); query = setLimit(query, 100); - query = addOrdering(query, 'block_level', ConseilSortDirection.DESC); + query = addOrdering( + query, + starters.includes('block_level') ? 'block_level' : 'level', + ConseilSortDirection.DESC + ); const items = await executeEntityQuery( serverInfo, 'tezos', @@ -136,7 +138,6 @@ export const fetchItemsAction = (entity: string) => async (dispatch, state) => { entity, query ); - console.log(items); await dispatch(setItemsAction(entity, items)); await dispatch(setLoadingAction(false)); };