From ce8945a63992677c91502544b6de164770f0aa6e Mon Sep 17 00:00:00 2001 From: Matthias Kretschmann Date: Mon, 15 Apr 2019 21:08:49 +0200 Subject: [PATCH 01/10] move config file --- client/src/{config => }/config.ts | 0 client/src/context/UserProvider.tsx | 2 +- client/src/hoc/withTracker.tsx | 2 +- client/src/ocean.ts | 2 +- client/src/routes/Publish/Files/index.tsx | 2 +- 5 files changed, 4 insertions(+), 4 deletions(-) rename client/src/{config => }/config.ts (100%) diff --git a/client/src/config/config.ts b/client/src/config.ts similarity index 100% rename from client/src/config/config.ts rename to client/src/config.ts diff --git a/client/src/context/UserProvider.tsx b/client/src/context/UserProvider.tsx index e003684..c7ff4cc 100644 --- a/client/src/context/UserProvider.tsx +++ b/client/src/context/UserProvider.tsx @@ -3,7 +3,7 @@ import Web3 from 'web3' import { Logger } from '@oceanprotocol/squid' import { User } from '.' import { provideOcean, requestFromFaucet, FaucetResponse } from '../ocean' -import { nodeHost, nodePort, nodeScheme } from '../config/config' +import { nodeHost, nodePort, nodeScheme } from '../config' const POLL_ACCOUNTS = 1000 // every 1s const POLL_NETWORK = POLL_ACCOUNTS * 60 // every 1 min diff --git a/client/src/hoc/withTracker.tsx b/client/src/hoc/withTracker.tsx index ea8653d..f976590 100644 --- a/client/src/hoc/withTracker.tsx +++ b/client/src/hoc/withTracker.tsx @@ -1,7 +1,7 @@ import React, { useEffect } from 'react' import ReactGA, { FieldsObject } from 'react-ga' import { RouteComponentProps } from 'react-router-dom' -import { analyticsId } from '../config/config' +import { analyticsId } from '../config' const withTracker =

( WrappedComponent: any, diff --git a/client/src/ocean.ts b/client/src/ocean.ts index 879d213..e752aec 100644 --- a/client/src/ocean.ts +++ b/client/src/ocean.ts @@ -22,7 +22,7 @@ import { secretStorePort, secretStoreScheme, verbose -} from './config/config' +} from './config' export async function provideOcean(web3provider: Web3) { const nodeUri = `${nodeScheme}://${nodeHost}:${nodePort}` diff --git a/client/src/routes/Publish/Files/index.tsx b/client/src/routes/Publish/Files/index.tsx index 9794584..f7a566b 100644 --- a/client/src/routes/Publish/Files/index.tsx +++ b/client/src/routes/Publish/Files/index.tsx @@ -6,7 +6,7 @@ import ItemForm from './ItemForm' import Item from './Item' import styles from './index.module.scss' -import { serviceHost, servicePort, serviceScheme } from '../../../config/config' +import { serviceHost, servicePort, serviceScheme } from '../../../config' interface File { url: string From 8a5d89e6400ee9601c6861583708037d9be9edf3 Mon Sep 17 00:00:00 2001 From: Matthias Kretschmann Date: Mon, 15 Apr 2019 22:13:40 +0200 Subject: [PATCH 02/10] new pagination UI --- client/package-lock.json | 17 ++++ client/package.json | 2 + .../molecules/Pagination.module.scss | 61 +++++++++--- .../src/components/molecules/Pagination.tsx | 98 +++++-------------- client/src/routes/Search.tsx | 11 ++- 5 files changed, 101 insertions(+), 88 deletions(-) diff --git a/client/package-lock.json b/client/package-lock.json index 84c79e9..da6dcfa 100644 --- a/client/package-lock.json +++ b/client/package-lock.json @@ -1496,6 +1496,15 @@ "@types/react": "*" } }, + "@types/react-paginate": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/@types/react-paginate/-/react-paginate-6.2.1.tgz", + "integrity": "sha512-+q8k1N0WzbMyOCsIEH/p5D6/KQD8dXYLzfvSvriYn//94icd2sqhAL2rWXkgwGvqHGCSTU9AoHtsWCJxPfquUQ==", + "dev": true, + "requires": { + "@types/react": "*" + } + }, "@types/react-router": { "version": "4.4.5", "resolved": "https://registry.npmjs.org/@types/react-router/-/react-router-4.4.5.tgz", @@ -18941,6 +18950,14 @@ "resolved": "https://registry.npmjs.org/react-onclickoutside/-/react-onclickoutside-6.8.0.tgz", "integrity": "sha512-5Q4Rn7QLEoh7WIe66KFvYIpWJ49GeHoygP1/EtJyZjXKgrWH19Tf0Ty3lWyQzrEEDyLOwUvvmBFSE3dcDdvagA==" }, + "react-paginate": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/react-paginate/-/react-paginate-6.3.0.tgz", + "integrity": "sha512-lT/ne7hZzctGDli4QzUAou0JjfZgxKmtl9/r30B5UVonICZIy1u0SrAkdlEZ5ubgzrOykBeCmxkTWi5IyPg4AQ==", + "requires": { + "prop-types": "^15.6.1" + } + }, "react-popper": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/react-popper/-/react-popper-1.3.3.tgz", diff --git a/client/package.json b/client/package.json index cbd6507..727e248 100644 --- a/client/package.json +++ b/client/package.json @@ -27,6 +27,7 @@ "react-helmet": "^5.2.0", "react-markdown": "^4.0.6", "react-moment": "^0.9.2", + "react-paginate": "^6.3.0", "react-popper": "^1.3.3", "react-router-dom": "^5.0.0", "react-transition-group": "^3.0.0", @@ -43,6 +44,7 @@ "@types/react-dom": "^16.8.3", "@types/react-dotdotdot": "^1.2.0", "@types/react-helmet": "^5.0.8", + "@types/react-paginate": "^6.2.1", "@types/react-router-dom": "^4.3.1", "@types/react-transition-group": "^2.8.0", "@types/web3": "^1.0.18", diff --git a/client/src/components/molecules/Pagination.module.scss b/client/src/components/molecules/Pagination.module.scss index 0060cb4..90ccd5b 100644 --- a/client/src/components/molecules/Pagination.module.scss +++ b/client/src/components/molecules/Pagination.module.scss @@ -2,18 +2,17 @@ .pagination { display: flex; + flex-wrap: wrap; margin-top: $spacer * 2; margin-bottom: $spacer; justify-content: center; + padding-left: 0; - > div { - &:first-child { - padding: $spacer / 4; - } + li { + margin: 0; - &:last-child { - padding: $spacer / 4; - text-align: right; + &:before { + display: none; } } } @@ -21,15 +20,55 @@ .number { text-align: center; font-weight: $font-weight-bold; - padding: $spacer / 4; - margin-left: $spacer / 4; - margin-right: $spacer / 4; + padding: $spacer / 4 $spacer / 2; + margin-left: -1px; display: inline-block; + cursor: pointer; + border: 1px solid $brand-grey-lighter; + min-width: 3rem; + + &, + &:hover, + &:focus, + &:active { + transform: none; + outline: 0; + } + + &:hover, + &:focus, + &:active { + background: lighten($brand-grey-lighter, 7%); + } } .current { composes: number; cursor: default; pointer-events: none; - color: $brand-grey-light; + + &, + &:hover, + &:focus, + &:active { + color: $brand-grey-light; + background: lighten($brand-grey-lighter, 7%); + } +} + +.prev { + composes: number; +} + +.next { + composes: number; + text-align: right; +} + +.prevNextDisabled { + opacity: 0; +} + +.break { + composes: number; } diff --git a/client/src/components/molecules/Pagination.tsx b/client/src/components/molecules/Pagination.tsx index 191d866..7477b9a 100644 --- a/client/src/components/molecules/Pagination.tsx +++ b/client/src/components/molecules/Pagination.tsx @@ -1,82 +1,36 @@ import React, { PureComponent } from 'react' -import Button from '../atoms/Button' +import ReactPaginate from 'react-paginate' import styles from './Pagination.module.scss' -const PageNumber = ({ - i, - current, - setPage -}: { - i: number - current: boolean - setPage(page: number): void -}) => ( - -) - -const PrevNext = ({ - currentPage, - prevPage, - setPage -}: { - currentPage: number - prevPage?: number - setPage(page: number): void -}) => ( - -) - export default class Pagination extends PureComponent<{ - currentPage: number totalPages: number - prevPage?: number - setPage(page: number): void + currentPage: number + handlePageClick(data: { selected: number }): Promise }> { public render() { - const { currentPage, totalPages, prevPage, setPage } = this.props - const isFirst = currentPage === 1 - const isLast = currentPage === totalPages + const { totalPages, currentPage, handlePageClick } = this.props - return totalPages > 1 ? ( -

-
- {!isFirst && ( - - )} -
-
- {Array.from({ length: totalPages }, (_, i) => ( - - ))} -
-
- {!isLast && ( - - )} -
-
- ) : null + return ( + totalPages > 1 && ( + handlePageClick(data)} + containerClassName={styles.pagination} + pageLinkClassName={styles.number} + activeLinkClassName={styles.current} + previousLinkClassName={styles.prev} + nextLinkClassName={styles.next} + disabledClassName={styles.prevNextDisabled} + disableInitialCallback + previousLabel={'←'} + nextLabel={'→'} + breakLabel={'...'} + breakLinkClassName={styles.break} + /> + ) + ) } } diff --git a/client/src/routes/Search.tsx b/client/src/routes/Search.tsx index 0424e03..a895bc6 100644 --- a/client/src/routes/Search.tsx +++ b/client/src/routes/Search.tsx @@ -72,13 +72,15 @@ export default class Search extends PureComponent { Logger.log(`Loaded ${this.state.results.length} assets`) } - private setPage = async (page: number) => { + private handlePageClick = async (data: { selected: number }) => { + let toPage = data.selected + 1 + this.props.history.push({ pathname: this.props.location.pathname, - search: `?text=${this.searchTerm}&page=${page}` + search: `?text=${this.searchTerm}&page=${toPage}` }) - await this.setState({ currentPage: page, isLoading: true }) + await this.setState({ currentPage: toPage, isLoading: true }) await this.searchAssets() } @@ -111,8 +113,7 @@ export default class Search extends PureComponent { ) From 1a15a30435eb3257ea440d17aa6db31743b45de6 Mon Sep 17 00:00:00 2001 From: Matthias Kretschmann Date: Mon, 15 Apr 2019 22:31:05 +0200 Subject: [PATCH 03/10] add pagination UI render test --- .../src/components/molecules/Pagination.test.tsx | 16 ++++++++++++++++ client/src/components/molecules/Pagination.tsx | 9 +++++---- client/src/routes/Search.tsx | 1 + 3 files changed, 22 insertions(+), 4 deletions(-) create mode 100644 client/src/components/molecules/Pagination.test.tsx diff --git a/client/src/components/molecules/Pagination.test.tsx b/client/src/components/molecules/Pagination.test.tsx new file mode 100644 index 0000000..0271ec5 --- /dev/null +++ b/client/src/components/molecules/Pagination.test.tsx @@ -0,0 +1,16 @@ +import React from 'react' +import { render } from 'react-testing-library' +import Pagination from './Pagination' + +describe('Button', () => { + it('renders without crashing', () => { + const { container, getByRole } = render( + Promise.resolve()} + /> + ) + expect(container.firstChild).toBeInTheDocument() + }) +}) diff --git a/client/src/components/molecules/Pagination.tsx b/client/src/components/molecules/Pagination.tsx index 7477b9a..cab1384 100644 --- a/client/src/components/molecules/Pagination.tsx +++ b/client/src/components/molecules/Pagination.tsx @@ -14,20 +14,21 @@ export default class Pagination extends PureComponent<{ totalPages > 1 && ( handlePageClick(data)} + disableInitialCallback + previousLabel={'←'} + nextLabel={'→'} + breakLabel={'...'} containerClassName={styles.pagination} pageLinkClassName={styles.number} activeLinkClassName={styles.current} previousLinkClassName={styles.prev} nextLinkClassName={styles.next} disabledClassName={styles.prevNextDisabled} - disableInitialCallback - previousLabel={'←'} - nextLabel={'→'} - breakLabel={'...'} breakLinkClassName={styles.break} /> ) diff --git a/client/src/routes/Search.tsx b/client/src/routes/Search.tsx index a895bc6..a333251 100644 --- a/client/src/routes/Search.tsx +++ b/client/src/routes/Search.tsx @@ -73,6 +73,7 @@ export default class Search extends PureComponent { } private handlePageClick = async (data: { selected: number }) => { + // react-pagination starts counting at 0, we start at 1 let toPage = data.selected + 1 this.props.history.push({ From 78c89ec28f14f7ee26ce3f1879fc0f5b70feb8ad Mon Sep 17 00:00:00 2001 From: Matthias Kretschmann Date: Mon, 15 Apr 2019 22:35:38 +0200 Subject: [PATCH 04/10] add test:watch command --- client/package.json | 1 + 1 file changed, 1 insertion(+) diff --git a/client/package.json b/client/package.json index 727e248..949677a 100644 --- a/client/package.json +++ b/client/package.json @@ -7,6 +7,7 @@ "start": "react-scripts start", "build": "react-scripts --max_old_space_size=4096 build", "test": "react-scripts test --coverage", + "test:watch": "react-scripts test --coverage --watch", "eject": "react-scripts eject" }, "dependencies": { From dde408682758e1f199445091c5abe984c8316b7f Mon Sep 17 00:00:00 2001 From: Matthias Kretschmann Date: Mon, 15 Apr 2019 22:46:49 +0200 Subject: [PATCH 05/10] cleanup --- client/src/components/atoms/CategoryImage.tsx | 2 +- .../molecules/Pagination.module.scss | 19 ++++++++----------- .../components/molecules/Pagination.test.tsx | 3 ++- 3 files changed, 11 insertions(+), 13 deletions(-) diff --git a/client/src/components/atoms/CategoryImage.tsx b/client/src/components/atoms/CategoryImage.tsx index fbe4e13..a02df06 100644 --- a/client/src/components/atoms/CategoryImage.tsx +++ b/client/src/components/atoms/CategoryImage.tsx @@ -127,7 +127,7 @@ const categoryImageFile = (category: string) => { case 'Transportation': case 'transport': return transport - case 'Urban Plannin': + case 'Urban Planning': case 'urbanplanning': return urbanplanning case 'Visual Arts & Design': diff --git a/client/src/components/molecules/Pagination.module.scss b/client/src/components/molecules/Pagination.module.scss index 90ccd5b..e3fc0ea 100644 --- a/client/src/components/molecules/Pagination.module.scss +++ b/client/src/components/molecules/Pagination.module.scss @@ -3,9 +3,9 @@ .pagination { display: flex; flex-wrap: wrap; + justify-content: center; margin-top: $spacer * 2; margin-bottom: $spacer; - justify-content: center; padding-left: 0; li { @@ -42,8 +42,14 @@ } } -.current { +.current, +.prev, +.next, +.break { composes: number; +} + +.current { cursor: default; pointer-events: none; @@ -56,19 +62,10 @@ } } -.prev { - composes: number; -} - .next { - composes: number; text-align: right; } .prevNextDisabled { opacity: 0; } - -.break { - composes: number; -} diff --git a/client/src/components/molecules/Pagination.test.tsx b/client/src/components/molecules/Pagination.test.tsx index 0271ec5..c93ec93 100644 --- a/client/src/components/molecules/Pagination.test.tsx +++ b/client/src/components/molecules/Pagination.test.tsx @@ -4,7 +4,7 @@ import Pagination from './Pagination' describe('Button', () => { it('renders without crashing', () => { - const { container, getByRole } = render( + const { container } = render( { /> ) expect(container.firstChild).toBeInTheDocument() + container.firstChild && expect(container.firstChild.nodeName).toBe('UL') }) }) From e9b1f240945903feea6cae7e0dcada3a7b4c47f3 Mon Sep 17 00:00:00 2001 From: Matthias Kretschmann Date: Mon, 15 Apr 2019 23:14:29 +0200 Subject: [PATCH 06/10] mobile tweaks --- .../molecules/Pagination.module.scss | 3 +- .../src/components/molecules/Pagination.tsx | 43 +++++++++++++++++-- 2 files changed, 41 insertions(+), 5 deletions(-) diff --git a/client/src/components/molecules/Pagination.module.scss b/client/src/components/molecules/Pagination.module.scss index e3fc0ea..173677f 100644 --- a/client/src/components/molecules/Pagination.module.scss +++ b/client/src/components/molecules/Pagination.module.scss @@ -22,10 +22,11 @@ font-weight: $font-weight-bold; padding: $spacer / 4 $spacer / 2; margin-left: -1px; + margin-top: -1px; display: inline-block; cursor: pointer; border: 1px solid $brand-grey-lighter; - min-width: 3rem; + min-width: 3.5rem; &, &:hover, diff --git a/client/src/components/molecules/Pagination.tsx b/client/src/components/molecules/Pagination.tsx index cab1384..bf5c3a2 100644 --- a/client/src/components/molecules/Pagination.tsx +++ b/client/src/components/molecules/Pagination.tsx @@ -2,13 +2,47 @@ import React, { PureComponent } from 'react' import ReactPaginate from 'react-paginate' import styles from './Pagination.module.scss' -export default class Pagination extends PureComponent<{ +interface PaginationProps { totalPages: number currentPage: number handlePageClick(data: { selected: number }): Promise -}> { +} + +interface PaginationState { + smallViewport: boolean +} + +export default class Pagination extends PureComponent< + PaginationProps, + PaginationState +> { + public state = { smallViewport: true } + private mq = matchMedia && window.matchMedia('(min-width: 600px)') + + public componentDidMount() { + if (matchMedia) { + this.mq.addListener(this.viewportChange) + this.viewportChange(this.mq) + } + } + + public componentWillUnmount() { + if (matchMedia) { + this.mq.removeListener(this.viewportChange) + } + } + + private viewportChange = (mq: { matches: boolean }) => { + if (mq.matches) { + this.setState({ smallViewport: false }) + } else { + this.setState({ smallViewport: true }) + } + } + public render() { const { totalPages, currentPage, handlePageClick } = this.props + const { smallViewport } = this.state return ( totalPages > 1 && ( @@ -16,8 +50,9 @@ export default class Pagination extends PureComponent<{ pageCount={totalPages} // react-pagination starts counting at 0, we start at 1 initialPage={currentPage - 1} - marginPagesDisplayed={1} - pageRangeDisplayed={6} + // adapt based on media query match + marginPagesDisplayed={smallViewport ? 0 : 1} + pageRangeDisplayed={smallViewport ? 3 : 6} onPageChange={data => handlePageClick(data)} disableInitialCallback previousLabel={'←'} From 093c6c184d0d9537fc31bf4a8813a052426e503d Mon Sep 17 00:00:00 2001 From: Matthias Kretschmann Date: Mon, 15 Apr 2019 23:27:19 +0200 Subject: [PATCH 07/10] update docs --- README.md | 27 ++++++++++++++++++++++----- 1 file changed, 22 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 6caf350..50b9c62 100644 --- a/README.md +++ b/README.md @@ -21,6 +21,7 @@ If you're a developer and want to contribute to, or want to utilize this marketplace's code in your projects, then keep on reading. - [🏄 Get Started](#-get-started) + - [🏖 Remote Ocean: Nile](#-remote-ocean-nile) - [🐳 Use with Barge](#-use-with-barge) - [👩‍🔬 Testing](#-testing) - [✨ Code Style](#-code-style) @@ -29,13 +30,13 @@ If you're a developer and want to contribute to, or want to utilize this marketp - [🎁 Contributing](#-contributing) - [🏛 License](#-license) +## 🏄 Get Started + This repo contains a client and a server, both written in TypeScript: - **client**: React app setup with [squid-js](https://github.com/oceanprotocol/squid-js), bootstrapped with [Create React App](https://github.com/facebook/create-react-app) - **server**: Node.js app, utilizing [Express](https://expressjs.com). The server provides various microservices, like remote file checking. -## 🏄 Get Started - To spin up both, the client and the server in a watch mode for local development, execute: ```bash @@ -45,7 +46,15 @@ npm start Open [http://localhost:3000](http://localhost:3000) to view the client in the browser. The page will reload if you make edits to files in either `./client` or `./server`. -To make use of all the functionality, you need to connect to the Ocean network. By default, the client will connect to [Ocean's Nile test network](https://docs.oceanprotocol.com/concepts/testnets/#the-nile-testnet) remotely. +### 🏖 Remote Ocean: Nile + +To make use of all the functionality, you need to connect to the Ocean network. By default, the client will connect to Ocean components running within [Ocean's Nile test network](https://docs.oceanprotocol.com/concepts/testnets/#the-nile-testnet) remotely. + +This means you need to connect with your MetaMask to the Nile network too. To do this: + +1. select Custom RPC in the network dropdown in MetaMask +2. under New Network, enter `https://nile.dev-ocean.com` as the custom RPC URL +3. Hit _Save_, and you’re now connected to Nile ### 🐳 Use with Barge @@ -58,15 +67,23 @@ cd barge ./start_ocean.sh --latest --no-pleuston --local-spree-node ``` -Modify `./client/src/config/config.ts` to use those local connections. +Modify `./client/src/config.ts` to use those local connections. ## 👩‍🔬 Testing +Test suite is setup with [Jest](https://jestjs.io) and [react-testing-library](https://github.com/kentcdodds/react-testing-library). + +To run all tests, including all linting tests: + ```bash npm test ``` -Launches the test runner in the interactive watch mode. +For local development, you can start the test runner in interactive watch mode: + +```bash +npm test:watch +``` ## ✨ Code Style From b03074ecee40c7decfe02e258fe2595ae6e5755d Mon Sep 17 00:00:00 2001 From: Matthias Kretschmann Date: Mon, 15 Apr 2019 23:30:35 +0200 Subject: [PATCH 08/10] fix test --- README.md | 14 ++++++-- client/src/App.test.tsx | 11 ++++--- .../components/atoms/CategoryImage.test.tsx | 33 +++++++++++++++++++ client/src/components/atoms/CategoryImage.tsx | 1 + client/src/components/atoms/Form/Input.tsx | 2 +- .../src/components/molecules/Pagination.tsx | 6 ++-- package.json | 1 + server/package.json | 2 +- 8 files changed, 58 insertions(+), 12 deletions(-) create mode 100644 client/src/components/atoms/CategoryImage.test.tsx diff --git a/README.md b/README.md index 50b9c62..12122f7 100644 --- a/README.md +++ b/README.md @@ -79,10 +79,20 @@ To run all tests, including all linting tests: npm test ``` -For local development, you can start the test runner in interactive watch mode: +For local development, you can start the test runners for client & server in a watch mode. ```bash -npm test:watch +npm run test:watch +``` + +This will work for daily development but it misses the full interactivity of the test runner. If you need that, you will need to run them in individual terminal sessions: + +```bash +cd client/ +npm run test:watch + +cd server/ +npm run test:watch ``` ## ✨ Code Style diff --git a/client/src/App.test.tsx b/client/src/App.test.tsx index fe9b671..fa6de58 100644 --- a/client/src/App.test.tsx +++ b/client/src/App.test.tsx @@ -1,9 +1,10 @@ import React from 'react' -import ReactDOM from 'react-dom' +import { render } from 'react-testing-library' import App from './App' -it('renders without crashing', () => { - const div = document.createElement('div') - ReactDOM.render(, div) - ReactDOM.unmountComponentAtNode(div) +describe('App', () => { + it('renders without crashing', () => { + const { container } = render() + expect(container.firstChild).toBeInTheDocument() + }) }) diff --git a/client/src/components/atoms/CategoryImage.test.tsx b/client/src/components/atoms/CategoryImage.test.tsx new file mode 100644 index 0000000..8e9fca4 --- /dev/null +++ b/client/src/components/atoms/CategoryImage.test.tsx @@ -0,0 +1,33 @@ +import React from 'react' +import { render } from 'react-testing-library' +import slugify from 'slugify' +import CategoryImage from './CategoryImage' +import formPublish from '../../data/form-publish.json' + +describe('CategoryImage', () => { + it('renders fallback image', () => { + const { container, getByTestId } = render( + + ) + expect(container.firstChild).toBeInTheDocument() + expect(getByTestId('image').style.backgroundImage).toMatch( + /jellyfish-back/ + ) + }) + + it('renders all the category images', () => { + const { options } = formPublish.steps[1].fields + ? formPublish.steps[1].fields.categories + : [] + + options.map((category: string) => { + const { getByTestId } = render( + + ) + expect(getByTestId('image')).toBeInTheDocument() + // expect(getByTestId('image').style.backgroundImage).toMatch( + // slugify(category, { lower: true }) + // ) + }) + }) +}) diff --git a/client/src/components/atoms/CategoryImage.tsx b/client/src/components/atoms/CategoryImage.tsx index a02df06..52c77c4 100644 --- a/client/src/components/atoms/CategoryImage.tsx +++ b/client/src/components/atoms/CategoryImage.tsx @@ -148,6 +148,7 @@ export default class CategoryImage extends PureComponent<{ category: string }> { style={{ backgroundImage: `url(${image})` }} + {...this.props} /> ) } diff --git a/client/src/components/atoms/Form/Input.tsx b/client/src/components/atoms/Form/Input.tsx index 74dd26d..047d32f 100644 --- a/client/src/components/atoms/Form/Input.tsx +++ b/client/src/components/atoms/Form/Input.tsx @@ -70,7 +70,7 @@ export default class Input extends PureComponent { value: date } } - this.props.onChange!(event as any) + this.props.onChange!(event as any) // eslint-disable-line @typescript-eslint/no-non-null-assertion } public InputComponent = () => { diff --git a/client/src/components/molecules/Pagination.tsx b/client/src/components/molecules/Pagination.tsx index bf5c3a2..235da30 100644 --- a/client/src/components/molecules/Pagination.tsx +++ b/client/src/components/molecules/Pagination.tsx @@ -17,17 +17,17 @@ export default class Pagination extends PureComponent< PaginationState > { public state = { smallViewport: true } - private mq = matchMedia && window.matchMedia('(min-width: 600px)') + private mq = window.matchMedia && window.matchMedia('(min-width: 600px)') public componentDidMount() { - if (matchMedia) { + if (window.matchMedia) { this.mq.addListener(this.viewportChange) this.viewportChange(this.mq) } } public componentWillUnmount() { - if (matchMedia) { + if (window.matchMedia) { this.mq.removeListener(this.viewportChange) } } diff --git a/package.json b/package.json index 6a184e2..1a9d95b 100644 --- a/package.json +++ b/package.json @@ -8,6 +8,7 @@ "start": "concurrently \"cd client && npm start\" \"cd server && npm start\"", "build": "./scripts/build.sh", "test": "npm run lint && scripts/test.sh", + "test:watch": "npm run lint && concurrently \"cd client && npm run test:watch\" \"cd server && npm run test:watch\"", "format:js": "prettier --parser typescript --write '**/*.{js,jsx,ts,tsx}'", "format:css": "prettier-stylelint --ignore-path .gitignore --write --quiet '**/*.{css,scss}'", "format": "npm run format:js && npm run format:css", diff --git a/server/package.json b/server/package.json index 655a3de..abfe96b 100644 --- a/server/package.json +++ b/server/package.json @@ -9,7 +9,7 @@ "serve": "node dist/server.js", "build": "tsc", "test": "jest --coverage", - "test-watch": "npm run test --watchAll" + "test:watch": "jest --coverage --watch" }, "dependencies": { "body-parser": "^1.18.3", From b62753a8203d24702951af2c588b5e73ba542bfe Mon Sep 17 00:00:00 2001 From: Matthias Kretschmann Date: Tue, 16 Apr 2019 00:54:37 +0200 Subject: [PATCH 09/10] package updates --- client/package-lock.json | 6 +- client/package.json | 4 +- package-lock.json | 388 ++++++++------------------------------- package.json | 4 +- server/package-lock.json | 335 +++++---------------------------- server/package.json | 11 +- 6 files changed, 133 insertions(+), 615 deletions(-) diff --git a/client/package-lock.json b/client/package-lock.json index da6dcfa..c704237 100644 --- a/client/package-lock.json +++ b/client/package-lock.json @@ -1081,9 +1081,9 @@ "integrity": "sha512-c1LvaH+e1tzow0gZLwSWe19ap+DrZuNmZfxBdwEVEPQXarI0jTXa5qVDoiBow8kBWaqSIUgFAzQOJW8rKdlS1A==" }, "@oceanprotocol/squid": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/@oceanprotocol/squid/-/squid-0.5.4.tgz", - "integrity": "sha512-ozOTLNJX0GiKShum09e13LZ9zUKedWA5G8+H3Pwu3+lbdLYkRSeCg5eLXDUJxUN12+leiCnW/TZDoV9ZOmcd4w==", + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/@oceanprotocol/squid/-/squid-0.5.5.tgz", + "integrity": "sha512-6yBkq7adJSpiIB4LGgxK07hqiEUcJr2psKBmzLoq7LX0kMj6UlMfQjAp2G1fLSOQe3KBMVPyLPZJVKK2q9ApQQ==", "requires": { "@oceanprotocol/keeper-contracts": "^0.9.1", "bignumber.js": "^8.1.1", diff --git a/client/package.json b/client/package.json index 949677a..1ba7f3b 100644 --- a/client/package.json +++ b/client/package.json @@ -12,7 +12,7 @@ }, "dependencies": { "@oceanprotocol/art": "^2.2.0", - "@oceanprotocol/squid": "^0.5.4", + "@oceanprotocol/squid": "^0.5.5", "@oceanprotocol/typographies": "^0.1.0", "classnames": "^2.2.6", "filesize": "^4.1.2", @@ -53,7 +53,7 @@ "node-sass": "^4.11.0", "react-scripts": "^2.1.8", "react-testing-library": "^6.1.2", - "typescript": "^3.4.2" + "typescript": "^3.4.3" }, "repository": { "type": "git", diff --git a/package-lock.json b/package-lock.json index a5cb097..aeedd94 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "commons", - "version": "0.1.8", + "version": "0.2.0", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -4703,9 +4703,9 @@ } }, "leven": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/leven/-/leven-2.1.0.tgz", - "integrity": "sha1-wuep93IJTe6dNCAq6KzORoeHVYA=", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", "dev": true }, "levn": { @@ -5754,6 +5754,12 @@ } } }, + "picomatch": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.0.4.tgz", + "integrity": "sha512-lN1llt2d+xBz96Vp+yj0qMUVMyDsqvNSecdRDIEuh72kQi1N6ttkxPJ7zDVwKR4ehD2R3WhMKqdp/5LeRfc+PA==", + "dev": true + }, "pify": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", @@ -7578,58 +7584,58 @@ "dev": true }, "stylelint": { - "version": "9.10.1", - "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-9.10.1.tgz", - "integrity": "sha512-9UiHxZhOAHEgeQ7oLGwrwoDR8vclBKlSX7r4fH0iuu0SfPwFaLkb1c7Q2j1cqg9P7IDXeAV2TvQML/fRQzGBBQ==", + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-10.0.0.tgz", + "integrity": "sha512-0WeIef88OPPLwbIDpHiHx56YJEPRuTuxkDwcqpFW626nGzykBBxbPk4z4Hbqb/mYPJ9AcEDZoOcPD8t4TcckZw==", "dev": true, "requires": { - "autoprefixer": "^9.0.0", + "autoprefixer": "^9.5.1", "balanced-match": "^1.0.0", - "chalk": "^2.4.1", - "cosmiconfig": "^5.0.0", - "debug": "^4.0.0", + "chalk": "^2.4.2", + "cosmiconfig": "^5.2.0", + "debug": "^4.1.1", "execall": "^1.0.0", - "file-entry-cache": "^4.0.0", + "file-entry-cache": "^5.0.1", "get-stdin": "^6.0.0", "global-modules": "^2.0.0", - "globby": "^9.0.0", + "globby": "^9.2.0", "globjoin": "^0.1.4", "html-tags": "^2.0.0", - "ignore": "^5.0.4", + "ignore": "^5.0.6", "import-lazy": "^3.1.0", "imurmurhash": "^0.1.4", - "known-css-properties": "^0.11.0", - "leven": "^2.1.0", - "lodash": "^4.17.4", - "log-symbols": "^2.0.0", - "mathml-tag-names": "^2.0.1", + "known-css-properties": "^0.13.0", + "leven": "^3.1.0", + "lodash": "^4.17.11", + "log-symbols": "^2.2.0", + "mathml-tag-names": "^2.1.0", "meow": "^5.0.0", - "micromatch": "^3.1.10", + "micromatch": "^4.0.0", "normalize-selector": "^0.2.0", - "pify": "^4.0.0", - "postcss": "^7.0.13", + "pify": "^4.0.1", + "postcss": "^7.0.14", "postcss-html": "^0.36.0", "postcss-jsx": "^0.36.0", - "postcss-less": "^3.1.0", + "postcss-less": "^3.1.4", "postcss-markdown": "^0.36.0", "postcss-media-query-parser": "^0.2.3", - "postcss-reporter": "^6.0.0", + "postcss-reporter": "^6.0.1", "postcss-resolve-nested-selector": "^0.1.1", - "postcss-safe-parser": "^4.0.0", + "postcss-safe-parser": "^4.0.1", "postcss-sass": "^0.3.5", "postcss-scss": "^2.0.0", "postcss-selector-parser": "^3.1.0", "postcss-syntax": "^0.36.2", - "postcss-value-parser": "^3.3.0", + "postcss-value-parser": "^3.3.1", "resolve-from": "^4.0.0", "signal-exit": "^3.0.2", "slash": "^2.0.0", "specificity": "^0.4.1", - "string-width": "^3.0.0", + "string-width": "^4.1.0", "style-search": "^0.1.0", "sugarss": "^2.0.0", "svg-tags": "^1.0.0", - "table": "^5.0.0" + "table": "^5.2.3" }, "dependencies": { "ansi-regex": { @@ -7638,18 +7644,6 @@ "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", "dev": true }, - "arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", - "dev": true - }, - "array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", - "dev": true - }, "autoprefixer": { "version": "9.5.1", "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.5.1.tgz", @@ -7665,32 +7659,12 @@ } }, "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.1.tgz", + "integrity": "sha512-Vmyh3JAr5DRUKCdRrC+WyAAsWBez8HLnBmVb6Ux2VYbvC8DjqMC228WHx24fiQG5BiDOVo+otK1scdkK5S6YNg==", "dev": true, "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } + "fill-range": "^7.0.1" } }, "browserslist": { @@ -7733,173 +7707,28 @@ "parse-json": "^4.0.0" } }, - "expand-brackets": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", - "dev": true, - "requires": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "define-property": { - "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" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "is-accessor-descriptor": { - "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" - }, - "dependencies": { - "kind-of": { - "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" - } - } - } - }, - "is-data-descriptor": { - "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" - }, - "dependencies": { - "kind-of": { - "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" - } - } - } - }, - "is-descriptor": { - "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", - "kind-of": "^5.0.0" - } - }, - "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==", - "dev": true - } - } - }, - "extglob": { - "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", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "define-property": { - "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" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true }, "file-entry-cache": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-4.0.0.tgz", - "integrity": "sha512-AVSwsnbV8vH/UVbvgEhf3saVQXORNv0ZzSkvkhQIaia5Tia+JhGTaa/ePUSVoPHQyGayQNmYfkzFi3WZV5zcpA==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", + "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", "dev": true, "requires": { "flat-cache": "^2.0.1" } }, "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", "dev": true, "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } + "to-regex-range": "^5.0.1" } }, "find-up": { @@ -7982,71 +7811,22 @@ "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=", "dev": true }, - "is-accessor-descriptor": { - "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" - } - }, - "is-data-descriptor": { - "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" - } - }, - "is-descriptor": { - "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", - "kind-of": "^6.0.2" - } - }, - "is-number": { + "is-fullwidth-code-point": { "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" - }, - "dependencies": { - "kind-of": { - "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" - } - } - } - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "dev": true }, - "kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "dev": true }, "known-css-properties": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.11.0.tgz", - "integrity": "sha512-bEZlJzXo5V/ApNNa5z375mJC6Nrz4vG43UgcSCrg2OHC+yuB6j0iDSrY7RQ/+PRofFB03wNIIt9iXIVLr4wc7w==", + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.13.0.tgz", + "integrity": "sha512-6VWDxNr7cQXPDtMdCWLZMK3E8hdLrpyPPRdx6RbyvqklqgM6/XNFsVopv8QOZ+hRB6iHG/urEDwzlWbmMCv/kw==", "dev": true }, "load-json-file": { @@ -8103,32 +7883,15 @@ } }, "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.1.tgz", + "integrity": "sha512-6yawNHAc4S9Dh81xZCkZ5sXKH0/ly0t1DiOc+rnqzi0OvwS4DgRZU+HYTNDIgULgZXTNw5N8Vhxh2va8nEO6BA==", "dev": true, "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" + "braces": "^3.0.1", + "picomatch": "^2.0.3" } }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, "p-limit": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", @@ -8289,14 +8052,14 @@ "dev": true }, "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.1.0.tgz", + "integrity": "sha512-NrX+1dVVh+6Y9dnQ19pR0pP4FiEIlUvdTGn8pw6CKTNq5sgib2nIhmUNT5TAmhWmvKr3WcxBcP3E8nWezuipuQ==", "dev": true, "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^5.2.0" } }, "strip-ansi": { @@ -8332,6 +8095,15 @@ "has-flag": "^3.0.0" } }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, "trim-newlines": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-2.0.0.tgz", diff --git a/package.json b/package.json index 1a9d95b..0dbc214 100644 --- a/package.json +++ b/package.json @@ -35,11 +35,11 @@ "prettier": "^1.16.4", "prettier-stylelint": "^0.4.2", "release-it": "^10.4.1", - "stylelint": "^9.10.1", + "stylelint": "^10.0.0", "stylelint-config-bigchaindb": "^1.2.1", "stylelint-config-css-modules": "^1.3.0", "stylelint-config-standard": "^18.2.0", - "typescript": "^3.4.2" + "typescript": "^3.4.3" }, "repository": { "type": "git", diff --git a/server/package-lock.json b/server/package-lock.json index 2e94aca..f0a8169 100644 --- a/server/package-lock.json +++ b/server/package-lock.json @@ -441,9 +441,9 @@ } }, "@types/debug": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.3.tgz", - "integrity": "sha512-PQverGatRgqIhRLracrC8k/j5A6QOASVLR0wuURx6ROQZx3OQ9PnTc/5Xrznny/xaO0TwdxSgGyG90NCzk37Rg==", + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.4.tgz", + "integrity": "sha512-D9MyoQFI7iP5VdpEyPZyjjqIJ8Y8EDNQFIFVLOmeg1rI1xiHOChyUPMPRUVfqFCerxfE+yS3vMyj37F6IdtOoQ==", "dev": true }, "@types/dotenv": { @@ -528,9 +528,9 @@ } }, "@types/node": { - "version": "11.13.2", - "resolved": "https://registry.npmjs.org/@types/node/-/node-11.13.2.tgz", - "integrity": "sha512-HOtU5KqROKT7qX/itKHuTtt5fV0iXbheQvrgbLNXFJQBY/eh+VS5vmmTAVlo3qIGMsypm0G4N1t2AXjy1ZicaQ==", + "version": "11.13.4", + "resolved": "https://registry.npmjs.org/@types/node/-/node-11.13.4.tgz", + "integrity": "sha512-+rabAZZ3Yn7tF/XPGHupKIL5EcAbrLxnTr/hgQICxbeuAfWtT0UZSfULE+ndusckBItcv4o6ZeOJplQikVcLvQ==", "dev": true }, "@types/range-parser": { @@ -650,12 +650,6 @@ "string-width": "^2.0.0" } }, - "ansi-colors": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.3.tgz", - "integrity": "sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw==", - "dev": true - }, "ansi-escapes": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", @@ -770,12 +764,6 @@ "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" }, - "assertion-error": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", - "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", - "dev": true - }, "assign-symbols": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", @@ -1070,12 +1058,6 @@ } } }, - "browser-stdout": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", - "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", - "dev": true - }, "bs-logger": { "version": "0.2.6", "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz", @@ -1162,20 +1144,6 @@ "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" }, - "chai": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/chai/-/chai-4.2.0.tgz", - "integrity": "sha512-XQU3bhBukrOsQCuwZndwGcCVQHyZi53fQ6Ys1Fym7E4olpIqqZZhhoFJoaKVvV17lWQoXYwgWN2nF5crA8J2jw==", - "dev": true, - "requires": { - "assertion-error": "^1.1.0", - "check-error": "^1.0.2", - "deep-eql": "^3.0.1", - "get-func-name": "^2.0.0", - "pathval": "^1.1.0", - "type-detect": "^4.0.5" - } - }, "chalk": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", @@ -1187,12 +1155,6 @@ "supports-color": "^5.3.0" } }, - "check-error": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", - "integrity": "sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=", - "dev": true - }, "chokidar": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.5.tgz", @@ -1335,9 +1297,9 @@ } }, "commander": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz", - "integrity": "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==", + "version": "2.20.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.0.tgz", + "integrity": "sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ==", "dev": true, "optional": true }, @@ -1593,15 +1555,6 @@ "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", "dev": true }, - "deep-eql": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz", - "integrity": "sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==", - "dev": true, - "requires": { - "type-detect": "^4.0.0" - } - }, "deep-extend": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", @@ -1753,12 +1706,6 @@ "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" }, - "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true - }, "encodeurl": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", @@ -2207,23 +2154,6 @@ "locate-path": "^3.0.0" } }, - "flat": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/flat/-/flat-4.1.0.tgz", - "integrity": "sha512-Px/TiLIznH7gEDlPXcUD4KnBusa6kR6ayRUVcnEAbreRIuhkqow/mun59BuRXwoYk7ZQOLW1ZM05ilIvK38hFw==", - "dev": true, - "requires": { - "is-buffer": "~2.0.3" - }, - "dependencies": { - "is-buffer": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.3.tgz", - "integrity": "sha512-U15Q7MXTuZlrbymiz95PJpZxu8IlipAp4dtS3wOdgPXx3mqBnslrWU14kxfHB+Py/+2PVKSr37dMAgM2A4uArw==", - "dev": true - } - } - }, "for-in": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", @@ -2902,12 +2832,6 @@ "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==", "dev": true }, - "get-func-name": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz", - "integrity": "sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=", - "dev": true - }, "get-stream": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", @@ -3014,12 +2938,6 @@ "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==", "dev": true }, - "growl": { - "version": "1.10.5", - "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", - "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==", - "dev": true - }, "growly": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", @@ -3027,9 +2945,9 @@ "dev": true }, "handlebars": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.1.1.tgz", - "integrity": "sha512-3Zhi6C0euYZL5sM0Zcy7lInLXKQ+YLcF/olbN010mzGQ4XVm50JeyBnMqofHh696GrciGruC7kCcApPDJvVgwA==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.1.2.tgz", + "integrity": "sha512-nvfrjqvt9xQ8Z/w0ijewdD/vvWDTOweBUm96NTr66Wfvo1mJenBLwcYmPs3TIBP5ruzYGD7Hx/DaM9RmhroGPw==", "dev": true, "requires": { "neo-async": "^2.6.0", @@ -3113,12 +3031,6 @@ } } }, - "he": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", - "dev": true - }, "hosted-git-info": { "version": "2.7.1", "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.7.1.tgz", @@ -3604,6 +3516,22 @@ "handlebars": "^4.1.0" } }, + "jasmine": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/jasmine/-/jasmine-3.4.0.tgz", + "integrity": "sha512-sR9b4n+fnBFDEd7VS2el2DeHgKcPiMVn44rtKFumq9q7P/t8WrxsVIZPob4UDdgcDNCwyDqwxCt4k9TDRmjPoQ==", + "dev": true, + "requires": { + "glob": "^7.1.3", + "jasmine-core": "~3.4.0" + } + }, + "jasmine-core": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-3.4.0.tgz", + "integrity": "sha512-HU/YxV4i6GcmiH4duATwAbJQMlE0MsDIR5XmSVxURxKHn3aGAdbY1/ZJFmVRbKtnLwIxxMJD7gYaPsypcbYimg==", + "dev": true + }, "jest": { "version": "24.7.1", "resolved": "https://registry.npmjs.org/jest/-/jest-24.7.1.tgz", @@ -4223,15 +4151,6 @@ "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=", "dev": true }, - "log-symbols": { - "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" - } - }, "loose-envify": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", @@ -4468,125 +4387,6 @@ "minimist": "0.0.8" } }, - "mocha": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-6.1.2.tgz", - "integrity": "sha512-BgD2/RozoSC3uQK5R0isDcxjqaWw2n5HWdk8njYUyZf2NC79ErO5FtYVX52+rfqGoEgMfJf4fuG0IWh2TMzFoA==", - "dev": true, - "requires": { - "ansi-colors": "3.2.3", - "browser-stdout": "1.3.1", - "debug": "3.2.6", - "diff": "3.5.0", - "escape-string-regexp": "1.0.5", - "find-up": "3.0.0", - "glob": "7.1.3", - "growl": "1.10.5", - "he": "1.2.0", - "js-yaml": "3.13.0", - "log-symbols": "2.2.0", - "minimatch": "3.0.4", - "mkdirp": "0.5.1", - "ms": "2.1.1", - "node-environment-flags": "1.0.4", - "object.assign": "4.1.0", - "strip-json-comments": "2.0.1", - "supports-color": "6.0.0", - "which": "1.3.1", - "wide-align": "1.1.3", - "yargs": "13.2.2", - "yargs-parser": "13.0.0", - "yargs-unparser": "1.5.0" - }, - "dependencies": { - "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true - }, - "js-yaml": { - "version": "3.13.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.0.tgz", - "integrity": "sha512-pZZoSxcCYco+DIKBTimr67J6Hy+EYGZDY/HCWC+iAEA9h1ByhMXAIVUXMcMFpOCxQ/xjXmPI2MkDL5HRm5eFrQ==", - "dev": true, - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", - "dev": true - }, - "require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", - "dev": true - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - }, - "supports-color": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.0.0.tgz", - "integrity": "sha512-on9Kwidc1IUQo+bQdhi8+Tijpo0e1SS6RoGo2guUwn5vdaxw8RXOF9Vb2ws+ihWOmh4JnCJOvaziZWP1VABaLg==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - }, - "yargs": { - "version": "13.2.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.2.2.tgz", - "integrity": "sha512-WyEoxgyTD3w5XRpAQNYUB9ycVH/PQrToaTXdYXRdOXvEy1l19br+VJsc0vcO8PTGg5ro/l/GY7F/JMEBmI0BxA==", - "dev": true, - "requires": { - "cliui": "^4.0.0", - "find-up": "^3.0.0", - "get-caller-file": "^2.0.1", - "os-locale": "^3.1.0", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^3.0.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^13.0.0" - } - }, - "yargs-parser": { - "version": "13.0.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.0.0.tgz", - "integrity": "sha512-w2LXjoL8oRdRQN+hOyppuXs+V/fVAYtpcrRxZuF7Kt/Oc+Jr2uAcVntaUTNT6w5ihoWfFDpNY8CPx1QskxZ/pw==", - "dev": true, - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - } - } - }, "morgan": { "version": "1.9.1", "resolved": "https://registry.npmjs.org/morgan/-/morgan-1.9.1.tgz", @@ -4678,15 +4478,6 @@ "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", "dev": true }, - "node-environment-flags": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/node-environment-flags/-/node-environment-flags-1.0.4.tgz", - "integrity": "sha512-M9rwCnWVLW7PX+NUWe3ejEdiLYinRpsEre9hMkU/6NS4h+EEulYaDH1gCEZ2gyXsmw+RXYDaV2JkkTNcsPDJ0Q==", - "dev": true, - "requires": { - "object.getownpropertydescriptors": "^2.0.3" - } - }, "node-int64": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", @@ -4854,18 +4645,6 @@ "isobject": "^3.0.0" } }, - "object.assign": { - "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", - "has-symbols": "^1.0.0", - "object-keys": "^1.0.11" - } - }, "object.getownpropertydescriptors": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz", @@ -5096,12 +4875,6 @@ "pify": "^3.0.0" } }, - "pathval": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.0.tgz", - "integrity": "sha1-uULm1L3mUwBe9rcTYd74cn0GReA=", - "dev": true - }, "performance-now": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", @@ -6342,9 +6115,9 @@ } }, "ts-node": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-8.0.3.tgz", - "integrity": "sha512-2qayBA4vdtVRuDo11DEFSsD/SFsBXQBRZZhbRGSIkmYmVkWjULn/GGMdG10KVqkaGndljfaTD8dKjWgcejO8YA==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-8.1.0.tgz", + "integrity": "sha512-34jpuOrxDuf+O6iW1JpgTRDFynUZ1iEqtYruBqh35gICNjN8x+LpVcPAcwzLPi9VU6mdA3ym+x233nZmZp445A==", "dev": true, "requires": { "arg": "^4.1.0", @@ -6381,12 +6154,6 @@ "prelude-ls": "~1.1.2" } }, - "type-detect": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", - "dev": true - }, "type-is": { "version": "1.6.16", "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.16.tgz", @@ -6402,19 +6169,19 @@ "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" }, "typescript": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.4.2.tgz", - "integrity": "sha512-Og2Vn6Mk7JAuWA1hQdDQN/Ekm/SchX80VzLhjKN9ETYrIepBFAd8PkOdOTK2nKt0FCkmMZKBJvQ1dV1gIxPu/A==", + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.4.3.tgz", + "integrity": "sha512-FFgHdPt4T/duxx6Ndf7hwgMZZjZpB+U0nMNGVCYPq0rEzWKjEDobm4J6yb3CS7naZ0yURFqdw9Gwc7UOh/P9oQ==", "dev": true }, "uglify-js": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.5.3.tgz", - "integrity": "sha512-rIQPT2UMDnk4jRX+w4WO84/pebU2jiLsjgIyrCktYgSvx28enOE3iYQMr+BD1rHiitWnDmpu0cY/LfIEpKcjcw==", + "version": "3.5.4", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.5.4.tgz", + "integrity": "sha512-GpKo28q/7Bm5BcX9vOu4S46FwisbPbAmkkqPnGIpKvKTM96I85N6XHQV+k4I6FA2wxgLhcsSyHoNhzucwCflvA==", "dev": true, "optional": true, "requires": { - "commander": "~2.19.0", + "commander": "~2.20.0", "source-map": "~0.6.1" }, "dependencies": { @@ -6749,15 +6516,6 @@ "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", "dev": true }, - "wide-align": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", - "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", - "dev": true, - "requires": { - "string-width": "^1.0.2 || 2" - } - }, "widest-line": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-2.0.1.tgz", @@ -6905,21 +6663,10 @@ "decamelize": "^1.2.0" } }, - "yargs-unparser": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-1.5.0.tgz", - "integrity": "sha512-HK25qidFTCVuj/D1VfNiEndpLIeJN78aqgR23nL3y4N0U/91cOAzqfHlF8n2BvoNDcZmJKin3ddNSvOxSr8flw==", - "dev": true, - "requires": { - "flat": "^4.1.0", - "lodash": "^4.17.11", - "yargs": "^12.0.5" - } - }, "yn": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/yn/-/yn-3.0.0.tgz", - "integrity": "sha512-+Wo/p5VRfxUgBUGy2j/6KX2mj9AYJWOHuhMjMcbBFc3y54o9/4buK1ksBvuiK01C3kby8DH9lSmJdSxw+4G/2Q==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.0.tgz", + "integrity": "sha512-kKfnnYkbTfrAdd0xICNFw7Atm8nKpLcLv9AZGEt+kczL/WQVai4e2V6ZN8U/O+iI6WrNuJjNNOyu4zfhl9D3Hg==", "dev": true } } diff --git a/server/package.json b/server/package.json index abfe96b..516639a 100644 --- a/server/package.json +++ b/server/package.json @@ -27,22 +27,21 @@ "devDependencies": { "@types/body-parser": "^1.17.0", "@types/compression": "0.0.36", - "@types/debug": "^4.1.3", + "@types/debug": "^4.1.4", "@types/dotenv": "^6.1.1", "@types/express": "^4.16.1", "@types/jasmine": "^3.3.12", "@types/jest": "^24.0.11", "@types/morgan": "^1.7.35", - "@types/node": "^11.13.2", + "@types/node": "^11.13.4", "@types/request": "^2.48.1", - "chai": "^4.2.0", + "jasmine": "^3.4.0", "jest": "^24.7.1", - "mocha": "^6.1.2", "nodemon": "^1.18.11", "supertest": "^4.0.2", "ts-jest": "^24.0.2", - "ts-node": "^8.0.3", - "typescript": "^3.4.2" + "ts-node": "^8.1.0", + "typescript": "^3.4.3" }, "repository": { "type": "git", From 8668c88c32d1a471ee80dc82b4860bc020f6c490 Mon Sep 17 00:00:00 2001 From: Matthias Kretschmann Date: Tue, 16 Apr 2019 01:02:01 +0200 Subject: [PATCH 10/10] add changelog:commit command --- package.json | 1 + 1 file changed, 1 insertion(+) diff --git a/package.json b/package.json index 0dbc214..d37d1ff 100644 --- a/package.json +++ b/package.json @@ -20,6 +20,7 @@ "release-minor": "./node_modules/release-it/bin/release-it.js minor --git.tagName='v${version}' --github.release --non-interactive --no-npm.publish", "release-major": "./node_modules/release-it/bin/release-it.js major --git.tagName='v${version}' --github.release --non-interactive --no-npm.publish", "changelog": "auto-changelog", + "changelog:commit": "npm run changelog && git add CHANGELOG.md && git commit -m 'update changelog' && git push", "beforeStage": "npm run changelog" }, "dependencies": {},