From 64f7775a83aebb31297c0427d3af0ef4cc2c2f09 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 12 Nov 2020 19:32:05 +0000 Subject: [PATCH 1/2] Bump googleapis from 32.0.0 to 39.1.0 Bumps [googleapis](https://github.com/googleapis/google-api-nodejs-client) from 32.0.0 to 39.1.0. - [Release notes](https://github.com/googleapis/google-api-nodejs-client/releases) - [Changelog](https://github.com/googleapis/google-api-nodejs-client/blob/master/CHANGELOG.md) - [Commits](https://github.com/googleapis/google-api-nodejs-client/compare/v32.0.0...v39.1.0) Signed-off-by: dependabot[bot] --- package-lock.json | 151 ++++++++++++++++++++++++++-------------------- package.json | 2 +- 2 files changed, 85 insertions(+), 68 deletions(-) diff --git a/package-lock.json b/package-lock.json index 5e5cdd8..e606222 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1595,15 +1595,6 @@ } } }, - "axios": { - "version": "0.18.1", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.18.1.tgz", - "integrity": "sha512-0BfJq4NSfQXd+SkFdrvFbG7addhYSBA2mQwISr46pD6E5iqkWg02RAs8vyTT/j0RTnoYmeXauBuSv1qKwR179g==", - "requires": { - "follow-redirects": "1.5.10", - "is-buffer": "^2.0.2" - } - }, "babel-code-frame": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", @@ -1755,6 +1746,11 @@ } } }, + "base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" + }, "basic-auth": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-2.0.1.tgz", @@ -1763,6 +1759,11 @@ "safe-buffer": "5.1.2" } }, + "bignumber.js": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.0.1.tgz", + "integrity": "sha512-IdZR9mh6ahOBv/hYGiXyVuyCetmGJhtYkqLBpTStdhEGjegpPlUawydyaF3pbIOFynJTpllEs+NP+CS9jKFLjA==" + }, "binary-extensions": { "version": "1.13.1", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", @@ -3606,6 +3607,11 @@ "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", "dev": true }, + "fast-text-encoding": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/fast-text-encoding/-/fast-text-encoding-1.0.3.tgz", + "integrity": "sha512-dtm4QZH9nZtcDt8qJiOH9fcQd1NAgi+K1O2DbE6GG1PPCK/BWfOH3idCTRQ4ImXRUOyopDEgDEnVEE7Y/2Wrig==" + }, "figures": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", @@ -3718,24 +3724,6 @@ } } }, - "follow-redirects": { - "version": "1.5.10", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.10.tgz", - "integrity": "sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==", - "requires": { - "debug": "=3.1.0" - }, - "dependencies": { - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "requires": { - "ms": "2.0.0" - } - } - } - }, "for-in": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", @@ -3818,13 +3806,12 @@ } }, "gcp-metadata": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-0.6.3.tgz", - "integrity": "sha512-MSmczZctbz91AxCvqp9GHBoZOSbJKAICV7Ow/AIWSJZRrRchUd5NL1b2P4OfP+4m490BEUPhhARfpHdqCxuCvg==", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-1.0.0.tgz", + "integrity": "sha512-Q6HrgfrCQeEircnNP3rCcEgiDv7eF9+1B+1MMgpE190+/+0mjQR8PxeOaRgxZWmdDAF9EIryHB9g1moPiw1SbQ==", "requires": { - "axios": "^0.18.0", - "extend": "^3.0.1", - "retry-axios": "0.3.2" + "gaxios": "^1.0.2", + "json-bigint": "^0.3.0" } }, "gensync": { @@ -3940,17 +3927,34 @@ } }, "google-auth-library": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/google-auth-library/-/google-auth-library-1.6.1.tgz", - "integrity": "sha512-jYiWC8NA9n9OtQM7ANn0Tk464do9yhKEtaJ72pKcaBiEwn4LwcGYIYOfwtfsSm3aur/ed3tlSxbmg24IAT6gAg==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/google-auth-library/-/google-auth-library-3.1.2.tgz", + "integrity": "sha512-cDQMzTotwyWMrg5jRO7q0A4TL/3GWBgO7I7q5xGKNiiFf9SmGY/OJ1YsLMgI2MVHHsEGyrqYnbnmV1AE+Z6DnQ==", "requires": { - "axios": "^0.18.0", - "gcp-metadata": "^0.6.3", - "gtoken": "^2.3.0", + "base64-js": "^1.3.0", + "fast-text-encoding": "^1.0.0", + "gaxios": "^1.2.1", + "gcp-metadata": "^1.0.0", + "gtoken": "^2.3.2", + "https-proxy-agent": "^2.2.1", "jws": "^3.1.5", - "lodash.isstring": "^4.0.1", - "lru-cache": "^4.1.3", - "retry-axios": "^0.3.2" + "lru-cache": "^5.0.0", + "semver": "^5.5.0" + }, + "dependencies": { + "lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "requires": { + "yallist": "^3.0.2" + } + }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + } } }, "google-p12-pem": { @@ -3970,15 +3974,32 @@ } }, "googleapis": { - "version": "32.0.0", - "resolved": "https://registry.npmjs.org/googleapis/-/googleapis-32.0.0.tgz", - "integrity": "sha512-UUPvQnztLkpkAt8cs2Zw/uVqCGbl9FuJbhqdvWIHr8RX7zrdemPQWkIrW7clyjhSZceHlnMya4U3tuQ4BXSxIQ==", + "version": "39.1.0", + "resolved": "https://registry.npmjs.org/googleapis/-/googleapis-39.1.0.tgz", + "integrity": "sha512-MRO9rW7izUIBZ4NJ67FNhBUw/Q3ki7hk149E9MhphJnLw1CStUAnm9nFD/IpNnx97qx2WBa7dLPjeXrJky6xlw==", "requires": { - "google-auth-library": "^1.4.0", - "pify": "^3.0.0", + "google-auth-library": "^3.0.0", + "googleapis-common": "^0.7.0" + } + }, + "googleapis-common": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/googleapis-common/-/googleapis-common-0.7.2.tgz", + "integrity": "sha512-9DEJIiO4nS7nw0VE1YVkEfXEj8x8MxsuB+yZIpOBULFSN9OIKcUU8UuKgSZFU4lJmRioMfngktrbkMwWJcUhQg==", + "requires": { + "gaxios": "^1.2.2", + "google-auth-library": "^3.0.0", + "pify": "^4.0.0", "qs": "^6.5.2", "url-template": "^2.0.8", "uuid": "^3.2.1" + }, + "dependencies": { + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==" + } } }, "got": { @@ -4377,11 +4398,6 @@ "binary-extensions": "^1.0.0" } }, - "is-buffer": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", - "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==" - }, "is-callable": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz", @@ -4715,6 +4731,14 @@ "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", "dev": true }, + "json-bigint": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/json-bigint/-/json-bigint-0.3.1.tgz", + "integrity": "sha512-DGWnSzmusIreWlEupsUelHrhwmPPE+FiQvg+drKfk2p+bdEYa5mp4PJ8JsCWqae0M2jQNb0HPvnwvf1qOTThzQ==", + "requires": { + "bignumber.js": "^9.0.0" + } + }, "json-parse-better-errors": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", @@ -4866,11 +4890,6 @@ "integrity": "sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI=", "dev": true }, - "lodash.isstring": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", - "integrity": "sha1-1SfftUVuynzJu5XV2ur4i6VKVFE=" - }, "lodash.merge": { "version": "4.6.2", "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", @@ -4915,6 +4934,7 @@ "version": "4.1.5", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "dev": true, "requires": { "pseudomap": "^1.0.2", "yallist": "^2.1.2" @@ -5729,7 +5749,8 @@ "pify": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true }, "pinkie": { "version": "2.0.4", @@ -5912,7 +5933,8 @@ "pseudomap": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=" + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", + "dev": true }, "pstree.remy": { "version": "1.1.8", @@ -6293,11 +6315,6 @@ "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", "dev": true }, - "retry-axios": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/retry-axios/-/retry-axios-0.3.2.tgz", - "integrity": "sha512-jp4YlI0qyDFfXiXGhkCOliBN1G7fRH03Nqy8YdShzGqbY5/9S2x/IR6C88ls2DFkbWuL3ASkP7QD3pVrNpPgwQ==" - }, "rimraf": { "version": "2.7.1", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", @@ -6358,8 +6375,7 @@ "semver": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" }, "semver-diff": { "version": "2.1.0", @@ -7429,7 +7445,8 @@ "yallist": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=" + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "dev": true }, "yargs-parser": { "version": "10.1.0", diff --git a/package.json b/package.json index e703a92..80bb4a2 100644 --- a/package.json +++ b/package.json @@ -26,7 +26,7 @@ "express": "^4.13.3", "express-graphql": "^0.6.12", "express-handlebars": "^4.0.4", - "googleapis": "^32.0.0", + "googleapis": "^39.1.0", "graphql": "^0.13.2", "morgan": "^1.8.0", "mz": "^2.7.0", From ac80c8f25661d7ced5de80de798bd5ae6ca64d0b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Juan=20Camilo=20Gonz=C3=A1lez?= Date: Mon, 7 Dec 2020 05:12:26 -0500 Subject: [PATCH 2/2] Feature/fix duplicate associations sample xlsx (#63) * Release v0.5.0 (#61) * remove explicit ID from events in timemap setup * Fixed internal anchor link headline * update fmt * Bump lodash from 4.17.15 to 4.17.19 Bumps [lodash](https://github.com/lodash/lodash) from 4.17.15 to 4.17.19. - [Release notes](https://github.com/lodash/lodash/releases) - [Commits](https://github.com/lodash/lodash/compare/4.17.15...4.17.19) Signed-off-by: dependabot[bot] * Wrote validation functions and getter to grab appropriate validation function * Collapsed filters and narratives into associations; modified default tabs to reflect * Refactoring events to have only associations; created associations tab and related export tab * Clean up with event related associations * Delete validation for now; not relevant to this PR * Bump node-fetch from 2.6.0 to 2.6.1 Bumps [node-fetch](https://github.com/bitinn/node-fetch) from 2.6.0 to 2.6.1. - [Release notes](https://github.com/bitinn/node-fetch/releases) - [Changelog](https://github.com/node-fetch/node-fetch/blob/master/docs/CHANGELOG.md) - [Commits](https://github.com/bitinn/node-fetch/compare/v2.6.0...v2.6.1) Signed-off-by: dependabot[bot] * Removed gsheets tab in config, unused import in package json * try/catch to prioritise local.config.js * Removing export categories endpoint * Removed categories from list and using test_export_events * Test associations * Removed comment regarding categories endpoint * Removing unnecessary test_export_events endpoint * Linting threw error stating that we use path module to join instead of + * generalise LocalFetcher to support many sheet types (xlsx, ods, etc) * rm getFileExt * use tab as delimiter in intermediate representation * Bump googleapis from 32.0.0 to 39.1.0 Bumps [googleapis](https://github.com/googleapis/google-api-nodejs-client) from 32.0.0 to 39.1.0. - [Release notes](https://github.com/googleapis/google-api-nodejs-client/releases) - [Changelog](https://github.com/googleapis/google-api-nodejs-client/blob/master/CHANGELOG.md) - [Commits](https://github.com/googleapis/google-api-nodejs-client/compare/v32.0.0...v39.1.0) Signed-off-by: dependabot[bot] * Fixed tests * fix example sheet Co-authored-by: Christoph Knoth Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: efarooqui Co-authored-by: Ebrahem Farooqui Co-authored-by: Lachlan * Spin up demo fixes Co-authored-by: Lachlan Kermode Co-authored-by: Christoph Knoth Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: efarooqui Co-authored-by: Ebrahem Farooqui --- Dockerfile | 4 ++-- data/timemap_data.xlsx | Bin 38075 -> 38046 bytes 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index 3297bc6..a5854af 100644 --- a/Dockerfile +++ b/Dockerfile @@ -13,8 +13,8 @@ RUN yarn build RUN mkdir -p data # set your port -ENV PORT 8080 -EXPOSE 8080 +ENV PORT 4040 +EXPOSE 4040 # start command as per package.json CMD ["yarn", "start"] diff --git a/data/timemap_data.xlsx b/data/timemap_data.xlsx index 947330b8dc33fbc0d25b8fdfcb388d0a022ad383..a1e4421ce6eb1215da4a1a21fa3565b5d2e62039 100644 GIT binary patch delta 8829 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 OA*pGvkPMUlQT~5z2a%`% delta 8778 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 DK{l*k