From 8168a9e85fdace79959100c0b4840a7108724cc9 Mon Sep 17 00:00:00 2001
From: Copple <10214025+kiwicopple@users.noreply.github.com>
Date: Tue, 23 Nov 2021 13:47:50 +0800
Subject: [PATCH 01/46] Adds the latest sponsors
---
web/sponsors.js | 1 +
web/src/data/sponsors.json | 10 +++++-----
2 files changed, 6 insertions(+), 5 deletions(-)
diff --git a/web/sponsors.js b/web/sponsors.js
index 385612ed914..324addddc8f 100644
--- a/web/sponsors.js
+++ b/web/sponsors.js
@@ -65,6 +65,7 @@ const writeFile = (data) => {
const main = async () => {
const sponsorsResponse = await fetchAllSponsors()
+ console.log('sponsorsResponse.totalCount', sponsorsResponse.totalCount)
const formatted = formatResults(sponsorsResponse)
writeFile(formatted)
}
diff --git a/web/src/data/sponsors.json b/web/src/data/sponsors.json
index 613b7aedd92..5d175c86a57 100644
--- a/web/src/data/sponsors.json
+++ b/web/src/data/sponsors.json
@@ -73,7 +73,7 @@
},
{
"tier": "$5 a month",
- "sponsor": "alienzz"
+ "sponsor": "avatus"
},
{
"tier": "$5 a month",
@@ -91,10 +91,6 @@
"tier": "$5 a month",
"sponsor": "glassmonkey"
},
- {
- "tier": "$5 a month",
- "sponsor": "zoutiyx"
- },
{
"tier": "$5 a month",
"sponsor": "adammoyle"
@@ -175,6 +171,10 @@
"tier": "$5 a month",
"sponsor": "killshot13"
},
+ {
+ "tier": "$5 a month",
+ "sponsor": "brdtheo"
+ },
{
"tier": "$19 a month",
"sponsor": "d-mok"
From cda6e39c278409b29cd0ba25fcc8ab946ef4908e Mon Sep 17 00:00:00 2001
From: Copple <10214025+kiwicopple@users.noreply.github.com>
Date: Wed, 24 Nov 2021 10:29:33 +0800
Subject: [PATCH 02/46] Fix graphql query
---
web/sponsors.js | 25 +++--
web/src/data/sponsors.json | 199 +------------------------------------
2 files changed, 15 insertions(+), 209 deletions(-)
diff --git a/web/sponsors.js b/web/sponsors.js
index 324addddc8f..f24dd077fba 100644
--- a/web/sponsors.js
+++ b/web/sponsors.js
@@ -3,21 +3,23 @@ var axios = require('axios')
var fs = require('fs')
const query = `
-query BIO_QUERY($username: String!) {
- organization(login: $username) {
+query Sponsors {
+ organization(login: "supabase") {
id
- sponsorshipsAsMaintainer(first: 100) {
- totalCount
+ sponsors(first: 100) {
nodes {
- createdAt
- privacyLevel
- tier {
- name
+ ... on Organization {
+ id
+ createdAt
+ name : login
}
- sponsor {
+ ... on User {
+ id
+ createdAt
login
}
}
+ totalCount
}
}
}
@@ -39,10 +41,11 @@ const fetchAllSponsors = async () => {
},
}
)
- return data.data.organization.sponsorshipsAsMaintainer
+ return data.data.organization.sponsors
}
const formatResults = (graphqlResponse) => {
+ console.log('graph', graphqlResponse)
return graphqlResponse.nodes
.filter((x) => !!x.sponsor)
.map((x) => ({
@@ -65,7 +68,7 @@ const writeFile = (data) => {
const main = async () => {
const sponsorsResponse = await fetchAllSponsors()
- console.log('sponsorsResponse.totalCount', sponsorsResponse.totalCount)
+ // console.log('sponsorsResponse.totalCount', sponsorsResponse.totalCount)
const formatted = formatResults(sponsorsResponse)
writeFile(formatted)
}
diff --git a/web/src/data/sponsors.json b/web/src/data/sponsors.json
index 5d175c86a57..0637a088a01 100644
--- a/web/src/data/sponsors.json
+++ b/web/src/data/sponsors.json
@@ -1,198 +1 @@
-[
- {
- "tier": "$5 a month",
- "sponsor": "sabberworm"
- },
- {
- "tier": "$5 a month",
- "sponsor": "calendee"
- },
- {
- "tier": "$5 a month",
- "sponsor": "kylewelsby"
- },
- {
- "tier": "$5 a month",
- "sponsor": "tinjaw"
- },
- {
- "tier": "$5 a month",
- "sponsor": "ricdex"
- },
- {
- "tier": "$49 a month",
- "sponsor": "Illyism"
- },
- {
- "tier": "$5 a month",
- "sponsor": "lexifdev"
- },
- {
- "tier": "$5 a month",
- "sponsor": "tacowaco"
- },
- {
- "tier": "$5 a month",
- "sponsor": "kachar"
- },
- {
- "tier": "$19 a month",
- "sponsor": "tpberntsen"
- },
- {
- "tier": "$5 a month",
- "sponsor": "zeluizr"
- },
- {
- "tier": "$5 a month",
- "sponsor": "AndersGerner"
- },
- {
- "tier": "$5 a month",
- "sponsor": "stopyellingatme"
- },
- {
- "tier": "$19 a month",
- "sponsor": "Marviel"
- },
- {
- "tier": "$19 a month",
- "sponsor": "bookofdom"
- },
- {
- "tier": "$5 a month",
- "sponsor": "juzhiyuan"
- },
- {
- "tier": "$5 a month",
- "sponsor": "gregaltuna"
- },
- {
- "tier": "$5 a month",
- "sponsor": "ctwhome"
- },
- {
- "tier": "$5 a month",
- "sponsor": "avatus"
- },
- {
- "tier": "$5 a month",
- "sponsor": "zlwaterfield"
- },
- {
- "tier": "$5 a month",
- "sponsor": "Aaron-A"
- },
- {
- "tier": "$5 a month",
- "sponsor": "gabrielmip"
- },
- {
- "tier": "$5 a month",
- "sponsor": "glassmonkey"
- },
- {
- "tier": "$5 a month",
- "sponsor": "adammoyle"
- },
- {
- "tier": "$5 a month",
- "sponsor": "EvonuX"
- },
- {
- "tier": "$5 a month",
- "sponsor": "KoreyPeters"
- },
- {
- "tier": "$49 a month",
- "sponsor": "ymmtshny"
- },
- {
- "tier": "$19 a month",
- "sponsor": "fefurst"
- },
- {
- "tier": "$5 a month",
- "sponsor": "sebastianbachmann"
- },
- {
- "tier": "$5 a month",
- "sponsor": "jvieirar"
- },
- {
- "tier": "$19 a month",
- "sponsor": "dshukertjr"
- },
- {
- "tier": "$5 a month",
- "sponsor": "CmplxStack"
- },
- {
- "tier": "$19 a month",
- "sponsor": "roblack"
- },
- {
- "tier": "$5 a month",
- "sponsor": "davilico05"
- },
- {
- "tier": "$19 a month",
- "sponsor": "Kunstderfug"
- },
- {
- "tier": "$5 a month",
- "sponsor": "hyochan"
- },
- {
- "tier": "$5 a month",
- "sponsor": "chunterb"
- },
- {
- "tier": "$5 a month",
- "sponsor": "madebyfabian"
- },
- {
- "tier": "$5 a month",
- "sponsor": "jwanner83"
- },
- {
- "tier": "$5 a month",
- "sponsor": "herbievine"
- },
- {
- "tier": "$5 a month",
- "sponsor": "Lucostus"
- },
- {
- "tier": "$19 a month",
- "sponsor": "peachp"
- },
- {
- "tier": "$5 a month",
- "sponsor": "killshot13"
- },
- {
- "tier": "$5 a month",
- "sponsor": "brdtheo"
- },
- {
- "tier": "$19 a month",
- "sponsor": "d-mok"
- },
- {
- "tier": "$19 a month",
- "sponsor": "lIIIIIIIIIIIIIIIIIIIII"
- },
- {
- "tier": "$5 a month",
- "sponsor": "yujong-lee"
- },
- {
- "tier": "$5 a month",
- "sponsor": "gregdenson"
- },
- {
- "tier": "$5 a month",
- "sponsor": "LeDragunov"
- }
-]
\ No newline at end of file
+[]
\ No newline at end of file
From 7b5770b437d237b67db5d3fd0c11fde01eed40f0 Mon Sep 17 00:00:00 2001
From: awalias
Date: Fri, 10 Dec 2021 15:17:26 +0800
Subject: [PATCH 03/46] feat: adds marketing role
---
about/docs/careers/marketing.mdx | 59 +++++++++++++++++++++++++++
about/docs/careers/snippets/roles.mdx | 7 ++++
2 files changed, 66 insertions(+)
create mode 100644 about/docs/careers/marketing.mdx
diff --git a/about/docs/careers/marketing.mdx b/about/docs/careers/marketing.mdx
new file mode 100644
index 00000000000..d9cbdd20bd9
--- /dev/null
+++ b/about/docs/careers/marketing.mdx
@@ -0,0 +1,59 @@
+---
+id: careers-marketing-manager
+slug: marketing-manager
+title: Marketing Manager.
+description: Supabase is hiring a Marketing Manager
+---
+
+import Roles from '@site/docs/careers/snippets/roles.mdx'
+import About from '@site/docs/careers/snippets/about.mdx'
+import Team from '@site/docs/careers/snippets/team.mdx'
+import Apply from '@site/docs/careers/snippets/apply.mdx'
+import Process from '@site/docs/careers/snippets/process.mdx'
+
+## About the role
+
+- Play a key role in establishing the marketing and growth strategies for supabase
+- Working cross-functionally with our engineering and growth teams to ensure we have the best possible messaging and marketing strategy
+- Communicating the results of our marketing strategy internally
+- Liaise and work with our incredible DevRel team to help them identify opportunities and amplify their efforts
+- Work with our amazing team of community writers to help find topics to write about
+- Understand whats driving our user acquisition funnel
+- Keep our social media feeds active
+- Help running email campaigns
+- Helping with community management
+
+## Skills and Experience
+
+- Experience with marketing automation and CRM tools
+- Experience with analytics platforms
+- SEO experience
+- Creating and managing social media campaigns
+- Marketing to software developers & developer tooling space
+- Understanding of product led growth & developer communities
+- Metrics driven & experimental mindset
+
+## Nice to haves
+
+- Familiarity with dbt / Segment / Hightouch / Snowflake / Redshift or other Modern data tools is a plus
+- Experience with Youtube optimization
+
+## About Supabase
+
+ {' '}
+
+## About the team
+
+ {' '}
+
+## Apply
+
+ {' '}
+
+## Process
+
+ {' '}
+
+## All roles
+
+ {' '}
diff --git a/about/docs/careers/snippets/roles.mdx b/about/docs/careers/snippets/roles.mdx
index 6c9b939a2af..6235eeb6c27 100644
--- a/about/docs/careers/snippets/roles.mdx
+++ b/about/docs/careers/snippets/roles.mdx
@@ -13,6 +13,13 @@
+
+
+
Marketing Manager
+
Get our tools in front of the next billion developers.
+
+
+
Auth Engineers
From b65a386362e52d3642a022891fce08c78c4ab7ce Mon Sep 17 00:00:00 2001
From: Ant Wilson
Date: Tue, 4 Jan 2022 15:55:53 +0000
Subject: [PATCH 04/46] Update about/docs/careers/marketing.mdx
Co-authored-by: Copple <10214025+kiwicopple@users.noreply.github.com>
---
about/docs/careers/marketing.mdx | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/about/docs/careers/marketing.mdx b/about/docs/careers/marketing.mdx
index d9cbdd20bd9..7642d07f47f 100644
--- a/about/docs/careers/marketing.mdx
+++ b/about/docs/careers/marketing.mdx
@@ -18,7 +18,7 @@ import Process from '@site/docs/careers/snippets/process.mdx'
- Communicating the results of our marketing strategy internally
- Liaise and work with our incredible DevRel team to help them identify opportunities and amplify their efforts
- Work with our amazing team of community writers to help find topics to write about
-- Understand whats driving our user acquisition funnel
+- Understand what's driving our user acquisition funnel
- Keep our social media feeds active
- Help running email campaigns
- Helping with community management
From cb4682afa64e08abe6df83a34c4cca8c2394765d Mon Sep 17 00:00:00 2001
From: Ant Wilson
Date: Tue, 4 Jan 2022 15:56:00 +0000
Subject: [PATCH 05/46] Update about/docs/careers/marketing.mdx
Co-authored-by: Copple <10214025+kiwicopple@users.noreply.github.com>
---
about/docs/careers/marketing.mdx | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/about/docs/careers/marketing.mdx b/about/docs/careers/marketing.mdx
index 7642d07f47f..0490642c472 100644
--- a/about/docs/careers/marketing.mdx
+++ b/about/docs/careers/marketing.mdx
@@ -20,7 +20,7 @@ import Process from '@site/docs/careers/snippets/process.mdx'
- Work with our amazing team of community writers to help find topics to write about
- Understand what's driving our user acquisition funnel
- Keep our social media feeds active
-- Help running email campaigns
+- Create and manage email campaigns
- Helping with community management
## Skills and Experience
From e00cc5d2aafef83aa454595b5c986a3aefbebd65 Mon Sep 17 00:00:00 2001
From: Ant Wilson
Date: Tue, 4 Jan 2022 15:56:06 +0000
Subject: [PATCH 06/46] Update about/docs/careers/marketing.mdx
Co-authored-by: Copple <10214025+kiwicopple@users.noreply.github.com>
---
about/docs/careers/marketing.mdx | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/about/docs/careers/marketing.mdx b/about/docs/careers/marketing.mdx
index 0490642c472..784bdfee796 100644
--- a/about/docs/careers/marketing.mdx
+++ b/about/docs/careers/marketing.mdx
@@ -21,7 +21,7 @@ import Process from '@site/docs/careers/snippets/process.mdx'
- Understand what's driving our user acquisition funnel
- Keep our social media feeds active
- Create and manage email campaigns
-- Helping with community management
+- Help with community management
## Skills and Experience
From f56826a53d99206dbe039b410b3ed6d5d4e6b73b Mon Sep 17 00:00:00 2001
From: awalias
Date: Tue, 4 Jan 2022 16:04:28 +0000
Subject: [PATCH 07/46] chore: update marketing role
---
about/docs/careers/marketing.mdx | 52 +++++++++++++++------------
about/docs/careers/snippets/roles.mdx | 4 +--
2 files changed, 32 insertions(+), 24 deletions(-)
diff --git a/about/docs/careers/marketing.mdx b/about/docs/careers/marketing.mdx
index 784bdfee796..825520f1d8e 100644
--- a/about/docs/careers/marketing.mdx
+++ b/about/docs/careers/marketing.mdx
@@ -1,8 +1,8 @@
---
-id: careers-marketing-manager
-slug: marketing-manager
-title: Marketing Manager.
-description: Supabase is hiring a Marketing Manager
+id: careers-growth-marketer
+slug: growth-marketer
+title: Growth Marketer.
+description: Supabase is hiring a Growth Marketer
---
import Roles from '@site/docs/careers/snippets/roles.mdx'
@@ -13,30 +13,38 @@ import Process from '@site/docs/careers/snippets/process.mdx'
## About the role
-- Play a key role in establishing the marketing and growth strategies for supabase
-- Working cross-functionally with our engineering and growth teams to ensure we have the best possible messaging and marketing strategy
-- Communicating the results of our marketing strategy internally
+Supabase is looking for a growth marketer to help continue to raise awareness of Supabase within the developer community. This role will require working across the entire customer lifecycle helping shape programs that drive awareness, activation, engagement, and expansion. In this role you will play a key role in establishing and operating the marketing and growth strategies for supabase by working cross-functionally with our engineering and growth teams to ensure we have the best possible marketing strategy and execution.
+
+The ideal candidate has experience helping grow products which enable developers. You should be both strategic and highly execution focussed.
+
+**Some of the things you will be doing:**
+
+- Planning and executing the Supabase marketing strategy
+- Designing and executing on industry specific marketing campaigns
+- Help promote and amplify all things Supabase: events, hackathons, our DevRel team profiles, launch week
+- Outbound to co-ordinate and schedule events & conferences that we can participate in
+- Outbound to find channels for content distribution (written, video, podcasts, interviews etc)
+- Outbound to find partnership opportunities with code schools & 3rd parties for content co-creation
+- Understand whats driving our user acquisition funnel and assets required to increase activation
+- Monitor and measure our entire portfolio of assets and communicating the results of our marketing efforts internally so we understand what is most effective
+- Create enterprise grade marketing materials that we can start to distribute from our own website and across other channels such as LinkedIn and DZone
+- Find interesting case study opportunities and help turn them into content we can distribute across different segments
- Liaise and work with our incredible DevRel team to help them identify opportunities and amplify their efforts
-- Work with our amazing team of community writers to help find topics to write about
-- Understand what's driving our user acquisition funnel
-- Keep our social media feeds active
-- Create and manage email campaigns
-- Help with community management
+- work with our amazing team of community writers to help find topics to write about
+- Scope out and action our SEO strategy
+- Help running email campaigns
+- Community management
## Skills and Experience
-- Experience with marketing automation and CRM tools
-- Experience with analytics platforms
-- SEO experience
+- Building marketing funnels and running outbound campaigns
- Creating and managing social media campaigns
- Marketing to software developers & developer tooling space
-- Understanding of product led growth & developer communities
-- Metrics driven & experimental mindset
-
-## Nice to haves
-
-- Familiarity with dbt / Segment / Hightouch / Snowflake / Redshift or other Modern data tools is a plus
-- Experience with Youtube optimization
+- Marketing collateral aimed at enterprise and cloud native customers
+- Metrics driven & an experimental mindset
+- Marketing automation and CRM tools
+- Experience with analytics platforms
+- SEO experience
## About Supabase
diff --git a/about/docs/careers/snippets/roles.mdx b/about/docs/careers/snippets/roles.mdx
index 6235eeb6c27..ba23b912ae3 100644
--- a/about/docs/careers/snippets/roles.mdx
+++ b/about/docs/careers/snippets/roles.mdx
@@ -13,9 +13,9 @@
-
+
-
Marketing Manager
+
Growth Marketer
Get our tools in front of the next billion developers.
From aa892da4a4941804b5483399648341044c47a35f Mon Sep 17 00:00:00 2001
From: Mayank Virmani
Date: Thu, 6 Jan 2022 13:03:30 +0530
Subject: [PATCH 08/46] www: added log in btn in nav
---
www/components/Nav/index.tsx | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/www/components/Nav/index.tsx b/www/components/Nav/index.tsx
index 661a6bc31e3..73beb0c93bd 100644
--- a/www/components/Nav/index.tsx
+++ b/www/components/Nav/index.tsx
@@ -243,10 +243,16 @@ const Nav = (props: Props) => {
- }>
+ }
+ >
Star us on GitHub
+
+ Log in
+
Start your project
From f42a1480138a71af2462a86d0abc5df3b7e7fd77 Mon Sep 17 00:00:00 2001
From: Mayank Virmani
Date: Thu, 6 Jan 2022 13:48:38 +0530
Subject: [PATCH 09/46] www: updated log in to sign in
---
www/components/Nav/index.tsx | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/www/components/Nav/index.tsx b/www/components/Nav/index.tsx
index 73beb0c93bd..2b7984e661d 100644
--- a/www/components/Nav/index.tsx
+++ b/www/components/Nav/index.tsx
@@ -250,8 +250,8 @@ const Nav = (props: Props) => {
Star us on GitHub
-
- Log in
+
+ Sign in
Start your project
From 04c955334313594ae229b9632464ff5e0ec401a8 Mon Sep 17 00:00:00 2001
From: TzeYiing
Date: Thu, 6 Jan 2022 19:44:32 +0800
Subject: [PATCH 10/46] bugfix for load older logs empty page bug.
---
.../project/[ref]/settings/logs/[type].tsx | 37 ++++++++++++++-----
studio/tests/pages/projects/logs.test.js | 34 ++++++++++++++++-
2 files changed, 59 insertions(+), 12 deletions(-)
diff --git a/studio/pages/project/[ref]/settings/logs/[type].tsx b/studio/pages/project/[ref]/settings/logs/[type].tsx
index d60a83f83b5..7bf04bd695c 100644
--- a/studio/pages/project/[ref]/settings/logs/[type].tsx
+++ b/studio/pages/project/[ref]/settings/logs/[type].tsx
@@ -3,7 +3,15 @@ import React, { useEffect, useRef, useState } from 'react'
import { NextPage } from 'next'
import { useRouter } from 'next/router'
import { observer } from 'mobx-react-lite'
-import { Typography, IconLoader, IconAlertCircle, IconRewind, Button, IconInfo } from '@supabase/ui'
+import {
+ Typography,
+ IconLoader,
+ IconAlertCircle,
+ IconRewind,
+ Button,
+ IconInfo,
+ Card,
+} from '@supabase/ui'
import { withAuth } from 'hooks'
import { get } from 'lib/common/fetch'
@@ -72,7 +80,11 @@ export const LogPage: NextPage = () => {
if (prevPageData === null) {
// reduce interval window limit by using the timestamp of the last log
queryParams = genQueryParams(params)
- } else {
+ } else if (prevPageData.data.length === 0) {
+ // no rows returned, indicates that no more data to retrieve and append.
+ return null
+ }else {
+
const len = prevPageData.data.length
const { timestamp: tsLimit }: LogData = prevPageData.data[len - 1]
// create new key from params
@@ -84,18 +96,16 @@ export const LogPage: NextPage = () => {
}
const {
data = [],
+ error: swrError,
isValidating,
mutate,
size,
setSize,
} = useSWRInfinite(getKeyLogs, get, { revalidateOnFocus: false })
-
- // const { data, isValidating, mutate } = useSWR(logUrl, get, { revalidateOnFocus: false })
let logData: LogData[] = []
- let error: null | string = null
-
+ let error: null | string = swrError ? swrError.message : null
data.forEach((response: Logs) => {
- if (response && response.data) {
+ if (!error && response && response.data) {
logData = [...logData, ...response.data]
}
if (!error && response && response.error) {
@@ -220,9 +230,16 @@ export const LogPage: NextPage = () => {
)}
{error && (
-
-
-
Sorry! Could not fetch data
+
+
+
+
+
+ Sorry! An error occured when fetching data.
+
+
+ {error}
+
)}
diff --git a/studio/tests/pages/projects/logs.test.js b/studio/tests/pages/projects/logs.test.js
index c98b3fd856d..2352726b3dd 100644
--- a/studio/tests/pages/projects/logs.test.js
+++ b/studio/tests/pages/projects/logs.test.js
@@ -42,15 +42,21 @@ LogPage.mockImplementation((props) => {
const Page = jest.requireActual('pages/project/[ref]/settings/logs/[type]').LogPage
// wrap with SWR to reset the cache each time
return (
-
new Map() }}>
+ new Map(),
+ shouldRetryOnError: false,
+ }}
+ >
)
})
-import { render, fireEvent, waitFor, screen } from '@testing-library/react'
+import { render, fireEvent, waitFor, screen, act } from '@testing-library/react'
import userEvent from '@testing-library/user-event'
import { getToggleByText } from '../../helpers'
+import { wait } from '@testing-library/user-event/dist/utils'
beforeEach(() => {
// reset mocks between tests
@@ -298,3 +304,27 @@ test('load older btn will fetch older logs', async () => {
})
await waitFor(() => screen.getByText('second event'))
})
+
+test('bug: load older btn does not error out when previous page is empty', async () => {
+ // bugfix for https://sentry.io/organizations/supabase/issues/2903331460/?project=5459134&referrer=slack
+ get.mockImplementation((url) => {
+ if (url.includes('count')) {
+ return {}
+ }
+ return { data: [] }
+ })
+ render( )
+
+ userEvent.click(screen.getByText('Load older'))
+ // NOTE: potential race condition, since we are asserting that something DOES NOT EXIST
+ // wait for 500s to make sure all ui logic is complete
+ // need to wrap in act because internal react state is changing during this time.
+ await act(async () => await wait(100))
+
+ // clicking load older multiple times should not give error
+ await waitFor(() => {
+ expect(screen.queryByText(/Sorry/)).toBeNull()
+ expect(screen.queryByText(/An error occured/)).toBeNull()
+ expect(screen.queryByText(/undefined/)).toBeNull()
+ })
+})
From be51a51396df26ce2727effef65f12dc4fa6a5c2 Mon Sep 17 00:00:00 2001
From: TzeYiing
Date: Thu, 6 Jan 2022 23:07:19 +0800
Subject: [PATCH 11/46] ran prettier
---
studio/pages/project/[ref]/settings/logs/[type].tsx | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/studio/pages/project/[ref]/settings/logs/[type].tsx b/studio/pages/project/[ref]/settings/logs/[type].tsx
index 7bf04bd695c..9837bd0917e 100644
--- a/studio/pages/project/[ref]/settings/logs/[type].tsx
+++ b/studio/pages/project/[ref]/settings/logs/[type].tsx
@@ -83,8 +83,7 @@ export const LogPage: NextPage = () => {
} else if (prevPageData.data.length === 0) {
// no rows returned, indicates that no more data to retrieve and append.
return null
- }else {
-
+ } else {
const len = prevPageData.data.length
const { timestamp: tsLimit }: LogData = prevPageData.data[len - 1]
// create new key from params
From 7ed0e717807d93f347f439e0cf41cbfaeac7b66f Mon Sep 17 00:00:00 2001
From: Isaiah Hamilton
Date: Thu, 6 Jan 2022 11:40:49 -0500
Subject: [PATCH 12/46] update latest announcements
---
www/data/Announcements.json | 32 ++++++++++++++++----------------
1 file changed, 16 insertions(+), 16 deletions(-)
diff --git a/www/data/Announcements.json b/www/data/Announcements.json
index 4145701af75..77b9ce6ccbe 100644
--- a/www/data/Announcements.json
+++ b/www/data/Announcements.json
@@ -1,33 +1,33 @@
[
{
"type": "Announcement",
- "title": "Launch Week II: The SQL",
- "description": "We're launching a product every day for one week in July.",
- "imgUrl": "images/case-study-monitoro.jpg",
- "logoUrl": "images/logos/monitoro.png",
- "organization": "Monitoro",
- "url": "/blog/2021/07/22/supabase-launch-week-sql",
+ "title": "Supabase Launch Week III: Holiday Special",
+ "description": "Santa's little hackers have been hard at work because we've got another five days of launches ready to go.",
+ "imgUrl": "images/blog/launch-week-three/launch-week-three-og.jpg",
+ "logoUrl": "images/blog/launch-week-three/launch-week-three-og.jpg",
+ "organization": "Supabase",
+ "url": "/blog/2021/11/26/supabase-launch-week-the-trilogy",
"postMeta": {
"name": "Paul Copplestone",
"avatarUrl": "https://avatars0.githubusercontent.com/u/10214025?v=4",
- "publishDate": "Mar 16, 2020",
- "readLength": 6
+ "publishDate": "Nov 26, 2021",
+ "readLength": 2
},
"ctaText": "View case study"
},
{
"type": "Announcement",
- "title": "Supabase Storage",
- "description": "Supabase launches Storage leveraging Postgres.",
- "imgUrl": "images/case-study-monitoro.jpg",
- "logoUrl": "images/logos/monitoro.png",
- "organization": "Monitoro",
- "url": "/blog/2021/03/30/supabase-storage",
+ "title": "Supabase $30m Series A",
+ "description": "Supabase just raised $30M, bringing our total funding to $36M. How will we spend this? Read on to find out.",
+ "imgUrl": "images/blog/series-a/supabase-series-a.png",
+ "logoUrl": "images/blog/series-a/supabase-series-a.png",
+ "organization": "Supabase",
+ "url": "/blog/2021/10/28/supabase-series-a",
"postMeta": {
"name": "Paul Copplestone",
"avatarUrl": "https://avatars0.githubusercontent.com/u/10214025?v=4",
- "publishDate": "Mar 16, 2020",
- "readLength": 6
+ "publishDate": "Oct 28, 2021",
+ "readLength": 28
},
"ctaText": "View case study"
}
From fdef08123b7b7346bc6e125f8be04dabca2f712d Mon Sep 17 00:00:00 2001
From: Copple <10214025+kiwicopple@users.noreply.github.com>
Date: Thu, 6 Jan 2022 20:16:00 +0100
Subject: [PATCH 13/46] Add technicall recruiter role
---
about/docs/careers/technical-recruiter.mdx | 59 ++++++++++++++++++++++
1 file changed, 59 insertions(+)
create mode 100644 about/docs/careers/technical-recruiter.mdx
diff --git a/about/docs/careers/technical-recruiter.mdx b/about/docs/careers/technical-recruiter.mdx
new file mode 100644
index 00000000000..a6ed006e447
--- /dev/null
+++ b/about/docs/careers/technical-recruiter.mdx
@@ -0,0 +1,59 @@
+---
+id: careers-technical-recruiter
+slug: technical-recruiter
+title: Technical Recruiter.
+description: Supabase is hiring Technical Recruiters
+---
+
+import Roles from '@site/docs/careers/snippets/roles.mdx'
+import About from '@site/docs/careers/snippets/about.mdx'
+import Team from '@site/docs/careers/snippets/team.mdx'
+import Apply from '@site/docs/careers/snippets/apply.mdx'
+import Process from '@site/docs/careers/snippets/process.mdx'
+
+## About the role
+
+#### Candidate** **Must Haves / key skills / personality traits:
+
+- Minimum 2+ years technical recruiting experience across the full hiring process from sourcing to the offer stage
+- Technical knowledge of different coding languages/technical stacks/terminology
+- You have expertise in filling Engineering, Infrastructure, Data Science, and other technical roles.
+- Self motivated Technical Recruiter that enjoys working in a fun, fast paced environment!
+- A solid understanding of what makes a great candidate experience
+- You enjoy reaching out to others and learning what drives them in their career
+- You are not afraid to own all parts of an operation in a remote setting
+- Ability to communicate effectively and effortlessly with candidates and internal stakeholders of all career levels
+- Excellent interpersonal skills, resourcefulness, and follow-up
+
+#### Candidate Nice to Haves
+
+- A continuous improvement mindset with an iterative approach to making things better. Whether it's your interview technique, pipeline optimization or anything else that you discover.
+- Fluency with Greenhouse or other Applicant Tracking Systems, as well as various sourcing platforms (e.g., LinkedIn, Github, Work at a Startup, etc)
+- You’re Comfortable coordinating all candidate touch points
+- You can plan out batch days & other projects to drive excellence for our candidate experience and quality of interviews
+
+#### Key Responsibilities:
+
+- Be accountable for implementing inclusive recruiting practices and finding ways to engage more under-represented talent for technical roles
+- Ability to understand and communicate the business' current technical challenges to entice candidates who are driven by solving interesting problems
+- Accountable to starting a candidate search project from scratch through requirement gathering, job posting, sourcing, networking, previous applicants follow-ups etc
+
+## About Supabase
+
+ {' '}
+
+## About the team
+
+ {' '}
+
+## Apply
+
+ {' '}
+
+## Process
+
+ {' '}
+
+## All roles
+
+ {' '}
From 3d37b26209aa7b55cb2351dc474b8e0394c0ddb2 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Thu, 6 Jan 2022 19:48:16 +0000
Subject: [PATCH 14/46] chore(deps): bump mermaid from 8.12.1 to 8.13.8 in /web
Bumps [mermaid](https://github.com/knsv/mermaid) from 8.12.1 to 8.13.8.
- [Release notes](https://github.com/knsv/mermaid/releases)
- [Changelog](https://github.com/mermaid-js/mermaid/blob/develop/docs/CHANGELOG.md)
- [Commits](https://github.com/knsv/mermaid/compare/8.12.1...8.13.8)
---
updated-dependencies:
- dependency-name: mermaid
dependency-type: direct:production
...
Signed-off-by: dependabot[bot]
---
web/package-lock.json | 646 ++++++++++++++++++++++++++++++------------
web/package.json | 2 +-
2 files changed, 472 insertions(+), 176 deletions(-)
diff --git a/web/package-lock.json b/web/package-lock.json
index 35b3285ec61..f0c9b8b948e 100644
--- a/web/package-lock.json
+++ b/web/package-lock.json
@@ -3929,72 +3929,73 @@
}
},
"d3": {
- "version": "5.16.0",
- "resolved": "https://registry.npmjs.org/d3/-/d3-5.16.0.tgz",
- "integrity": "sha512-4PL5hHaHwX4m7Zr1UapXW23apo6pexCgdetdJ5kTmADpG/7T9Gkxw0M0tf/pjoB63ezCCm0u5UaFYy2aMt0Mcw==",
+ "version": "7.2.1",
+ "resolved": "https://registry.npmjs.org/d3/-/d3-7.2.1.tgz",
+ "integrity": "sha512-E/5sP0aeK6YPXI/+4QlefvBFgmcyR2jYftId0PrYWv4Y/gW3c3thp1XG4rQzF0eUwV9tR1x05X5eWuJ6rQXvew==",
"requires": {
- "d3-array": "1",
- "d3-axis": "1",
- "d3-brush": "1",
- "d3-chord": "1",
- "d3-collection": "1",
- "d3-color": "1",
- "d3-contour": "1",
- "d3-dispatch": "1",
- "d3-drag": "1",
- "d3-dsv": "1",
- "d3-ease": "1",
- "d3-fetch": "1",
- "d3-force": "1",
- "d3-format": "1",
- "d3-geo": "1",
- "d3-hierarchy": "1",
- "d3-interpolate": "1",
- "d3-path": "1",
- "d3-polygon": "1",
- "d3-quadtree": "1",
- "d3-random": "1",
- "d3-scale": "2",
- "d3-scale-chromatic": "1",
- "d3-selection": "1",
- "d3-shape": "1",
- "d3-time": "1",
- "d3-time-format": "2",
- "d3-timer": "1",
- "d3-transition": "1",
- "d3-voronoi": "1",
- "d3-zoom": "1"
+ "d3-array": "3",
+ "d3-axis": "3",
+ "d3-brush": "3",
+ "d3-chord": "3",
+ "d3-color": "3",
+ "d3-contour": "3",
+ "d3-delaunay": "6",
+ "d3-dispatch": "3",
+ "d3-drag": "3",
+ "d3-dsv": "3",
+ "d3-ease": "3",
+ "d3-fetch": "3",
+ "d3-force": "3",
+ "d3-format": "3",
+ "d3-geo": "3",
+ "d3-hierarchy": "3",
+ "d3-interpolate": "3",
+ "d3-path": "3",
+ "d3-polygon": "3",
+ "d3-quadtree": "3",
+ "d3-random": "3",
+ "d3-scale": "4",
+ "d3-scale-chromatic": "3",
+ "d3-selection": "3",
+ "d3-shape": "3",
+ "d3-time": "3",
+ "d3-time-format": "4",
+ "d3-timer": "3",
+ "d3-transition": "3",
+ "d3-zoom": "3"
}
},
"d3-array": {
- "version": "1.2.4",
- "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-1.2.4.tgz",
- "integrity": "sha512-KHW6M86R+FUPYGb3R5XiYjXPq7VzwxZ22buHhAEVG5ztoEcZZMLov530mmccaqA1GghZArjQV46fuc8kUqhhHw=="
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-3.1.1.tgz",
+ "integrity": "sha512-33qQ+ZoZlli19IFiQx4QEpf2CBEayMRzhlisJHSCsSUbDXv6ZishqS1x7uFVClKG4Wr7rZVHvaAttoLow6GqdQ==",
+ "requires": {
+ "internmap": "1 - 2"
+ }
},
"d3-axis": {
- "version": "1.0.12",
- "resolved": "https://registry.npmjs.org/d3-axis/-/d3-axis-1.0.12.tgz",
- "integrity": "sha512-ejINPfPSNdGFKEOAtnBtdkpr24c4d4jsei6Lg98mxf424ivoDP2956/5HDpIAtmHo85lqT4pruy+zEgvRUBqaQ=="
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/d3-axis/-/d3-axis-3.0.0.tgz",
+ "integrity": "sha512-IH5tgjV4jE/GhHkRV0HiVYPDtvfjHQlQfJHs0usq7M30XcSBvOotpmH1IgkcXsO/5gEQZD43B//fc7SRT5S+xw=="
},
"d3-brush": {
- "version": "1.1.6",
- "resolved": "https://registry.npmjs.org/d3-brush/-/d3-brush-1.1.6.tgz",
- "integrity": "sha512-7RW+w7HfMCPyZLifTz/UnJmI5kdkXtpCbombUSs8xniAyo0vIbrDzDwUJB6eJOgl9u5DQOt2TQlYumxzD1SvYA==",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/d3-brush/-/d3-brush-3.0.0.tgz",
+ "integrity": "sha512-ALnjWlVYkXsVIGlOsuWH1+3udkYFI48Ljihfnh8FZPF2QS9o+PzGLBslO0PjzVoHLZ2KCVgAM8NVkXPJB2aNnQ==",
"requires": {
- "d3-dispatch": "1",
- "d3-drag": "1",
- "d3-interpolate": "1",
- "d3-selection": "1",
- "d3-transition": "1"
+ "d3-dispatch": "1 - 3",
+ "d3-drag": "2 - 3",
+ "d3-interpolate": "1 - 3",
+ "d3-selection": "3",
+ "d3-transition": "3"
}
},
"d3-chord": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/d3-chord/-/d3-chord-1.0.6.tgz",
- "integrity": "sha512-JXA2Dro1Fxw9rJe33Uv+Ckr5IrAa74TlfDEhE/jfLOaXegMQFQTAgAw9WnZL8+HxVBRXaRGCkrNU7pJeylRIuA==",
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/d3-chord/-/d3-chord-3.0.1.tgz",
+ "integrity": "sha512-VE5S6TNa+j8msksl7HwjxMHDM2yNK3XCkusIlpX5kwauBfXuyLAtNg9jCp/iHH61tgI4sb6R/EIMWCqEIdjT/g==",
"requires": {
- "d3-array": "1",
- "d3-path": "1"
+ "d3-path": "1 - 3"
}
},
"d3-collection": {
@@ -4003,183 +4004,199 @@
"integrity": "sha512-ii0/r5f4sjKNTfh84Di+DpztYwqKhEyUlKoPrzUFfeSkWxjW49xU2QzO9qrPrNkpdI0XJkfzvmTu8V2Zylln6A=="
},
"d3-color": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-1.4.1.tgz",
- "integrity": "sha512-p2sTHSLCJI2QKunbGb7ocOh7DgTAn8IrLx21QRc/BSnodXM4sv6aLQlnfpvehFMLZEfBc6g9pH9SWQccFYfJ9Q=="
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-3.0.1.tgz",
+ "integrity": "sha512-6/SlHkDOBLyQSJ1j1Ghs82OIUXpKWlR0hCsw0XrLSQhuUPuCSmLQ1QPH98vpnQxMUQM2/gfAkUEWsupVpd9JGw=="
},
"d3-contour": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/d3-contour/-/d3-contour-1.3.2.tgz",
- "integrity": "sha512-hoPp4K/rJCu0ladiH6zmJUEz6+u3lgR+GSm/QdM2BBvDraU39Vr7YdDCicJcxP1z8i9B/2dJLgDC1NcvlF8WCg==",
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/d3-contour/-/d3-contour-3.0.1.tgz",
+ "integrity": "sha512-0Oc4D0KyhwhM7ZL0RMnfGycLN7hxHB8CMmwZ3+H26PWAG0ozNuYG5hXSDNgmP1SgJkQMrlG6cP20HoaSbvcJTQ==",
"requires": {
- "d3-array": "^1.1.1"
+ "d3-array": "2 - 3"
+ }
+ },
+ "d3-delaunay": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/d3-delaunay/-/d3-delaunay-6.0.2.tgz",
+ "integrity": "sha512-IMLNldruDQScrcfT+MWnazhHbDJhcRJyOEBAJfwQnHle1RPh6WDuLvxNArUju2VSMSUuKlY5BGHRJ2cYyoFLQQ==",
+ "requires": {
+ "delaunator": "5"
}
},
"d3-dispatch": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-1.0.6.tgz",
- "integrity": "sha512-fVjoElzjhCEy+Hbn8KygnmMS7Or0a9sI2UzGwoB7cCtvI1XpVN9GpoYlnb3xt2YV66oXYb1fLJ8GMvP4hdU1RA=="
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-3.0.1.tgz",
+ "integrity": "sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg=="
},
"d3-drag": {
- "version": "1.2.5",
- "resolved": "https://registry.npmjs.org/d3-drag/-/d3-drag-1.2.5.tgz",
- "integrity": "sha512-rD1ohlkKQwMZYkQlYVCrSFxsWPzI97+W+PaEIBNTMxRuxz9RF0Hi5nJWHGVJ3Om9d2fRTe1yOBINJyy/ahV95w==",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/d3-drag/-/d3-drag-3.0.0.tgz",
+ "integrity": "sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg==",
"requires": {
- "d3-dispatch": "1",
- "d3-selection": "1"
+ "d3-dispatch": "1 - 3",
+ "d3-selection": "3"
}
},
"d3-dsv": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/d3-dsv/-/d3-dsv-1.2.0.tgz",
- "integrity": "sha512-9yVlqvZcSOMhCYzniHE7EVUws7Fa1zgw+/EAV2BxJoG3ME19V6BQFBwI855XQDsxyOuG7NibqRMTtiF/Qup46g==",
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/d3-dsv/-/d3-dsv-3.0.1.tgz",
+ "integrity": "sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q==",
"requires": {
- "commander": "2",
- "iconv-lite": "0.4",
+ "commander": "7",
+ "iconv-lite": "0.6",
"rw": "1"
},
"dependencies": {
"commander": {
- "version": "2.20.3",
- "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
- "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ=="
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz",
+ "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw=="
+ },
+ "iconv-lite": {
+ "version": "0.6.3",
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
+ "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==",
+ "requires": {
+ "safer-buffer": ">= 2.1.2 < 3.0.0"
+ }
}
}
},
"d3-ease": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/d3-ease/-/d3-ease-1.0.7.tgz",
- "integrity": "sha512-lx14ZPYkhNx0s/2HX5sLFUI3mbasHjSSpwO/KaaNACweVwxUruKyWVcb293wMv1RqTPZyZ8kSZ2NogUZNcLOFQ=="
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/d3-ease/-/d3-ease-3.0.1.tgz",
+ "integrity": "sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w=="
},
"d3-fetch": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/d3-fetch/-/d3-fetch-1.2.0.tgz",
- "integrity": "sha512-yC78NBVcd2zFAyR/HnUiBS7Lf6inSCoWcSxFfw8FYL7ydiqe80SazNwoffcqOfs95XaLo7yebsmQqDKSsXUtvA==",
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/d3-fetch/-/d3-fetch-3.0.1.tgz",
+ "integrity": "sha512-kpkQIM20n3oLVBKGg6oHrUchHM3xODkTzjMoj7aWQFq5QEM+R6E4WkzT5+tojDY7yjez8KgCBRoj4aEr99Fdqw==",
"requires": {
- "d3-dsv": "1"
+ "d3-dsv": "1 - 3"
}
},
"d3-force": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/d3-force/-/d3-force-1.2.1.tgz",
- "integrity": "sha512-HHvehyaiUlVo5CxBJ0yF/xny4xoaxFxDnBXNvNcfW9adORGZfyNF1dj6DGLKyk4Yh3brP/1h3rnDzdIAwL08zg==",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/d3-force/-/d3-force-3.0.0.tgz",
+ "integrity": "sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg==",
"requires": {
- "d3-collection": "1",
- "d3-dispatch": "1",
- "d3-quadtree": "1",
- "d3-timer": "1"
+ "d3-dispatch": "1 - 3",
+ "d3-quadtree": "1 - 3",
+ "d3-timer": "1 - 3"
}
},
"d3-format": {
- "version": "1.4.5",
- "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-1.4.5.tgz",
- "integrity": "sha512-J0piedu6Z8iB6TbIGfZgDzfXxUFN3qQRMofy2oPdXzQibYGqPB/9iMcxr/TGalU+2RsyDO+U4f33id8tbnSRMQ=="
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-3.1.0.tgz",
+ "integrity": "sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA=="
},
"d3-geo": {
- "version": "1.12.1",
- "resolved": "https://registry.npmjs.org/d3-geo/-/d3-geo-1.12.1.tgz",
- "integrity": "sha512-XG4d1c/UJSEX9NfU02KwBL6BYPj8YKHxgBEw5om2ZnTRSbIcego6dhHwcxuSR3clxh0EpE38os1DVPOmnYtTPg==",
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/d3-geo/-/d3-geo-3.0.1.tgz",
+ "integrity": "sha512-Wt23xBych5tSy9IYAM1FR2rWIBFWa52B/oF/GYe5zbdHrg08FU8+BuI6X4PvTwPDdqdAdq04fuWJpELtsaEjeA==",
"requires": {
- "d3-array": "1"
+ "d3-array": "2.5.0 - 3"
}
},
"d3-hierarchy": {
- "version": "1.1.9",
- "resolved": "https://registry.npmjs.org/d3-hierarchy/-/d3-hierarchy-1.1.9.tgz",
- "integrity": "sha512-j8tPxlqh1srJHAtxfvOUwKNYJkQuBFdM1+JAUfq6xqH5eAqf93L7oG1NVqDa4CpFZNvnNKtCYEUC8KY9yEn9lQ=="
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/d3-hierarchy/-/d3-hierarchy-3.1.1.tgz",
+ "integrity": "sha512-LtAIu54UctRmhGKllleflmHalttH3zkfSi4NlKrTAoFKjC+AFBJohsCAdgCBYQwH0F8hIOGY89X1pPqAchlMkA=="
},
"d3-interpolate": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-1.4.0.tgz",
- "integrity": "sha512-V9znK0zc3jOPV4VD2zZn0sDhZU3WAE2bmlxdIwwQPPzPjvyLkd8B3JUVdS1IDUFDkWZ72c9qnv1GK2ZagTZ8EA==",
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-3.0.1.tgz",
+ "integrity": "sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==",
"requires": {
- "d3-color": "1"
+ "d3-color": "1 - 3"
}
},
"d3-path": {
- "version": "1.0.9",
- "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-1.0.9.tgz",
- "integrity": "sha512-VLaYcn81dtHVTjEHd8B+pbe9yHWpXKZUC87PzoFmsFrJqgFwDe/qxfp5MlfsfM1V5E/iVt0MmEbWQ7FVIXh/bg=="
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-3.0.1.tgz",
+ "integrity": "sha512-gq6gZom9AFZby0YLduxT1qmrp4xpBA1YZr19OI717WIdKE2OM5ETq5qrHLb301IgxhLwcuxvGZVLeeWc/k1I6w=="
},
"d3-polygon": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/d3-polygon/-/d3-polygon-1.0.6.tgz",
- "integrity": "sha512-k+RF7WvI08PC8reEoXa/w2nSg5AUMTi+peBD9cmFc+0ixHfbs4QmxxkarVal1IkVkgxVuk9JSHhJURHiyHKAuQ=="
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/d3-polygon/-/d3-polygon-3.0.1.tgz",
+ "integrity": "sha512-3vbA7vXYwfe1SYhED++fPUQlWSYTTGmFmQiany/gdbiWgU/iEyQzyymwL9SkJjFFuCS4902BSzewVGsHHmHtXg=="
},
"d3-quadtree": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/d3-quadtree/-/d3-quadtree-1.0.7.tgz",
- "integrity": "sha512-RKPAeXnkC59IDGD0Wu5mANy0Q2V28L+fNe65pOCXVdVuTJS3WPKaJlFHer32Rbh9gIo9qMuJXio8ra4+YmIymA=="
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/d3-quadtree/-/d3-quadtree-3.0.1.tgz",
+ "integrity": "sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw=="
},
"d3-random": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/d3-random/-/d3-random-1.1.2.tgz",
- "integrity": "sha512-6AK5BNpIFqP+cx/sreKzNjWbwZQCSUatxq+pPRmFIQaWuoD+NrbVWw7YWpHiXpCQ/NanKdtGDuB+VQcZDaEmYQ=="
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/d3-random/-/d3-random-3.0.1.tgz",
+ "integrity": "sha512-FXMe9GfxTxqd5D6jFsQ+DJ8BJS4E/fT5mqqdjovykEB2oFbTMDVdg1MGFxfQW+FBOGoB++k8swBrgwSHT1cUXQ=="
},
"d3-scale": {
- "version": "2.2.2",
- "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-2.2.2.tgz",
- "integrity": "sha512-LbeEvGgIb8UMcAa0EATLNX0lelKWGYDQiPdHj+gLblGVhGLyNbaCn3EvrJf0A3Y/uOOU5aD6MTh5ZFCdEwGiCw==",
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-4.0.2.tgz",
+ "integrity": "sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==",
"requires": {
- "d3-array": "^1.2.0",
- "d3-collection": "1",
- "d3-format": "1",
- "d3-interpolate": "1",
- "d3-time": "1",
- "d3-time-format": "2"
+ "d3-array": "2.10.0 - 3",
+ "d3-format": "1 - 3",
+ "d3-interpolate": "1.2.0 - 3",
+ "d3-time": "2.1.1 - 3",
+ "d3-time-format": "2 - 4"
}
},
"d3-scale-chromatic": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/d3-scale-chromatic/-/d3-scale-chromatic-1.5.0.tgz",
- "integrity": "sha512-ACcL46DYImpRFMBcpk9HhtIyC7bTBR4fNOPxwVSl0LfulDAwyiHyPOTqcDG1+t5d4P9W7t/2NAuWu59aKko/cg==",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/d3-scale-chromatic/-/d3-scale-chromatic-3.0.0.tgz",
+ "integrity": "sha512-Lx9thtxAKrO2Pq6OO2Ua474opeziKr279P/TKZsMAhYyNDD3EnCffdbgeSYN5O7m2ByQsxtuP2CSDczNUIZ22g==",
"requires": {
- "d3-color": "1",
- "d3-interpolate": "1"
+ "d3-color": "1 - 3",
+ "d3-interpolate": "1 - 3"
}
},
"d3-selection": {
- "version": "1.4.2",
- "resolved": "https://registry.npmjs.org/d3-selection/-/d3-selection-1.4.2.tgz",
- "integrity": "sha512-SJ0BqYihzOjDnnlfyeHT0e30k0K1+5sR3d5fNueCNeuhZTnGw4M4o8mqJchSwgKMXCNFo+e2VTChiSJ0vYtXkg=="
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/d3-selection/-/d3-selection-3.0.0.tgz",
+ "integrity": "sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ=="
},
"d3-shape": {
- "version": "1.3.7",
- "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-1.3.7.tgz",
- "integrity": "sha512-EUkvKjqPFUAZyOlhY5gzCxCeI0Aep04LwIRpsZ/mLFelJiUfnK56jo5JMDSE7yyP2kLSb6LtF+S5chMk7uqPqw==",
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-3.0.1.tgz",
+ "integrity": "sha512-HNZNEQoDhuCrDWEc/BMbF/hKtzMZVoe64TvisFLDp2Iyj0UShB/E6/lBsLlJTfBMbYgftHj90cXJ0SEitlE6Xw==",
"requires": {
- "d3-path": "1"
+ "d3-path": "1 - 3"
}
},
"d3-time": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-1.1.0.tgz",
- "integrity": "sha512-Xh0isrZ5rPYYdqhAVk8VLnMEidhz5aP7htAADH6MfzgmmicPkTo8LhkLxci61/lCB7n7UmE3bN0leRt+qvkLxA=="
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-3.0.0.tgz",
+ "integrity": "sha512-zmV3lRnlaLI08y9IMRXSDshQb5Nj77smnfpnd2LrBa/2K281Jijactokeak14QacHs/kKq0AQ121nidNYlarbQ==",
+ "requires": {
+ "d3-array": "2 - 3"
+ }
},
"d3-time-format": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-2.3.0.tgz",
- "integrity": "sha512-guv6b2H37s2Uq/GefleCDtbe0XZAuy7Wa49VGkPVPMfLL9qObgBST3lEHJBMUp8S7NdLQAGIvr2KXk8Hc98iKQ==",
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-4.1.0.tgz",
+ "integrity": "sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==",
"requires": {
- "d3-time": "1"
+ "d3-time": "1 - 3"
}
},
"d3-timer": {
- "version": "1.0.10",
- "resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-1.0.10.tgz",
- "integrity": "sha512-B1JDm0XDaQC+uvo4DT79H0XmBskgS3l6Ve+1SBCfxgmtIb1AVrPIoqd+nPSv+loMX8szQ0sVUhGngL7D5QPiXw=="
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-3.0.1.tgz",
+ "integrity": "sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA=="
},
"d3-transition": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/d3-transition/-/d3-transition-1.3.2.tgz",
- "integrity": "sha512-sc0gRU4PFqZ47lPVHloMn9tlPcv8jxgOQg+0zjhfZXMQuvppjG6YuwdMBE0TuqCZjeJkLecku/l9R0JPcRhaDA==",
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/d3-transition/-/d3-transition-3.0.1.tgz",
+ "integrity": "sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w==",
"requires": {
- "d3-color": "1",
- "d3-dispatch": "1",
- "d3-ease": "1",
- "d3-interpolate": "1",
- "d3-selection": "^1.1.0",
- "d3-timer": "1"
+ "d3-color": "1 - 3",
+ "d3-dispatch": "1 - 3",
+ "d3-ease": "1 - 3",
+ "d3-interpolate": "1 - 3",
+ "d3-timer": "1 - 3"
}
},
"d3-voronoi": {
@@ -4188,15 +4205,15 @@
"integrity": "sha512-dArJ32hchFsrQ8uMiTBLq256MpnZjeuBtdHpaDlYuQyjU0CVzCJl/BVW+SkszaAeH95D/8gxqAhgx0ouAWAfRg=="
},
"d3-zoom": {
- "version": "1.8.3",
- "resolved": "https://registry.npmjs.org/d3-zoom/-/d3-zoom-1.8.3.tgz",
- "integrity": "sha512-VoLXTK4wvy1a0JpH2Il+F2CiOhVu7VRXWF5M/LroMIh3/zBAC3WAt7QoIvPibOavVo20hN6/37vwAsdBejLyKQ==",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/d3-zoom/-/d3-zoom-3.0.0.tgz",
+ "integrity": "sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==",
"requires": {
- "d3-dispatch": "1",
- "d3-drag": "1",
- "d3-interpolate": "1",
- "d3-selection": "1",
- "d3-transition": "1"
+ "d3-dispatch": "1 - 3",
+ "d3-drag": "2 - 3",
+ "d3-interpolate": "1 - 3",
+ "d3-selection": "2 - 3",
+ "d3-transition": "2 - 3"
}
},
"dagre": {
@@ -4217,6 +4234,267 @@
"dagre": "^0.8.5",
"graphlib": "^2.1.8",
"lodash": "^4.17.15"
+ },
+ "dependencies": {
+ "commander": {
+ "version": "2.20.3",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
+ "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ=="
+ },
+ "d3": {
+ "version": "5.16.0",
+ "resolved": "https://registry.npmjs.org/d3/-/d3-5.16.0.tgz",
+ "integrity": "sha512-4PL5hHaHwX4m7Zr1UapXW23apo6pexCgdetdJ5kTmADpG/7T9Gkxw0M0tf/pjoB63ezCCm0u5UaFYy2aMt0Mcw==",
+ "requires": {
+ "d3-array": "1",
+ "d3-axis": "1",
+ "d3-brush": "1",
+ "d3-chord": "1",
+ "d3-collection": "1",
+ "d3-color": "1",
+ "d3-contour": "1",
+ "d3-dispatch": "1",
+ "d3-drag": "1",
+ "d3-dsv": "1",
+ "d3-ease": "1",
+ "d3-fetch": "1",
+ "d3-force": "1",
+ "d3-format": "1",
+ "d3-geo": "1",
+ "d3-hierarchy": "1",
+ "d3-interpolate": "1",
+ "d3-path": "1",
+ "d3-polygon": "1",
+ "d3-quadtree": "1",
+ "d3-random": "1",
+ "d3-scale": "2",
+ "d3-scale-chromatic": "1",
+ "d3-selection": "1",
+ "d3-shape": "1",
+ "d3-time": "1",
+ "d3-time-format": "2",
+ "d3-timer": "1",
+ "d3-transition": "1",
+ "d3-voronoi": "1",
+ "d3-zoom": "1"
+ }
+ },
+ "d3-array": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-1.2.4.tgz",
+ "integrity": "sha512-KHW6M86R+FUPYGb3R5XiYjXPq7VzwxZ22buHhAEVG5ztoEcZZMLov530mmccaqA1GghZArjQV46fuc8kUqhhHw=="
+ },
+ "d3-axis": {
+ "version": "1.0.12",
+ "resolved": "https://registry.npmjs.org/d3-axis/-/d3-axis-1.0.12.tgz",
+ "integrity": "sha512-ejINPfPSNdGFKEOAtnBtdkpr24c4d4jsei6Lg98mxf424ivoDP2956/5HDpIAtmHo85lqT4pruy+zEgvRUBqaQ=="
+ },
+ "d3-brush": {
+ "version": "1.1.6",
+ "resolved": "https://registry.npmjs.org/d3-brush/-/d3-brush-1.1.6.tgz",
+ "integrity": "sha512-7RW+w7HfMCPyZLifTz/UnJmI5kdkXtpCbombUSs8xniAyo0vIbrDzDwUJB6eJOgl9u5DQOt2TQlYumxzD1SvYA==",
+ "requires": {
+ "d3-dispatch": "1",
+ "d3-drag": "1",
+ "d3-interpolate": "1",
+ "d3-selection": "1",
+ "d3-transition": "1"
+ }
+ },
+ "d3-chord": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/d3-chord/-/d3-chord-1.0.6.tgz",
+ "integrity": "sha512-JXA2Dro1Fxw9rJe33Uv+Ckr5IrAa74TlfDEhE/jfLOaXegMQFQTAgAw9WnZL8+HxVBRXaRGCkrNU7pJeylRIuA==",
+ "requires": {
+ "d3-array": "1",
+ "d3-path": "1"
+ }
+ },
+ "d3-color": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-1.4.1.tgz",
+ "integrity": "sha512-p2sTHSLCJI2QKunbGb7ocOh7DgTAn8IrLx21QRc/BSnodXM4sv6aLQlnfpvehFMLZEfBc6g9pH9SWQccFYfJ9Q=="
+ },
+ "d3-contour": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/d3-contour/-/d3-contour-1.3.2.tgz",
+ "integrity": "sha512-hoPp4K/rJCu0ladiH6zmJUEz6+u3lgR+GSm/QdM2BBvDraU39Vr7YdDCicJcxP1z8i9B/2dJLgDC1NcvlF8WCg==",
+ "requires": {
+ "d3-array": "^1.1.1"
+ }
+ },
+ "d3-dispatch": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-1.0.6.tgz",
+ "integrity": "sha512-fVjoElzjhCEy+Hbn8KygnmMS7Or0a9sI2UzGwoB7cCtvI1XpVN9GpoYlnb3xt2YV66oXYb1fLJ8GMvP4hdU1RA=="
+ },
+ "d3-drag": {
+ "version": "1.2.5",
+ "resolved": "https://registry.npmjs.org/d3-drag/-/d3-drag-1.2.5.tgz",
+ "integrity": "sha512-rD1ohlkKQwMZYkQlYVCrSFxsWPzI97+W+PaEIBNTMxRuxz9RF0Hi5nJWHGVJ3Om9d2fRTe1yOBINJyy/ahV95w==",
+ "requires": {
+ "d3-dispatch": "1",
+ "d3-selection": "1"
+ }
+ },
+ "d3-dsv": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/d3-dsv/-/d3-dsv-1.2.0.tgz",
+ "integrity": "sha512-9yVlqvZcSOMhCYzniHE7EVUws7Fa1zgw+/EAV2BxJoG3ME19V6BQFBwI855XQDsxyOuG7NibqRMTtiF/Qup46g==",
+ "requires": {
+ "commander": "2",
+ "iconv-lite": "0.4",
+ "rw": "1"
+ }
+ },
+ "d3-ease": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/d3-ease/-/d3-ease-1.0.7.tgz",
+ "integrity": "sha512-lx14ZPYkhNx0s/2HX5sLFUI3mbasHjSSpwO/KaaNACweVwxUruKyWVcb293wMv1RqTPZyZ8kSZ2NogUZNcLOFQ=="
+ },
+ "d3-fetch": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/d3-fetch/-/d3-fetch-1.2.0.tgz",
+ "integrity": "sha512-yC78NBVcd2zFAyR/HnUiBS7Lf6inSCoWcSxFfw8FYL7ydiqe80SazNwoffcqOfs95XaLo7yebsmQqDKSsXUtvA==",
+ "requires": {
+ "d3-dsv": "1"
+ }
+ },
+ "d3-force": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/d3-force/-/d3-force-1.2.1.tgz",
+ "integrity": "sha512-HHvehyaiUlVo5CxBJ0yF/xny4xoaxFxDnBXNvNcfW9adORGZfyNF1dj6DGLKyk4Yh3brP/1h3rnDzdIAwL08zg==",
+ "requires": {
+ "d3-collection": "1",
+ "d3-dispatch": "1",
+ "d3-quadtree": "1",
+ "d3-timer": "1"
+ }
+ },
+ "d3-format": {
+ "version": "1.4.5",
+ "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-1.4.5.tgz",
+ "integrity": "sha512-J0piedu6Z8iB6TbIGfZgDzfXxUFN3qQRMofy2oPdXzQibYGqPB/9iMcxr/TGalU+2RsyDO+U4f33id8tbnSRMQ=="
+ },
+ "d3-geo": {
+ "version": "1.12.1",
+ "resolved": "https://registry.npmjs.org/d3-geo/-/d3-geo-1.12.1.tgz",
+ "integrity": "sha512-XG4d1c/UJSEX9NfU02KwBL6BYPj8YKHxgBEw5om2ZnTRSbIcego6dhHwcxuSR3clxh0EpE38os1DVPOmnYtTPg==",
+ "requires": {
+ "d3-array": "1"
+ }
+ },
+ "d3-hierarchy": {
+ "version": "1.1.9",
+ "resolved": "https://registry.npmjs.org/d3-hierarchy/-/d3-hierarchy-1.1.9.tgz",
+ "integrity": "sha512-j8tPxlqh1srJHAtxfvOUwKNYJkQuBFdM1+JAUfq6xqH5eAqf93L7oG1NVqDa4CpFZNvnNKtCYEUC8KY9yEn9lQ=="
+ },
+ "d3-interpolate": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-1.4.0.tgz",
+ "integrity": "sha512-V9znK0zc3jOPV4VD2zZn0sDhZU3WAE2bmlxdIwwQPPzPjvyLkd8B3JUVdS1IDUFDkWZ72c9qnv1GK2ZagTZ8EA==",
+ "requires": {
+ "d3-color": "1"
+ }
+ },
+ "d3-path": {
+ "version": "1.0.9",
+ "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-1.0.9.tgz",
+ "integrity": "sha512-VLaYcn81dtHVTjEHd8B+pbe9yHWpXKZUC87PzoFmsFrJqgFwDe/qxfp5MlfsfM1V5E/iVt0MmEbWQ7FVIXh/bg=="
+ },
+ "d3-polygon": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/d3-polygon/-/d3-polygon-1.0.6.tgz",
+ "integrity": "sha512-k+RF7WvI08PC8reEoXa/w2nSg5AUMTi+peBD9cmFc+0ixHfbs4QmxxkarVal1IkVkgxVuk9JSHhJURHiyHKAuQ=="
+ },
+ "d3-quadtree": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/d3-quadtree/-/d3-quadtree-1.0.7.tgz",
+ "integrity": "sha512-RKPAeXnkC59IDGD0Wu5mANy0Q2V28L+fNe65pOCXVdVuTJS3WPKaJlFHer32Rbh9gIo9qMuJXio8ra4+YmIymA=="
+ },
+ "d3-random": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/d3-random/-/d3-random-1.1.2.tgz",
+ "integrity": "sha512-6AK5BNpIFqP+cx/sreKzNjWbwZQCSUatxq+pPRmFIQaWuoD+NrbVWw7YWpHiXpCQ/NanKdtGDuB+VQcZDaEmYQ=="
+ },
+ "d3-scale": {
+ "version": "2.2.2",
+ "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-2.2.2.tgz",
+ "integrity": "sha512-LbeEvGgIb8UMcAa0EATLNX0lelKWGYDQiPdHj+gLblGVhGLyNbaCn3EvrJf0A3Y/uOOU5aD6MTh5ZFCdEwGiCw==",
+ "requires": {
+ "d3-array": "^1.2.0",
+ "d3-collection": "1",
+ "d3-format": "1",
+ "d3-interpolate": "1",
+ "d3-time": "1",
+ "d3-time-format": "2"
+ }
+ },
+ "d3-scale-chromatic": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/d3-scale-chromatic/-/d3-scale-chromatic-1.5.0.tgz",
+ "integrity": "sha512-ACcL46DYImpRFMBcpk9HhtIyC7bTBR4fNOPxwVSl0LfulDAwyiHyPOTqcDG1+t5d4P9W7t/2NAuWu59aKko/cg==",
+ "requires": {
+ "d3-color": "1",
+ "d3-interpolate": "1"
+ }
+ },
+ "d3-selection": {
+ "version": "1.4.2",
+ "resolved": "https://registry.npmjs.org/d3-selection/-/d3-selection-1.4.2.tgz",
+ "integrity": "sha512-SJ0BqYihzOjDnnlfyeHT0e30k0K1+5sR3d5fNueCNeuhZTnGw4M4o8mqJchSwgKMXCNFo+e2VTChiSJ0vYtXkg=="
+ },
+ "d3-shape": {
+ "version": "1.3.7",
+ "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-1.3.7.tgz",
+ "integrity": "sha512-EUkvKjqPFUAZyOlhY5gzCxCeI0Aep04LwIRpsZ/mLFelJiUfnK56jo5JMDSE7yyP2kLSb6LtF+S5chMk7uqPqw==",
+ "requires": {
+ "d3-path": "1"
+ }
+ },
+ "d3-time": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-1.1.0.tgz",
+ "integrity": "sha512-Xh0isrZ5rPYYdqhAVk8VLnMEidhz5aP7htAADH6MfzgmmicPkTo8LhkLxci61/lCB7n7UmE3bN0leRt+qvkLxA=="
+ },
+ "d3-time-format": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-2.3.0.tgz",
+ "integrity": "sha512-guv6b2H37s2Uq/GefleCDtbe0XZAuy7Wa49VGkPVPMfLL9qObgBST3lEHJBMUp8S7NdLQAGIvr2KXk8Hc98iKQ==",
+ "requires": {
+ "d3-time": "1"
+ }
+ },
+ "d3-timer": {
+ "version": "1.0.10",
+ "resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-1.0.10.tgz",
+ "integrity": "sha512-B1JDm0XDaQC+uvo4DT79H0XmBskgS3l6Ve+1SBCfxgmtIb1AVrPIoqd+nPSv+loMX8szQ0sVUhGngL7D5QPiXw=="
+ },
+ "d3-transition": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/d3-transition/-/d3-transition-1.3.2.tgz",
+ "integrity": "sha512-sc0gRU4PFqZ47lPVHloMn9tlPcv8jxgOQg+0zjhfZXMQuvppjG6YuwdMBE0TuqCZjeJkLecku/l9R0JPcRhaDA==",
+ "requires": {
+ "d3-color": "1",
+ "d3-dispatch": "1",
+ "d3-ease": "1",
+ "d3-interpolate": "1",
+ "d3-selection": "^1.1.0",
+ "d3-timer": "1"
+ }
+ },
+ "d3-zoom": {
+ "version": "1.8.3",
+ "resolved": "https://registry.npmjs.org/d3-zoom/-/d3-zoom-1.8.3.tgz",
+ "integrity": "sha512-VoLXTK4wvy1a0JpH2Il+F2CiOhVu7VRXWF5M/LroMIh3/zBAC3WAt7QoIvPibOavVo20hN6/37vwAsdBejLyKQ==",
+ "requires": {
+ "d3-dispatch": "1",
+ "d3-drag": "1",
+ "d3-interpolate": "1",
+ "d3-selection": "1",
+ "d3-transition": "1"
+ }
+ }
}
},
"debug": {
@@ -4394,6 +4672,14 @@
"slash": "^3.0.0"
}
},
+ "delaunator": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/delaunator/-/delaunator-5.0.0.tgz",
+ "integrity": "sha512-AyLvtyJdbv/U1GkiS6gUUzclRoAY4Gs75qkMygJJhU75LW4DNuSF2RMzpxs9jw9Oz1BobHjTdkG3zdP55VxAqw==",
+ "requires": {
+ "robust-predicates": "^3.0.0"
+ }
+ },
"depd": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
@@ -4532,9 +4818,9 @@
}
},
"dompurify": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-2.3.1.tgz",
- "integrity": "sha512-xGWt+NHAQS+4tpgbOAI08yxW0Pr256Gu/FNE2frZVTbgrBUn8M7tz7/ktS/LZ2MHeGqz6topj0/xY+y8R5FBFw=="
+ "version": "2.3.4",
+ "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-2.3.4.tgz",
+ "integrity": "sha512-6BVcgOAVFXjI0JTjEvZy901Rghm+7fDQOrNIcxB4+gdhj6Kwp6T9VBhBY/AbagKHJocRkDYGd6wvI+p4/10xtQ=="
},
"domutils": {
"version": "1.5.1",
@@ -6283,6 +6569,11 @@
"side-channel": "^1.0.4"
}
},
+ "internmap": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/internmap/-/internmap-2.0.3.tgz",
+ "integrity": "sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg=="
+ },
"interpret": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz",
@@ -7077,15 +7368,15 @@
"integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg=="
},
"mermaid": {
- "version": "8.12.1",
- "resolved": "https://registry.npmjs.org/mermaid/-/mermaid-8.12.1.tgz",
- "integrity": "sha512-0UCcSF0FLoNcPBsRF4f9OIV32t41fV18//z8o3S+FDz2PbDA1CRGKdQF9IX84VP4Tv9kcgJI/oqJdcBEtB/GPA==",
+ "version": "8.13.8",
+ "resolved": "https://registry.npmjs.org/mermaid/-/mermaid-8.13.8.tgz",
+ "integrity": "sha512-Z5v31rvo8P7BPTiGicdJl9BbzyUe9s5sXILK8sM1g7ijkagpfFjPtXZVsq5P1WlN8m/fUp2PPNXVF9SqeTM91w==",
"requires": {
"@braintree/sanitize-url": "^3.1.0",
- "d3": "^5.16.0",
+ "d3": "^7.0.0",
"dagre": "^0.8.5",
"dagre-d3": "^0.6.4",
- "dompurify": "2.3.1",
+ "dompurify": "2.3.4",
"graphlib": "^2.1.8",
"khroma": "^1.4.1",
"moment-mini": "^2.24.0",
@@ -9336,6 +9627,11 @@
"glob": "^7.1.3"
}
},
+ "robust-predicates": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/robust-predicates/-/robust-predicates-3.0.1.tgz",
+ "integrity": "sha512-ndEIpszUHiG4HtDsQLeIuMvRsDnn8c8rYStabochtUeCvfuvNptb5TUbVD68LRAILPX7p9nqQGh4xJgn3EHS/g=="
+ },
"rtl-detect": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/rtl-detect/-/rtl-detect-1.0.4.tgz",
@@ -10271,9 +10567,9 @@
}
},
"stylis": {
- "version": "4.0.10",
- "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.0.10.tgz",
- "integrity": "sha512-m3k+dk7QeJw660eIKRRn3xPF6uuvHs/FFzjX3HQ5ove0qYsiygoAhwn5a3IYKaZPo5LrYD0rfVmtv1gNY1uYwg=="
+ "version": "4.0.13",
+ "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.0.13.tgz",
+ "integrity": "sha512-xGPXiFVl4YED9Jh7Euv2V220mriG9u4B2TA6Ybjc1catrstKD2PpIdU3U0RKpkVBC2EhmL/F0sPCr9vrFTNRag=="
},
"supports-color": {
"version": "7.2.0",
diff --git a/web/package.json b/web/package.json
index d9edabcc3d8..db9df1ca3de 100644
--- a/web/package.json
+++ b/web/package.json
@@ -18,7 +18,7 @@
"@docusaurus/preset-classic": "^2.0.0-beta.6",
"@kiwicopple/prism-react-renderer": "github:kiwicopple/prism-react-renderer",
"jsrsasign": "^10.4.1",
- "mermaid": "^8.6.4",
+ "mermaid": "^8.13.8",
"react": "^17.0.2",
"react-dom": "^17.0.2",
"react-inlinesvg": "^2.0.1"
From a831f8242b7e86d7c2d3822363af91faa25055ee Mon Sep 17 00:00:00 2001
From: phamhieu
Date: Fri, 7 Jan 2022 11:07:15 +0700
Subject: [PATCH 15/46] fix: checkRedirectTo compare pathname value instead of
asPath to ignore url params
---
studio/hooks/misc/withAuth.tsx | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/studio/hooks/misc/withAuth.tsx b/studio/hooks/misc/withAuth.tsx
index 89b0ff9712a..a0571bc07ad 100644
--- a/studio/hooks/misc/withAuth.tsx
+++ b/studio/hooks/misc/withAuth.tsx
@@ -83,7 +83,7 @@ function checkRedirectTo(
redirectIfFound?: boolean
) {
if (loading) return false
- if (router.asPath == redirectTo) return false
+ if (router.pathname == redirectTo) return false
// If redirectTo is set, redirect if the user was not found.
if (redirectTo && !redirectIfFound && !profile) return true
From abbb1434579c8273a8ca36692f1aba6a2c7d8bda Mon Sep 17 00:00:00 2001
From: phamhieu
Date: Fri, 7 Jan 2022 12:54:59 +0700
Subject: [PATCH 16/46] feat: support redirect from 3rd party services on login
---
studio/pages/index.tsx | 52 ++++++++++++++++++++++++++++++++++++++----
1 file changed, 48 insertions(+), 4 deletions(-)
diff --git a/studio/pages/index.tsx b/studio/pages/index.tsx
index 2611ff1f69b..6237b237992 100644
--- a/studio/pages/index.tsx
+++ b/studio/pages/index.tsx
@@ -1,19 +1,21 @@
import { NextPage } from 'next'
-import { useState } from 'react'
+import { useEffect, useState } from 'react'
import { observer } from 'mobx-react-lite'
-import { useRouter } from 'next/router'
+import { NextRouter, useRouter } from 'next/router'
import { isUndefined } from 'lodash'
import { Typography } from '@supabase/ui'
import { Project } from 'types'
import { useProfile, useStore, withAuth } from 'hooks'
import { post, delete_ } from 'lib/common/fetch'
-import { API_URL, IS_PLATFORM, PROJECT_STATUS, STRIPE_PRODUCT_IDS } from 'lib/constants'
+import { API_URL, IS_PLATFORM, PROJECT_STATUS } from 'lib/constants'
import { AccountLayout } from 'components/layouts'
+import { auth } from 'lib/gotrue'
import Landing from 'components/interfaces/Home/Landing'
import ProjectList from 'components/interfaces/Home/ProjectList'
import OrganizationDropdown from 'components/to-be-cleaned/Dropdown/OrganizationDropdown'
import TextConfirmModal from 'components/to-be-cleaned/ModalsDeprecated/TextConfirmModal'
+import Connecting from 'components/ui/Loading'
const Home: NextPage = () => {
const { app, ui } = useStore()
@@ -26,7 +28,23 @@ const Home: NextPage = () => {
const [selectedProjectToDelete, setSelectedProjectToDelete] = useState()
if (!profile) {
- return
+ return
+ } else {
+ const isRedirect = isRedirectFromThirdPartyService(router)
+ if (isRedirect) {
+ const queryParams = (router.query as any) || {}
+ const params = new URLSearchParams(queryParams)
+ if (router.query?.next?.includes('https://vercel.com')) {
+ router.push(`/vercel/integrate?${params.toString()}`)
+ }
+ if (router.query?.next?.includes('https://database.new')) {
+ router.push('/new/project')
+ }
+ if (router.query['x-amzn-marketplace-token'] != undefined) {
+ router.push(`/account/associate?${params.toString()}`)
+ }
+ return
+ }
}
const onSelectDeleteProject = async (project: Project) => {
@@ -103,3 +121,29 @@ const Home: NextPage = () => {
)
}
export default withAuth(observer(Home))
+
+// detect for redirect from 3rd party service like vercel, aws...
+function isRedirectFromThirdPartyService(router: NextRouter) {
+ return router.query.next != undefined || router.query['x-amzn-marketplace-token'] != undefined
+}
+
+const UnauthorizedLanding = () => {
+ const router = useRouter()
+ const autoLogin = isRedirectFromThirdPartyService(router)
+
+ useEffect(() => {
+ if (autoLogin) {
+ const queryParams = (router.query as any) || {}
+ const params = new URLSearchParams(queryParams)
+ // trigger github signIn
+ auth.signIn(
+ { provider: 'github' },
+ {
+ redirectTo: `${process.env.NEXT_PUBLIC_SITE_URL}?${params.toString()}`,
+ }
+ )
+ }
+ }, [])
+
+ return autoLogin ? :
+}
From d2ac16183a66023fb3811ee89258ac9f98bb05d5 Mon Sep 17 00:00:00 2001
From: phamhieu
Date: Fri, 7 Jan 2022 12:57:50 +0700
Subject: [PATCH 17/46] chore: replace special char
---
studio/pages/vercel/integrate.tsx | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/studio/pages/vercel/integrate.tsx b/studio/pages/vercel/integrate.tsx
index 89c244c140b..4859b8d02df 100644
--- a/studio/pages/vercel/integrate.tsx
+++ b/studio/pages/vercel/integrate.tsx
@@ -226,7 +226,7 @@ const Connecting = () => (
const ProjectLinksEmptyState = () => (
- You haven’t created a Supabase project yet. Get started by creating a new Supabase project,
+ You haven't created a Supabase project yet. Get started by creating a new Supabase project,
then close this window and retry adding integration.
From 4e6bdb05582102587e81a9ada5b75b7527e7198a Mon Sep 17 00:00:00 2001
From: phamhieu
Date: Fri, 7 Jan 2022 13:03:59 +0700
Subject: [PATCH 18/46] fix: vercel integrate api header to prevent conflict
with gotrue Authorization
---
.../components/to-be-cleaned/Integration/Vercel.utils.ts | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/studio/components/to-be-cleaned/Integration/Vercel.utils.ts b/studio/components/to-be-cleaned/Integration/Vercel.utils.ts
index 382e8b13176..ede2f67413b 100644
--- a/studio/components/to-be-cleaned/Integration/Vercel.utils.ts
+++ b/studio/components/to-be-cleaned/Integration/Vercel.utils.ts
@@ -16,7 +16,7 @@ export async function fetchVercelProjects({
url = `${url}?${query}`
}
const response = await get(url, {
- headers: { Authorization: `Bearer ${vercelToken}` },
+ headers: { vercel_authorization: `Bearer ${vercelToken}` },
})
if (response.error != null) {
return { error: `Retrieve vercel projects failed. ${response.error?.message}` }
@@ -48,7 +48,7 @@ export async function fetchVercelProject({
url = `${url}?${query}`
}
const data = await get(url, {
- headers: { Authorization: `Bearer ${vercelToken}` },
+ headers: { vercel_authorization: `Bearer ${vercelToken}` },
})
if (data.error != null) {
return { error: `Retrieve vercel project failed. ${data.error.message}` }
@@ -74,7 +74,7 @@ export async function fetchVercelProjectEnvs({
url = `${url}?${query}`
}
const response = await get(url, {
- headers: { Authorization: `Bearer ${vercelToken}` },
+ headers: { vercel_authorization: `Bearer ${vercelToken}` },
})
if (response.error != null) {
return { error: `Retrieve vercel project envs failed. ${response.error?.message}` }
@@ -114,7 +114,7 @@ export async function createVercelEnv({
url,
{ key, value, type, target },
{
- headers: { Authorization: `Bearer ${vercelToken}` },
+ headers: { vercel_authorization: `Bearer ${vercelToken}` },
}
)
}
From bb1beffe72e4c22ac90fed963f243f34bb1f69d9 Mon Sep 17 00:00:00 2001
From: Kang Ming
Date: Fri, 7 Jan 2022 13:14:20 +0800
Subject: [PATCH 19/46] fix: sms autoconfirm toggle issue
---
studio/pages/project/[ref]/auth/settings.tsx | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/studio/pages/project/[ref]/auth/settings.tsx b/studio/pages/project/[ref]/auth/settings.tsx
index 980b24fa4a0..86e904ba4e8 100644
--- a/studio/pages/project/[ref]/auth/settings.tsx
+++ b/studio/pages/project/[ref]/auth/settings.tsx
@@ -335,10 +335,10 @@ const Settings = () => {
{
- handleToggle('SMS_AUTOCONFIRM')
+ onChange={(value) => {
+ handleToggle('SMS_AUTOCONFIRM', !value)
}}
- checked={model.SMS_AUTOCONFIRM}
+ checked={!model.SMS_AUTOCONFIRM}
descriptionText={authConfig.properties.SMS_AUTOCONFIRM.help}
/>
>
From 9777ddea2e1d4ac9f35004a7ab83f4868cd92cd5 Mon Sep 17 00:00:00 2001
From: Kang Ming
Date: Fri, 7 Jan 2022 15:28:17 +0800
Subject: [PATCH 20/46] chore: add comments to explain sms_autoconfirm &
mailer_autoconfirm
---
studio/pages/project/[ref]/auth/settings.tsx | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/studio/pages/project/[ref]/auth/settings.tsx b/studio/pages/project/[ref]/auth/settings.tsx
index 86e904ba4e8..292e6583fa5 100644
--- a/studio/pages/project/[ref]/auth/settings.tsx
+++ b/studio/pages/project/[ref]/auth/settings.tsx
@@ -198,6 +198,8 @@ const Settings = () => {
className="mb-4"
label={authConfig.properties.MAILER_AUTOCONFIRM.title}
onChange={(value) => {
+ // If MAILER_AUTOCONFIRM is set to true, it means we are disabling email confirmations.
+ // "Enable email confirmations" should be toggled off.
handleToggle('MAILER_AUTOCONFIRM', !value)
}}
checked={!model.MAILER_AUTOCONFIRM}
@@ -336,8 +338,11 @@ const Settings = () => {
layout="horizontal"
label={authConfig.properties.SMS_AUTOCONFIRM.title}
onChange={(value) => {
+ // If SMS_AUTOCONFIRM is set to true, it means we are disabling phone confirmations.
+ // "Enable phone confirmations" should be toggled off.
handleToggle('SMS_AUTOCONFIRM', !value)
}}
+ //
checked={!model.SMS_AUTOCONFIRM}
descriptionText={authConfig.properties.SMS_AUTOCONFIRM.help}
/>
From d3b423995d2e30849bc3258445f9dd5f15ee80a4 Mon Sep 17 00:00:00 2001
From: Copple <10214025+kiwicopple@users.noreply.github.com>
Date: Fri, 7 Jan 2022 09:43:57 +0100
Subject: [PATCH 21/46] Adds a link
---
about/docs/careers/snippets/roles.mdx | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/about/docs/careers/snippets/roles.mdx b/about/docs/careers/snippets/roles.mdx
index 6c9b939a2af..71aa9919aab 100644
--- a/about/docs/careers/snippets/roles.mdx
+++ b/about/docs/careers/snippets/roles.mdx
@@ -60,4 +60,11 @@
Full-stack Engineers
Build our Dashboard, tools, and tests.
+
+
+
+
+
Technical recruiter
+
Take the lead on our technical recruitment.
+
\ No newline at end of file
From 6011cf482e4d30b3f95f89521eaa745344b98693 Mon Sep 17 00:00:00 2001
From: Copple <10214025+kiwicopple@users.noreply.github.com>
Date: Fri, 7 Jan 2022 10:28:39 +0100
Subject: [PATCH 22/46] Fix link
---
about/docs/careers/snippets/roles.mdx | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/about/docs/careers/snippets/roles.mdx b/about/docs/careers/snippets/roles.mdx
index da9fa45d7df..b0f099caae9 100644
--- a/about/docs/careers/snippets/roles.mdx
+++ b/about/docs/careers/snippets/roles.mdx
@@ -69,7 +69,7 @@
-
+
Technical recruiter
Take the lead on our technical recruitment.
From 075f8d2821bbeeeafd734b6290be0b1005e8f563 Mon Sep 17 00:00:00 2001
From: Copple <10214025+kiwicopple@users.noreply.github.com>
Date: Fri, 7 Jan 2022 10:30:23 +0100
Subject: [PATCH 23/46] fix some spelling errors
---
about/docs/careers/technical-recruiter.mdx | 17 +++++++++--------
1 file changed, 9 insertions(+), 8 deletions(-)
diff --git a/about/docs/careers/technical-recruiter.mdx b/about/docs/careers/technical-recruiter.mdx
index a6ed006e447..d246e16ef08 100644
--- a/about/docs/careers/technical-recruiter.mdx
+++ b/about/docs/careers/technical-recruiter.mdx
@@ -1,7 +1,7 @@
---
id: careers-technical-recruiter
slug: technical-recruiter
-title: Technical Recruiter.
+title: Technical Recruiter
description: Supabase is hiring Technical Recruiters
---
@@ -13,7 +13,13 @@ import Process from '@site/docs/careers/snippets/process.mdx'
## About the role
-#### Candidate** **Must Haves / key skills / personality traits:
+#### Key Responsibilities:
+
+- Be accountable for implementing inclusive recruiting practices and finding ways to engage more under-represented talent for technical roles
+- Ability to understand and communicate the business' current technical challenges to entice candidates who are driven by solving interesting problems
+- Accountable to starting a candidate search project from scratch through requirement gathering, job posting, sourcing, networking, previous applicants follow-ups etc
+
+#### Requirements:
- Minimum 2+ years technical recruiting experience across the full hiring process from sourcing to the offer stage
- Technical knowledge of different coding languages/technical stacks/terminology
@@ -29,14 +35,9 @@ import Process from '@site/docs/careers/snippets/process.mdx'
- A continuous improvement mindset with an iterative approach to making things better. Whether it's your interview technique, pipeline optimization or anything else that you discover.
- Fluency with Greenhouse or other Applicant Tracking Systems, as well as various sourcing platforms (e.g., LinkedIn, Github, Work at a Startup, etc)
-- You’re Comfortable coordinating all candidate touch points
+- You're Comfortable coordinating all candidate touch points
- You can plan out batch days & other projects to drive excellence for our candidate experience and quality of interviews
-#### Key Responsibilities:
-
-- Be accountable for implementing inclusive recruiting practices and finding ways to engage more under-represented talent for technical roles
-- Ability to understand and communicate the business' current technical challenges to entice candidates who are driven by solving interesting problems
-- Accountable to starting a candidate search project from scratch through requirement gathering, job posting, sourcing, networking, previous applicants follow-ups etc
## About Supabase
From 20ead91c8045436047b3aa1ed47c8c1768d0a907 Mon Sep 17 00:00:00 2001
From: Shubham Kumar
Date: Fri, 7 Jan 2022 15:27:18 +0530
Subject: [PATCH 24/46] docs: add build in public section
---
DEVELOPERS.md | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/DEVELOPERS.md b/DEVELOPERS.md
index 5cc22df6597..ece23707bc4 100644
--- a/DEVELOPERS.md
+++ b/DEVELOPERS.md
@@ -4,6 +4,7 @@
* [Installing Dependencies](#Installing-Dependencies)
* [Building Supabase](#Building-Supabase)
* [Start a Development Server](#Start-a-Development-Server)
+* [Build in Public](#Build-in-Public)
## Development Setup
@@ -148,3 +149,9 @@ To debug code, and to see changes in real time, it is often useful to have a loc
```
For more information on Supabase Studio, see the [Supabase Studio readme](./studio/README.md).
+
+## Build in Public
+
+Videos of building supabase made in public.
+
+- [Contributing to open source as a beginner - Supabase](https://youtu.be/OAqhsylUuWg) - [@imskr](https://github.com/imskr)
From 3ec26b01f04defaeb0b8d3eb6658a715ba7b11b4 Mon Sep 17 00:00:00 2001
From: Copple <10214025+kiwicopple@users.noreply.github.com>
Date: Fri, 7 Jan 2022 12:30:45 +0100
Subject: [PATCH 25/46] Adds a success role
---
about/docs/careers/developer-success.mdx | 61 ++++++++++++++++++++++++
about/docs/careers/snippets/roles.mdx | 7 +++
2 files changed, 68 insertions(+)
create mode 100644 about/docs/careers/developer-success.mdx
diff --git a/about/docs/careers/developer-success.mdx b/about/docs/careers/developer-success.mdx
new file mode 100644
index 00000000000..80a9b8aa028
--- /dev/null
+++ b/about/docs/careers/developer-success.mdx
@@ -0,0 +1,61 @@
+---
+id: careers-developer-success
+slug: developer-success
+title: Developer Success Engineer
+description: Supabase is hiring Developer Success Engineers
+---
+
+import Roles from '@site/docs/careers/snippets/roles.mdx'
+import About from '@site/docs/careers/snippets/about.mdx'
+import Team from '@site/docs/careers/snippets/team.mdx'
+import Apply from '@site/docs/careers/snippets/apply.mdx'
+import Process from '@site/docs/careers/snippets/process.mdx'
+
+
+## About the role
+
+Supabase is hiring Developer Success Engineers. Help us build the easiest database platform in the world.
+
+### Responsibilities
+
+- Focused on unblocking developers, backlog of issues.
+- Priorty focus on paying customers.
+- Help paying-customers with implementation and monitoring.
+- Build internal tools for support team.
+- Produce tests and documentation to mitigate recurring support tickets.
+- Triage/clean/close issues on any of our repos.
+- Work with the community on all of our channels: GitHub, Discord, and Email.
+
+## About you
+
+- 2+ years experience in engineering or a highly technical support role.
+- You must love remote work.
+- You possess exceptional communication skills.
+- Availability to work within a weekend and on-call rota.
+
+
+## Bonus if you:
+
+- Are a Polyglot developer, with some skill in NodeJS/Javascript.
+- Have PostgreSQL experience.
+
+
+## About Supabase
+
+ {' '}
+
+## About the team
+
+ {' '}
+
+## Apply
+
+ {' '}
+
+## Process
+
+ {' '}
+
+## All roles
+
+ {' '}
diff --git a/about/docs/careers/snippets/roles.mdx b/about/docs/careers/snippets/roles.mdx
index b0f099caae9..f9ed3dc48a7 100644
--- a/about/docs/careers/snippets/roles.mdx
+++ b/about/docs/careers/snippets/roles.mdx
@@ -74,4 +74,11 @@
Technical recruiter
Take the lead on our technical recruitment.
+
+
+
+
+
Developer Success Engineer
+
Build the easiest database platform in the world.
+
\ No newline at end of file
From be14bab0467ac1128552b4481ac6a4cf94bc3aab Mon Sep 17 00:00:00 2001
From: Copple <10214025+kiwicopple@users.noreply.github.com>
Date: Fri, 7 Jan 2022 12:48:12 +0100
Subject: [PATCH 26/46] fix typo
---
about/docs/careers/developer-success.mdx | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/about/docs/careers/developer-success.mdx b/about/docs/careers/developer-success.mdx
index 80a9b8aa028..3ecde1fe2f8 100644
--- a/about/docs/careers/developer-success.mdx
+++ b/about/docs/careers/developer-success.mdx
@@ -19,7 +19,7 @@ Supabase is hiring Developer Success Engineers. Help us build the easiest databa
### Responsibilities
- Focused on unblocking developers, backlog of issues.
-- Priorty focus on paying customers.
+- Priority focus on paying customers.
- Help paying-customers with implementation and monitoring.
- Build internal tools for support team.
- Produce tests and documentation to mitigate recurring support tickets.
From 74bfb16e377dc24039e387a12e534a9c5a5b96e5 Mon Sep 17 00:00:00 2001
From: Copple <10214025+kiwicopple@users.noreply.github.com>
Date: Fri, 7 Jan 2022 12:50:55 +0100
Subject: [PATCH 27/46] Update developer-success.mdx
---
about/docs/careers/developer-success.mdx | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/about/docs/careers/developer-success.mdx b/about/docs/careers/developer-success.mdx
index 3ecde1fe2f8..4c6e88a9e04 100644
--- a/about/docs/careers/developer-success.mdx
+++ b/about/docs/careers/developer-success.mdx
@@ -19,8 +19,8 @@ Supabase is hiring Developer Success Engineers. Help us build the easiest databa
### Responsibilities
- Focused on unblocking developers, backlog of issues.
-- Priority focus on paying customers.
-- Help paying-customers with implementation and monitoring.
+- Priority focus on Enterprise customers.
+- Help high-value customers with implementation and monitoring.
- Build internal tools for support team.
- Produce tests and documentation to mitigate recurring support tickets.
- Triage/clean/close issues on any of our repos.
From 031bebb616689013a72830841e9206c18b30d854 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Fri, 7 Jan 2022 12:11:55 +0000
Subject: [PATCH 28/46] chore(deps): bump mermaid from 8.8.2 to 8.13.8 in
/about
Bumps [mermaid](https://github.com/knsv/mermaid) from 8.8.2 to 8.13.8.
- [Release notes](https://github.com/knsv/mermaid/releases)
- [Changelog](https://github.com/mermaid-js/mermaid/blob/develop/docs/CHANGELOG.md)
- [Commits](https://github.com/knsv/mermaid/compare/8.8.2...8.13.8)
---
updated-dependencies:
- dependency-name: mermaid
dependency-type: direct:production
...
Signed-off-by: dependabot[bot]
---
about/package-lock.json | 780 +++++++++++++++++++++++++---------------
about/package.json | 2 +-
2 files changed, 482 insertions(+), 300 deletions(-)
diff --git a/about/package-lock.json b/about/package-lock.json
index 49dc26a3b7e..5e5ccf1974e 100644
--- a/about/package-lock.json
+++ b/about/package-lock.json
@@ -2695,19 +2695,6 @@
}
}
},
- "babel-eslint": {
- "version": "10.1.0",
- "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-10.1.0.tgz",
- "integrity": "sha512-ifWaTHQ0ce+448CYop8AdrQiBsGrnC+bMgfyKFdi6EsPLTAWG+QfyDeM6OH+FmWnKvEq5NnBMLvlBUPKQZoDSg==",
- "requires": {
- "@babel/code-frame": "^7.0.0",
- "@babel/parser": "^7.7.0",
- "@babel/traverse": "^7.7.0",
- "@babel/types": "^7.7.0",
- "eslint-visitor-keys": "^1.0.0",
- "resolve": "^1.12.0"
- }
- },
"babel-loader": {
"version": "8.1.0",
"resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.1.0.tgz",
@@ -4148,11 +4135,6 @@
"resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz",
"integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA=="
},
- "css-b64-images": {
- "version": "0.2.5",
- "resolved": "https://registry.npmjs.org/css-b64-images/-/css-b64-images-0.2.5.tgz",
- "integrity": "sha1-QgBdgyBLK0pdk7axpWRBM7WSegI="
- },
"css-blank-pseudo": {
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-0.1.4.tgz",
@@ -4562,72 +4544,73 @@
"integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk="
},
"d3": {
- "version": "5.16.0",
- "resolved": "https://registry.npmjs.org/d3/-/d3-5.16.0.tgz",
- "integrity": "sha512-4PL5hHaHwX4m7Zr1UapXW23apo6pexCgdetdJ5kTmADpG/7T9Gkxw0M0tf/pjoB63ezCCm0u5UaFYy2aMt0Mcw==",
+ "version": "7.2.1",
+ "resolved": "https://registry.npmjs.org/d3/-/d3-7.2.1.tgz",
+ "integrity": "sha512-E/5sP0aeK6YPXI/+4QlefvBFgmcyR2jYftId0PrYWv4Y/gW3c3thp1XG4rQzF0eUwV9tR1x05X5eWuJ6rQXvew==",
"requires": {
- "d3-array": "1",
- "d3-axis": "1",
- "d3-brush": "1",
- "d3-chord": "1",
- "d3-collection": "1",
- "d3-color": "1",
- "d3-contour": "1",
- "d3-dispatch": "1",
- "d3-drag": "1",
- "d3-dsv": "1",
- "d3-ease": "1",
- "d3-fetch": "1",
- "d3-force": "1",
- "d3-format": "1",
- "d3-geo": "1",
- "d3-hierarchy": "1",
- "d3-interpolate": "1",
- "d3-path": "1",
- "d3-polygon": "1",
- "d3-quadtree": "1",
- "d3-random": "1",
- "d3-scale": "2",
- "d3-scale-chromatic": "1",
- "d3-selection": "1",
- "d3-shape": "1",
- "d3-time": "1",
- "d3-time-format": "2",
- "d3-timer": "1",
- "d3-transition": "1",
- "d3-voronoi": "1",
- "d3-zoom": "1"
+ "d3-array": "3",
+ "d3-axis": "3",
+ "d3-brush": "3",
+ "d3-chord": "3",
+ "d3-color": "3",
+ "d3-contour": "3",
+ "d3-delaunay": "6",
+ "d3-dispatch": "3",
+ "d3-drag": "3",
+ "d3-dsv": "3",
+ "d3-ease": "3",
+ "d3-fetch": "3",
+ "d3-force": "3",
+ "d3-format": "3",
+ "d3-geo": "3",
+ "d3-hierarchy": "3",
+ "d3-interpolate": "3",
+ "d3-path": "3",
+ "d3-polygon": "3",
+ "d3-quadtree": "3",
+ "d3-random": "3",
+ "d3-scale": "4",
+ "d3-scale-chromatic": "3",
+ "d3-selection": "3",
+ "d3-shape": "3",
+ "d3-time": "3",
+ "d3-time-format": "4",
+ "d3-timer": "3",
+ "d3-transition": "3",
+ "d3-zoom": "3"
}
},
"d3-array": {
- "version": "1.2.4",
- "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-1.2.4.tgz",
- "integrity": "sha512-KHW6M86R+FUPYGb3R5XiYjXPq7VzwxZ22buHhAEVG5ztoEcZZMLov530mmccaqA1GghZArjQV46fuc8kUqhhHw=="
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-3.1.1.tgz",
+ "integrity": "sha512-33qQ+ZoZlli19IFiQx4QEpf2CBEayMRzhlisJHSCsSUbDXv6ZishqS1x7uFVClKG4Wr7rZVHvaAttoLow6GqdQ==",
+ "requires": {
+ "internmap": "1 - 2"
+ }
},
"d3-axis": {
- "version": "1.0.12",
- "resolved": "https://registry.npmjs.org/d3-axis/-/d3-axis-1.0.12.tgz",
- "integrity": "sha512-ejINPfPSNdGFKEOAtnBtdkpr24c4d4jsei6Lg98mxf424ivoDP2956/5HDpIAtmHo85lqT4pruy+zEgvRUBqaQ=="
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/d3-axis/-/d3-axis-3.0.0.tgz",
+ "integrity": "sha512-IH5tgjV4jE/GhHkRV0HiVYPDtvfjHQlQfJHs0usq7M30XcSBvOotpmH1IgkcXsO/5gEQZD43B//fc7SRT5S+xw=="
},
"d3-brush": {
- "version": "1.1.6",
- "resolved": "https://registry.npmjs.org/d3-brush/-/d3-brush-1.1.6.tgz",
- "integrity": "sha512-7RW+w7HfMCPyZLifTz/UnJmI5kdkXtpCbombUSs8xniAyo0vIbrDzDwUJB6eJOgl9u5DQOt2TQlYumxzD1SvYA==",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/d3-brush/-/d3-brush-3.0.0.tgz",
+ "integrity": "sha512-ALnjWlVYkXsVIGlOsuWH1+3udkYFI48Ljihfnh8FZPF2QS9o+PzGLBslO0PjzVoHLZ2KCVgAM8NVkXPJB2aNnQ==",
"requires": {
- "d3-dispatch": "1",
- "d3-drag": "1",
- "d3-interpolate": "1",
- "d3-selection": "1",
- "d3-transition": "1"
+ "d3-dispatch": "1 - 3",
+ "d3-drag": "2 - 3",
+ "d3-interpolate": "1 - 3",
+ "d3-selection": "3",
+ "d3-transition": "3"
}
},
"d3-chord": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/d3-chord/-/d3-chord-1.0.6.tgz",
- "integrity": "sha512-JXA2Dro1Fxw9rJe33Uv+Ckr5IrAa74TlfDEhE/jfLOaXegMQFQTAgAw9WnZL8+HxVBRXaRGCkrNU7pJeylRIuA==",
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/d3-chord/-/d3-chord-3.0.1.tgz",
+ "integrity": "sha512-VE5S6TNa+j8msksl7HwjxMHDM2yNK3XCkusIlpX5kwauBfXuyLAtNg9jCp/iHH61tgI4sb6R/EIMWCqEIdjT/g==",
"requires": {
- "d3-array": "1",
- "d3-path": "1"
+ "d3-path": "1 - 3"
}
},
"d3-collection": {
@@ -4636,183 +4619,199 @@
"integrity": "sha512-ii0/r5f4sjKNTfh84Di+DpztYwqKhEyUlKoPrzUFfeSkWxjW49xU2QzO9qrPrNkpdI0XJkfzvmTu8V2Zylln6A=="
},
"d3-color": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-1.4.1.tgz",
- "integrity": "sha512-p2sTHSLCJI2QKunbGb7ocOh7DgTAn8IrLx21QRc/BSnodXM4sv6aLQlnfpvehFMLZEfBc6g9pH9SWQccFYfJ9Q=="
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-3.0.1.tgz",
+ "integrity": "sha512-6/SlHkDOBLyQSJ1j1Ghs82OIUXpKWlR0hCsw0XrLSQhuUPuCSmLQ1QPH98vpnQxMUQM2/gfAkUEWsupVpd9JGw=="
},
"d3-contour": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/d3-contour/-/d3-contour-1.3.2.tgz",
- "integrity": "sha512-hoPp4K/rJCu0ladiH6zmJUEz6+u3lgR+GSm/QdM2BBvDraU39Vr7YdDCicJcxP1z8i9B/2dJLgDC1NcvlF8WCg==",
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/d3-contour/-/d3-contour-3.0.1.tgz",
+ "integrity": "sha512-0Oc4D0KyhwhM7ZL0RMnfGycLN7hxHB8CMmwZ3+H26PWAG0ozNuYG5hXSDNgmP1SgJkQMrlG6cP20HoaSbvcJTQ==",
"requires": {
- "d3-array": "^1.1.1"
+ "d3-array": "2 - 3"
+ }
+ },
+ "d3-delaunay": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/d3-delaunay/-/d3-delaunay-6.0.2.tgz",
+ "integrity": "sha512-IMLNldruDQScrcfT+MWnazhHbDJhcRJyOEBAJfwQnHle1RPh6WDuLvxNArUju2VSMSUuKlY5BGHRJ2cYyoFLQQ==",
+ "requires": {
+ "delaunator": "5"
}
},
"d3-dispatch": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-1.0.6.tgz",
- "integrity": "sha512-fVjoElzjhCEy+Hbn8KygnmMS7Or0a9sI2UzGwoB7cCtvI1XpVN9GpoYlnb3xt2YV66oXYb1fLJ8GMvP4hdU1RA=="
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-3.0.1.tgz",
+ "integrity": "sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg=="
},
"d3-drag": {
- "version": "1.2.5",
- "resolved": "https://registry.npmjs.org/d3-drag/-/d3-drag-1.2.5.tgz",
- "integrity": "sha512-rD1ohlkKQwMZYkQlYVCrSFxsWPzI97+W+PaEIBNTMxRuxz9RF0Hi5nJWHGVJ3Om9d2fRTe1yOBINJyy/ahV95w==",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/d3-drag/-/d3-drag-3.0.0.tgz",
+ "integrity": "sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg==",
"requires": {
- "d3-dispatch": "1",
- "d3-selection": "1"
+ "d3-dispatch": "1 - 3",
+ "d3-selection": "3"
}
},
"d3-dsv": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/d3-dsv/-/d3-dsv-1.2.0.tgz",
- "integrity": "sha512-9yVlqvZcSOMhCYzniHE7EVUws7Fa1zgw+/EAV2BxJoG3ME19V6BQFBwI855XQDsxyOuG7NibqRMTtiF/Qup46g==",
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/d3-dsv/-/d3-dsv-3.0.1.tgz",
+ "integrity": "sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q==",
"requires": {
- "commander": "2",
- "iconv-lite": "0.4",
+ "commander": "7",
+ "iconv-lite": "0.6",
"rw": "1"
},
"dependencies": {
"commander": {
- "version": "2.20.3",
- "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
- "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ=="
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz",
+ "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw=="
+ },
+ "iconv-lite": {
+ "version": "0.6.3",
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
+ "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==",
+ "requires": {
+ "safer-buffer": ">= 2.1.2 < 3.0.0"
+ }
}
}
},
"d3-ease": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/d3-ease/-/d3-ease-1.0.7.tgz",
- "integrity": "sha512-lx14ZPYkhNx0s/2HX5sLFUI3mbasHjSSpwO/KaaNACweVwxUruKyWVcb293wMv1RqTPZyZ8kSZ2NogUZNcLOFQ=="
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/d3-ease/-/d3-ease-3.0.1.tgz",
+ "integrity": "sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w=="
},
"d3-fetch": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/d3-fetch/-/d3-fetch-1.2.0.tgz",
- "integrity": "sha512-yC78NBVcd2zFAyR/HnUiBS7Lf6inSCoWcSxFfw8FYL7ydiqe80SazNwoffcqOfs95XaLo7yebsmQqDKSsXUtvA==",
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/d3-fetch/-/d3-fetch-3.0.1.tgz",
+ "integrity": "sha512-kpkQIM20n3oLVBKGg6oHrUchHM3xODkTzjMoj7aWQFq5QEM+R6E4WkzT5+tojDY7yjez8KgCBRoj4aEr99Fdqw==",
"requires": {
- "d3-dsv": "1"
+ "d3-dsv": "1 - 3"
}
},
"d3-force": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/d3-force/-/d3-force-1.2.1.tgz",
- "integrity": "sha512-HHvehyaiUlVo5CxBJ0yF/xny4xoaxFxDnBXNvNcfW9adORGZfyNF1dj6DGLKyk4Yh3brP/1h3rnDzdIAwL08zg==",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/d3-force/-/d3-force-3.0.0.tgz",
+ "integrity": "sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg==",
"requires": {
- "d3-collection": "1",
- "d3-dispatch": "1",
- "d3-quadtree": "1",
- "d3-timer": "1"
+ "d3-dispatch": "1 - 3",
+ "d3-quadtree": "1 - 3",
+ "d3-timer": "1 - 3"
}
},
"d3-format": {
- "version": "1.4.5",
- "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-1.4.5.tgz",
- "integrity": "sha512-J0piedu6Z8iB6TbIGfZgDzfXxUFN3qQRMofy2oPdXzQibYGqPB/9iMcxr/TGalU+2RsyDO+U4f33id8tbnSRMQ=="
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-3.1.0.tgz",
+ "integrity": "sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA=="
},
"d3-geo": {
- "version": "1.12.1",
- "resolved": "https://registry.npmjs.org/d3-geo/-/d3-geo-1.12.1.tgz",
- "integrity": "sha512-XG4d1c/UJSEX9NfU02KwBL6BYPj8YKHxgBEw5om2ZnTRSbIcego6dhHwcxuSR3clxh0EpE38os1DVPOmnYtTPg==",
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/d3-geo/-/d3-geo-3.0.1.tgz",
+ "integrity": "sha512-Wt23xBych5tSy9IYAM1FR2rWIBFWa52B/oF/GYe5zbdHrg08FU8+BuI6X4PvTwPDdqdAdq04fuWJpELtsaEjeA==",
"requires": {
- "d3-array": "1"
+ "d3-array": "2.5.0 - 3"
}
},
"d3-hierarchy": {
- "version": "1.1.9",
- "resolved": "https://registry.npmjs.org/d3-hierarchy/-/d3-hierarchy-1.1.9.tgz",
- "integrity": "sha512-j8tPxlqh1srJHAtxfvOUwKNYJkQuBFdM1+JAUfq6xqH5eAqf93L7oG1NVqDa4CpFZNvnNKtCYEUC8KY9yEn9lQ=="
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/d3-hierarchy/-/d3-hierarchy-3.1.1.tgz",
+ "integrity": "sha512-LtAIu54UctRmhGKllleflmHalttH3zkfSi4NlKrTAoFKjC+AFBJohsCAdgCBYQwH0F8hIOGY89X1pPqAchlMkA=="
},
"d3-interpolate": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-1.4.0.tgz",
- "integrity": "sha512-V9znK0zc3jOPV4VD2zZn0sDhZU3WAE2bmlxdIwwQPPzPjvyLkd8B3JUVdS1IDUFDkWZ72c9qnv1GK2ZagTZ8EA==",
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-3.0.1.tgz",
+ "integrity": "sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==",
"requires": {
- "d3-color": "1"
+ "d3-color": "1 - 3"
}
},
"d3-path": {
- "version": "1.0.9",
- "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-1.0.9.tgz",
- "integrity": "sha512-VLaYcn81dtHVTjEHd8B+pbe9yHWpXKZUC87PzoFmsFrJqgFwDe/qxfp5MlfsfM1V5E/iVt0MmEbWQ7FVIXh/bg=="
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-3.0.1.tgz",
+ "integrity": "sha512-gq6gZom9AFZby0YLduxT1qmrp4xpBA1YZr19OI717WIdKE2OM5ETq5qrHLb301IgxhLwcuxvGZVLeeWc/k1I6w=="
},
"d3-polygon": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/d3-polygon/-/d3-polygon-1.0.6.tgz",
- "integrity": "sha512-k+RF7WvI08PC8reEoXa/w2nSg5AUMTi+peBD9cmFc+0ixHfbs4QmxxkarVal1IkVkgxVuk9JSHhJURHiyHKAuQ=="
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/d3-polygon/-/d3-polygon-3.0.1.tgz",
+ "integrity": "sha512-3vbA7vXYwfe1SYhED++fPUQlWSYTTGmFmQiany/gdbiWgU/iEyQzyymwL9SkJjFFuCS4902BSzewVGsHHmHtXg=="
},
"d3-quadtree": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/d3-quadtree/-/d3-quadtree-1.0.7.tgz",
- "integrity": "sha512-RKPAeXnkC59IDGD0Wu5mANy0Q2V28L+fNe65pOCXVdVuTJS3WPKaJlFHer32Rbh9gIo9qMuJXio8ra4+YmIymA=="
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/d3-quadtree/-/d3-quadtree-3.0.1.tgz",
+ "integrity": "sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw=="
},
"d3-random": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/d3-random/-/d3-random-1.1.2.tgz",
- "integrity": "sha512-6AK5BNpIFqP+cx/sreKzNjWbwZQCSUatxq+pPRmFIQaWuoD+NrbVWw7YWpHiXpCQ/NanKdtGDuB+VQcZDaEmYQ=="
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/d3-random/-/d3-random-3.0.1.tgz",
+ "integrity": "sha512-FXMe9GfxTxqd5D6jFsQ+DJ8BJS4E/fT5mqqdjovykEB2oFbTMDVdg1MGFxfQW+FBOGoB++k8swBrgwSHT1cUXQ=="
},
"d3-scale": {
- "version": "2.2.2",
- "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-2.2.2.tgz",
- "integrity": "sha512-LbeEvGgIb8UMcAa0EATLNX0lelKWGYDQiPdHj+gLblGVhGLyNbaCn3EvrJf0A3Y/uOOU5aD6MTh5ZFCdEwGiCw==",
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-4.0.2.tgz",
+ "integrity": "sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==",
"requires": {
- "d3-array": "^1.2.0",
- "d3-collection": "1",
- "d3-format": "1",
- "d3-interpolate": "1",
- "d3-time": "1",
- "d3-time-format": "2"
+ "d3-array": "2.10.0 - 3",
+ "d3-format": "1 - 3",
+ "d3-interpolate": "1.2.0 - 3",
+ "d3-time": "2.1.1 - 3",
+ "d3-time-format": "2 - 4"
}
},
"d3-scale-chromatic": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/d3-scale-chromatic/-/d3-scale-chromatic-1.5.0.tgz",
- "integrity": "sha512-ACcL46DYImpRFMBcpk9HhtIyC7bTBR4fNOPxwVSl0LfulDAwyiHyPOTqcDG1+t5d4P9W7t/2NAuWu59aKko/cg==",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/d3-scale-chromatic/-/d3-scale-chromatic-3.0.0.tgz",
+ "integrity": "sha512-Lx9thtxAKrO2Pq6OO2Ua474opeziKr279P/TKZsMAhYyNDD3EnCffdbgeSYN5O7m2ByQsxtuP2CSDczNUIZ22g==",
"requires": {
- "d3-color": "1",
- "d3-interpolate": "1"
+ "d3-color": "1 - 3",
+ "d3-interpolate": "1 - 3"
}
},
"d3-selection": {
- "version": "1.4.2",
- "resolved": "https://registry.npmjs.org/d3-selection/-/d3-selection-1.4.2.tgz",
- "integrity": "sha512-SJ0BqYihzOjDnnlfyeHT0e30k0K1+5sR3d5fNueCNeuhZTnGw4M4o8mqJchSwgKMXCNFo+e2VTChiSJ0vYtXkg=="
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/d3-selection/-/d3-selection-3.0.0.tgz",
+ "integrity": "sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ=="
},
"d3-shape": {
- "version": "1.3.7",
- "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-1.3.7.tgz",
- "integrity": "sha512-EUkvKjqPFUAZyOlhY5gzCxCeI0Aep04LwIRpsZ/mLFelJiUfnK56jo5JMDSE7yyP2kLSb6LtF+S5chMk7uqPqw==",
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-3.0.1.tgz",
+ "integrity": "sha512-HNZNEQoDhuCrDWEc/BMbF/hKtzMZVoe64TvisFLDp2Iyj0UShB/E6/lBsLlJTfBMbYgftHj90cXJ0SEitlE6Xw==",
"requires": {
- "d3-path": "1"
+ "d3-path": "1 - 3"
}
},
"d3-time": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-1.1.0.tgz",
- "integrity": "sha512-Xh0isrZ5rPYYdqhAVk8VLnMEidhz5aP7htAADH6MfzgmmicPkTo8LhkLxci61/lCB7n7UmE3bN0leRt+qvkLxA=="
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-3.0.0.tgz",
+ "integrity": "sha512-zmV3lRnlaLI08y9IMRXSDshQb5Nj77smnfpnd2LrBa/2K281Jijactokeak14QacHs/kKq0AQ121nidNYlarbQ==",
+ "requires": {
+ "d3-array": "2 - 3"
+ }
},
"d3-time-format": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-2.3.0.tgz",
- "integrity": "sha512-guv6b2H37s2Uq/GefleCDtbe0XZAuy7Wa49VGkPVPMfLL9qObgBST3lEHJBMUp8S7NdLQAGIvr2KXk8Hc98iKQ==",
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-4.1.0.tgz",
+ "integrity": "sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==",
"requires": {
- "d3-time": "1"
+ "d3-time": "1 - 3"
}
},
"d3-timer": {
- "version": "1.0.10",
- "resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-1.0.10.tgz",
- "integrity": "sha512-B1JDm0XDaQC+uvo4DT79H0XmBskgS3l6Ve+1SBCfxgmtIb1AVrPIoqd+nPSv+loMX8szQ0sVUhGngL7D5QPiXw=="
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-3.0.1.tgz",
+ "integrity": "sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA=="
},
"d3-transition": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/d3-transition/-/d3-transition-1.3.2.tgz",
- "integrity": "sha512-sc0gRU4PFqZ47lPVHloMn9tlPcv8jxgOQg+0zjhfZXMQuvppjG6YuwdMBE0TuqCZjeJkLecku/l9R0JPcRhaDA==",
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/d3-transition/-/d3-transition-3.0.1.tgz",
+ "integrity": "sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w==",
"requires": {
- "d3-color": "1",
- "d3-dispatch": "1",
- "d3-ease": "1",
- "d3-interpolate": "1",
- "d3-selection": "^1.1.0",
- "d3-timer": "1"
+ "d3-color": "1 - 3",
+ "d3-dispatch": "1 - 3",
+ "d3-ease": "1 - 3",
+ "d3-interpolate": "1 - 3",
+ "d3-timer": "1 - 3"
}
},
"d3-voronoi": {
@@ -4821,15 +4820,15 @@
"integrity": "sha512-dArJ32hchFsrQ8uMiTBLq256MpnZjeuBtdHpaDlYuQyjU0CVzCJl/BVW+SkszaAeH95D/8gxqAhgx0ouAWAfRg=="
},
"d3-zoom": {
- "version": "1.8.3",
- "resolved": "https://registry.npmjs.org/d3-zoom/-/d3-zoom-1.8.3.tgz",
- "integrity": "sha512-VoLXTK4wvy1a0JpH2Il+F2CiOhVu7VRXWF5M/LroMIh3/zBAC3WAt7QoIvPibOavVo20hN6/37vwAsdBejLyKQ==",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/d3-zoom/-/d3-zoom-3.0.0.tgz",
+ "integrity": "sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==",
"requires": {
- "d3-dispatch": "1",
- "d3-drag": "1",
- "d3-interpolate": "1",
- "d3-selection": "1",
- "d3-transition": "1"
+ "d3-dispatch": "1 - 3",
+ "d3-drag": "2 - 3",
+ "d3-interpolate": "1 - 3",
+ "d3-selection": "2 - 3",
+ "d3-transition": "2 - 3"
}
},
"dagre": {
@@ -4850,6 +4849,267 @@
"dagre": "^0.8.5",
"graphlib": "^2.1.8",
"lodash": "^4.17.15"
+ },
+ "dependencies": {
+ "commander": {
+ "version": "2.20.3",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
+ "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ=="
+ },
+ "d3": {
+ "version": "5.16.0",
+ "resolved": "https://registry.npmjs.org/d3/-/d3-5.16.0.tgz",
+ "integrity": "sha512-4PL5hHaHwX4m7Zr1UapXW23apo6pexCgdetdJ5kTmADpG/7T9Gkxw0M0tf/pjoB63ezCCm0u5UaFYy2aMt0Mcw==",
+ "requires": {
+ "d3-array": "1",
+ "d3-axis": "1",
+ "d3-brush": "1",
+ "d3-chord": "1",
+ "d3-collection": "1",
+ "d3-color": "1",
+ "d3-contour": "1",
+ "d3-dispatch": "1",
+ "d3-drag": "1",
+ "d3-dsv": "1",
+ "d3-ease": "1",
+ "d3-fetch": "1",
+ "d3-force": "1",
+ "d3-format": "1",
+ "d3-geo": "1",
+ "d3-hierarchy": "1",
+ "d3-interpolate": "1",
+ "d3-path": "1",
+ "d3-polygon": "1",
+ "d3-quadtree": "1",
+ "d3-random": "1",
+ "d3-scale": "2",
+ "d3-scale-chromatic": "1",
+ "d3-selection": "1",
+ "d3-shape": "1",
+ "d3-time": "1",
+ "d3-time-format": "2",
+ "d3-timer": "1",
+ "d3-transition": "1",
+ "d3-voronoi": "1",
+ "d3-zoom": "1"
+ }
+ },
+ "d3-array": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-1.2.4.tgz",
+ "integrity": "sha512-KHW6M86R+FUPYGb3R5XiYjXPq7VzwxZ22buHhAEVG5ztoEcZZMLov530mmccaqA1GghZArjQV46fuc8kUqhhHw=="
+ },
+ "d3-axis": {
+ "version": "1.0.12",
+ "resolved": "https://registry.npmjs.org/d3-axis/-/d3-axis-1.0.12.tgz",
+ "integrity": "sha512-ejINPfPSNdGFKEOAtnBtdkpr24c4d4jsei6Lg98mxf424ivoDP2956/5HDpIAtmHo85lqT4pruy+zEgvRUBqaQ=="
+ },
+ "d3-brush": {
+ "version": "1.1.6",
+ "resolved": "https://registry.npmjs.org/d3-brush/-/d3-brush-1.1.6.tgz",
+ "integrity": "sha512-7RW+w7HfMCPyZLifTz/UnJmI5kdkXtpCbombUSs8xniAyo0vIbrDzDwUJB6eJOgl9u5DQOt2TQlYumxzD1SvYA==",
+ "requires": {
+ "d3-dispatch": "1",
+ "d3-drag": "1",
+ "d3-interpolate": "1",
+ "d3-selection": "1",
+ "d3-transition": "1"
+ }
+ },
+ "d3-chord": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/d3-chord/-/d3-chord-1.0.6.tgz",
+ "integrity": "sha512-JXA2Dro1Fxw9rJe33Uv+Ckr5IrAa74TlfDEhE/jfLOaXegMQFQTAgAw9WnZL8+HxVBRXaRGCkrNU7pJeylRIuA==",
+ "requires": {
+ "d3-array": "1",
+ "d3-path": "1"
+ }
+ },
+ "d3-color": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-1.4.1.tgz",
+ "integrity": "sha512-p2sTHSLCJI2QKunbGb7ocOh7DgTAn8IrLx21QRc/BSnodXM4sv6aLQlnfpvehFMLZEfBc6g9pH9SWQccFYfJ9Q=="
+ },
+ "d3-contour": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/d3-contour/-/d3-contour-1.3.2.tgz",
+ "integrity": "sha512-hoPp4K/rJCu0ladiH6zmJUEz6+u3lgR+GSm/QdM2BBvDraU39Vr7YdDCicJcxP1z8i9B/2dJLgDC1NcvlF8WCg==",
+ "requires": {
+ "d3-array": "^1.1.1"
+ }
+ },
+ "d3-dispatch": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-1.0.6.tgz",
+ "integrity": "sha512-fVjoElzjhCEy+Hbn8KygnmMS7Or0a9sI2UzGwoB7cCtvI1XpVN9GpoYlnb3xt2YV66oXYb1fLJ8GMvP4hdU1RA=="
+ },
+ "d3-drag": {
+ "version": "1.2.5",
+ "resolved": "https://registry.npmjs.org/d3-drag/-/d3-drag-1.2.5.tgz",
+ "integrity": "sha512-rD1ohlkKQwMZYkQlYVCrSFxsWPzI97+W+PaEIBNTMxRuxz9RF0Hi5nJWHGVJ3Om9d2fRTe1yOBINJyy/ahV95w==",
+ "requires": {
+ "d3-dispatch": "1",
+ "d3-selection": "1"
+ }
+ },
+ "d3-dsv": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/d3-dsv/-/d3-dsv-1.2.0.tgz",
+ "integrity": "sha512-9yVlqvZcSOMhCYzniHE7EVUws7Fa1zgw+/EAV2BxJoG3ME19V6BQFBwI855XQDsxyOuG7NibqRMTtiF/Qup46g==",
+ "requires": {
+ "commander": "2",
+ "iconv-lite": "0.4",
+ "rw": "1"
+ }
+ },
+ "d3-ease": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/d3-ease/-/d3-ease-1.0.7.tgz",
+ "integrity": "sha512-lx14ZPYkhNx0s/2HX5sLFUI3mbasHjSSpwO/KaaNACweVwxUruKyWVcb293wMv1RqTPZyZ8kSZ2NogUZNcLOFQ=="
+ },
+ "d3-fetch": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/d3-fetch/-/d3-fetch-1.2.0.tgz",
+ "integrity": "sha512-yC78NBVcd2zFAyR/HnUiBS7Lf6inSCoWcSxFfw8FYL7ydiqe80SazNwoffcqOfs95XaLo7yebsmQqDKSsXUtvA==",
+ "requires": {
+ "d3-dsv": "1"
+ }
+ },
+ "d3-force": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/d3-force/-/d3-force-1.2.1.tgz",
+ "integrity": "sha512-HHvehyaiUlVo5CxBJ0yF/xny4xoaxFxDnBXNvNcfW9adORGZfyNF1dj6DGLKyk4Yh3brP/1h3rnDzdIAwL08zg==",
+ "requires": {
+ "d3-collection": "1",
+ "d3-dispatch": "1",
+ "d3-quadtree": "1",
+ "d3-timer": "1"
+ }
+ },
+ "d3-format": {
+ "version": "1.4.5",
+ "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-1.4.5.tgz",
+ "integrity": "sha512-J0piedu6Z8iB6TbIGfZgDzfXxUFN3qQRMofy2oPdXzQibYGqPB/9iMcxr/TGalU+2RsyDO+U4f33id8tbnSRMQ=="
+ },
+ "d3-geo": {
+ "version": "1.12.1",
+ "resolved": "https://registry.npmjs.org/d3-geo/-/d3-geo-1.12.1.tgz",
+ "integrity": "sha512-XG4d1c/UJSEX9NfU02KwBL6BYPj8YKHxgBEw5om2ZnTRSbIcego6dhHwcxuSR3clxh0EpE38os1DVPOmnYtTPg==",
+ "requires": {
+ "d3-array": "1"
+ }
+ },
+ "d3-hierarchy": {
+ "version": "1.1.9",
+ "resolved": "https://registry.npmjs.org/d3-hierarchy/-/d3-hierarchy-1.1.9.tgz",
+ "integrity": "sha512-j8tPxlqh1srJHAtxfvOUwKNYJkQuBFdM1+JAUfq6xqH5eAqf93L7oG1NVqDa4CpFZNvnNKtCYEUC8KY9yEn9lQ=="
+ },
+ "d3-interpolate": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-1.4.0.tgz",
+ "integrity": "sha512-V9znK0zc3jOPV4VD2zZn0sDhZU3WAE2bmlxdIwwQPPzPjvyLkd8B3JUVdS1IDUFDkWZ72c9qnv1GK2ZagTZ8EA==",
+ "requires": {
+ "d3-color": "1"
+ }
+ },
+ "d3-path": {
+ "version": "1.0.9",
+ "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-1.0.9.tgz",
+ "integrity": "sha512-VLaYcn81dtHVTjEHd8B+pbe9yHWpXKZUC87PzoFmsFrJqgFwDe/qxfp5MlfsfM1V5E/iVt0MmEbWQ7FVIXh/bg=="
+ },
+ "d3-polygon": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/d3-polygon/-/d3-polygon-1.0.6.tgz",
+ "integrity": "sha512-k+RF7WvI08PC8reEoXa/w2nSg5AUMTi+peBD9cmFc+0ixHfbs4QmxxkarVal1IkVkgxVuk9JSHhJURHiyHKAuQ=="
+ },
+ "d3-quadtree": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/d3-quadtree/-/d3-quadtree-1.0.7.tgz",
+ "integrity": "sha512-RKPAeXnkC59IDGD0Wu5mANy0Q2V28L+fNe65pOCXVdVuTJS3WPKaJlFHer32Rbh9gIo9qMuJXio8ra4+YmIymA=="
+ },
+ "d3-random": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/d3-random/-/d3-random-1.1.2.tgz",
+ "integrity": "sha512-6AK5BNpIFqP+cx/sreKzNjWbwZQCSUatxq+pPRmFIQaWuoD+NrbVWw7YWpHiXpCQ/NanKdtGDuB+VQcZDaEmYQ=="
+ },
+ "d3-scale": {
+ "version": "2.2.2",
+ "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-2.2.2.tgz",
+ "integrity": "sha512-LbeEvGgIb8UMcAa0EATLNX0lelKWGYDQiPdHj+gLblGVhGLyNbaCn3EvrJf0A3Y/uOOU5aD6MTh5ZFCdEwGiCw==",
+ "requires": {
+ "d3-array": "^1.2.0",
+ "d3-collection": "1",
+ "d3-format": "1",
+ "d3-interpolate": "1",
+ "d3-time": "1",
+ "d3-time-format": "2"
+ }
+ },
+ "d3-scale-chromatic": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/d3-scale-chromatic/-/d3-scale-chromatic-1.5.0.tgz",
+ "integrity": "sha512-ACcL46DYImpRFMBcpk9HhtIyC7bTBR4fNOPxwVSl0LfulDAwyiHyPOTqcDG1+t5d4P9W7t/2NAuWu59aKko/cg==",
+ "requires": {
+ "d3-color": "1",
+ "d3-interpolate": "1"
+ }
+ },
+ "d3-selection": {
+ "version": "1.4.2",
+ "resolved": "https://registry.npmjs.org/d3-selection/-/d3-selection-1.4.2.tgz",
+ "integrity": "sha512-SJ0BqYihzOjDnnlfyeHT0e30k0K1+5sR3d5fNueCNeuhZTnGw4M4o8mqJchSwgKMXCNFo+e2VTChiSJ0vYtXkg=="
+ },
+ "d3-shape": {
+ "version": "1.3.7",
+ "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-1.3.7.tgz",
+ "integrity": "sha512-EUkvKjqPFUAZyOlhY5gzCxCeI0Aep04LwIRpsZ/mLFelJiUfnK56jo5JMDSE7yyP2kLSb6LtF+S5chMk7uqPqw==",
+ "requires": {
+ "d3-path": "1"
+ }
+ },
+ "d3-time": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-1.1.0.tgz",
+ "integrity": "sha512-Xh0isrZ5rPYYdqhAVk8VLnMEidhz5aP7htAADH6MfzgmmicPkTo8LhkLxci61/lCB7n7UmE3bN0leRt+qvkLxA=="
+ },
+ "d3-time-format": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-2.3.0.tgz",
+ "integrity": "sha512-guv6b2H37s2Uq/GefleCDtbe0XZAuy7Wa49VGkPVPMfLL9qObgBST3lEHJBMUp8S7NdLQAGIvr2KXk8Hc98iKQ==",
+ "requires": {
+ "d3-time": "1"
+ }
+ },
+ "d3-timer": {
+ "version": "1.0.10",
+ "resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-1.0.10.tgz",
+ "integrity": "sha512-B1JDm0XDaQC+uvo4DT79H0XmBskgS3l6Ve+1SBCfxgmtIb1AVrPIoqd+nPSv+loMX8szQ0sVUhGngL7D5QPiXw=="
+ },
+ "d3-transition": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/d3-transition/-/d3-transition-1.3.2.tgz",
+ "integrity": "sha512-sc0gRU4PFqZ47lPVHloMn9tlPcv8jxgOQg+0zjhfZXMQuvppjG6YuwdMBE0TuqCZjeJkLecku/l9R0JPcRhaDA==",
+ "requires": {
+ "d3-color": "1",
+ "d3-dispatch": "1",
+ "d3-ease": "1",
+ "d3-interpolate": "1",
+ "d3-selection": "^1.1.0",
+ "d3-timer": "1"
+ }
+ },
+ "d3-zoom": {
+ "version": "1.8.3",
+ "resolved": "https://registry.npmjs.org/d3-zoom/-/d3-zoom-1.8.3.tgz",
+ "integrity": "sha512-VoLXTK4wvy1a0JpH2Il+F2CiOhVu7VRXWF5M/LroMIh3/zBAC3WAt7QoIvPibOavVo20hN6/37vwAsdBejLyKQ==",
+ "requires": {
+ "d3-dispatch": "1",
+ "d3-drag": "1",
+ "d3-interpolate": "1",
+ "d3-selection": "1",
+ "d3-transition": "1"
+ }
+ }
}
},
"debug": {
@@ -4980,6 +5240,14 @@
}
}
},
+ "delaunator": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/delaunator/-/delaunator-5.0.0.tgz",
+ "integrity": "sha512-AyLvtyJdbv/U1GkiS6gUUzclRoAY4Gs75qkMygJJhU75LW4DNuSF2RMzpxs9jw9Oz1BobHjTdkG3zdP55VxAqw==",
+ "requires": {
+ "robust-predicates": "^3.0.0"
+ }
+ },
"delegate": {
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/delegate/-/delegate-3.2.0.tgz",
@@ -5130,6 +5398,11 @@
"domelementtype": "1"
}
},
+ "dompurify": {
+ "version": "2.3.4",
+ "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-2.3.4.tgz",
+ "integrity": "sha512-6BVcgOAVFXjI0JTjEvZy901Rghm+7fDQOrNIcxB4+gdhj6Kwp6T9VBhBY/AbagKHJocRkDYGd6wvI+p4/10xtQ=="
+ },
"domutils": {
"version": "1.5.1",
"resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz",
@@ -5337,14 +5610,6 @@
"resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz",
"integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w=="
},
- "entity-decode": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/entity-decode/-/entity-decode-2.0.2.tgz",
- "integrity": "sha512-5CCY/3ci4MC1m2jlumNjWd7VBFt4VfFnmSqSNmVcXq4gxM3Vmarxtt+SvmBnzwLS669MWdVuXboNVj1qN2esVg==",
- "requires": {
- "he": "^1.1.1"
- }
- },
"errno": {
"version": "0.1.7",
"resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz",
@@ -5419,11 +5684,6 @@
"estraverse": "^4.1.1"
}
},
- "eslint-visitor-keys": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz",
- "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ=="
- },
"esprima": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
@@ -6762,57 +7022,6 @@
"resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.3.1.tgz",
"integrity": "sha512-rhE/4Z3hIhzHAUKbW8jVcCyuT5oJCXXqhN/6mXXVCpzTmvJnoH2HL/bt3EZ6p55jbFJBeAe1ZNpL5BugLujxNA=="
},
- "html-minifier": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-4.0.0.tgz",
- "integrity": "sha512-aoGxanpFPLg7MkIl/DDFYtb0iWz7jMFGqFhvEDZga6/4QTjneiD8I/NXL1x5aaoCp7FSIT6h/OhykDdPsbtMig==",
- "requires": {
- "camel-case": "^3.0.0",
- "clean-css": "^4.2.1",
- "commander": "^2.19.0",
- "he": "^1.2.0",
- "param-case": "^2.1.1",
- "relateurl": "^0.2.7",
- "uglify-js": "^3.5.1"
- },
- "dependencies": {
- "camel-case": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz",
- "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=",
- "requires": {
- "no-case": "^2.2.0",
- "upper-case": "^1.1.1"
- }
- },
- "commander": {
- "version": "2.20.3",
- "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
- "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ=="
- },
- "lower-case": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz",
- "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw="
- },
- "no-case": {
- "version": "2.3.2",
- "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz",
- "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==",
- "requires": {
- "lower-case": "^1.1.1"
- }
- },
- "param-case": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz",
- "integrity": "sha1-35T9jPZTHs915r75oIWPvHK+Ikc=",
- "requires": {
- "no-case": "^2.2.0"
- }
- }
- }
- },
"html-minifier-terser": {
"version": "5.1.1",
"resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-5.1.1.tgz",
@@ -7295,6 +7504,11 @@
"ipaddr.js": "^1.9.0"
}
},
+ "internmap": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/internmap/-/internmap-2.0.3.tgz",
+ "integrity": "sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg=="
+ },
"interpret": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz",
@@ -7764,9 +7978,9 @@
}
},
"khroma": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/khroma/-/khroma-1.1.0.tgz",
- "integrity": "sha512-aTO+YX22tYOLEQJYFiatAj1lc5QZ+H5sHWFRBWNCiKwc5NWNUJZyeSeiHEPeURJ2a1GEVYcmyMUwGjjLe5ec5A=="
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/khroma/-/khroma-1.4.1.tgz",
+ "integrity": "sha512-+GmxKvmiRuCcUYDgR7g5Ngo0JEDeOsGdNONdU2zsiBQaK4z19Y2NvXqfEDE0ZiIrg45GTZyAnPLVsLZZACYm3Q=="
},
"killable": {
"version": "1.0.1",
@@ -8205,22 +8419,19 @@
"integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg=="
},
"mermaid": {
- "version": "8.8.2",
- "resolved": "https://registry.npmjs.org/mermaid/-/mermaid-8.8.2.tgz",
- "integrity": "sha512-Ib9jl5TMwgMKv2+vdfKZ/SIUxKYc4GMauKeV2+3BD/bU47kGbc5zv5taCY5iZR+V4hdweHKE7YOl11VGcWBy/w==",
+ "version": "8.13.8",
+ "resolved": "https://registry.npmjs.org/mermaid/-/mermaid-8.13.8.tgz",
+ "integrity": "sha512-Z5v31rvo8P7BPTiGicdJl9BbzyUe9s5sXILK8sM1g7ijkagpfFjPtXZVsq5P1WlN8m/fUp2PPNXVF9SqeTM91w==",
"requires": {
"@braintree/sanitize-url": "^3.1.0",
- "babel-eslint": "^10.1.0",
- "d3": "^5.7.0",
- "dagre": "^0.8.4",
+ "d3": "^7.0.0",
+ "dagre": "^0.8.5",
"dagre-d3": "^0.6.4",
- "entity-decode": "^2.0.2",
- "graphlib": "^2.1.7",
- "he": "^1.2.0",
- "khroma": "^1.1.0",
- "minify": "^4.1.1",
- "moment-mini": "^2.22.1",
- "stylis": "^3.5.2"
+ "dompurify": "2.3.4",
+ "graphlib": "^2.1.8",
+ "khroma": "^1.4.1",
+ "moment-mini": "^2.24.0",
+ "stylis": "^4.0.10"
}
},
"methods": {
@@ -8336,20 +8547,6 @@
}
}
},
- "minify": {
- "version": "4.1.3",
- "resolved": "https://registry.npmjs.org/minify/-/minify-4.1.3.tgz",
- "integrity": "sha512-ykuscavxivSmVpcCzsXmsVTukWYLUUtPhHj0w2ILvHDGqC+hsuTCihBn9+PJBd58JNvWTNg9132J9nrrI2anzA==",
- "requires": {
- "clean-css": "^4.1.6",
- "css-b64-images": "~0.2.5",
- "debug": "^4.1.0",
- "html-minifier": "^4.0.0",
- "terser": "^4.0.0",
- "try-catch": "^2.0.0",
- "try-to-catch": "^1.0.2"
- }
- },
"minimalistic-assert": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz",
@@ -11644,6 +11841,11 @@
"inherits": "^2.0.1"
}
},
+ "robust-predicates": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/robust-predicates/-/robust-predicates-3.0.1.tgz",
+ "integrity": "sha512-ndEIpszUHiG4HtDsQLeIuMvRsDnn8c8rYStabochtUeCvfuvNptb5TUbVD68LRAILPX7p9nqQGh4xJgn3EHS/g=="
+ },
"run-async": {
"version": "2.4.1",
"resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz",
@@ -12593,9 +12795,9 @@
}
},
"stylis": {
- "version": "3.5.4",
- "resolved": "https://registry.npmjs.org/stylis/-/stylis-3.5.4.tgz",
- "integrity": "sha512-8/3pSmthWM7lsPBKv7NXkzn2Uc9W7NotcwGNpJaa3k7WMM1XDCA4MgT5k/8BIexd5ydZdboXtU90XH9Ec4Bv/Q=="
+ "version": "4.0.13",
+ "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.0.13.tgz",
+ "integrity": "sha512-xGPXiFVl4YED9Jh7Euv2V220mriG9u4B2TA6Ybjc1catrstKD2PpIdU3U0RKpkVBC2EhmL/F0sPCr9vrFTNRag=="
},
"supports-color": {
"version": "5.5.0",
@@ -13039,16 +13241,6 @@
"resolved": "https://registry.npmjs.org/trough/-/trough-1.0.5.tgz",
"integrity": "sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA=="
},
- "try-catch": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/try-catch/-/try-catch-2.0.1.tgz",
- "integrity": "sha512-LsOrmObN/2WdM+y2xG+t16vhYrQsnV8wftXIcIOWZhQcBJvKGYuamJGwnU98A7Jxs2oZNkJztXlphEOoA0DWqg=="
- },
- "try-to-catch": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/try-to-catch/-/try-to-catch-1.1.1.tgz",
- "integrity": "sha512-ikUlS+/BcImLhNYyIgZcEmq4byc31QpC+46/6Jm5ECWkVFhf8SM2Fp/0pMVXPX6vk45SMCwrP4Taxucne8I0VA=="
- },
"tryer": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz",
@@ -13120,11 +13312,6 @@
"resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.22.tgz",
"integrity": "sha512-YUxzMjJ5T71w6a8WWVcMGM6YWOTX27rCoIQgLXiWaxqXSx9D7DNjiGWn1aJIRSQ5qr0xuhra77bSIh6voR/46Q=="
},
- "uglify-js": {
- "version": "3.11.4",
- "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.11.4.tgz",
- "integrity": "sha512-FyYnoxVL1D6+jDGQpbK5jW6y/2JlVfRfEeQ67BPCUg5wfCjaKOpr2XeceE4QL+MkhxliLtf5EbrMDZgzpt2CNw=="
- },
"unherit": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/unherit/-/unherit-1.1.3.tgz",
@@ -13367,11 +13554,6 @@
"xdg-basedir": "^4.0.0"
}
},
- "upper-case": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz",
- "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg="
- },
"uri-js": {
"version": "4.4.0",
"resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.0.tgz",
diff --git a/about/package.json b/about/package.json
index 11cef24bdfa..c5e4bc58791 100644
--- a/about/package.json
+++ b/about/package.json
@@ -10,7 +10,7 @@
"@docusaurus/core": "^2.0.0-alpha.63",
"@docusaurus/preset-classic": "^2.0.0-alpha.63",
"@kiwicopple/prism-react-renderer": "github:kiwicopple/prism-react-renderer",
- "mermaid": "^8.6.4",
+ "mermaid": "^8.13.8",
"react": "^16.8.4",
"react-dom": "^16.8.4",
"react-inlinesvg": "^2.0.1"
From 41f122c67275323c0795c3f0e351adb7d4a54eeb Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Fri, 7 Jan 2022 12:12:00 +0000
Subject: [PATCH 29/46] chore(deps): bump lodash from 4.17.20 to 4.17.21 in
/about
Bumps [lodash](https://github.com/lodash/lodash) from 4.17.20 to 4.17.21.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.20...4.17.21)
---
updated-dependencies:
- dependency-name: lodash
dependency-type: indirect
...
Signed-off-by: dependabot[bot]
---
about/package-lock.json | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/about/package-lock.json b/about/package-lock.json
index 49dc26a3b7e..a112b5fc083 100644
--- a/about/package-lock.json
+++ b/about/package-lock.json
@@ -7835,9 +7835,9 @@
}
},
"lodash": {
- "version": "4.17.20",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz",
- "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA=="
+ "version": "4.17.21",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
+ "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
},
"lodash._reinterpolate": {
"version": "3.0.0",
From 200488608e0cf8ee5e62772e3bb638855768a1d7 Mon Sep 17 00:00:00 2001
From: phamhieu
Date: Fri, 7 Jan 2022 19:22:56 +0700
Subject: [PATCH 30/46] chore: stricter check
---
studio/pages/index.tsx | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/studio/pages/index.tsx b/studio/pages/index.tsx
index 6237b237992..6e8eed85c20 100644
--- a/studio/pages/index.tsx
+++ b/studio/pages/index.tsx
@@ -124,7 +124,7 @@ export default withAuth(observer(Home))
// detect for redirect from 3rd party service like vercel, aws...
function isRedirectFromThirdPartyService(router: NextRouter) {
- return router.query.next != undefined || router.query['x-amzn-marketplace-token'] != undefined
+ return router.query.next !== undefined || router.query['x-amzn-marketplace-token'] !== undefined
}
const UnauthorizedLanding = () => {
From c7ac1b7ca00d8010c0cb28566f1c34740b3d0096 Mon Sep 17 00:00:00 2001
From: Joshen Lim
Date: Fri, 7 Jan 2022 14:31:31 +0800
Subject: [PATCH 31/46] Automatically select project in support form if coming
from a project
---
.../ProjectLayout/LayoutHeader/HelpPopover.tsx | 7 ++++++-
studio/pages/support/new.tsx | 12 +++++++++++-
2 files changed, 17 insertions(+), 2 deletions(-)
diff --git a/studio/components/layouts/ProjectLayout/LayoutHeader/HelpPopover.tsx b/studio/components/layouts/ProjectLayout/LayoutHeader/HelpPopover.tsx
index ec0cc54483f..e20cc94453c 100644
--- a/studio/components/layouts/ProjectLayout/LayoutHeader/HelpPopover.tsx
+++ b/studio/components/layouts/ProjectLayout/LayoutHeader/HelpPopover.tsx
@@ -7,6 +7,7 @@ import {
Popover,
Typography,
} from '@supabase/ui'
+import { useRouter } from 'next/router'
import { FC } from 'react'
import Link from 'next/link'
import Image from 'next/image'
@@ -16,6 +17,10 @@ import SVG from 'react-inlinesvg'
interface Props {}
const HelpPopover: FC = () => {
+ const router = useRouter()
+ const projectRef = router.query.ref
+ const supportUrl = `/support/new${projectRef ? `?ref=${projectRef}` : ''}`
+
return (
= () => {
hosted services.
-
+
}>
Contact support team
diff --git a/studio/pages/support/new.tsx b/studio/pages/support/new.tsx
index 811c2dacbe3..1b7ebfc0278 100644
--- a/studio/pages/support/new.tsx
+++ b/studio/pages/support/new.tsx
@@ -12,11 +12,13 @@ import {
} from '@supabase/ui'
import SVG from 'react-inlinesvg'
import Link from 'next/link'
+import { useRouter } from 'next/router'
import { API_URL } from 'lib/constants'
import { useStore, withAuth } from 'hooks'
import { post } from 'lib/common/fetch'
import { Project } from 'types'
+import { isUndefined } from 'lodash'
const DEFAULT = {
category: {
@@ -49,6 +51,9 @@ function formReducer(state: any, action: any) {
const SupportNew = () => {
const { ui, app } = useStore()
+ const router = useRouter()
+ const projectRef = router.query.ref
+
const [formState, formDispatch] = useReducer(formReducer, DEFAULT)
const [errors, setErrors] = useState([])
const [loading, setLoading] = useState(false)
@@ -72,7 +77,12 @@ const SupportNew = () => {
useEffect(() => {
// set project default
if (sortedProjects.length > 1) {
- handleOnChange({ name: 'project', value: sortedProjects[0].ref })
+ const selectedProject = sortedProjects.find((project: Project) => project.ref === projectRef)
+ if (!isUndefined(selectedProject)) {
+ handleOnChange({ name: 'project', value: selectedProject.ref })
+ } else {
+ handleOnChange({ name: 'project', value: sortedProjects[0].ref })
+ }
} else {
// set as 'No specific project'
handleOnChange({ name: 'project', value: projectDefaults[0].ref })
From b32ef61a90e1b3028f0139506fc56de180615621 Mon Sep 17 00:00:00 2001
From: Joshen Lim
Date: Fri, 7 Jan 2022 15:43:02 +0800
Subject: [PATCH 32/46] Add github username and email to account preferences
page
---
studio/pages/account/me.tsx | 44 +++++++++++++++++++++++++++++++++++--
1 file changed, 42 insertions(+), 2 deletions(-)
diff --git a/studio/pages/account/me.tsx b/studio/pages/account/me.tsx
index 3a3190a7cc5..b1067eec40a 100644
--- a/studio/pages/account/me.tsx
+++ b/studio/pages/account/me.tsx
@@ -1,6 +1,6 @@
import React from 'react'
import { observer } from 'mobx-react-lite'
-import { IconMoon, IconSun, Select, Typography } from '@supabase/ui'
+import { IconMoon, IconSun, Select, Typography, Input } from '@supabase/ui'
import { useProfile, useStore, withAuth } from 'hooks'
import { post } from 'lib/common/fetch'
@@ -32,8 +32,10 @@ export default withAuth(User)
const ProfileCard = observer(() => {
const { ui } = useStore()
const { mutateProfile } = useProfile()
-
const user = ui.profile
+
+ console.log('User', user?.username, user?.primary_email)
+
const updateUser = async (model: any) => {
try {
const updatedUser = await post(`${API_URL}/profile/update`, model)
@@ -51,6 +53,9 @@ const ProfileCard = observer(() => {
return (
+
{/* @ts-ignore */}
{
)
})
+const GithubProfile = observer(() => {
+ const { ui } = useStore()
+
+ return (
+
+ Account Information
+ ,
+ ]}
+ >
+
+
+
+
+
+
+
+ )
+})
+
const ThemeSettings = observer(() => {
const { ui } = useStore()
From c1e251bae47cabbdba118e7159b87cde9803ddd6 Mon Sep 17 00:00:00 2001
From: Isaiah Hamilton
Date: Fri, 7 Jan 2022 18:57:35 -0500
Subject: [PATCH 33/46] update start your project link
---
www/components/Nav/index.tsx | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/www/components/Nav/index.tsx b/www/components/Nav/index.tsx
index 2b7984e661d..4d92d7ca914 100644
--- a/www/components/Nav/index.tsx
+++ b/www/components/Nav/index.tsx
@@ -253,7 +253,7 @@ const Nav = (props: Props) => {
Sign in
-
+
Start your project
From b580a07c58c9c21d28dffb819a166340194a0d94 Mon Sep 17 00:00:00 2001
From: Copple <10214025+kiwicopple@users.noreply.github.com>
Date: Sun, 9 Jan 2022 20:58:53 +0100
Subject: [PATCH 34/46] docs: adds all auth events to the doc
---
web/spec/supabase.yml | 42 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 42 insertions(+)
diff --git a/web/spec/supabase.yml b/web/spec/supabase.yml
index 31c5b301490..25c6d0bb9d4 100644
--- a/web/spec/supabase.yml
+++ b/web/spec/supabase.yml
@@ -716,6 +716,48 @@ pages:
console.log(event, session)
})
```
+ - name: Listen to sign in
+ js: |
+ ```js
+ supabase.auth.onAuthStateChange((event, session) => {
+ if (event == 'SIGNED_IN') console.log('SIGNED_IN', session)
+ })
+ ```
+ - name: Listen to sign out
+ js: |
+ ```js
+ supabase.auth.onAuthStateChange((event, session) => {
+ if (event == 'SIGNED_OUT') console.log('SIGNED_OUT', session)
+ })
+ ```
+ - name: Listen to token refresh
+ js: |
+ ```js
+ supabase.auth.onAuthStateChange((event, session) => {
+ if (event == 'TOKEN_REFRESHED') console.log('TOKEN_REFRESHED', session)
+ })
+ ```
+ - name: Listen to user updates
+ js: |
+ ```js
+ supabase.auth.onAuthStateChange((event, session) => {
+ if (event == 'USER_UPDATED') console.log('USER_UPDATED', session)
+ })
+ ```
+ - name: Listen to user deleted
+ js: |
+ ```js
+ supabase.auth.onAuthStateChange((event, session) => {
+ if (event == 'USER_DELETED') console.log('USER_DELETED', session)
+ })
+ ```
+ - name: Listen to password recovery events
+ js: |
+ ```js
+ supabase.auth.onAuthStateChange((event, session) => {
+ if (event == 'PASSWORD_RECOVERY') console.log('PASSWORD_RECOVERY', session)
+ })
+ ```
auth.api.getUser():
title: 'getUser()'
$ref: '@supabase/gotrue-js.GoTrueApi.getUser'
From 90acc468515caa504dfe4f21cd3fbf21a1722984 Mon Sep 17 00:00:00 2001
From: phamhieu
Date: Mon, 10 Jan 2022 15:06:57 +0700
Subject: [PATCH 35/46] fix: database.new redirect url param
---
studio/pages/index.tsx | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/studio/pages/index.tsx b/studio/pages/index.tsx
index 6e8eed85c20..5fd19797cc7 100644
--- a/studio/pages/index.tsx
+++ b/studio/pages/index.tsx
@@ -37,7 +37,7 @@ const Home: NextPage = () => {
if (router.query?.next?.includes('https://vercel.com')) {
router.push(`/vercel/integrate?${params.toString()}`)
}
- if (router.query?.next?.includes('https://database.new')) {
+ if (router.query?.next?.includes('new-project')) {
router.push('/new/project')
}
if (router.query['x-amzn-marketplace-token'] != undefined) {
From 9a68af2effee02309a1fdd634b3727b3864060b9 Mon Sep 17 00:00:00 2001
From: Joshen Lim
Date: Mon, 10 Jan 2022 16:28:09 +0800
Subject: [PATCH 36/46] Allow org members to access db password feature on
dashboard
---
studio/pages/project/[ref]/settings/database.tsx | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/studio/pages/project/[ref]/settings/database.tsx b/studio/pages/project/[ref]/settings/database.tsx
index fc8f8a0d39b..009761a2ab1 100644
--- a/studio/pages/project/[ref]/settings/database.tsx
+++ b/studio/pages/project/[ref]/settings/database.tsx
@@ -188,6 +188,7 @@ const ResetDbPassword: FC = () => {
} else {
ui.setNotification({ category: 'error', message: 'Failed to reset password' })
}
+ setIsUpdatingPassword(false)
}
}
@@ -279,9 +280,6 @@ const DownloadCertificate: FC = ({ createdAt }) => {
}
const GeneralSettings: FC = ({ projectRef }) => {
- const { ui } = useStore()
- const isOwner = ui.selectedOrganization?.is_owner
-
const { data, error }: any = useSWR(`${API_URL}/props/project/${projectRef}/settings`, get)
if (data?.error || error) {
@@ -378,7 +376,7 @@ const GeneralSettings: FC = ({ projectRef }) => {
- {isOwner && }
+
From 03f4ef3217ddf56fbb698c5c33a8d4e5969ff08f Mon Sep 17 00:00:00 2001
From: Joshen Lim
Date: Mon, 10 Jan 2022 16:34:14 +0800
Subject: [PATCH 37/46] Update docs for db password reset
---
web/docs/guides/database.mdx | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/web/docs/guides/database.mdx b/web/docs/guides/database.mdx
index 9173dd3942e..a4cc857341c 100644
--- a/web/docs/guides/database.mdx
+++ b/web/docs/guides/database.mdx
@@ -133,9 +133,7 @@ Migrating projects can be achieved using standard PostgreSQL tooling. This is pa
When you create a new project in Supabase we ask for a password. You can use this password to connect directly to your Postgres database.
-If you forget your password, you can reset it from the Dashboard SQL editor:
-
-For example:
+If you forget your password, you can reset it from the Dashboard under the database settings page, or through the SQL editor as such:
```sql
alter user postgres
From b1e14e63f3e9561bef912a3dee08ea859dfe83be Mon Sep 17 00:00:00 2001
From: Joshen Lim
Date: Mon, 10 Jan 2022 16:42:36 +0800
Subject: [PATCH 38/46] Update pricing page FAQ docs for free tier projects
---
www/data/PricingFAQ.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/www/data/PricingFAQ.json b/www/data/PricingFAQ.json
index 88adacfa878..63ab052c5df 100644
--- a/www/data/PricingFAQ.json
+++ b/www/data/PricingFAQ.json
@@ -5,7 +5,7 @@
},
{
"question": "Is there a cap on the number of projects for the Free Tier?",
- "answer": "Yes, on the Free Tier you can have a maximum of two organizations, each with up to two projects. This means that you can have a maximum of four free projects in your account."
+ "answer": "Yes, you have can up to 2 free projects in your account across all organizations that you own. You also are able to create as many organizations as you want."
},
{
"question": "When will I be billed?",
From 480e86c3e1e7a8266fc60d127b0cea956ebec857 Mon Sep 17 00:00:00 2001
From: TzeYiing
Date: Mon, 10 Jan 2022 19:40:27 +0800
Subject: [PATCH 39/46] added assertion for hiding LogPanel on custom mode
---
studio/tests/pages/projects/LogPanel.test.js | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/studio/tests/pages/projects/LogPanel.test.js b/studio/tests/pages/projects/LogPanel.test.js
index 35afe931a27..285cf0838ed 100644
--- a/studio/tests/pages/projects/LogPanel.test.js
+++ b/studio/tests/pages/projects/LogPanel.test.js
@@ -17,7 +17,12 @@ test('templates', async () => {
// userEvent.click(screen.getByText("Some option"))
// expect(mockFn).toBeCalled()
})
-
+test('custom mode', async () => {
+ render( )
+ await waitFor(() => {
+ expect(() => screen.getByPlaceholderText(/Search/)).toThrow()
+ })
+})
test('filter input change and submit', async () => {
const mockFn = jest.fn()
render( )
From 24c259d8d6e24f715d9cc04cc6557a6805909b95 Mon Sep 17 00:00:00 2001
From: TzeYiing
Date: Mon, 10 Jan 2022 19:44:01 +0800
Subject: [PATCH 40/46] Added conditional rendering of search bar
---
.../interfaces/Settings/Logs/LogPanel.tsx | 72 ++++++++++---------
1 file changed, 37 insertions(+), 35 deletions(-)
diff --git a/studio/components/interfaces/Settings/Logs/LogPanel.tsx b/studio/components/interfaces/Settings/Logs/LogPanel.tsx
index ed80630b45e..368f8ff7938 100644
--- a/studio/components/interfaces/Settings/Logs/LogPanel.tsx
+++ b/studio/components/interfaces/Settings/Logs/LogPanel.tsx
@@ -100,42 +100,44 @@ const LogPanel: FC = ({
{/* wrap with form so that if user presses enter, the search value will submit automatically */}
-
+ title="Go"
+ type="secondary"
+ onClick={() => onSearch(search)}
+ >
+ Go
+ ,
+ ]}
+ />
+
+ )}
From 3cea779b7fc5ac384eeec4e73a8eb84bcca3db05 Mon Sep 17 00:00:00 2001
From: Copple <10214025+kiwicopple@users.noreply.github.com>
Date: Mon, 10 Jan 2022 17:59:32 +0100
Subject: [PATCH 41/46] changes the issuer to supabase-demo
---
docker/.env.example | 4 ++--
docker/volumes/api/kong.yml | 4 ++--
studio/.env | 4 ++--
tests/jest-env.js | 4 ++--
4 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/docker/.env.example b/docker/.env.example
index 8a12be00005..81009f30577 100644
--- a/docker/.env.example
+++ b/docker/.env.example
@@ -3,8 +3,8 @@
POSTGRES_PASSWORD=your-super-secret-and-long-postgres-password
JWT_SECRET=your-super-secret-jwt-token-with-at-least-32-characters-long
-ANON_KEY=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJyb2xlIjoiYW5vbiIsImlhdCI6MTYyNzIwODU0MCwiZXhwIjoxOTc0MzYzNzQwfQ.zcaQfHd3VA7XgJmdGfmV86OLVJT9s2MTmSy-e69BpUY
-SERVICE_ROLE_KEY=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJyb2xlIjoic2VydmljZV9yb2xlIiwiaWF0IjoxNjI3MjA4NTQwLCJleHAiOjE5NzQzNjM3NDB9.pkT3PNpO4DtO45Ac5HK_TKCx8sGLgNtV__pr_ZrRSAU
+ANON_KEY=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyAgCiAgICAicm9sZSI6ICJhbm9uIiwKICAgICJpc3MiOiAic3VwYWJhc2UtZGVtbyIsCiAgICAiaWF0IjogMTY0MTc2OTIwMCwKICAgICJleHAiOiAxNzk5NTM1NjAwCn0.dc_X5iR_VP_qT0zsiyj_I_OZ2T9FtRU2BBNWN8Bu4GE
+SERVICE_ROLE_KEY=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyAgCiAgICAicm9sZSI6ICJzZXJ2aWNlX3JvbGUiLAogICAgImlzcyI6ICJzdXBhYmFzZS1kZW1vIiwKICAgICJpYXQiOiAxNjQxNzY5MjAwLAogICAgImV4cCI6IDE3OTk1MzU2MDAKfQ.DaYlNEoUrrEn2Ig7tqibS-PHK5vgusbcbo7X36XVt4Q
# Auth
diff --git a/docker/volumes/api/kong.yml b/docker/volumes/api/kong.yml
index 13a2caa42be..aab2fe55aa0 100644
--- a/docker/volumes/api/kong.yml
+++ b/docker/volumes/api/kong.yml
@@ -6,10 +6,10 @@ _format_version: "1.1"
consumers:
- username: anon
keyauth_credentials:
- - key: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJyb2xlIjoiYW5vbiIsImlhdCI6MTYyNzIwODU0MCwiZXhwIjoxOTc0MzYzNzQwfQ.zcaQfHd3VA7XgJmdGfmV86OLVJT9s2MTmSy-e69BpUY
+ - key: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyAgCiAgICAicm9sZSI6ICJhbm9uIiwKICAgICJpc3MiOiAic3VwYWJhc2UtZGVtbyIsCiAgICAiaWF0IjogMTY0MTc2OTIwMCwKICAgICJleHAiOiAxNzk5NTM1NjAwCn0.dc_X5iR_VP_qT0zsiyj_I_OZ2T9FtRU2BBNWN8Bu4GE
- username: service_role
keyauth_credentials:
- - key: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJyb2xlIjoic2VydmljZV9yb2xlIiwiaWF0IjoxNjI3MjA4NTQwLCJleHAiOjE5NzQzNjM3NDB9.pkT3PNpO4DtO45Ac5HK_TKCx8sGLgNtV__pr_ZrRSAU
+ - key: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyAgCiAgICAicm9sZSI6ICJzZXJ2aWNlX3JvbGUiLAogICAgImlzcyI6ICJzdXBhYmFzZS1kZW1vIiwKICAgICJpYXQiOiAxNjQxNzY5MjAwLAogICAgImV4cCI6IDE3OTk1MzU2MDAKfQ.DaYlNEoUrrEn2Ig7tqibS-PHK5vgusbcbo7X36XVt4Q
###
### Access Control List
diff --git a/studio/.env b/studio/.env
index 6b71a62226e..65f8221f719 100644
--- a/studio/.env
+++ b/studio/.env
@@ -2,5 +2,5 @@ STUDIO_PG_META_URL=http://localhost:8000/pg
POSTGRES_PASSWORD=your-super-secret-and-long-postgres-password
SUPABASE_URL=http://localhost:8000
-SUPABASE_ANON_KEY=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJyb2xlIjoiYW5vbiIsImlhdCI6MTYyNzIwODU0MCwiZXhwIjoxOTc0MzYzNzQwfQ.zcaQfHd3VA7XgJmdGfmV86OLVJT9s2MTmSy-e69BpUY
-SUPABASE_SERVICE_KEY=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJyb2xlIjoic2VydmljZV9yb2xlIiwiaWF0IjoxNjI3MjA4NTQwLCJleHAiOjE5NzQzNjM3NDB9.pkT3PNpO4DtO45Ac5HK_TKCx8sGLgNtV__pr_ZrRSAU
\ No newline at end of file
+SUPABASE_ANON_KEY=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyAgCiAgICAicm9sZSI6ICJhbm9uIiwKICAgICJpc3MiOiAic3VwYWJhc2UtZGVtbyIsCiAgICAiaWF0IjogMTY0MTc2OTIwMCwKICAgICJleHAiOiAxNzk5NTM1NjAwCn0.dc_X5iR_VP_qT0zsiyj_I_OZ2T9FtRU2BBNWN8Bu4GE
+SUPABASE_SERVICE_KEY=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyAgCiAgICAicm9sZSI6ICJzZXJ2aWNlX3JvbGUiLAogICAgImlzcyI6ICJzdXBhYmFzZS1kZW1vIiwKICAgICJpYXQiOiAxNjQxNzY5MjAwLAogICAgImV4cCI6IDE3OTk1MzU2MDAKfQ.DaYlNEoUrrEn2Ig7tqibS-PHK5vgusbcbo7X36XVt4Q
\ No newline at end of file
diff --git a/tests/jest-env.js b/tests/jest-env.js
index 04916049a19..66cd730acd9 100644
--- a/tests/jest-env.js
+++ b/tests/jest-env.js
@@ -1,5 +1,5 @@
process.env.SUPABASE_URL = 'http://localhost:8000'
process.env.SUPABASE_KEY_ANON =
- 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJyb2xlIjoiYW5vbiIsImlhdCI6MTYyNzIwODU0MCwiZXhwIjoxOTc0MzYzNzQwfQ.zcaQfHd3VA7XgJmdGfmV86OLVJT9s2MTmSy-e69BpUY'
+ 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyAgCiAgICAicm9sZSI6ICJhbm9uIiwKICAgICJpc3MiOiAic3VwYWJhc2UtZGVtbyIsCiAgICAiaWF0IjogMTY0MTc2OTIwMCwKICAgICJleHAiOiAxNzk5NTM1NjAwCn0.dc_X5iR_VP_qT0zsiyj_I_OZ2T9FtRU2BBNWN8Bu4GE'
process.env.SUPABASE_KEY_ADMIN =
- 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJyb2xlIjoic2VydmljZV9yb2xlIiwiaWF0IjoxNjI3MjA4NTQwLCJleHAiOjE5NzQzNjM3NDB9.pkT3PNpO4DtO45Ac5HK_TKCx8sGLgNtV__pr_ZrRSAU'
\ No newline at end of file
+ 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyAgCiAgICAicm9sZSI6ICJzZXJ2aWNlX3JvbGUiLAogICAgImlzcyI6ICJzdXBhYmFzZS1kZW1vIiwKICAgICJpYXQiOiAxNjQxNzY5MjAwLAogICAgImV4cCI6IDE3OTk1MzU2MDAKfQ.DaYlNEoUrrEn2Ig7tqibS-PHK5vgusbcbo7X36XVt4Q'
\ No newline at end of file
From 87f4892c33efb9e5b45c073ecc78ac42ace6f6de Mon Sep 17 00:00:00 2001
From: Jon Meyers
Date: Tue, 11 Jan 2022 15:04:00 +1100
Subject: [PATCH 42/46] chore: fix typo in step headings
---
web/docs/guides/integrations/auth0.mdx | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/web/docs/guides/integrations/auth0.mdx b/web/docs/guides/integrations/auth0.mdx
index 7129259f22a..5919dae707d 100644
--- a/web/docs/guides/integrations/auth0.mdx
+++ b/web/docs/guides/integrations/auth0.mdx
@@ -133,7 +133,7 @@ Restart your Next.js development server to read in the new values from `.env.loc
npm run dev
```
-## Step 5: Install Auth0 Next.js library
+## Step 6: Install Auth0 Next.js library
Install the `@auth0/nextjs-auth0` library.
@@ -211,7 +211,7 @@ You should now be able to view the landing page.

-## Step 6: Sign Auth0 token for Supabase
+## Step 7: Sign Auth0 token for Supabase
Currently, neither Supabase or Auth0 allow for a custom signing secret to be set for their JWT. They also use different [signing algorithms](https://auth0.com/docs/configure/applications/signing-algorithms).
@@ -263,7 +263,7 @@ We are signing this JWT using Supabase's signing secret, so Supabase will be abl
Now we just need to send the token along with the request to Supabase.
-## Step 7: Requesting data from Supabase
+## Step 8: Requesting data from Supabase
Create a new file called `utils/supabase.js` and add the following:
@@ -391,7 +391,7 @@ Either way, when we reload our application, we are still getting the empty state
This is because we enabled Row Level Security, which blocks all requests by default. To enable our user to select their `todos` we need to write a policy.
-## Step 8: Write a policy to allow select
+## Step 9: Write a policy to allow select
Our policy will need to know who our currently logged in user is to determine whether or not they should have access. Let's create a PostgreSQL function to extract the current user from our new JWT.
From d6deeb3916be7d8d9960782b8e8f14ab1ea7c93e Mon Sep 17 00:00:00 2001
From: Joshen Lim
Date: Tue, 11 Jan 2022 16:27:42 +0800
Subject: [PATCH 43/46] Fix not org owner error when creating project after
creating a new org
---
studio/pages/new/index.tsx | 12 +++++-------
studio/stores/app/AppStore.ts | 18 +++++++++++-------
studio/types/base.ts | 8 ++++++--
3 files changed, 22 insertions(+), 16 deletions(-)
diff --git a/studio/pages/new/index.tsx b/studio/pages/new/index.tsx
index e095e1b1648..8d2cf5477e1 100644
--- a/studio/pages/new/index.tsx
+++ b/studio/pages/new/index.tsx
@@ -1,7 +1,7 @@
import { useState } from 'react'
import { observer } from 'mobx-react-lite'
import { Button, Typography } from '@supabase/ui'
-import Router from 'next/router'
+import { useRouter } from 'next/router'
import { API_URL } from 'lib/constants'
import { useStore, withAuth } from 'hooks'
@@ -15,6 +15,8 @@ import Panel from 'components/to-be-cleaned/Panel'
*/
const Wizard = () => {
const { ui, app } = useStore()
+ const router = useRouter()
+
const [orgName, setOrgName] = useState('')
const [newOrgLoading, setNewOrgLoading] = useState(false)
@@ -49,11 +51,7 @@ const Wizard = () => {
} else {
const org = response
app.onOrgAdded(org)
-
- // Router.push('/new/[slug]', `/new/${org.slug}`)
- // Using window.location.href for now as organization metadata needs to refresh
- // We do not get is_owner nor stripe_customer_id from the response here
- window.location.href = `/new/${org.slug}`
+ router.push(`/new/${org.slug}`)
}
}
@@ -70,7 +68,7 @@ const Wizard = () => {
]}
footer={[
-
Router.push('/')}>
+ router.push('/')}>
Cancel
diff --git a/studio/stores/app/AppStore.ts b/studio/stores/app/AppStore.ts
index b50a0bebfd0..4ce562ef5b8 100644
--- a/studio/stores/app/AppStore.ts
+++ b/studio/stores/app/AppStore.ts
@@ -1,6 +1,6 @@
import { cloneDeep } from 'lodash'
import { values } from 'mobx'
-import { Project } from 'types'
+import { Organization, Project } from 'types'
import { API_URL, STRIPE_PRODUCT_IDS } from 'lib/constants'
import { IRootStore } from '../RootStore'
@@ -71,19 +71,23 @@ export default class AppStore implements IAppStore {
}
}
- onOrgUpdated(org: any) {
- if (org && org.id) {
- this.organizations.data[org.id] = { ...org }
+ onOrgUpdated(updatedOrg: Organization) {
+ if (updatedOrg && updatedOrg.id) {
+ const originalOrg = this.organizations.data[updatedOrg.id]
+ this.organizations.data[updatedOrg.id] = {
+ ...originalOrg,
+ ...updatedOrg,
+ }
}
}
- onOrgAdded(org: any) {
+ onOrgAdded(org: Organization) {
if (org && org.id) {
- this.organizations.data[org.id] = { ...org }
+ this.organizations.data[org.id] = org
}
}
- onOrgDeleted(org: any) {
+ onOrgDeleted(org: Organization) {
if (org && org.id) {
const projects = values(this.projects.data)
// cleanup projects saved queries
diff --git a/studio/types/base.ts b/studio/types/base.ts
index 08799a0c9c0..f4ebb0b542f 100644
--- a/studio/types/base.ts
+++ b/studio/types/base.ts
@@ -4,9 +4,13 @@ export interface Organization {
name: string
billing_email: string
project_limit: number
- stripe_customer_id?: string
- total_free_projects?: number
+ members: any[]
+ projects: any[]
is_owner?: boolean
+ stripe_customer_id?: string
+ stripe_customer_object?: any
+ total_free_projects?: number
+ total_paid_projects?: number
}
export interface Project {
From a5ac16538dac3e1bb27b0a15ef4275cd49f8823d Mon Sep 17 00:00:00 2001
From: TzeYiing
Date: Wed, 12 Jan 2022 03:19:06 +0800
Subject: [PATCH 44/46] fix ux bug where search/editor values were getting
submitted despite being hidden
---
studio/pages/project/[ref]/settings/logs/[type].tsx | 3 ++-
studio/tests/pages/projects/logs.test.js | 8 ++++++++
2 files changed, 10 insertions(+), 1 deletion(-)
diff --git a/studio/pages/project/[ref]/settings/logs/[type].tsx b/studio/pages/project/[ref]/settings/logs/[type].tsx
index 9837bd0917e..e8c37638690 100644
--- a/studio/pages/project/[ref]/settings/logs/[type].tsx
+++ b/studio/pages/project/[ref]/settings/logs/[type].tsx
@@ -154,10 +154,11 @@ export const LogPage: NextPage = () => {
...prev,
where: isSelectQuery ? '' : editorValue,
sql: isSelectQuery ? editorValue : '',
+ search_query: ''
}))
}
const handleSearch = (v: string) => {
- setParams((prev) => ({ ...prev, search_query: v || '' }))
+ setParams((prev) => ({ ...prev, search_query: v || '', where: '', sql: '' }))
}
return (
diff --git a/studio/tests/pages/projects/logs.test.js b/studio/tests/pages/projects/logs.test.js
index 2352726b3dd..52b60044c01 100644
--- a/studio/tests/pages/projects/logs.test.js
+++ b/studio/tests/pages/projects/logs.test.js
@@ -187,6 +187,12 @@ test('where clause will trigger a log refresh', async () => {
return { data: [] }
})
const { container } = render( )
+ // fill search bar with some value, should be ignored when in custom mode
+ userEvent.type(screen.getByPlaceholderText(/Search/), 'search_value')
+ userEvent.click(screen.getByText('Go'))
+ // clear mock calls, for clean assertions
+ get.mockClear()
+
let editor = container.querySelector('.monaco-editor')
expect(editor).toBeFalsy()
// TODO: abstract this out into a toggle selection helper
@@ -204,6 +210,8 @@ test('where clause will trigger a log refresh', async () => {
() => {
expect(get).toHaveBeenCalledWith(expect.stringContaining('where'))
expect(get).toHaveBeenCalledWith(expect.stringContaining('metadata.field'))
+ // should ignore search bar value
+ expect(get).not.toHaveBeenCalledWith(expect.stringContaining('search_value'))
},
{ timeout: 1000 }
)
From fc7678f436058630a9f04148e3ef2192c22635dd Mon Sep 17 00:00:00 2001
From: TzeYiing
Date: Wed, 12 Jan 2022 03:20:59 +0800
Subject: [PATCH 45/46] clear editor on search query submit
---
studio/pages/project/[ref]/settings/logs/[type].tsx | 1 +
1 file changed, 1 insertion(+)
diff --git a/studio/pages/project/[ref]/settings/logs/[type].tsx b/studio/pages/project/[ref]/settings/logs/[type].tsx
index e8c37638690..cfc8a60eb2c 100644
--- a/studio/pages/project/[ref]/settings/logs/[type].tsx
+++ b/studio/pages/project/[ref]/settings/logs/[type].tsx
@@ -159,6 +159,7 @@ export const LogPage: NextPage = () => {
}
const handleSearch = (v: string) => {
setParams((prev) => ({ ...prev, search_query: v || '', where: '', sql: '' }))
+ setEditorValue('')
}
return (
From 5e32d1307fce34b4e159d7f205ffe170e7806abc Mon Sep 17 00:00:00 2001
From: Wolfgang Walther
Date: Sat, 8 Jan 2022 10:57:32 +0100
Subject: [PATCH 46/46] Change PGRST_DB_SCHEMA setting to new-style
PGRST_DB_SCHEMA
---
docker/docker-compose.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml
index 78197b5920e..c5bf1ccd05c 100644
--- a/docker/docker-compose.yml
+++ b/docker/docker-compose.yml
@@ -80,7 +80,7 @@ services:
restart: unless-stopped
environment:
PGRST_DB_URI: postgres://postgres:${POSTGRES_PASSWORD}@db:5432/postgres
- PGRST_DB_SCHEMA: public,storage
+ PGRST_DB_SCHEMAS: public,storage
PGRST_DB_ANON_ROLE: anon
PGRST_JWT_SECRET: ${JWT_SECRET}
PGRST_DB_USE_LEGACY_GUCS: "false"