浏览代码

Merge pull request #1 from steveruizok/github-auth

GitHub auth
main
Steve Ruiz 4 年前
父节点
当前提交
94a78a574d
没有帐户链接到提交者的电子邮件
共有 5 个文件被更改,包括 517 次插入9 次删除
  1. 1
    0
      package.json
  2. 6
    1
      pages/_app.tsx
  3. 21
    0
      pages/api/auth/[...nextauth].ts
  4. 77
    0
      pages/auth-test.tsx
  5. 412
    8
      yarn.lock

+ 1
- 0
package.json 查看文件

@@ -30,6 +30,7 @@
30 30
     "idb-keyval": "^5.0.6",
31 31
     "ismobilejs": "^1.1.1",
32 32
     "next": "10.2.0",
33
+    "next-auth": "^3.27.0",
33 34
     "next-pwa": "^5.2.21",
34 35
     "perfect-freehand": "^0.4.9",
35 36
     "prettier": "^2.3.0",

+ 6
- 1
pages/_app.tsx 查看文件

@@ -2,12 +2,17 @@ import useGtag from 'hooks/useGtag'
2 2
 import { AppProps } from 'next/app'
3 3
 import { globalStyles } from 'styles'
4 4
 import 'styles/globals.css'
5
+import { Provider } from 'next-auth/client'
5 6
 
6 7
 function MyApp({ Component, pageProps }: AppProps) {
7 8
   globalStyles()
8 9
   useGtag()
9 10
 
10
-  return <Component {...pageProps} />
11
+  return (
12
+    <Provider session={pageProps.session}>
13
+      <Component {...pageProps} />
14
+    </Provider>
15
+  )
11 16
 }
12 17
 
13 18
 export default MyApp

+ 21
- 0
pages/api/auth/[...nextauth].ts 查看文件

@@ -0,0 +1,21 @@
1
+import { NextApiRequest, NextApiResponse } from 'next'
2
+import NextAuth from 'next-auth'
3
+import Providers from 'next-auth/providers'
4
+
5
+const options = {
6
+  providers: [
7
+    Providers.GitHub({
8
+      clientId: process.env.GITHUB_ID,
9
+      clientSecret: process.env.GITHUB_SECRET,
10
+    }),
11
+  ],
12
+  callbacks: {
13
+    async redirect(url: string, baseUrl: string) {
14
+      return url.startsWith(baseUrl) ? url : baseUrl
15
+    },
16
+  },
17
+}
18
+
19
+export default function (req: NextApiRequest, res: NextApiResponse) {
20
+  return NextAuth(req, res, options)
21
+}

+ 77
- 0
pages/auth-test.tsx 查看文件

@@ -0,0 +1,77 @@
1
+import Head from 'next/head'
2
+import { signIn, signOut, getSession, useSession } from 'next-auth/client'
3
+import { GetServerSidePropsContext } from 'next'
4
+
5
+export default function Home({
6
+  ssrSession,
7
+  isOwner,
8
+  isSponsor,
9
+}: {
10
+  isOwner: boolean
11
+  isSponsor: boolean
12
+  ssrSession: any
13
+}) {
14
+  const [session, loading] = useSession()
15
+  return (
16
+    <>
17
+      <Head>
18
+        <title>tldraw</title>
19
+      </Head>
20
+      <div>
21
+        <button onClick={() => signIn()}>Sign In</button>
22
+        <button onClick={() => signOut()}>Sign Out</button>
23
+        <p>{loading && 'Loading...'}</p>
24
+        <pre>{JSON.stringify(session, null, 2)}</pre>
25
+        <p>Is owner? {isOwner.toString()}</p>
26
+        <p>Is sponsor? {isSponsor.toString()}</p>
27
+
28
+        {isSponsor ? (
29
+          <p>
30
+            <b>Hey, thanks for sponsoring me!</b>
31
+          </p>
32
+        ) : (
33
+          <p>
34
+            <b>
35
+              This site is just for my github sponsors.{' '}
36
+              <a
37
+                href="https://github.com/sponsors/steveruizok"
38
+                target="_blank"
39
+                rel="noopener noreferrer"
40
+              >
41
+                Sponsor here!
42
+              </a>
43
+            </b>
44
+          </p>
45
+        )}
46
+      </div>
47
+    </>
48
+  )
49
+}
50
+
51
+export async function getServerSideProps(context: GetServerSidePropsContext) {
52
+  let isSponsor = false
53
+
54
+  const session = await getSession(context)
55
+
56
+  if (session?.user) {
57
+    const id = session.user.image.match(/u\/(.*)\?/)?.[1]
58
+
59
+    const sponsors = await fetch(
60
+      'https://sponsors.trnck.dev/sponsors/steveruizok'
61
+    ).then((d) => d.json().then((d) => d.sponsors))
62
+
63
+    const sponsor = sponsors.find((sponsor: { avatar: string }) =>
64
+      sponsor.avatar.includes(id)
65
+    )
66
+
67
+    isSponsor = sponsor !== undefined
68
+  }
69
+
70
+  return {
71
+    props: {
72
+      isOwner: session?.user?.image.includes('23072548') || false,
73
+      isSponsor,
74
+      ssrSession: session,
75
+    },
76
+  }
77
+}

+ 412
- 8
yarn.lock 查看文件

@@ -1054,6 +1054,13 @@
1054 1054
   dependencies:
1055 1055
     regenerator-runtime "^0.13.4"
1056 1056
 
1057
+"@babel/runtime@^7.14.0":
1058
+  version "7.14.6"
1059
+  resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.14.6.tgz#535203bc0892efc7dec60bdc27b2ecf6e409062d"
1060
+  integrity sha512-/PCB2uJ7oM44tz8YhC4Z/6PeOKXp4K588f+5M3clr1M4zbqztlo0XEfJ2LEzj/FgwfgGcIdl8n7YYjTCI0BYwg==
1061
+  dependencies:
1062
+    regenerator-runtime "^0.13.4"
1063
+
1057 1064
 "@babel/template@^7.12.13", "@babel/template@^7.3.3":
1058 1065
   version "7.12.13"
1059 1066
   resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.12.13.tgz#530265be8a2589dbb37523844c5bcb55947fb327"
@@ -1461,6 +1468,22 @@
1461 1468
     prop-types "^15.7.2"
1462 1469
     state-local "^1.0.7"
1463 1470
 
1471
+"@next-auth/prisma-legacy-adapter@0.0.1-canary.127":
1472
+  version "0.0.1-canary.127"
1473
+  resolved "https://registry.yarnpkg.com/@next-auth/prisma-legacy-adapter/-/prisma-legacy-adapter-0.0.1-canary.127.tgz#09223de6d0350e53afc4bd0dda056a2fde27d8d3"
1474
+  integrity sha512-Pd2Y8b1ibDywrndbj3751VNKv1mVcg2w0uNIi01EBVkm5pqA1X+VnKWbPeHfh4arLYw93RPCvfLbWBZS7J1gZQ==
1475
+  dependencies:
1476
+    "@babel/runtime" "^7.14.0"
1477
+
1478
+"@next-auth/typeorm-legacy-adapter@0.0.2-canary.129":
1479
+  version "0.0.2-canary.129"
1480
+  resolved "https://registry.yarnpkg.com/@next-auth/typeorm-legacy-adapter/-/typeorm-legacy-adapter-0.0.2-canary.129.tgz#ec17c4561155281bd1504b5b38542234b4b162b1"
1481
+  integrity sha512-xEGz3TzBzz+5nXQ6BnC++KGfxTOAgztL32ZRLq47UKz9M0kFBP6pCMJjTszltsBHYUI/Wac2IG2egMTpHtppiQ==
1482
+  dependencies:
1483
+    "@babel/runtime" "^7.14.0"
1484
+    require_optional "^1.0.1"
1485
+    typeorm "^0.2.30"
1486
+
1464 1487
 "@next/env@10.2.0":
1465 1488
   version "10.2.0"
1466 1489
   resolved "https://registry.yarnpkg.com/@next/env/-/env-10.2.0.tgz#154dbce2efa3ad067ebd20b7d0aa9aed775e7c97"
@@ -1558,6 +1581,11 @@
1558 1581
   resolved "https://registry.yarnpkg.com/@opentelemetry/context-base/-/context-base-0.14.0.tgz#c67fc20a4d891447ca1a855d7d70fa79a3533001"
1559 1582
   integrity sha512-sDOAZcYwynHFTbLo6n8kIbLiVF3a3BLkrmehJUyEbT9F+Smbi47kLGS2gG2g0fjBLR/Lr1InPD7kXL7FaTqEkw==
1560 1583
 
1584
+"@panva/asn1.js@^1.0.0":
1585
+  version "1.0.0"
1586
+  resolved "https://registry.yarnpkg.com/@panva/asn1.js/-/asn1.js-1.0.0.tgz#dd55ae7b8129e02049f009408b97c61ccf9032f6"
1587
+  integrity sha512-UdkG3mLEqXgnlKsWanWcgb6dOjUzJ+XC5f+aWw30qrtjxeNUSfKX1cd5FBzOaXQumoe9nIqeZUvrRJS03HCCtw==
1588
+
1561 1589
 "@radix-ui/popper@0.0.10":
1562 1590
   version "0.0.10"
1563 1591
   resolved "https://registry.yarnpkg.com/@radix-ui/popper/-/popper-0.0.10.tgz#9f707d9cec8762423f81acaf8e650e40a554cb73"
@@ -2172,6 +2200,11 @@
2172 2200
   dependencies:
2173 2201
     type-detect "4.0.8"
2174 2202
 
2203
+"@sqltools/formatter@^1.2.2":
2204
+  version "1.2.3"
2205
+  resolved "https://registry.yarnpkg.com/@sqltools/formatter/-/formatter-1.2.3.tgz#1185726610acc37317ddab11c3c7f9066966bd20"
2206
+  integrity sha512-O3uyB/JbkAEMZaP3YqyHH7TMnex7tWyCbCI4EfJdOCoN6HIhqdJBWTM6aCCiWQ/5f5wxjgU735QAIpJbjDvmzg==
2207
+
2175 2208
 "@state-designer/core@latest":
2176 2209
   version "1.7.31"
2177 2210
   resolved "https://registry.yarnpkg.com/@state-designer/core/-/core-1.7.31.tgz#9b0662d347110dbf7e31b42d06f800e1cb953cae"
@@ -2452,6 +2485,11 @@
2452 2485
   dependencies:
2453 2486
     "@types/node" "*"
2454 2487
 
2488
+"@types/zen-observable@^0.8.2":
2489
+  version "0.8.2"
2490
+  resolved "https://registry.yarnpkg.com/@types/zen-observable/-/zen-observable-0.8.2.tgz#808c9fa7e4517274ed555fa158f2de4b4f468e71"
2491
+  integrity sha512-HrCIVMLjE1MOozVoD86622S7aunluLb2PJdPfb3nYiEtohm8mIB/vyv0Fd37AdeMFrTUQXEunw78YloMA3Qilg==
2492
+
2455 2493
 "@typescript-eslint/eslint-plugin@^2.12.0":
2456 2494
   version "2.34.0"
2457 2495
   resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.34.0.tgz#6f8ce8a46c7dea4a6f1d171d2bb8fbae6dac2be9"
@@ -2616,6 +2654,11 @@ any-observable@^0.3.0:
2616 2654
   resolved "https://registry.yarnpkg.com/any-observable/-/any-observable-0.3.0.tgz#af933475e5806a67d0d7df090dd5e8bef65d119b"
2617 2655
   integrity sha512-/FQM1EDkTsf63Ub2C6O7GuYFDsSXUwsaZDurV0np41ocwq0jthUAYCmhBX9f+KwlaCgIuWyr/4WlUQUBfKfZog==
2618 2656
 
2657
+any-promise@^1.0.0:
2658
+  version "1.3.0"
2659
+  resolved "https://registry.yarnpkg.com/any-promise/-/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f"
2660
+  integrity sha1-q8av7tzqUugJzcA3au0845Y10X8=
2661
+
2619 2662
 anymatch@^2.0.0:
2620 2663
   version "2.0.0"
2621 2664
   resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb"
@@ -2632,6 +2675,11 @@ anymatch@^3.0.0, anymatch@^3.0.3, anymatch@~3.1.1:
2632 2675
     normalize-path "^3.0.0"
2633 2676
     picomatch "^2.0.4"
2634 2677
 
2678
+app-root-path@^3.0.0:
2679
+  version "3.0.0"
2680
+  resolved "https://registry.yarnpkg.com/app-root-path/-/app-root-path-3.0.0.tgz#210b6f43873227e18a4b810a032283311555d5ad"
2681
+  integrity sha512-qMcx+Gy2UZynHjOHOIXPNvpf+9cjvk3cWrBBK7zg4gH9+clobJRb9NGzcT7mQTcV/6Gm/1WelUtqxVXnNlrwcw==
2682
+
2635 2683
 aproba@^1.0.3:
2636 2684
   version "1.2.0"
2637 2685
   resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a"
@@ -2657,6 +2705,11 @@ argparse@^1.0.7:
2657 2705
   dependencies:
2658 2706
     sprintf-js "~1.0.2"
2659 2707
 
2708
+argparse@^2.0.1:
2709
+  version "2.0.1"
2710
+  resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38"
2711
+  integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==
2712
+
2660 2713
 aria-hidden@^1.1.1:
2661 2714
   version "1.1.3"
2662 2715
   resolved "https://registry.yarnpkg.com/aria-hidden/-/aria-hidden-1.1.3.tgz#bb48de18dc84787a3c6eee113709c473c64ec254"
@@ -3007,7 +3060,7 @@ balanced-match@^1.0.0:
3007 3060
   resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee"
3008 3061
   integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==
3009 3062
 
3010
-base64-js@^1.0.2:
3063
+base64-js@^1.0.2, base64-js@^1.3.1:
3011 3064
   version "1.5.1"
3012 3065
   resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a"
3013 3066
   integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==
@@ -3217,6 +3270,11 @@ buffer-crc32@~0.2.3:
3217 3270
   resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242"
3218 3271
   integrity sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=
3219 3272
 
3273
+buffer-equal-constant-time@1.0.1:
3274
+  version "1.0.1"
3275
+  resolved "https://registry.yarnpkg.com/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz#f8e71132f7ffe6e01a5c9697a4c6f3e48d5cc819"
3276
+  integrity sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk=
3277
+
3220 3278
 buffer-from@1.x, buffer-from@^1.0.0:
3221 3279
   version "1.1.1"
3222 3280
   resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef"
@@ -3244,6 +3302,14 @@ buffer@^4.3.0:
3244 3302
     ieee754 "^1.1.4"
3245 3303
     isarray "^1.0.0"
3246 3304
 
3305
+buffer@^6.0.3:
3306
+  version "6.0.3"
3307
+  resolved "https://registry.yarnpkg.com/buffer/-/buffer-6.0.3.tgz#2ace578459cc8fbe2a70aaa8f52ee63b6a74c6c6"
3308
+  integrity sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==
3309
+  dependencies:
3310
+    base64-js "^1.3.1"
3311
+    ieee754 "^1.2.1"
3312
+
3247 3313
 builtin-modules@^3.1.0:
3248 3314
   version "3.2.0"
3249 3315
   resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-3.2.0.tgz#45d5db99e7ee5e6bc4f362e008bf917ab5049887"
@@ -3336,7 +3402,7 @@ chalk@4.0.0:
3336 3402
     ansi-styles "^4.1.0"
3337 3403
     supports-color "^7.1.0"
3338 3404
 
3339
-chalk@^1.0.0, chalk@^1.1.3:
3405
+chalk@^1.0.0, chalk@^1.1.1, chalk@^1.1.3:
3340 3406
   version "1.1.3"
3341 3407
   resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98"
3342 3408
   integrity sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=
@@ -3450,6 +3516,18 @@ cli-cursor@^3.1.0:
3450 3516
   dependencies:
3451 3517
     restore-cursor "^3.1.0"
3452 3518
 
3519
+cli-highlight@^2.1.10:
3520
+  version "2.1.11"
3521
+  resolved "https://registry.yarnpkg.com/cli-highlight/-/cli-highlight-2.1.11.tgz#49736fa452f0aaf4fae580e30acb26828d2dc1bf"
3522
+  integrity sha512-9KDcoEVwyUXrjcJNvHD0NFc/hiwe/WPVYIleQh2O1N2Zro5gWJZ/K+3DGn8w8P/F6FxOgzyC5bxDyHIgCSPhGg==
3523
+  dependencies:
3524
+    chalk "^4.0.0"
3525
+    highlight.js "^10.7.1"
3526
+    mz "^2.4.0"
3527
+    parse5 "^5.1.1"
3528
+    parse5-htmlparser2-tree-adapter "^6.0.0"
3529
+    yargs "^16.0.0"
3530
+
3453 3531
 cli-spinners@^1.3.1:
3454 3532
   version "1.3.1"
3455 3533
   resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-1.3.1.tgz#002c1990912d0d59580c93bd36c056de99e4259a"
@@ -3492,6 +3570,15 @@ cliui@^6.0.0:
3492 3570
     strip-ansi "^6.0.0"
3493 3571
     wrap-ansi "^6.2.0"
3494 3572
 
3573
+cliui@^7.0.2:
3574
+  version "7.0.4"
3575
+  resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f"
3576
+  integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==
3577
+  dependencies:
3578
+    string-width "^4.2.0"
3579
+    strip-ansi "^6.0.0"
3580
+    wrap-ansi "^7.0.0"
3581
+
3495 3582
 clone@^1.0.2:
3496 3583
   version "1.0.4"
3497 3584
   resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e"
@@ -3859,7 +3946,7 @@ debug@2, debug@^2.2.0, debug@^2.3.3, debug@^2.6.9:
3859 3946
   dependencies:
3860 3947
     ms "2.0.0"
3861 3948
 
3862
-debug@4, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1:
3949
+debug@4, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1:
3863 3950
   version "4.3.1"
3864 3951
   resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.1.tgz#f0d229c505e0c6d8c49ac553d1b13dc183f6b2ee"
3865 3952
   integrity sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==
@@ -4034,6 +4121,11 @@ domexception@^1.0.1:
4034 4121
   dependencies:
4035 4122
     webidl-conversions "^4.0.2"
4036 4123
 
4124
+dotenv@^8.2.0:
4125
+  version "8.6.0"
4126
+  resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-8.6.0.tgz#061af664d19f7f4d8fc6e4ff9b584ce237adcb8b"
4127
+  integrity sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g==
4128
+
4037 4129
 ecc-jsbn@~0.1.1:
4038 4130
   version "0.1.2"
4039 4131
   resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9"
@@ -4042,6 +4134,13 @@ ecc-jsbn@~0.1.1:
4042 4134
     jsbn "~0.1.0"
4043 4135
     safer-buffer "^2.1.0"
4044 4136
 
4137
+ecdsa-sig-formatter@1.0.11:
4138
+  version "1.0.11"
4139
+  resolved "https://registry.yarnpkg.com/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz#ae0f0fa2d85045ef14a817daa3ce9acd0489e5bf"
4140
+  integrity sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==
4141
+  dependencies:
4142
+    safe-buffer "^5.0.1"
4143
+
4045 4144
 ejs@^2.6.1:
4046 4145
   version "2.7.4"
4047 4146
   resolved "https://registry.yarnpkg.com/ejs/-/ejs-2.7.4.tgz#48661287573dcc53e366c7a1ae52c3a120eec9ba"
@@ -4645,6 +4744,11 @@ fd-slicer@~1.1.0:
4645 4744
   dependencies:
4646 4745
     pend "~1.2.0"
4647 4746
 
4747
+figlet@^1.1.1:
4748
+  version "1.5.0"
4749
+  resolved "https://registry.yarnpkg.com/figlet/-/figlet-1.5.0.tgz#2db4d00a584e5155a96080632db919213c3e003c"
4750
+  integrity sha512-ZQJM4aifMpz6H19AW1VqvZ7l4pOE9p7i/3LyxgO2kp+PO/VcDYNqIHEMtkccqIhTXMKci4kjueJr/iCQEaT/Ww==
4751
+
4648 4752
 figures@^1.7.0:
4649 4753
   version "1.7.0"
4650 4754
   resolved "https://registry.yarnpkg.com/figures/-/figures-1.7.0.tgz#cbe1e3affcf1cd44b80cadfed28dc793a9701d2e"
@@ -4819,6 +4923,11 @@ functional-red-black-tree@^1.0.1:
4819 4923
   resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327"
4820 4924
   integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=
4821 4925
 
4926
+futoin-hkdf@^1.3.2:
4927
+  version "1.3.3"
4928
+  resolved "https://registry.yarnpkg.com/futoin-hkdf/-/futoin-hkdf-1.3.3.tgz#6ee1c9c105dfa0995ba4f80633cf1c0c32defcb2"
4929
+  integrity sha512-oR75fYk3B3X9/B02Y6vusrBKucrpC6VjxhRL+C6B7FwUpuSRHbhBNG3AZbcE/xPyJmEQWsyqUFp3VeNNbA3S7A==
4930
+
4822 4931
 gauge@~2.7.3:
4823 4932
   version "2.7.4"
4824 4933
   resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7"
@@ -4838,7 +4947,7 @@ gensync@^1.0.0-beta.2:
4838 4947
   resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0"
4839 4948
   integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==
4840 4949
 
4841
-get-caller-file@^2.0.1:
4950
+get-caller-file@^2.0.1, get-caller-file@^2.0.5:
4842 4951
   version "2.0.5"
4843 4952
   resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e"
4844 4953
   integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==
@@ -5113,6 +5222,11 @@ hey-listen@^1.0.8:
5113 5222
   resolved "https://registry.yarnpkg.com/hey-listen/-/hey-listen-1.0.8.tgz#8e59561ff724908de1aa924ed6ecc84a56a9aa68"
5114 5223
   integrity sha512-COpmrF2NOg4TBWUJ5UVyaCU2A88wEMkUPK4hNqyCkqHbxT92BbvfjoSozkAIIm6XhicGlJHhFdullInrdhwU8Q==
5115 5224
 
5225
+highlight.js@^10.7.1:
5226
+  version "10.7.3"
5227
+  resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-10.7.3.tgz#697272e3991356e40c3cac566a74eef681756531"
5228
+  integrity sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==
5229
+
5116 5230
 hmac-drbg@^1.0.1:
5117 5231
   version "1.0.1"
5118 5232
   resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1"
@@ -5208,7 +5322,7 @@ idb-keyval@^5.0.6:
5208 5322
   resolved "https://registry.yarnpkg.com/idb-keyval/-/idb-keyval-5.0.6.tgz#62fe4a6703fb5ec86661f41330c94fda65e6d0e6"
5209 5323
   integrity sha512-6lJuVbwyo82mKSH6Wq2eHkt9LcbwHAelMIcMe0tP4p20Pod7tTxq9zf0ge2n/YDfMOpDryerfmmYyuQiaFaKOg==
5210 5324
 
5211
-ieee754@^1.1.4:
5325
+ieee754@^1.1.4, ieee754@^1.2.1:
5212 5326
   version "1.2.1"
5213 5327
   resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352"
5214 5328
   integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==
@@ -6157,6 +6271,13 @@ jest@^25.3.0:
6157 6271
     import-local "^3.0.2"
6158 6272
     jest-cli "^25.5.4"
6159 6273
 
6274
+jose@^1.27.2:
6275
+  version "1.28.1"
6276
+  resolved "https://registry.yarnpkg.com/jose/-/jose-1.28.1.tgz#34a0f851a534be59ffab82a6e8845f6874e8c128"
6277
+  integrity sha512-6JK28rFu5ENp/yxMwM+iN7YeaInnY9B9Bggjkz5fuwLiJhbVrl2O4SJr65bdNBPl9y27fdC3Mymh+FVCvozLIg==
6278
+  dependencies:
6279
+    "@panva/asn1.js" "^1.0.0"
6280
+
6160 6281
 jpjs@^1.2.1:
6161 6282
   version "1.2.1"
6162 6283
   resolved "https://registry.yarnpkg.com/jpjs/-/jpjs-1.2.1.tgz#f343833de8838a5beba1f42d5a219be0114c44b7"
@@ -6175,6 +6296,13 @@ js-yaml@^3.13.1:
6175 6296
     argparse "^1.0.7"
6176 6297
     esprima "^4.0.0"
6177 6298
 
6299
+js-yaml@^4.0.0:
6300
+  version "4.1.0"
6301
+  resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602"
6302
+  integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==
6303
+  dependencies:
6304
+    argparse "^2.0.1"
6305
+
6178 6306
 jsbn@~0.1.0:
6179 6307
   version "0.1.1"
6180 6308
   resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513"
@@ -6282,6 +6410,22 @@ jsonfile@^6.0.1:
6282 6410
   optionalDependencies:
6283 6411
     graceful-fs "^4.1.6"
6284 6412
 
6413
+jsonwebtoken@^8.5.1:
6414
+  version "8.5.1"
6415
+  resolved "https://registry.yarnpkg.com/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz#00e71e0b8df54c2121a1f26137df2280673bcc0d"
6416
+  integrity sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w==
6417
+  dependencies:
6418
+    jws "^3.2.2"
6419
+    lodash.includes "^4.3.0"
6420
+    lodash.isboolean "^3.0.3"
6421
+    lodash.isinteger "^4.0.4"
6422
+    lodash.isnumber "^3.0.3"
6423
+    lodash.isplainobject "^4.0.6"
6424
+    lodash.isstring "^4.0.1"
6425
+    lodash.once "^4.0.0"
6426
+    ms "^2.1.1"
6427
+    semver "^5.6.0"
6428
+
6285 6429
 jsprim@^1.2.2:
6286 6430
   version "1.4.1"
6287 6431
   resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2"
@@ -6300,6 +6444,23 @@ jsprim@^1.2.2:
6300 6444
     array-includes "^3.1.2"
6301 6445
     object.assign "^4.1.2"
6302 6446
 
6447
+jwa@^1.4.1:
6448
+  version "1.4.1"
6449
+  resolved "https://registry.yarnpkg.com/jwa/-/jwa-1.4.1.tgz#743c32985cb9e98655530d53641b66c8645b039a"
6450
+  integrity sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==
6451
+  dependencies:
6452
+    buffer-equal-constant-time "1.0.1"
6453
+    ecdsa-sig-formatter "1.0.11"
6454
+    safe-buffer "^5.0.1"
6455
+
6456
+jws@^3.2.2:
6457
+  version "3.2.2"
6458
+  resolved "https://registry.yarnpkg.com/jws/-/jws-3.2.2.tgz#001099f3639468c9414000e99995fa52fb478304"
6459
+  integrity sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==
6460
+  dependencies:
6461
+    jwa "^1.4.1"
6462
+    safe-buffer "^5.0.1"
6463
+
6303 6464
 kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0:
6304 6465
   version "3.2.2"
6305 6466
   resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64"
@@ -6475,6 +6636,36 @@ lodash.debounce@^4.0.8:
6475 6636
   resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af"
6476 6637
   integrity sha1-gteb/zCmfEAF/9XiUVMArZyk168=
6477 6638
 
6639
+lodash.includes@^4.3.0:
6640
+  version "4.3.0"
6641
+  resolved "https://registry.yarnpkg.com/lodash.includes/-/lodash.includes-4.3.0.tgz#60bb98a87cb923c68ca1e51325483314849f553f"
6642
+  integrity sha1-YLuYqHy5I8aMoeUTJUgzFISfVT8=
6643
+
6644
+lodash.isboolean@^3.0.3:
6645
+  version "3.0.3"
6646
+  resolved "https://registry.yarnpkg.com/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz#6c2e171db2a257cd96802fd43b01b20d5f5870f6"
6647
+  integrity sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY=
6648
+
6649
+lodash.isinteger@^4.0.4:
6650
+  version "4.0.4"
6651
+  resolved "https://registry.yarnpkg.com/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz#619c0af3d03f8b04c31f5882840b77b11cd68343"
6652
+  integrity sha1-YZwK89A/iwTDH1iChAt3sRzWg0M=
6653
+
6654
+lodash.isnumber@^3.0.3:
6655
+  version "3.0.3"
6656
+  resolved "https://registry.yarnpkg.com/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz#3ce76810c5928d03352301ac287317f11c0b1ffc"
6657
+  integrity sha1-POdoEMWSjQM1IwGsKHMX8RwLH/w=
6658
+
6659
+lodash.isplainobject@^4.0.6:
6660
+  version "4.0.6"
6661
+  resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb"
6662
+  integrity sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=
6663
+
6664
+lodash.isstring@^4.0.1:
6665
+  version "4.0.1"
6666
+  resolved "https://registry.yarnpkg.com/lodash.isstring/-/lodash.isstring-4.0.1.tgz#d527dfb5456eca7cc9bb95d5daeaf88ba54a5451"
6667
+  integrity sha1-1SfftUVuynzJu5XV2ur4i6VKVFE=
6668
+
6478 6669
 lodash.memoize@4.x:
6479 6670
   version "4.1.2"
6480 6671
   resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe"
@@ -6485,7 +6676,7 @@ lodash.merge@^4.6.2:
6485 6676
   resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a"
6486 6677
   integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==
6487 6678
 
6488
-lodash.once@^4.1.1:
6679
+lodash.once@^4.0.0, lodash.once@^4.1.1:
6489 6680
   version "4.1.1"
6490 6681
   resolved "https://registry.yarnpkg.com/lodash.once/-/lodash.once-4.1.1.tgz#0dd3971213c7c56df880977d504c88fb471a97ac"
6491 6682
   integrity sha1-DdOXEhPHxW34gJd9UEyI+0cal6w=
@@ -6715,6 +6906,11 @@ mkdirp@0.x, mkdirp@^0.5.1, mkdirp@^0.5.5:
6715 6906
   dependencies:
6716 6907
     minimist "^1.2.5"
6717 6908
 
6909
+mkdirp@^1.0.4:
6910
+  version "1.0.4"
6911
+  resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e"
6912
+  integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==
6913
+
6718 6914
 monaco-editor@^0.24.0:
6719 6915
   version "0.24.0"
6720 6916
   resolved "https://registry.yarnpkg.com/monaco-editor/-/monaco-editor-0.24.0.tgz#990b55096bcc95d08d8d28e55264c6eb17707269"
@@ -6745,6 +6941,15 @@ mute-stream@0.0.8:
6745 6941
   resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d"
6746 6942
   integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==
6747 6943
 
6944
+mz@^2.4.0:
6945
+  version "2.7.0"
6946
+  resolved "https://registry.yarnpkg.com/mz/-/mz-2.7.0.tgz#95008057a56cafadc2bc63dde7f9ff6955948e32"
6947
+  integrity sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==
6948
+  dependencies:
6949
+    any-promise "^1.0.0"
6950
+    object-assign "^4.0.1"
6951
+    thenify-all "^1.0.0"
6952
+
6748 6953
 nanoid@^3.1.22:
6749 6954
   version "3.1.23"
6750 6955
   resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.23.tgz#f744086ce7c2bc47ee0a8472574d5c78e4183a81"
@@ -6779,6 +6984,24 @@ natural-compare@^1.4.0:
6779 6984
   resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"
6780 6985
   integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=
6781 6986
 
6987
+next-auth@^3.27.0:
6988
+  version "3.27.0"
6989
+  resolved "https://registry.yarnpkg.com/next-auth/-/next-auth-3.27.0.tgz#2a40ab7fcc40c81ecb3e271059d83513b70d09fd"
6990
+  integrity sha512-mnPwODN+g4901o5TcK3x8+pxEM4si19QPOkP7NCXMz90VMMEDBlm3SGviraYQm6QwYxrwK8sG1hN6SxLIM7ckw==
6991
+  dependencies:
6992
+    "@babel/runtime" "^7.14.0"
6993
+    "@next-auth/prisma-legacy-adapter" "0.0.1-canary.127"
6994
+    "@next-auth/typeorm-legacy-adapter" "0.0.2-canary.129"
6995
+    futoin-hkdf "^1.3.2"
6996
+    jose "^1.27.2"
6997
+    jsonwebtoken "^8.5.1"
6998
+    nodemailer "^6.4.16"
6999
+    oauth "^0.9.15"
7000
+    pkce-challenge "^2.1.0"
7001
+    preact "^10.4.1"
7002
+    preact-render-to-string "^5.1.14"
7003
+    querystring "^0.2.0"
7004
+
6782 7005
 next-pwa@^5.2.21:
6783 7006
   version "5.2.21"
6784 7007
   resolved "https://registry.yarnpkg.com/next-pwa/-/next-pwa-5.2.21.tgz#fb71ba35b1a984ec6641c5def64ca8c0ab9c2b0f"
@@ -6983,6 +7206,11 @@ node-releases@^1.1.69, node-releases@^1.1.71:
6983 7206
   resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.72.tgz#14802ab6b1039a79a0c7d662b610a5bbd76eacbe"
6984 7207
   integrity sha512-LLUo+PpH3dU6XizX3iVoubUNheF/owjXCZZ5yACDxNnPtgFuludV1ZL3ayK1kVep42Rmm0+R9/Y60NQbZ2bifw==
6985 7208
 
7209
+nodemailer@^6.4.16:
7210
+  version "6.6.2"
7211
+  resolved "https://registry.yarnpkg.com/nodemailer/-/nodemailer-6.6.2.tgz#e184c9ed5bee245a3e0bcabc7255866385757114"
7212
+  integrity sha512-YSzu7TLbI+bsjCis/TZlAXBoM4y93HhlIgo0P5oiA2ua9Z4k+E2Fod//ybIzdJxOlXGRcHIh/WaeCBehvxZb/Q==
7213
+
6986 7214
 normalize-package-data@^2.3.2, normalize-package-data@^2.5.0:
6987 7215
   version "2.5.0"
6988 7216
   resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8"
@@ -7044,6 +7272,11 @@ oauth-sign@~0.9.0:
7044 7272
   resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455"
7045 7273
   integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==
7046 7274
 
7275
+oauth@^0.9.15:
7276
+  version "0.9.15"
7277
+  resolved "https://registry.yarnpkg.com/oauth/-/oauth-0.9.15.tgz#bd1fefaf686c96b75475aed5196412ff60cfb9c1"
7278
+  integrity sha1-vR/vr2hslrdUda7VGWQS/2DPucE=
7279
+
7047 7280
 object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1:
7048 7281
   version "4.1.1"
7049 7282
   resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
@@ -7272,6 +7505,11 @@ parent-module@^1.0.0:
7272 7505
   dependencies:
7273 7506
     callsites "^3.0.0"
7274 7507
 
7508
+parent-require@^1.0.0:
7509
+  version "1.0.0"
7510
+  resolved "https://registry.yarnpkg.com/parent-require/-/parent-require-1.0.0.tgz#746a167638083a860b0eef6732cb27ed46c32977"
7511
+  integrity sha1-dGoWdjgIOoYLDu9nMssn7UbDKXc=
7512
+
7275 7513
 parse-asn1@^5.0.0, parse-asn1@^5.1.5:
7276 7514
   version "5.1.6"
7277 7515
   resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.6.tgz#385080a3ec13cb62a62d39409cb3e88844cdaed4"
@@ -7301,11 +7539,28 @@ parse-json@^5.0.0:
7301 7539
     json-parse-even-better-errors "^2.3.0"
7302 7540
     lines-and-columns "^1.1.6"
7303 7541
 
7542
+parse5-htmlparser2-tree-adapter@^6.0.0:
7543
+  version "6.0.1"
7544
+  resolved "https://registry.yarnpkg.com/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz#2cdf9ad823321140370d4dbf5d3e92c7c8ddc6e6"
7545
+  integrity sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==
7546
+  dependencies:
7547
+    parse5 "^6.0.1"
7548
+
7304 7549
 parse5@5.1.0:
7305 7550
   version "5.1.0"
7306 7551
   resolved "https://registry.yarnpkg.com/parse5/-/parse5-5.1.0.tgz#c59341c9723f414c452975564c7c00a68d58acd2"
7307 7552
   integrity sha512-fxNG2sQjHvlVAYmzBZS9YlDp6PTSSDwa98vkD4QgVDDCAo84z5X1t5XyJQ62ImdLXx5NdIIfihey6xpum9/gRQ==
7308 7553
 
7554
+parse5@^5.1.1:
7555
+  version "5.1.1"
7556
+  resolved "https://registry.yarnpkg.com/parse5/-/parse5-5.1.1.tgz#f68e4e5ba1852ac2cadc00f4555fff6c2abb6178"
7557
+  integrity sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==
7558
+
7559
+parse5@^6.0.1:
7560
+  version "6.0.1"
7561
+  resolved "https://registry.yarnpkg.com/parse5/-/parse5-6.0.1.tgz#e1a1c085c569b3dc08321184f19a39cc27f7c30b"
7562
+  integrity sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==
7563
+
7309 7564
 pascal-case@^3.1.1:
7310 7565
   version "3.1.2"
7311 7566
   resolved "https://registry.yarnpkg.com/pascal-case/-/pascal-case-3.1.2.tgz#b48e0ef2b98e205e7c1dae747d0b1508237660eb"
@@ -7441,6 +7696,11 @@ pirates@^4.0.1:
7441 7696
   dependencies:
7442 7697
     node-modules-regexp "^1.0.0"
7443 7698
 
7699
+pkce-challenge@^2.1.0:
7700
+  version "2.2.0"
7701
+  resolved "https://registry.yarnpkg.com/pkce-challenge/-/pkce-challenge-2.2.0.tgz#02622e0498b82aab248c8c7dbf6507e8bbe20abf"
7702
+  integrity sha512-Ly0Y0OwhtG2N1ynk5ruqoyJxkrWhAPmvdRk0teiLh9Dp2+J4URKpv1JSKWD0j1Sd+QCeiwO9lTl0EjmrB2jWeA==
7703
+
7444 7704
 pkg-dir@^2.0.0:
7445 7705
   version "2.0.0"
7446 7706
   resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-2.0.0.tgz#f6d5d1109e19d63edf428e0bd57e12777615334b"
@@ -7503,6 +7763,18 @@ postcss@8.2.13:
7503 7763
     nanoid "^3.1.22"
7504 7764
     source-map "^0.6.1"
7505 7765
 
7766
+preact-render-to-string@^5.1.14:
7767
+  version "5.1.19"
7768
+  resolved "https://registry.yarnpkg.com/preact-render-to-string/-/preact-render-to-string-5.1.19.tgz#ffae7c3bd1680be5ecf5991d41fe3023b3051e0e"
7769
+  integrity sha512-bj8sn/oytIKO6RtOGSS/1+5CrQyRSC99eLUnEVbqUa6MzJX5dYh7wu9bmT0d6lm/Vea21k9KhCQwvr2sYN3rrQ==
7770
+  dependencies:
7771
+    pretty-format "^3.8.0"
7772
+
7773
+preact@^10.4.1:
7774
+  version "10.5.13"
7775
+  resolved "https://registry.yarnpkg.com/preact/-/preact-10.5.13.tgz#85f6c9197ecd736ce8e3bec044d08fd1330fa019"
7776
+  integrity sha512-q/vlKIGNwzTLu+jCcvywgGrt+H/1P/oIRSD6mV4ln3hmlC+Aa34C7yfPI4+5bzW8pONyVXYS7SvXosy2dKKtWQ==
7777
+
7506 7778
 prelude-ls@~1.1.2:
7507 7779
   version "1.1.2"
7508 7780
   resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54"
@@ -7540,6 +7812,11 @@ pretty-format@^25.2.1, pretty-format@^25.5.0:
7540 7812
     ansi-styles "^4.0.0"
7541 7813
     react-is "^16.12.0"
7542 7814
 
7815
+pretty-format@^3.8.0:
7816
+  version "3.8.0"
7817
+  resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-3.8.0.tgz#bfbed56d5e9a776645f4b1ff7aa1a3ac4fa3c385"
7818
+  integrity sha1-v77VbV6ad2ZF9LH/eqGjrE+jw4U=
7819
+
7543 7820
 process-nextick-args@~2.0.0:
7544 7821
   version "2.0.1"
7545 7822
   resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2"
@@ -7826,6 +8103,11 @@ rechoir@^0.6.2:
7826 8103
   dependencies:
7827 8104
     resolve "^1.1.6"
7828 8105
 
8106
+reflect-metadata@^0.1.13:
8107
+  version "0.1.13"
8108
+  resolved "https://registry.yarnpkg.com/reflect-metadata/-/reflect-metadata-0.1.13.tgz#67ae3ca57c972a2aa1642b10fe363fe32d49dc08"
8109
+  integrity sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==
8110
+
7829 8111
 regenerate-unicode-properties@^8.2.0:
7830 8112
   version "8.2.0"
7831 8113
   resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz#e5de7111d655e7ba60c057dbe9ff37c87e65cdec"
@@ -7974,6 +8256,14 @@ require-main-filename@^2.0.0:
7974 8256
   resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b"
7975 8257
   integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==
7976 8258
 
8259
+require_optional@^1.0.1:
8260
+  version "1.0.1"
8261
+  resolved "https://registry.yarnpkg.com/require_optional/-/require_optional-1.0.1.tgz#4cf35a4247f64ca3df8c2ef208cc494b1ca8fc2e"
8262
+  integrity sha512-qhM/y57enGWHAe3v/NcwML6a3/vfESLe/sGM2dII+gEO0BpKRUkWZow/tyloNqJyN6kXSl3RyyM8Ll5D/sJP8g==
8263
+  dependencies:
8264
+    resolve-from "^2.0.0"
8265
+    semver "^5.1.0"
8266
+
7977 8267
 resolve-cwd@^3.0.0:
7978 8268
   version "3.0.0"
7979 8269
   resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d"
@@ -7981,6 +8271,11 @@ resolve-cwd@^3.0.0:
7981 8271
   dependencies:
7982 8272
     resolve-from "^5.0.0"
7983 8273
 
8274
+resolve-from@^2.0.0:
8275
+  version "2.0.0"
8276
+  resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-2.0.0.tgz#9480ab20e94ffa1d9e80a804c7ea147611966b57"
8277
+  integrity sha1-lICrIOlP+h2egKgEx+oUdhGWa1c=
8278
+
7984 8279
 resolve-from@^4.0.0:
7985 8280
   version "4.0.0"
7986 8281
   resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6"
@@ -8218,6 +8513,11 @@ sane@^4.0.3:
8218 8513
     minimist "^1.1.1"
8219 8514
     walker "~1.0.5"
8220 8515
 
8516
+sax@>=0.6.0:
8517
+  version "1.2.4"
8518
+  resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9"
8519
+  integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==
8520
+
8221 8521
 saxes@^3.1.9:
8222 8522
   version "3.1.11"
8223 8523
   resolved "https://registry.yarnpkg.com/saxes/-/saxes-3.1.11.tgz#d59d1fd332ec92ad98a2e0b2ee644702384b1c5b"
@@ -8251,7 +8551,7 @@ schema-utils@^3.0.0:
8251 8551
     ajv "^6.12.5"
8252 8552
     ajv-keywords "^3.5.2"
8253 8553
 
8254
-"semver@2 || 3 || 4 || 5", semver@^5.5.0:
8554
+"semver@2 || 3 || 4 || 5", semver@^5.1.0, semver@^5.5.0, semver@^5.6.0:
8255 8555
   version "5.7.1"
8256 8556
   resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7"
8257 8557
   integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==
@@ -8312,7 +8612,7 @@ setprototypeof@1.1.1:
8312 8612
   resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.1.tgz#7e95acb24aa92f5885e0abef5ba131330d4ae683"
8313 8613
   integrity sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==
8314 8614
 
8315
-sha.js@^2.4.0, sha.js@^2.4.8:
8615
+sha.js@^2.4.0, sha.js@^2.4.11, sha.js@^2.4.8:
8316 8616
   version "2.4.11"
8317 8617
   resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7"
8318 8618
   integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==
@@ -8948,6 +9248,20 @@ text-table@^0.2.0:
8948 9248
   resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4"
8949 9249
   integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=
8950 9250
 
9251
+thenify-all@^1.0.0:
9252
+  version "1.6.0"
9253
+  resolved "https://registry.yarnpkg.com/thenify-all/-/thenify-all-1.6.0.tgz#1a1918d402d8fc3f98fbf234db0bcc8cc10e9726"
9254
+  integrity sha1-GhkY1ALY/D+Y+/I02wvMjMEOlyY=
9255
+  dependencies:
9256
+    thenify ">= 3.1.0 < 4"
9257
+
9258
+"thenify@>= 3.1.0 < 4":
9259
+  version "3.3.1"
9260
+  resolved "https://registry.yarnpkg.com/thenify/-/thenify-3.3.1.tgz#8932e686a4066038a016dd9e2ca46add9838a95f"
9261
+  integrity sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==
9262
+  dependencies:
9263
+    any-promise "^1.0.0"
9264
+
8951 9265
 throat@^5.0.0:
8952 9266
   version "5.0.0"
8953 9267
   resolved "https://registry.yarnpkg.com/throat/-/throat-5.0.0.tgz#c5199235803aad18754a667d659b5e72ce16764b"
@@ -9249,6 +9563,29 @@ typedarray-to-buffer@^3.1.5:
9249 9563
   dependencies:
9250 9564
     is-typedarray "^1.0.0"
9251 9565
 
9566
+typeorm@^0.2.30:
9567
+  version "0.2.34"
9568
+  resolved "https://registry.yarnpkg.com/typeorm/-/typeorm-0.2.34.tgz#637b3cec2de54ee7f423012b813a2022c0aacc8b"
9569
+  integrity sha512-FZAeEGGdSGq7uTH3FWRQq67JjKu0mgANsSZ04j3kvDYNgy9KwBl/6RFgMVgiSgjf7Rqd7NrhC2KxVT7I80qf7w==
9570
+  dependencies:
9571
+    "@sqltools/formatter" "^1.2.2"
9572
+    app-root-path "^3.0.0"
9573
+    buffer "^6.0.3"
9574
+    chalk "^4.1.0"
9575
+    cli-highlight "^2.1.10"
9576
+    debug "^4.3.1"
9577
+    dotenv "^8.2.0"
9578
+    glob "^7.1.6"
9579
+    js-yaml "^4.0.0"
9580
+    mkdirp "^1.0.4"
9581
+    reflect-metadata "^0.1.13"
9582
+    sha.js "^2.4.11"
9583
+    tslib "^2.1.0"
9584
+    xml2js "^0.4.23"
9585
+    yargonaut "^1.1.4"
9586
+    yargs "^16.2.0"
9587
+    zen-observable-ts "^1.0.0"
9588
+
9252 9589
 typescript@^3.7.3:
9253 9590
   version "3.9.9"
9254 9591
   resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.9.9.tgz#e69905c54bc0681d0518bd4d587cc6f2d0b1a674"
@@ -9787,6 +10124,15 @@ wrap-ansi@^6.2.0:
9787 10124
     string-width "^4.1.0"
9788 10125
     strip-ansi "^6.0.0"
9789 10126
 
10127
+wrap-ansi@^7.0.0:
10128
+  version "7.0.0"
10129
+  resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43"
10130
+  integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==
10131
+  dependencies:
10132
+    ansi-styles "^4.0.0"
10133
+    string-width "^4.1.0"
10134
+    strip-ansi "^6.0.0"
10135
+
9790 10136
 wrappy@1:
9791 10137
   version "1.0.2"
9792 10138
   resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
@@ -9819,6 +10165,19 @@ xml-name-validator@^3.0.0:
9819 10165
   resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a"
9820 10166
   integrity sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==
9821 10167
 
10168
+xml2js@^0.4.23:
10169
+  version "0.4.23"
10170
+  resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.4.23.tgz#a0c69516752421eb2ac758ee4d4ccf58843eac66"
10171
+  integrity sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==
10172
+  dependencies:
10173
+    sax ">=0.6.0"
10174
+    xmlbuilder "~11.0.0"
10175
+
10176
+xmlbuilder@~11.0.0:
10177
+  version "11.0.1"
10178
+  resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-11.0.1.tgz#be9bae1c8a046e76b31127726347d0ad7002beb3"
10179
+  integrity sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==
10180
+
9822 10181
 xmlchars@^2.1.1:
9823 10182
   version "2.2.0"
9824 10183
   resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb"
@@ -9834,6 +10193,11 @@ y18n@^4.0.0:
9834 10193
   resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.3.tgz#b5f259c82cd6e336921efd7bfd8bf560de9eeedf"
9835 10194
   integrity sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==
9836 10195
 
10196
+y18n@^5.0.5:
10197
+  version "5.0.8"
10198
+  resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55"
10199
+  integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==
10200
+
9837 10201
 yallist@^4.0.0:
9838 10202
   version "4.0.0"
9839 10203
   resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72"
@@ -9844,6 +10208,15 @@ yaml@^1.7.2:
9844 10208
   resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b"
9845 10209
   integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==
9846 10210
 
10211
+yargonaut@^1.1.4:
10212
+  version "1.1.4"
10213
+  resolved "https://registry.yarnpkg.com/yargonaut/-/yargonaut-1.1.4.tgz#c64f56432c7465271221f53f5cc517890c3d6e0c"
10214
+  integrity sha512-rHgFmbgXAAzl+1nngqOcwEljqHGG9uUZoPjsdZEs1w5JW9RXYzrSvH/u70C1JE5qFi0qjsdhnUX/dJRpWqitSA==
10215
+  dependencies:
10216
+    chalk "^1.1.1"
10217
+    figlet "^1.1.1"
10218
+    parent-require "^1.0.0"
10219
+
9847 10220
 yargs-parser@18.x, yargs-parser@^18.1.2:
9848 10221
   version "18.1.3"
9849 10222
   resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0"
@@ -9852,6 +10225,11 @@ yargs-parser@18.x, yargs-parser@^18.1.2:
9852 10225
     camelcase "^5.0.0"
9853 10226
     decamelize "^1.2.0"
9854 10227
 
10228
+yargs-parser@^20.2.2:
10229
+  version "20.2.7"
10230
+  resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.7.tgz#61df85c113edfb5a7a4e36eb8aa60ef423cbc90a"
10231
+  integrity sha512-FiNkvbeHzB/syOjIUxFDCnhSfzAL8R5vs40MgLFBorXACCOAEaWu0gRZl14vG8MR9AOJIZbmkjhusqBYZ3HTHw==
10232
+
9855 10233
 yargs@^15.3.1:
9856 10234
   version "15.4.1"
9857 10235
   resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8"
@@ -9869,6 +10247,19 @@ yargs@^15.3.1:
9869 10247
     y18n "^4.0.0"
9870 10248
     yargs-parser "^18.1.2"
9871 10249
 
10250
+yargs@^16.0.0, yargs@^16.2.0:
10251
+  version "16.2.0"
10252
+  resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66"
10253
+  integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==
10254
+  dependencies:
10255
+    cliui "^7.0.2"
10256
+    escalade "^3.1.1"
10257
+    get-caller-file "^2.0.5"
10258
+    require-directory "^2.1.1"
10259
+    string-width "^4.2.0"
10260
+    y18n "^5.0.5"
10261
+    yargs-parser "^20.2.2"
10262
+
9872 10263
 yauzl@^2.10.0:
9873 10264
   version "2.10.0"
9874 10265
   resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.10.0.tgz#c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9"
@@ -9881,3 +10272,16 @@ yocto-queue@^0.1.0:
9881 10272
   version "0.1.0"
9882 10273
   resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b"
9883 10274
   integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==
10275
+
10276
+zen-observable-ts@^1.0.0:
10277
+  version "1.0.0"
10278
+  resolved "https://registry.yarnpkg.com/zen-observable-ts/-/zen-observable-ts-1.0.0.tgz#30d1202b81d8ba4c489e3781e8ca09abf0075e70"
10279
+  integrity sha512-KmWcbz+9kKUeAQ8btY8m1SsEFgBcp7h/Uf3V5quhan7ZWdjGsf0JcGLULQiwOZibbFWnHkYq8Nn2AZbJabovQg==
10280
+  dependencies:
10281
+    "@types/zen-observable" "^0.8.2"
10282
+    zen-observable "^0.8.15"
10283
+
10284
+zen-observable@^0.8.15:
10285
+  version "0.8.15"
10286
+  resolved "https://registry.yarnpkg.com/zen-observable/-/zen-observable-0.8.15.tgz#96415c512d8e3ffd920afd3889604e30b9eaac15"
10287
+  integrity sha512-PQ2PC7R9rslx84ndNBZB/Dkv8V8fZEpk83RLgXtYd0fwUgEjseMn1Dgajh2x6S8QbZAFa9p2qVCEuYZNgve0dQ==

正在加载...
取消
保存