~repos /edge-city

#react#js#ssr

git clone https://pyrossh.dev/repos/edge-city.git

edge-city is a next level meta-framework for react that runs only on edge runtimes


54eb6f52 pyrossh

2 years ago
fix services
Files changed (36) hide show
  1. cli.js +66 -33
  2. example/jsconfig.json +1 -1
  3. example/main.js +4 -0
  4. example/package.json +1 -1
  5. example/{components → src/components}/Counter/Counter.jsx +0 -0
  6. example/{components → src/components}/Layout/Layout.css +0 -0
  7. example/{components → src/components}/Layout/Layout.jsx +0 -0
  8. example/{components → src/components}/Timer/Timer.jsx +0 -0
  9. example/{components → src/components}/Todo/Todo.css +0 -0
  10. example/{components → src/components}/Todo/Todo.jsx +0 -0
  11. example/{db → src/db}/index.js +1 -1
  12. example/{db → src/db}/migrations/0000_empty_shatterstar.sql +0 -0
  13. example/{db → src/db}/migrations/meta/0000_snapshot.json +0 -0
  14. example/{db → src/db}/migrations/meta/_journal.json +0 -0
  15. example/{pages → src/pages}/_404/page.css +0 -0
  16. example/{pages → src/pages}/_404/page.jsx +0 -0
  17. example/{pages → src/pages}/_500/page.css +0 -0
  18. example/{pages → src/pages}/_500/page.jsx +0 -0
  19. example/{pages → src/pages}/about/page.css +0 -0
  20. example/{pages → src/pages}/about/page.jsx +0 -0
  21. example/{pages → src/pages}/page.css +0 -0
  22. example/{pages → src/pages}/page.jsx +1 -1
  23. example/{pages → src/pages}/page.spec.js +0 -0
  24. example/{services → src/services}/auth.service.js +0 -0
  25. example/{services → src/services}/todos.service.js +0 -0
  26. example/{services → src/services}/todos.service.test.js +0 -0
  27. example/{static → src/static}/favicon.ico +0 -0
  28. example/{static → src/static}/logo192.png +0 -0
  29. example/{static → src/static}/logo512.png +0 -0
  30. example/{static → src/static}/manifest.json +0 -0
  31. example/{static → src/static}/robots.txt +0 -0
  32. example/{static → src/static}/todos/page.css +0 -0
  33. example/{static → src/static}/todos/page.jsx +0 -0
  34. package.json +3 -0
  35. pnpm-lock.yaml +883 -10
  36. renderApi.js +4 -2
cli.js CHANGED
@@ -14,9 +14,14 @@ import postcssNesting from "postcss-nesting";
14
14
  import bytes from 'bytes';
15
15
  import pc from 'picocolors';
16
16
  import ms from 'ms';
17
+ import watch from 'node-watch';
18
+ import dotenv from 'dotenv';
19
+
20
+ dotenv.config();
17
21
 
18
22
  let isProd = false;
23
+ const srcDir = path.join(process.cwd(), "src");
19
- const inputStaticDir = path.join(process.cwd(), "static");
24
+ const inputStaticDir = path.join(srcDir, "static");
20
25
  const buildDir = path.join(process.cwd(), "build");
21
26
  const staticDir = path.join(buildDir, "static");
22
27
 
@@ -30,7 +35,20 @@ const recordSize = (buildStart, dest) => {
30
35
 
31
36
  let generatedCss = ``;
32
37
  const cssCache = [];
38
+ const serverEnvs = Object.keys(process.env)
39
+ .filter((k) => k.startsWith("EC_") || k === "NODE_ENV")
40
+ .reduce((acc, k) => {
41
+ acc[`process.env.${k}`] = JSON.stringify(process.env[k]);
42
+ return acc
43
+ }, {});
44
+ const clientEnvs = Object.keys(process.env)
45
+ .filter((k) => k.startsWith("EC_PUBLIC") || k === "NODE_ENV")
46
+ .reduce((acc, k) => {
47
+ acc[`process.env.${k}`] = JSON.stringify(process.env[k]);
48
+ return acc
49
+ }, {});
50
+
33
- const bundleJs = async ({ entryPoints, outfile, ...options }, plg) => {
51
+ const bundleJs = async ({ entryPoints, isServer, outfile, ...options }, plg) => {
34
52
  const result = await esbuild.build({
35
53
  bundle: true,
36
54
  target: ['es2022'],
@@ -45,10 +63,7 @@ const bundleJs = async ({ entryPoints, outfile, ...options }, plg) => {
45
63
  jsxDev: !isProd,
46
64
  jsx: 'automatic',
47
65
  ...options,
48
- define: {
49
- 'process.env.NODE_ENV': JSON.stringify(process.env.NODE_ENV || "development"),
66
+ define: isServer ? serverEnvs : clientEnvs,
50
- 'process.env.PG_CONN_URL': JSON.stringify(process.env.PG_CONN_URL || ""),
51
- },
52
67
  plugins: [
53
68
  resolve({
54
69
  "/routemap.json": `${staticDir}/routemap.json`,
@@ -72,17 +87,17 @@ const buildRouteMap = (routes) => {
72
87
  }
73
88
 
74
89
  const bundlePages = async () => {
75
- const routes = walkdir.sync(path.join(process.cwd(), "pages"))
90
+ const routes = walkdir.sync(path.join(srcDir, "pages"))
76
91
  .filter((p) => p.includes("page.jsx"))
77
92
  .map((r) => ({
78
93
  in: r,
79
- out: (r.replace(process.cwd(), "").replace("/pages", "").replace("/page.jsx", "") || "/index") + ".js",
94
+ out: (r.replace(srcDir, "").replace("/pages", "").replace("/page.jsx", "") || "/index") + ".js",
80
95
  }));
81
96
  buildRouteMap(routes);
82
97
  for (const r of routes) {
83
98
  const buildStart = Date.now();
84
99
  const outfile = `build/functions${r.out}`;
85
- await bundleJs({ entryPoints: [r.in], outfile }, {
100
+ await bundleJs({ isServer: true, entryPoints: [r.in], outfile }, {
86
101
  name: "page-plugin",
87
102
  setup(build) {
88
103
  build.onLoad({ filter: /\\*.page.jsx/, namespace: undefined }, (args) => {
@@ -117,6 +132,7 @@ const bundlePages = async () => {
117
132
  recordSize(buildStart, outfile);
118
133
  }
119
134
  await bundleJs({
135
+ isServer: false,
120
136
  entryPoints: routes.map((r) => ({
121
137
  in: r.in,
122
138
  out: "." + r.out.replace(".js", ""),
@@ -159,33 +175,42 @@ const bundlePages = async () => {
159
175
  }
160
176
 
161
177
  const bundleServices = async () => {
162
- const services = walkdir.sync(path.join(process.cwd(), "services"))
178
+ const services = walkdir.sync(path.join(srcDir, "services"))
163
179
  .filter((s) => s.includes(".service.js"));
164
180
  for (const s of services) {
165
- const dest = s.replace(process.cwd(), "").replace("/services", "").replace(".service.js", "");
181
+ const dest = s.replace(srcDir, "").replace("/services", "").replace(".service.js", "");
166
- const pkg = await import(s);
182
+ const src = fs.readFileSync(s, 'utf8');
183
+ const funcs = src.split("\n").filter((l) => l.includes("export const") && l.includes("=>"))
184
+ .map((l) => /export const (.*) = async/g.exec(l))
185
+ .filter((n) => n && n[1])
186
+ .map((n) => n[1]);
167
- for (const p of Object.keys(pkg)) {
187
+ for (const p of funcs) {
168
188
  const buildStart = Date.now();
189
+ const result = await bundleJs({
190
+ isServer: true,
191
+ write: false,
192
+ entryPoints: [s],
169
- const result = await bundleJs({ write: false }, s, `build/functions/_rpc${dest}.js`, {
193
+ // outfile: `build/functions/_rpc${dest}.js`,
194
+ },
195
+ {
170
- name: "service-plugin",
196
+ name: "service-plugin",
171
- setup(build) {
197
+ setup(build) {
172
- build.onLoad({ filter: /\\*.service.js/, namespace: undefined }, async (args) => {
198
+ build.onLoad({ filter: /\\*.service.js/, namespace: undefined }, async (args) => {
173
- const src = fs.readFileSync(args.path);
174
- const newSrc = `
199
+ const newSrc = `
175
- import renderApi from "edge-city/renderApi";
200
+ import renderApi from "edge-city/renderApi";
176
- ${src.toString()}
201
+ ${src.toString()}
177
202
 
178
- export function onRequest(context) {
203
+ export function onRequest(context) {
179
- return renderApi(${p}, context.request);
204
+ return renderApi(${p}, context.request);
180
- }
205
+ }
181
- `
206
+ `
182
- return {
207
+ return {
183
- contents: newSrc,
208
+ contents: newSrc,
184
- loader: "js",
209
+ loader: "js",
185
- };
210
+ };
186
- });
211
+ });
187
- }
212
+ }
188
- })
213
+ })
189
214
  fse.ensureDirSync(`build/functions/_rpc${dest}`)
190
215
  const outfile = `build/functions/_rpc${dest}/${p}.js`;
191
216
  fs.writeFileSync(outfile, result.outputFiles[0].contents);
@@ -214,8 +239,16 @@ const build = async (platform, setProd) => {
214
239
  isProd = true;
215
240
  }
216
241
  await bundlePages();
217
- // await bundleServices();
242
+ await bundleServices();
218
243
  await bundleCss();
244
+ if (!setProd) {
245
+ // watch src files, imports and dotenv
246
+ watch(srcDir, { recursive: true }, async (evt, name) => {
247
+ await bundlePages();
248
+ await bundleServices();
249
+ await bundleCss();
250
+ });
251
+ }
219
252
  if (platform === "cloudflare") {
220
253
  // create _routes.json for cloudflare which only includes the pages and services
221
254
  }
example/jsconfig.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "compilerOptions": {
3
3
  "paths": {
4
4
  "@/*": [
5
- "./*"
5
+ "./src/*"
6
6
  ]
7
7
  }
8
8
  }
example/main.js ADDED
@@ -0,0 +1,4 @@
1
+ import { getTodos } from "@/services/todos.service";
2
+
3
+ const todos = await getTodos();
4
+ console.log(todos);
example/package.json CHANGED
@@ -8,7 +8,7 @@
8
8
  "test-e2e": "playwright test"
9
9
  },
10
10
  "dependencies": {
11
- "@neondatabase/serverless": "^0.2.9",
11
+ "@neondatabase/serverless": "0.4.5",
12
12
  "drizzle-orm": "0.26.0",
13
13
  "modern-normalize": "^2.0.0",
14
14
  "normalize.css": "^8.0.1",
example/{components → src/components}/Counter/Counter.jsx RENAMED
File without changes
example/{components → src/components}/Layout/Layout.css RENAMED
File without changes
example/{components → src/components}/Layout/Layout.jsx RENAMED
File without changes
example/{components → src/components}/Timer/Timer.jsx RENAMED
File without changes
example/{components → src/components}/Todo/Todo.css RENAMED
File without changes
example/{components → src/components}/Todo/Todo.jsx RENAMED
File without changes
example/{db → src/db}/index.js RENAMED
@@ -2,7 +2,7 @@ import { drizzle } from 'drizzle-orm/neon-serverless';
2
2
  import { Pool } from '@neondatabase/serverless';
3
3
  import { highlight } from 'sql-highlight';
4
4
 
5
- export const pool = new Pool({ connectionString: process.env.PG_CONN_URL });
5
+ export const pool = new Pool({ connectionString: process.env.EC_PG_CONN_URL });
6
6
  const db = drizzle(pool, {
7
7
  logger: {
8
8
  logQuery: (query, params) => {
example/{db → src/db}/migrations/0000_empty_shatterstar.sql RENAMED
File without changes
example/{db → src/db}/migrations/meta/0000_snapshot.json RENAMED
File without changes
example/{db → src/db}/migrations/meta/_journal.json RENAMED
File without changes
example/{pages → src/pages}/_404/page.css RENAMED
File without changes
example/{pages → src/pages}/_404/page.jsx RENAMED
File without changes
example/{pages → src/pages}/_500/page.css RENAMED
File without changes
example/{pages → src/pages}/_500/page.jsx RENAMED
File without changes
example/{pages → src/pages}/about/page.css RENAMED
File without changes
example/{pages → src/pages}/about/page.jsx RENAMED
File without changes
example/{pages → src/pages}/page.css RENAMED
File without changes
example/{pages → src/pages}/page.jsx RENAMED
@@ -16,7 +16,7 @@ const Page = () => {
16
16
  <title>Edge City</title>
17
17
  </Helmet>
18
18
  <div className="home-page">
19
- <h1>Home Page</h1>
19
+ <h1>Home Page 123 444</h1>
20
20
  <p>
21
21
  Path: {router.pathname}
22
22
  </p>
example/{pages → src/pages}/page.spec.js RENAMED
File without changes
example/{services → src/services}/auth.service.js RENAMED
File without changes
example/{services → src/services}/todos.service.js RENAMED
File without changes
example/{services → src/services}/todos.service.test.js RENAMED
File without changes
example/{static → src/static}/favicon.ico RENAMED
File without changes
example/{static → src/static}/logo192.png RENAMED
File without changes
example/{static → src/static}/logo512.png RENAMED
File without changes
example/{static → src/static}/manifest.json RENAMED
File without changes
example/{static → src/static}/robots.txt RENAMED
File without changes
example/{static → src/static}/todos/page.css RENAMED
File without changes
example/{static → src/static}/todos/page.jsx RENAMED
File without changes
package.json CHANGED
@@ -28,6 +28,9 @@
28
28
  "postcss-nesting": "^11.2.1",
29
29
  "walkdir": "0.4.1",
30
30
  "esbuild-plugin-resolve": "2.0.0",
31
+ "wrangler": "3.0.1",
32
+ "node-watch": "0.7.3",
33
+ "dotenv": "16.0.3",
31
34
  "jest": "29.5.0"
32
35
  },
33
36
  "peerDependencies": {
pnpm-lock.yaml CHANGED
@@ -32,6 +32,9 @@ importers:
32
32
  bytes:
33
33
  specifier: 3.1.2
34
34
  version: 3.1.2
35
+ dotenv:
36
+ specifier: 16.0.3
37
+ version: 16.0.3
35
38
  esbuild:
36
39
  specifier: 0.17.19
37
40
  version: 0.17.19
@@ -50,6 +53,9 @@ importers:
50
53
  ms:
51
54
  specifier: 2.1.3
52
55
  version: 2.1.3
56
+ node-watch:
57
+ specifier: 0.7.3
58
+ version: 0.7.3
53
59
  picocolors:
54
60
  specifier: 1.0.0
55
61
  version: 1.0.0
@@ -65,6 +71,9 @@ importers:
65
71
  walkdir:
66
72
  specifier: 0.4.1
67
73
  version: 0.4.1
74
+ wrangler:
75
+ specifier: 3.0.1
76
+ version: 3.0.1
68
77
  yargs:
69
78
  specifier: 17.7.2
70
79
  version: 17.7.2
@@ -78,11 +87,11 @@ importers:
78
87
  example:
79
88
  dependencies:
80
89
  '@neondatabase/serverless':
81
- specifier: ^0.2.9
90
+ specifier: 0.4.5
82
- version: 0.2.9
91
+ version: 0.4.5
83
92
  drizzle-orm:
84
93
  specifier: 0.26.0
85
- version: 0.26.0(@neondatabase/serverless@0.2.9)
94
+ version: 0.26.0(@neondatabase/serverless@0.4.5)
86
95
  edge-city:
87
96
  specifier: workspace:*
88
97
  version: link:..
@@ -1488,6 +1497,57 @@ packages:
1488
1497
  resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==}
1489
1498
  dev: true
1490
1499
 
1500
+ /@cloudflare/kv-asset-handler@0.2.0:
1501
+ resolution: {integrity: sha512-MVbXLbTcAotOPUj0pAMhVtJ+3/kFkwJqc5qNOleOZTv6QkZZABDMS21dSrSlVswEHwrpWC03e4fWytjqKvuE2A==}
1502
+ dependencies:
1503
+ mime: 3.0.0
1504
+ dev: true
1505
+
1506
+ /@cloudflare/workerd-darwin-64@1.20230518.0:
1507
+ resolution: {integrity: sha512-reApIf2/do6GjLlajU6LbRYh8gm/XcaRtzGbF8jo5IzyDSsdStmfNuvq7qssZXG92219Yp1kuTgR9+D1GGZGbg==}
1508
+ engines: {node: '>=16'}
1509
+ cpu: [x64]
1510
+ os: [darwin]
1511
+ requiresBuild: true
1512
+ dev: true
1513
+ optional: true
1514
+
1515
+ /@cloudflare/workerd-darwin-arm64@1.20230518.0:
1516
+ resolution: {integrity: sha512-1l+xdbmPddqb2YIHd1YJ3YG/Fl1nhayzcxfL30xfNS89zJn9Xn3JomM0XMD4mk0d5GruBP3q8BQZ1Uo4rRLF3A==}
1517
+ engines: {node: '>=16'}
1518
+ cpu: [arm64]
1519
+ os: [darwin]
1520
+ requiresBuild: true
1521
+ dev: true
1522
+ optional: true
1523
+
1524
+ /@cloudflare/workerd-linux-64@1.20230518.0:
1525
+ resolution: {integrity: sha512-/pfR+YBpMOPr2cAlwjtInil0hRZjD8KX9LqK9JkfkEiaBH8CYhnJQcOdNHZI+3OjcY09JnQtEVC5xC4nbW7Bvw==}
1526
+ engines: {node: '>=16'}
1527
+ cpu: [x64]
1528
+ os: [linux]
1529
+ requiresBuild: true
1530
+ dev: true
1531
+ optional: true
1532
+
1533
+ /@cloudflare/workerd-linux-arm64@1.20230518.0:
1534
+ resolution: {integrity: sha512-q3HQvn3J4uEkE0cfDAGG8zqzSZrD47cavB/Tzv4mNutqwg6B4wL3ifjtGeB55tnP2K2KL0GVmX4tObcvpUF4BA==}
1535
+ engines: {node: '>=16'}
1536
+ cpu: [arm64]
1537
+ os: [linux]
1538
+ requiresBuild: true
1539
+ dev: true
1540
+ optional: true
1541
+
1542
+ /@cloudflare/workerd-windows-64@1.20230518.0:
1543
+ resolution: {integrity: sha512-vNEHKS5gKKduNOBYtQjcBopAmFT1iScuPWMZa2nJboSjOB9I/5oiVsUpSyk5Y2ARyrohXNz0y8D7p87YzTASWw==}
1544
+ engines: {node: '>=16'}
1545
+ cpu: [x64]
1546
+ os: [win32]
1547
+ requiresBuild: true
1548
+ dev: true
1549
+ optional: true
1550
+
1491
1551
  /@csstools/cascade-layer-name-parser@1.0.2(@csstools/css-parser-algorithms@2.1.1)(@csstools/css-tokenizer@2.1.1):
1492
1552
  resolution: {integrity: sha512-xm7Mgwej/wBfLoK0K5LfntmPJzoULayl1XZY9JYgQgT29JiqNw++sLnx95u5y9zCihblzkyaRYJrsRMhIBzRdg==}
1493
1553
  engines: {node: ^14 || ^16 || >=18}
@@ -1533,6 +1593,33 @@ packages:
1533
1593
  postcss-selector-parser: 6.0.13
1534
1594
  dev: true
1535
1595
 
1596
+ /@esbuild-plugins/node-globals-polyfill@0.1.1(esbuild@0.16.3):
1597
+ resolution: {integrity: sha512-MR0oAA+mlnJWrt1RQVQ+4VYuRJW/P2YmRTv1AsplObyvuBMnPHiizUF95HHYiSsMGLhyGtWufaq2XQg6+iurBg==}
1598
+ peerDependencies:
1599
+ esbuild: '*'
1600
+ dependencies:
1601
+ esbuild: 0.16.3
1602
+ dev: true
1603
+
1604
+ /@esbuild-plugins/node-modules-polyfill@0.1.4(esbuild@0.16.3):
1605
+ resolution: {integrity: sha512-uZbcXi0zbmKC/050p3gJnne5Qdzw8vkXIv+c2BW0Lsc1ji1SkrxbKPUy5Efr0blbTu1SL8w4eyfpnSdPg3G0Qg==}
1606
+ peerDependencies:
1607
+ esbuild: '*'
1608
+ dependencies:
1609
+ esbuild: 0.16.3
1610
+ escape-string-regexp: 4.0.0
1611
+ rollup-plugin-node-polyfills: 0.2.1
1612
+ dev: true
1613
+
1614
+ /@esbuild/android-arm64@0.16.3:
1615
+ resolution: {integrity: sha512-RolFVeinkeraDvN/OoRf1F/lP0KUfGNb5jxy/vkIMeRRChkrX/HTYN6TYZosRJs3a1+8wqpxAo5PI5hFmxyPRg==}
1616
+ engines: {node: '>=12'}
1617
+ cpu: [arm64]
1618
+ os: [android]
1619
+ requiresBuild: true
1620
+ dev: true
1621
+ optional: true
1622
+
1536
1623
  /@esbuild/android-arm64@0.17.19:
1537
1624
  resolution: {integrity: sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA==}
1538
1625
  engines: {node: '>=12'}
@@ -1542,6 +1629,15 @@ packages:
1542
1629
  dev: true
1543
1630
  optional: true
1544
1631
 
1632
+ /@esbuild/android-arm@0.16.3:
1633
+ resolution: {integrity: sha512-mueuEoh+s1eRbSJqq9KNBQwI4QhQV6sRXIfTyLXSHGMpyew61rOK4qY21uKbXl1iBoMb0AdL1deWFCQVlN2qHA==}
1634
+ engines: {node: '>=12'}
1635
+ cpu: [arm]
1636
+ os: [android]
1637
+ requiresBuild: true
1638
+ dev: true
1639
+ optional: true
1640
+
1545
1641
  /@esbuild/android-arm@0.17.19:
1546
1642
  resolution: {integrity: sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A==}
1547
1643
  engines: {node: '>=12'}
@@ -1551,6 +1647,15 @@ packages:
1551
1647
  dev: true
1552
1648
  optional: true
1553
1649
 
1650
+ /@esbuild/android-x64@0.16.3:
1651
+ resolution: {integrity: sha512-SFpTUcIT1bIJuCCBMCQWq1bL2gPTjWoLZdjmIhjdcQHaUfV41OQfho6Ici5uvvkMmZRXIUGpM3GxysP/EU7ifQ==}
1652
+ engines: {node: '>=12'}
1653
+ cpu: [x64]
1654
+ os: [android]
1655
+ requiresBuild: true
1656
+ dev: true
1657
+ optional: true
1658
+
1554
1659
  /@esbuild/android-x64@0.17.19:
1555
1660
  resolution: {integrity: sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww==}
1556
1661
  engines: {node: '>=12'}
@@ -1560,6 +1665,15 @@ packages:
1560
1665
  dev: true
1561
1666
  optional: true
1562
1667
 
1668
+ /@esbuild/darwin-arm64@0.16.3:
1669
+ resolution: {integrity: sha512-DO8WykMyB+N9mIDfI/Hug70Dk1KipavlGAecxS3jDUwAbTpDXj0Lcwzw9svkhxfpCagDmpaTMgxWK8/C/XcXvw==}
1670
+ engines: {node: '>=12'}
1671
+ cpu: [arm64]
1672
+ os: [darwin]
1673
+ requiresBuild: true
1674
+ dev: true
1675
+ optional: true
1676
+
1563
1677
  /@esbuild/darwin-arm64@0.17.19:
1564
1678
  resolution: {integrity: sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg==}
1565
1679
  engines: {node: '>=12'}
@@ -1569,6 +1683,15 @@ packages:
1569
1683
  dev: true
1570
1684
  optional: true
1571
1685
 
1686
+ /@esbuild/darwin-x64@0.16.3:
1687
+ resolution: {integrity: sha512-uEqZQ2omc6BvWqdCiyZ5+XmxuHEi1SPzpVxXCSSV2+Sh7sbXbpeNhHIeFrIpRjAs0lI1FmA1iIOxFozKBhKgRQ==}
1688
+ engines: {node: '>=12'}
1689
+ cpu: [x64]
1690
+ os: [darwin]
1691
+ requiresBuild: true
1692
+ dev: true
1693
+ optional: true
1694
+
1572
1695
  /@esbuild/darwin-x64@0.17.19:
1573
1696
  resolution: {integrity: sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw==}
1574
1697
  engines: {node: '>=12'}
@@ -1578,6 +1701,15 @@ packages:
1578
1701
  dev: true
1579
1702
  optional: true
1580
1703
 
1704
+ /@esbuild/freebsd-arm64@0.16.3:
1705
+ resolution: {integrity: sha512-nJansp3sSXakNkOD5i5mIz2Is/HjzIhFs49b1tjrPrpCmwgBmH9SSzhC/Z1UqlkivqMYkhfPwMw1dGFUuwmXhw==}
1706
+ engines: {node: '>=12'}
1707
+ cpu: [arm64]
1708
+ os: [freebsd]
1709
+ requiresBuild: true
1710
+ dev: true
1711
+ optional: true
1712
+
1581
1713
  /@esbuild/freebsd-arm64@0.17.19:
1582
1714
  resolution: {integrity: sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ==}
1583
1715
  engines: {node: '>=12'}
@@ -1587,6 +1719,15 @@ packages:
1587
1719
  dev: true
1588
1720
  optional: true
1589
1721
 
1722
+ /@esbuild/freebsd-x64@0.16.3:
1723
+ resolution: {integrity: sha512-TfoDzLw+QHfc4a8aKtGSQ96Wa+6eimljjkq9HKR0rHlU83vw8aldMOUSJTUDxbcUdcgnJzPaX8/vGWm7vyV7ug==}
1724
+ engines: {node: '>=12'}
1725
+ cpu: [x64]
1726
+ os: [freebsd]
1727
+ requiresBuild: true
1728
+ dev: true
1729
+ optional: true
1730
+
1590
1731
  /@esbuild/freebsd-x64@0.17.19:
1591
1732
  resolution: {integrity: sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ==}
1592
1733
  engines: {node: '>=12'}
@@ -1596,6 +1737,15 @@ packages:
1596
1737
  dev: true
1597
1738
  optional: true
1598
1739
 
1740
+ /@esbuild/linux-arm64@0.16.3:
1741
+ resolution: {integrity: sha512-7I3RlsnxEFCHVZNBLb2w7unamgZ5sVwO0/ikE2GaYvYuUQs9Qte/w7TqWcXHtCwxvZx/2+F97ndiUQAWs47ZfQ==}
1742
+ engines: {node: '>=12'}
1743
+ cpu: [arm64]
1744
+ os: [linux]
1745
+ requiresBuild: true
1746
+ dev: true
1747
+ optional: true
1748
+
1599
1749
  /@esbuild/linux-arm64@0.17.19:
1600
1750
  resolution: {integrity: sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg==}
1601
1751
  engines: {node: '>=12'}
@@ -1605,6 +1755,15 @@ packages:
1605
1755
  dev: true
1606
1756
  optional: true
1607
1757
 
1758
+ /@esbuild/linux-arm@0.16.3:
1759
+ resolution: {integrity: sha512-VwswmSYwVAAq6LysV59Fyqk3UIjbhuc6wb3vEcJ7HEJUtFuLK9uXWuFoH1lulEbE4+5GjtHi3MHX+w1gNHdOWQ==}
1760
+ engines: {node: '>=12'}
1761
+ cpu: [arm]
1762
+ os: [linux]
1763
+ requiresBuild: true
1764
+ dev: true
1765
+ optional: true
1766
+
1608
1767
  /@esbuild/linux-arm@0.17.19:
1609
1768
  resolution: {integrity: sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA==}
1610
1769
  engines: {node: '>=12'}
@@ -1614,6 +1773,15 @@ packages:
1614
1773
  dev: true
1615
1774
  optional: true
1616
1775
 
1776
+ /@esbuild/linux-ia32@0.16.3:
1777
+ resolution: {integrity: sha512-X8FDDxM9cqda2rJE+iblQhIMYY49LfvW4kaEjoFbTTQ4Go8G96Smj2w3BRTwA8IHGoi9dPOPGAX63dhuv19UqA==}
1778
+ engines: {node: '>=12'}
1779
+ cpu: [ia32]
1780
+ os: [linux]
1781
+ requiresBuild: true
1782
+ dev: true
1783
+ optional: true
1784
+
1617
1785
  /@esbuild/linux-ia32@0.17.19:
1618
1786
  resolution: {integrity: sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ==}
1619
1787
  engines: {node: '>=12'}
@@ -1623,6 +1791,15 @@ packages:
1623
1791
  dev: true
1624
1792
  optional: true
1625
1793
 
1794
+ /@esbuild/linux-loong64@0.16.3:
1795
+ resolution: {integrity: sha512-hIbeejCOyO0X9ujfIIOKjBjNAs9XD/YdJ9JXAy1lHA+8UXuOqbFe4ErMCqMr8dhlMGBuvcQYGF7+kO7waj2KHw==}
1796
+ engines: {node: '>=12'}
1797
+ cpu: [loong64]
1798
+ os: [linux]
1799
+ requiresBuild: true
1800
+ dev: true
1801
+ optional: true
1802
+
1626
1803
  /@esbuild/linux-loong64@0.17.19:
1627
1804
  resolution: {integrity: sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ==}
1628
1805
  engines: {node: '>=12'}
@@ -1632,6 +1809,15 @@ packages:
1632
1809
  dev: true
1633
1810
  optional: true
1634
1811
 
1812
+ /@esbuild/linux-mips64el@0.16.3:
1813
+ resolution: {integrity: sha512-znFRzICT/V8VZQMt6rjb21MtAVJv/3dmKRMlohlShrbVXdBuOdDrGb+C2cZGQAR8RFyRe7HS6klmHq103WpmVw==}
1814
+ engines: {node: '>=12'}
1815
+ cpu: [mips64el]
1816
+ os: [linux]
1817
+ requiresBuild: true
1818
+ dev: true
1819
+ optional: true
1820
+
1635
1821
  /@esbuild/linux-mips64el@0.17.19:
1636
1822
  resolution: {integrity: sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A==}
1637
1823
  engines: {node: '>=12'}
@@ -1641,6 +1827,15 @@ packages:
1641
1827
  dev: true
1642
1828
  optional: true
1643
1829
 
1830
+ /@esbuild/linux-ppc64@0.16.3:
1831
+ resolution: {integrity: sha512-EV7LuEybxhXrVTDpbqWF2yehYRNz5e5p+u3oQUS2+ZFpknyi1NXxr8URk4ykR8Efm7iu04//4sBg249yNOwy5Q==}
1832
+ engines: {node: '>=12'}
1833
+ cpu: [ppc64]
1834
+ os: [linux]
1835
+ requiresBuild: true
1836
+ dev: true
1837
+ optional: true
1838
+
1644
1839
  /@esbuild/linux-ppc64@0.17.19:
1645
1840
  resolution: {integrity: sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg==}
1646
1841
  engines: {node: '>=12'}
@@ -1650,6 +1845,15 @@ packages:
1650
1845
  dev: true
1651
1846
  optional: true
1652
1847
 
1848
+ /@esbuild/linux-riscv64@0.16.3:
1849
+ resolution: {integrity: sha512-uDxqFOcLzFIJ+r/pkTTSE9lsCEaV/Y6rMlQjUI9BkzASEChYL/aSQjZjchtEmdnVxDKETnUAmsaZ4pqK1eE5BQ==}
1850
+ engines: {node: '>=12'}
1851
+ cpu: [riscv64]
1852
+ os: [linux]
1853
+ requiresBuild: true
1854
+ dev: true
1855
+ optional: true
1856
+
1653
1857
  /@esbuild/linux-riscv64@0.17.19:
1654
1858
  resolution: {integrity: sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA==}
1655
1859
  engines: {node: '>=12'}
@@ -1659,6 +1863,15 @@ packages:
1659
1863
  dev: true
1660
1864
  optional: true
1661
1865
 
1866
+ /@esbuild/linux-s390x@0.16.3:
1867
+ resolution: {integrity: sha512-NbeREhzSxYwFhnCAQOQZmajsPYtX71Ufej3IQ8W2Gxskfz9DK58ENEju4SbpIj48VenktRASC52N5Fhyf/aliQ==}
1868
+ engines: {node: '>=12'}
1869
+ cpu: [s390x]
1870
+ os: [linux]
1871
+ requiresBuild: true
1872
+ dev: true
1873
+ optional: true
1874
+
1662
1875
  /@esbuild/linux-s390x@0.17.19:
1663
1876
  resolution: {integrity: sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q==}
1664
1877
  engines: {node: '>=12'}
@@ -1668,6 +1881,15 @@ packages:
1668
1881
  dev: true
1669
1882
  optional: true
1670
1883
 
1884
+ /@esbuild/linux-x64@0.16.3:
1885
+ resolution: {integrity: sha512-SDiG0nCixYO9JgpehoKgScwic7vXXndfasjnD5DLbp1xltANzqZ425l7LSdHynt19UWOcDjG9wJJzSElsPvk0w==}
1886
+ engines: {node: '>=12'}
1887
+ cpu: [x64]
1888
+ os: [linux]
1889
+ requiresBuild: true
1890
+ dev: true
1891
+ optional: true
1892
+
1671
1893
  /@esbuild/linux-x64@0.17.19:
1672
1894
  resolution: {integrity: sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw==}
1673
1895
  engines: {node: '>=12'}
@@ -1677,6 +1899,15 @@ packages:
1677
1899
  dev: true
1678
1900
  optional: true
1679
1901
 
1902
+ /@esbuild/netbsd-x64@0.16.3:
1903
+ resolution: {integrity: sha512-AzbsJqiHEq1I/tUvOfAzCY15h4/7Ivp3ff/o1GpP16n48JMNAtbW0qui2WCgoIZArEHD0SUQ95gvR0oSO7ZbdA==}
1904
+ engines: {node: '>=12'}
1905
+ cpu: [x64]
1906
+ os: [netbsd]
1907
+ requiresBuild: true
1908
+ dev: true
1909
+ optional: true
1910
+
1680
1911
  /@esbuild/netbsd-x64@0.17.19:
1681
1912
  resolution: {integrity: sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q==}
1682
1913
  engines: {node: '>=12'}
@@ -1686,6 +1917,15 @@ packages:
1686
1917
  dev: true
1687
1918
  optional: true
1688
1919
 
1920
+ /@esbuild/openbsd-x64@0.16.3:
1921
+ resolution: {integrity: sha512-gSABi8qHl8k3Cbi/4toAzHiykuBuWLZs43JomTcXkjMZVkp0gj3gg9mO+9HJW/8GB5H89RX/V0QP4JGL7YEEVg==}
1922
+ engines: {node: '>=12'}
1923
+ cpu: [x64]
1924
+ os: [openbsd]
1925
+ requiresBuild: true
1926
+ dev: true
1927
+ optional: true
1928
+
1689
1929
  /@esbuild/openbsd-x64@0.17.19:
1690
1930
  resolution: {integrity: sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g==}
1691
1931
  engines: {node: '>=12'}
@@ -1695,6 +1935,15 @@ packages:
1695
1935
  dev: true
1696
1936
  optional: true
1697
1937
 
1938
+ /@esbuild/sunos-x64@0.16.3:
1939
+ resolution: {integrity: sha512-SF9Kch5Ete4reovvRO6yNjMxrvlfT0F0Flm+NPoUw5Z4Q3r1d23LFTgaLwm3Cp0iGbrU/MoUI+ZqwCv5XJijCw==}
1940
+ engines: {node: '>=12'}
1941
+ cpu: [x64]
1942
+ os: [sunos]
1943
+ requiresBuild: true
1944
+ dev: true
1945
+ optional: true
1946
+
1698
1947
  /@esbuild/sunos-x64@0.17.19:
1699
1948
  resolution: {integrity: sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg==}
1700
1949
  engines: {node: '>=12'}
@@ -1704,6 +1953,15 @@ packages:
1704
1953
  dev: true
1705
1954
  optional: true
1706
1955
 
1956
+ /@esbuild/win32-arm64@0.16.3:
1957
+ resolution: {integrity: sha512-u5aBonZIyGopAZyOnoPAA6fGsDeHByZ9CnEzyML9NqntK6D/xl5jteZUKm/p6nD09+v3pTM6TuUIqSPcChk5gg==}
1958
+ engines: {node: '>=12'}
1959
+ cpu: [arm64]
1960
+ os: [win32]
1961
+ requiresBuild: true
1962
+ dev: true
1963
+ optional: true
1964
+
1707
1965
  /@esbuild/win32-arm64@0.17.19:
1708
1966
  resolution: {integrity: sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag==}
1709
1967
  engines: {node: '>=12'}
@@ -1713,6 +1971,15 @@ packages:
1713
1971
  dev: true
1714
1972
  optional: true
1715
1973
 
1974
+ /@esbuild/win32-ia32@0.16.3:
1975
+ resolution: {integrity: sha512-GlgVq1WpvOEhNioh74TKelwla9KDuAaLZrdxuuUgsP2vayxeLgVc+rbpIv0IYF4+tlIzq2vRhofV+KGLD+37EQ==}
1976
+ engines: {node: '>=12'}
1977
+ cpu: [ia32]
1978
+ os: [win32]
1979
+ requiresBuild: true
1980
+ dev: true
1981
+ optional: true
1982
+
1716
1983
  /@esbuild/win32-ia32@0.17.19:
1717
1984
  resolution: {integrity: sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw==}
1718
1985
  engines: {node: '>=12'}
@@ -1722,6 +1989,15 @@ packages:
1722
1989
  dev: true
1723
1990
  optional: true
1724
1991
 
1992
+ /@esbuild/win32-x64@0.16.3:
1993
+ resolution: {integrity: sha512-5/JuTd8OWW8UzEtyf19fbrtMJENza+C9JoPIkvItgTBQ1FO2ZLvjbPO6Xs54vk0s5JB5QsfieUEshRQfu7ZHow==}
1994
+ engines: {node: '>=12'}
1995
+ cpu: [x64]
1996
+ os: [win32]
1997
+ requiresBuild: true
1998
+ dev: true
1999
+ optional: true
2000
+
1725
2001
  /@esbuild/win32-x64@0.17.19:
1726
2002
  resolution: {integrity: sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA==}
1727
2003
  engines: {node: '>=12'}
@@ -2127,8 +2403,10 @@ packages:
2127
2403
  '@types/markdown-it': 12.2.3
2128
2404
  dev: false
2129
2405
 
2130
- /@neondatabase/serverless@0.2.9:
2406
+ /@neondatabase/serverless@0.4.5:
2131
- resolution: {integrity: sha512-fp7gXG8rt+uP+UT2ReGoCrf8GYb25Tv6xklDtZEoe8XKkBtVyZO+sii5oLNRwhvTLkqt7FX49MBCh3Est9b2KQ==}
2407
+ resolution: {integrity: sha512-+wYPtiqrIimONiOvHczfEdstxNUSWZ0dY+MD9vFwHBdr4Vx1adRKIKWQivG1MJ7uRpWsZZwEFQ7qhDJrgnidqw==}
2408
+ dependencies:
2409
+ '@types/pg': 8.10.1
2132
2410
  dev: false
2133
2411
 
2134
2412
  /@nicolo-ribaudo/eslint-scope-5-internals@5.1.1-v1:
@@ -3475,12 +3753,19 @@ packages:
3475
3753
 
3476
3754
  /@types/node@20.2.1:
3477
3755
  resolution: {integrity: sha512-DqJociPbZP1lbZ5SQPk4oag6W7AyaGMO6gSfRwq3PWl4PXTwJpRQJhDq4W0kzrg3w6tJ1SwlvGZ5uKFHY13LIg==}
3478
- dev: true
3479
3756
 
3480
3757
  /@types/parse-json@4.0.0:
3481
3758
  resolution: {integrity: sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==}
3482
3759
  dev: true
3483
3760
 
3761
+ /@types/pg@8.10.1:
3762
+ resolution: {integrity: sha512-AmEHA/XxMxemQom5iDwP62FYNkv+gDDnetRG7v2N2dPtju7UKI7FknUimcZo7SodKTHtckYPzaTqUEvUKbVJEA==}
3763
+ dependencies:
3764
+ '@types/node': 20.2.1
3765
+ pg-protocol: 1.6.0
3766
+ pg-types: 4.0.1
3767
+ dev: false
3768
+
3484
3769
  /@types/prettier@2.7.2:
3485
3770
  resolution: {integrity: sha512-KufADq8uQqo1pYKVIYzfKbJfBAc0sOeXqGbFaSpv8MRmC/zXgowNZmFcbngndGk922QDmOASEXUZCaY48gs4cg==}
3486
3771
  dev: true
@@ -3654,6 +3939,11 @@ packages:
3654
3939
  acorn: 8.8.2
3655
3940
  dev: true
3656
3941
 
3942
+ /acorn-walk@8.2.0:
3943
+ resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==}
3944
+ engines: {node: '>=0.4.0'}
3945
+ dev: true
3946
+
3657
3947
  /acorn@8.8.2:
3658
3948
  resolution: {integrity: sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==}
3659
3949
  engines: {node: '>=0.4.0'}
@@ -3777,6 +4067,12 @@ packages:
3777
4067
  get-intrinsic: 1.2.1
3778
4068
  dev: true
3779
4069
 
4070
+ /as-table@1.0.55:
4071
+ resolution: {integrity: sha512-xvsWESUJn0JN421Xb9MQw6AsMHRCUknCe0Wjlxvjud80mU4E6hQf1A6NzQKcYNmYw62MfzEtXc+badstZP3JpQ==}
4072
+ dependencies:
4073
+ printable-characters: 1.0.42
4074
+ dev: true
4075
+
3780
4076
  /ast-types-flow@0.0.7:
3781
4077
  resolution: {integrity: sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==}
3782
4078
  dev: true
@@ -3962,6 +4258,41 @@ packages:
3962
4258
  resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
3963
4259
  dev: true
3964
4260
 
4261
+ /base64-js@1.5.1:
4262
+ resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==}
4263
+ dev: true
4264
+
4265
+ /better-sqlite3@8.4.0:
4266
+ resolution: {integrity: sha512-NmsNW1CQvqMszu/CFAJ3pLct6NEFlNfuGM6vw72KHkjOD1UDnL96XNN1BMQc1hiHo8vE2GbOWQYIpZ+YM5wrZw==}
4267
+ requiresBuild: true
4268
+ dependencies:
4269
+ bindings: 1.5.0
4270
+ prebuild-install: 7.1.1
4271
+ dev: true
4272
+
4273
+ /binary-extensions@2.2.0:
4274
+ resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==}
4275
+ engines: {node: '>=8'}
4276
+ dev: true
4277
+
4278
+ /bindings@1.5.0:
4279
+ resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==}
4280
+ dependencies:
4281
+ file-uri-to-path: 1.0.0
4282
+ dev: true
4283
+
4284
+ /bl@4.1.0:
4285
+ resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==}
4286
+ dependencies:
4287
+ buffer: 5.7.1
4288
+ inherits: 2.0.4
4289
+ readable-stream: 3.6.2
4290
+ dev: true
4291
+
4292
+ /blake3-wasm@2.1.5:
4293
+ resolution: {integrity: sha512-F1+K8EbfOZE49dtoPtmxUQrpXaBIl3ICvasLh+nJta0xkz+9kF/7uet9fLnwKqhDrmj6g+6K3Tw9yQPUg2ka5g==}
4294
+ dev: true
4295
+
3965
4296
  /brace-expansion@1.1.11:
3966
4297
  resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
3967
4298
  dependencies:
@@ -3997,6 +4328,20 @@ packages:
3997
4328
  resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==}
3998
4329
  dev: true
3999
4330
 
4331
+ /buffer@5.7.1:
4332
+ resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==}
4333
+ dependencies:
4334
+ base64-js: 1.5.1
4335
+ ieee754: 1.2.1
4336
+ dev: true
4337
+
4338
+ /busboy@1.6.0:
4339
+ resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==}
4340
+ engines: {node: '>=10.16.0'}
4341
+ dependencies:
4342
+ streamsearch: 1.1.0
4343
+ dev: true
4344
+
4000
4345
  /bytes@3.1.2:
4001
4346
  resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==}
4002
4347
  engines: {node: '>= 0.8'}
@@ -4028,6 +4373,15 @@ packages:
4028
4373
  resolution: {integrity: sha512-NORIQuuL4xGpIy6iCCQGN4iFjlBXtfKWIenlUuyZJumLRIindLb7wXM+GO8erEhb7vXfcnf4BAg2PrSDN5TNLQ==}
4029
4374
  dev: true
4030
4375
 
4376
+ /capnp-ts@0.7.0:
4377
+ resolution: {integrity: sha512-XKxXAC3HVPv7r674zP0VC3RTXz+/JKhfyw94ljvF80yynK6VkTnqE3jMuN8b3dUVmmc43TjyxjW4KTsmB3c86g==}
4378
+ dependencies:
4379
+ debug: 4.3.4
4380
+ tslib: 2.5.2
4381
+ transitivePeerDependencies:
4382
+ - supports-color
4383
+ dev: true
4384
+
4031
4385
  /chalk@2.4.2:
4032
4386
  resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==}
4033
4387
  engines: {node: '>=4'}
@@ -4050,6 +4404,25 @@ packages:
4050
4404
  engines: {node: '>=10'}
4051
4405
  dev: true
4052
4406
 
4407
+ /chokidar@3.5.3:
4408
+ resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==}
4409
+ engines: {node: '>= 8.10.0'}
4410
+ dependencies:
4411
+ anymatch: 3.1.3
4412
+ braces: 3.0.2
4413
+ glob-parent: 5.1.2
4414
+ is-binary-path: 2.1.0
4415
+ is-glob: 4.0.3
4416
+ normalize-path: 3.0.0
4417
+ readdirp: 3.6.0
4418
+ optionalDependencies:
4419
+ fsevents: 2.3.2
4420
+ dev: true
4421
+
4422
+ /chownr@1.1.4:
4423
+ resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==}
4424
+ dev: true
4425
+
4053
4426
  /ci-info@3.8.0:
4054
4427
  resolution: {integrity: sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==}
4055
4428
  engines: {node: '>=8'}
@@ -4119,6 +4492,11 @@ packages:
4119
4492
  resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==}
4120
4493
  dev: true
4121
4494
 
4495
+ /cookie@0.5.0:
4496
+ resolution: {integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==}
4497
+ engines: {node: '>= 0.6'}
4498
+ dev: true
4499
+
4122
4500
  /core-js-compat@3.30.2:
4123
4501
  resolution: {integrity: sha512-nriW1nuJjUgvkEjIot1Spwakz52V9YkYHZAQG6A1eCgC8AA1p0zngrQEP9R0+V6hji5XilWKG1Bd0YRppmGimA==}
4124
4502
  dependencies:
@@ -4155,6 +4533,10 @@ packages:
4155
4533
  resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==}
4156
4534
  dev: true
4157
4535
 
4536
+ /data-uri-to-buffer@2.0.2:
4537
+ resolution: {integrity: sha512-ND9qDTLc6diwj+Xe5cdAgVTbLVdXbtxTJRXRhli8Mowuaan+0EJOtdqJ0QCHNSSPyoXGx9HX2/VMnKeC34AChA==}
4538
+ dev: true
4539
+
4158
4540
  /debug@3.2.7:
4159
4541
  resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==}
4160
4542
  peerDependencies:
@@ -4178,6 +4560,13 @@ packages:
4178
4560
  ms: 2.1.2
4179
4561
  dev: true
4180
4562
 
4563
+ /decompress-response@6.0.0:
4564
+ resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==}
4565
+ engines: {node: '>=10'}
4566
+ dependencies:
4567
+ mimic-response: 3.1.0
4568
+ dev: true
4569
+
4181
4570
  /dedent@0.7.0:
4182
4571
  resolution: {integrity: sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==}
4183
4572
  dev: true
@@ -4205,6 +4594,11 @@ packages:
4205
4594
  which-typed-array: 1.1.9
4206
4595
  dev: true
4207
4596
 
4597
+ /deep-extend@0.6.0:
4598
+ resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==}
4599
+ engines: {node: '>=4.0.0'}
4600
+ dev: true
4601
+
4208
4602
  /deep-is@0.1.4:
4209
4603
  resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
4210
4604
  dev: true
@@ -4222,6 +4616,11 @@ packages:
4222
4616
  object-keys: 1.1.1
4223
4617
  dev: true
4224
4618
 
4619
+ /detect-libc@2.0.1:
4620
+ resolution: {integrity: sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w==}
4621
+ engines: {node: '>=8'}
4622
+ dev: true
4623
+
4225
4624
  /detect-newline@3.1.0:
4226
4625
  resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==}
4227
4626
  engines: {node: '>=8'}
@@ -4253,7 +4652,12 @@ packages:
4253
4652
  esutils: 2.0.3
4254
4653
  dev: true
4255
4654
 
4655
+ /dotenv@16.0.3:
4656
+ resolution: {integrity: sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==}
4657
+ engines: {node: '>=12'}
4658
+ dev: true
4659
+
4256
- /drizzle-orm@0.26.0(@neondatabase/serverless@0.2.9):
4660
+ /drizzle-orm@0.26.0(@neondatabase/serverless@0.4.5):
4257
4661
  resolution: {integrity: sha512-ztjhHehcuG5+lpGYxfT/L5I+yd/Z0dOf0fV3cS2ywBU01wkpxjwl4EJZVT7kVzjYfM8kwMGDghAPRPBCK0vULA==}
4258
4662
  peerDependencies:
4259
4663
  '@aws-sdk/client-rds-data': '>=3'
@@ -4312,7 +4716,7 @@ packages:
4312
4716
  sqlite3:
4313
4717
  optional: true
4314
4718
  dependencies:
4315
- '@neondatabase/serverless': 0.2.9
4719
+ '@neondatabase/serverless': 0.4.5
4316
4720
  dev: false
4317
4721
 
4318
4722
  /electron-to-chromium@1.4.402:
@@ -4332,6 +4736,12 @@ packages:
4332
4736
  resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==}
4333
4737
  dev: true
4334
4738
 
4739
+ /end-of-stream@1.4.4:
4740
+ resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==}
4741
+ dependencies:
4742
+ once: 1.4.0
4743
+ dev: true
4744
+
4335
4745
  /error-ex@1.3.2:
4336
4746
  resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==}
4337
4747
  dependencies:
@@ -4420,6 +4830,36 @@ packages:
4420
4830
  resolution: {integrity: sha512-eJy9B8yDW5X/J48eWtR1uVmv+DKfHvYYnrrcqQoe/nUkVHVOTZlJnSevkYyGOz6hI90t036Y5QIPDrGzmppxfg==}
4421
4831
  dev: true
4422
4832
 
4833
+ /esbuild@0.16.3:
4834
+ resolution: {integrity: sha512-71f7EjPWTiSguen8X/kxEpkAS7BFHwtQKisCDDV3Y4GLGWBaoSCyD5uXkaUew6JDzA9FEN1W23mdnSwW9kqCeg==}
4835
+ engines: {node: '>=12'}
4836
+ hasBin: true
4837
+ requiresBuild: true
4838
+ optionalDependencies:
4839
+ '@esbuild/android-arm': 0.16.3
4840
+ '@esbuild/android-arm64': 0.16.3
4841
+ '@esbuild/android-x64': 0.16.3
4842
+ '@esbuild/darwin-arm64': 0.16.3
4843
+ '@esbuild/darwin-x64': 0.16.3
4844
+ '@esbuild/freebsd-arm64': 0.16.3
4845
+ '@esbuild/freebsd-x64': 0.16.3
4846
+ '@esbuild/linux-arm': 0.16.3
4847
+ '@esbuild/linux-arm64': 0.16.3
4848
+ '@esbuild/linux-ia32': 0.16.3
4849
+ '@esbuild/linux-loong64': 0.16.3
4850
+ '@esbuild/linux-mips64el': 0.16.3
4851
+ '@esbuild/linux-ppc64': 0.16.3
4852
+ '@esbuild/linux-riscv64': 0.16.3
4853
+ '@esbuild/linux-s390x': 0.16.3
4854
+ '@esbuild/linux-x64': 0.16.3
4855
+ '@esbuild/netbsd-x64': 0.16.3
4856
+ '@esbuild/openbsd-x64': 0.16.3
4857
+ '@esbuild/sunos-x64': 0.16.3
4858
+ '@esbuild/win32-arm64': 0.16.3
4859
+ '@esbuild/win32-ia32': 0.16.3
4860
+ '@esbuild/win32-x64': 0.16.3
4861
+ dev: true
4862
+
4423
4863
  /esbuild@0.17.19:
4424
4864
  resolution: {integrity: sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw==}
4425
4865
  engines: {node: '>=12'}
@@ -4809,6 +5249,10 @@ packages:
4809
5249
  engines: {node: '>=4.0'}
4810
5250
  dev: true
4811
5251
 
5252
+ /estree-walker@0.6.1:
5253
+ resolution: {integrity: sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==}
5254
+ dev: true
5255
+
4812
5256
  /esutils@2.0.3:
4813
5257
  resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
4814
5258
  engines: {node: '>=0.10.0'}
@@ -4829,11 +5273,21 @@ packages:
4829
5273
  strip-final-newline: 2.0.0
4830
5274
  dev: true
4831
5275
 
5276
+ /exit-hook@2.2.1:
5277
+ resolution: {integrity: sha512-eNTPlAD67BmP31LDINZ3U7HSF8l57TxOY2PmBJ1shpCvpnxBF93mWCE8YHBnXs8qiUZJc9WDcWIeC3a2HIAMfw==}
5278
+ engines: {node: '>=6'}
5279
+ dev: true
5280
+
4832
5281
  /exit@0.1.2:
4833
5282
  resolution: {integrity: sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==}
4834
5283
  engines: {node: '>= 0.8.0'}
4835
5284
  dev: true
4836
5285
 
5286
+ /expand-template@2.0.3:
5287
+ resolution: {integrity: sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==}
5288
+ engines: {node: '>=6'}
5289
+ dev: true
5290
+
4837
5291
  /expect@29.5.0:
4838
5292
  resolution: {integrity: sha512-yM7xqUrCO2JdpFo4XpM82t+PJBFybdqoQuJLDGeDX2ij8NZzqRHyu3Hp188/JX7SWqud+7t4MUdvcgGBICMHZg==}
4839
5293
  engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
@@ -4887,6 +5341,10 @@ packages:
4887
5341
  flat-cache: 3.0.4
4888
5342
  dev: true
4889
5343
 
5344
+ /file-uri-to-path@1.0.0:
5345
+ resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==}
5346
+ dev: true
5347
+
4890
5348
  /fill-range@7.0.1:
4891
5349
  resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==}
4892
5350
  engines: {node: '>=8'}
@@ -4932,6 +5390,10 @@ packages:
4932
5390
  resolution: {integrity: sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==}
4933
5391
  dev: true
4934
5392
 
5393
+ /fs-constants@1.0.0:
5394
+ resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==}
5395
+ dev: true
5396
+
4935
5397
  /fs-extra@11.1.1:
4936
5398
  resolution: {integrity: sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==}
4937
5399
  engines: {node: '>=14.14'}
@@ -4995,6 +5457,13 @@ packages:
4995
5457
  engines: {node: '>=8.0.0'}
4996
5458
  dev: true
4997
5459
 
5460
+ /get-source@2.0.12:
5461
+ resolution: {integrity: sha512-X5+4+iD+HoSeEED+uwrQ07BOQr0kEDFMVqqpBuI+RaZBpBpHCuXxo70bjar6f0b0u/DQJsJ7ssurpP0V60Az+w==}
5462
+ dependencies:
5463
+ data-uri-to-buffer: 2.0.2
5464
+ source-map: 0.6.1
5465
+ dev: true
5466
+
4998
5467
  /get-stream@6.0.1:
4999
5468
  resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==}
5000
5469
  engines: {node: '>=10'}
@@ -5008,6 +5477,10 @@ packages:
5008
5477
  get-intrinsic: 1.2.1
5009
5478
  dev: true
5010
5479
 
5480
+ /github-from-package@0.0.0:
5481
+ resolution: {integrity: sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==}
5482
+ dev: true
5483
+
5011
5484
  /glob-parent@5.1.2:
5012
5485
  resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
5013
5486
  engines: {node: '>= 6'}
@@ -5022,6 +5495,10 @@ packages:
5022
5495
  is-glob: 4.0.3
5023
5496
  dev: true
5024
5497
 
5498
+ /glob-to-regexp@0.4.1:
5499
+ resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==}
5500
+ dev: true
5501
+
5025
5502
  /glob@7.2.3:
5026
5503
  resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==}
5027
5504
  dependencies:
@@ -5132,11 +5609,19 @@ packages:
5132
5609
  resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==}
5133
5610
  dev: true
5134
5611
 
5612
+ /http-cache-semantics@4.1.1:
5613
+ resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==}
5614
+ dev: true
5615
+
5135
5616
  /human-signals@2.1.0:
5136
5617
  resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==}
5137
5618
  engines: {node: '>=10.17.0'}
5138
5619
  dev: true
5139
5620
 
5621
+ /ieee754@1.2.1:
5622
+ resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==}
5623
+ dev: true
5624
+
5140
5625
  /ignore@5.2.4:
5141
5626
  resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==}
5142
5627
  engines: {node: '>= 4'}
@@ -5175,6 +5660,10 @@ packages:
5175
5660
  resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
5176
5661
  dev: true
5177
5662
 
5663
+ /ini@1.3.8:
5664
+ resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==}
5665
+ dev: true
5666
+
5178
5667
  /internal-slot@1.0.5:
5179
5668
  resolution: {integrity: sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==}
5180
5669
  engines: {node: '>= 0.4'}
@@ -5225,6 +5714,13 @@ packages:
5225
5714
  has-bigints: 1.0.2
5226
5715
  dev: true
5227
5716
 
5717
+ /is-binary-path@2.1.0:
5718
+ resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==}
5719
+ engines: {node: '>=8'}
5720
+ dependencies:
5721
+ binary-extensions: 2.2.0
5722
+ dev: true
5723
+
5228
5724
  /is-boolean-object@1.1.2:
5229
5725
  resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==}
5230
5726
  engines: {node: '>= 0.4'}
@@ -5911,6 +6407,11 @@ packages:
5911
6407
  engines: {node: '>=6'}
5912
6408
  dev: true
5913
6409
 
6410
+ /kleur@4.1.5:
6411
+ resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==}
6412
+ engines: {node: '>=6'}
6413
+ dev: true
6414
+
5914
6415
  /language-subtag-registry@0.3.22:
5915
6416
  resolution: {integrity: sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==}
5916
6417
  dev: true
@@ -5983,6 +6484,12 @@ packages:
5983
6484
  yallist: 4.0.0
5984
6485
  dev: true
5985
6486
 
6487
+ /magic-string@0.25.9:
6488
+ resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==}
6489
+ dependencies:
6490
+ sourcemap-codec: 1.4.8
6491
+ dev: true
6492
+
5986
6493
  /make-dir@3.1.0:
5987
6494
  resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==}
5988
6495
  engines: {node: '>=8'}
@@ -6025,11 +6532,47 @@ packages:
6025
6532
  mime-db: 1.52.0
6026
6533
  dev: true
6027
6534
 
6535
+ /mime@3.0.0:
6536
+ resolution: {integrity: sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==}
6537
+ engines: {node: '>=10.0.0'}
6538
+ hasBin: true
6539
+ dev: true
6540
+
6028
6541
  /mimic-fn@2.1.0:
6029
6542
  resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==}
6030
6543
  engines: {node: '>=6'}
6031
6544
  dev: true
6032
6545
 
6546
+ /mimic-response@3.1.0:
6547
+ resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==}
6548
+ engines: {node: '>=10'}
6549
+ dev: true
6550
+
6551
+ /miniflare@3.0.0:
6552
+ resolution: {integrity: sha512-CW8yS00pQCbq2o4K8drePzJBkE0heL9cCY/O8DcYJOHd4M0RVutjrp+LqUP4hfzweZ+LqrLo8+Rzy4cORisQoQ==}
6553
+ engines: {node: '>=16.13'}
6554
+ dependencies:
6555
+ acorn: 8.8.2
6556
+ acorn-walk: 8.2.0
6557
+ better-sqlite3: 8.4.0
6558
+ capnp-ts: 0.7.0
6559
+ exit-hook: 2.2.1
6560
+ glob-to-regexp: 0.4.1
6561
+ http-cache-semantics: 4.1.1
6562
+ kleur: 4.1.5
6563
+ source-map-support: 0.5.21
6564
+ stoppable: 1.1.0
6565
+ undici: 5.22.1
6566
+ workerd: 1.20230518.0
6567
+ ws: 8.13.0
6568
+ youch: 3.2.3
6569
+ zod: 3.21.4
6570
+ transitivePeerDependencies:
6571
+ - bufferutil
6572
+ - supports-color
6573
+ - utf-8-validate
6574
+ dev: true
6575
+
6033
6576
  /minimatch@3.1.2:
6034
6577
  resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
6035
6578
  dependencies:
@@ -6040,6 +6583,10 @@ packages:
6040
6583
  resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==}
6041
6584
  dev: true
6042
6585
 
6586
+ /mkdirp-classic@0.5.3:
6587
+ resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==}
6588
+ dev: true
6589
+
6043
6590
  /modern-normalize@2.0.0:
6044
6591
  resolution: {integrity: sha512-CxBoEVKh5U4DH3XuNbc5ONLF6dQBc8dSc7pdZ1957FGbIO5JBqGqqchhET9dTexri8/pk9xBL6+5ceOtCIp1QA==}
6045
6592
  engines: {node: '>=6'}
@@ -6053,12 +6600,21 @@ packages:
6053
6600
  resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
6054
6601
  dev: true
6055
6602
 
6603
+ /mustache@4.2.0:
6604
+ resolution: {integrity: sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ==}
6605
+ hasBin: true
6606
+ dev: true
6607
+
6056
6608
  /nanoid@3.3.6:
6057
6609
  resolution: {integrity: sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==}
6058
6610
  engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
6059
6611
  hasBin: true
6060
6612
  dev: true
6061
6613
 
6614
+ /napi-build-utils@1.0.2:
6615
+ resolution: {integrity: sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==}
6616
+ dev: true
6617
+
6062
6618
  /natural-compare-lite@1.4.0:
6063
6619
  resolution: {integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==}
6064
6620
  dev: true
@@ -6067,6 +6623,18 @@ packages:
6067
6623
  resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
6068
6624
  dev: true
6069
6625
 
6626
+ /node-abi@3.40.0:
6627
+ resolution: {integrity: sha512-zNy02qivjjRosswoYmPi8hIKJRr8MpQyeKT6qlcq/OnOgA3Rhoae+IYOqsM9V5+JnHWmxKnWOT2GxvtqdtOCXA==}
6628
+ engines: {node: '>=10'}
6629
+ dependencies:
6630
+ semver: 7.5.1
6631
+ dev: true
6632
+
6633
+ /node-forge@1.3.1:
6634
+ resolution: {integrity: sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==}
6635
+ engines: {node: '>= 6.13.0'}
6636
+ dev: true
6637
+
6070
6638
  /node-int64@0.4.0:
6071
6639
  resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==}
6072
6640
  dev: true
@@ -6075,6 +6643,11 @@ packages:
6075
6643
  resolution: {integrity: sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==}
6076
6644
  dev: true
6077
6645
 
6646
+ /node-watch@0.7.3:
6647
+ resolution: {integrity: sha512-3l4E8uMPY1HdMMryPRUAl+oIHtXtyiTlIiESNSVSNxcPfzAFzeTbXFQkZfAwBbo0B1qMSG8nUABx+Gd+YrbKrQ==}
6648
+ engines: {node: '>=6'}
6649
+ dev: true
6650
+
6078
6651
  /normalize-path@3.0.0:
6079
6652
  resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
6080
6653
  engines: {node: '>=0.10.0'}
@@ -6161,6 +6734,10 @@ packages:
6161
6734
  es-abstract: 1.21.2
6162
6735
  dev: true
6163
6736
 
6737
+ /obuf@1.1.2:
6738
+ resolution: {integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==}
6739
+ dev: false
6740
+
6164
6741
  /once@1.4.0:
6165
6742
  resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
6166
6743
  dependencies:
@@ -6255,11 +6832,42 @@ packages:
6255
6832
  resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
6256
6833
  dev: true
6257
6834
 
6835
+ /path-to-regexp@6.2.1:
6836
+ resolution: {integrity: sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw==}
6837
+ dev: true
6838
+
6258
6839
  /path-type@4.0.0:
6259
6840
  resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==}
6260
6841
  engines: {node: '>=8'}
6261
6842
  dev: true
6262
6843
 
6844
+ /pg-int8@1.0.1:
6845
+ resolution: {integrity: sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==}
6846
+ engines: {node: '>=4.0.0'}
6847
+ dev: false
6848
+
6849
+ /pg-numeric@1.0.2:
6850
+ resolution: {integrity: sha512-BM/Thnrw5jm2kKLE5uJkXqqExRUY/toLHda65XgFTBTFYZyopbKjBe29Ii3RbkvlsMoFwD+tHeGaCjjv0gHlyw==}
6851
+ engines: {node: '>=4'}
6852
+ dev: false
6853
+
6854
+ /pg-protocol@1.6.0:
6855
+ resolution: {integrity: sha512-M+PDm637OY5WM307051+bsDia5Xej6d9IR4GwJse1qA1DIhiKlksvrneZOYQq42OM+spubpcNYEo2FcKQrDk+Q==}
6856
+ dev: false
6857
+
6858
+ /pg-types@4.0.1:
6859
+ resolution: {integrity: sha512-hRCSDuLII9/LE3smys1hRHcu5QGcLs9ggT7I/TCs0IE+2Eesxi9+9RWAAwZ0yaGjxoWICF/YHLOEjydGujoJ+g==}
6860
+ engines: {node: '>=10'}
6861
+ dependencies:
6862
+ pg-int8: 1.0.1
6863
+ pg-numeric: 1.0.2
6864
+ postgres-array: 3.0.2
6865
+ postgres-bytea: 3.0.0
6866
+ postgres-date: 2.0.1
6867
+ postgres-interval: 3.0.0
6868
+ postgres-range: 1.1.3
6869
+ dev: false
6870
+
6263
6871
  /picocolors@1.0.0:
6264
6872
  resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==}
6265
6873
  dev: true
@@ -6332,6 +6940,51 @@ packages:
6332
6940
  source-map-js: 1.0.2
6333
6941
  dev: true
6334
6942
 
6943
+ /postgres-array@3.0.2:
6944
+ resolution: {integrity: sha512-6faShkdFugNQCLwucjPcY5ARoW1SlbnrZjmGl0IrrqewpvxvhSLHimCVzqeuULCbG0fQv7Dtk1yDbG3xv7Veog==}
6945
+ engines: {node: '>=12'}
6946
+ dev: false
6947
+
6948
+ /postgres-bytea@3.0.0:
6949
+ resolution: {integrity: sha512-CNd4jim9RFPkObHSjVHlVrxoVQXz7quwNFpz7RY1okNNme49+sVyiTvTRobiLV548Hx/hb1BG+iE7h9493WzFw==}
6950
+ engines: {node: '>= 6'}
6951
+ dependencies:
6952
+ obuf: 1.1.2
6953
+ dev: false
6954
+
6955
+ /postgres-date@2.0.1:
6956
+ resolution: {integrity: sha512-YtMKdsDt5Ojv1wQRvUhnyDJNSr2dGIC96mQVKz7xufp07nfuFONzdaowrMHjlAzY6GDLd4f+LUHHAAM1h4MdUw==}
6957
+ engines: {node: '>=12'}
6958
+ dev: false
6959
+
6960
+ /postgres-interval@3.0.0:
6961
+ resolution: {integrity: sha512-BSNDnbyZCXSxgA+1f5UU2GmwhoI0aU5yMxRGO8CdFEcY2BQF9xm/7MqKnYoM1nJDk8nONNWDk9WeSmePFhQdlw==}
6962
+ engines: {node: '>=12'}
6963
+ dev: false
6964
+
6965
+ /postgres-range@1.1.3:
6966
+ resolution: {integrity: sha512-VdlZoocy5lCP0c/t66xAfclglEapXPCIVhqqJRncYpvbCgImF0w67aPKfbqUMr72tO2k5q0TdTZwCLjPTI6C9g==}
6967
+ dev: false
6968
+
6969
+ /prebuild-install@7.1.1:
6970
+ resolution: {integrity: sha512-jAXscXWMcCK8GgCoHOfIr0ODh5ai8mj63L2nWrjuAgXE6tDyYGnx4/8o/rCgU+B4JSyZBKbeZqzhtwtC3ovxjw==}
6971
+ engines: {node: '>=10'}
6972
+ hasBin: true
6973
+ dependencies:
6974
+ detect-libc: 2.0.1
6975
+ expand-template: 2.0.3
6976
+ github-from-package: 0.0.0
6977
+ minimist: 1.2.8
6978
+ mkdirp-classic: 0.5.3
6979
+ napi-build-utils: 1.0.2
6980
+ node-abi: 3.40.0
6981
+ pump: 3.0.0
6982
+ rc: 1.2.8
6983
+ simple-get: 4.0.1
6984
+ tar-fs: 2.1.1
6985
+ tunnel-agent: 0.6.0
6986
+ dev: true
6987
+
6335
6988
  /prelude-ls@1.2.1:
6336
6989
  resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
6337
6990
  engines: {node: '>= 0.8.0'}
@@ -6346,6 +6999,10 @@ packages:
6346
6999
  react-is: 18.2.0
6347
7000
  dev: true
6348
7001
 
7002
+ /printable-characters@1.0.42:
7003
+ resolution: {integrity: sha512-dKp+C4iXWK4vVYZmYSd0KBH5F/h1HoZRsbJ82AVKRO3PEo8L4lBS/vLwhVtpwwuYcoIsVY+1JYKR268yn480uQ==}
7004
+ dev: true
7005
+
6349
7006
  /prompts@2.4.2:
6350
7007
  resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==}
6351
7008
  engines: {node: '>= 6'}
@@ -6361,6 +7018,13 @@ packages:
6361
7018
  object-assign: 4.1.1
6362
7019
  react-is: 16.13.1
6363
7020
 
7021
+ /pump@3.0.0:
7022
+ resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==}
7023
+ dependencies:
7024
+ end-of-stream: 1.4.4
7025
+ once: 1.4.0
7026
+ dev: true
7027
+
6364
7028
  /punycode@2.3.0:
6365
7029
  resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==}
6366
7030
  engines: {node: '>=6'}
@@ -6378,6 +7042,16 @@ packages:
6378
7042
  resolution: {integrity: sha512-6n3AEXth91ASapMVKiEh2wrbFJmI+NBilrWE0AbiGgfm0xet0QXC8+a3K19r1UVYjUjctUgB053c3V/J6V0kCQ==}
6379
7043
  dev: false
6380
7044
 
7045
+ /rc@1.2.8:
7046
+ resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==}
7047
+ hasBin: true
7048
+ dependencies:
7049
+ deep-extend: 0.6.0
7050
+ ini: 1.3.8
7051
+ minimist: 1.2.8
7052
+ strip-json-comments: 2.0.1
7053
+ dev: true
7054
+
6381
7055
  /react-aria-components@1.0.0-alpha.3(react-dom@18.2.0)(react@18.2.0):
6382
7056
  resolution: {integrity: sha512-rhakTyOPsTwk/ylCCcK38/y3yN2SXPWN2wPknNwDQ9wE+P/PQWIrc3WxOlhTFGltLC1/KXAAIvJrkPgPBFTE1g==}
6383
7057
  peerDependencies:
@@ -6535,6 +7209,22 @@ packages:
6535
7209
  loose-envify: 1.4.0
6536
7210
  dev: false
6537
7211
 
7212
+ /readable-stream@3.6.2:
7213
+ resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==}
7214
+ engines: {node: '>= 6'}
7215
+ dependencies:
7216
+ inherits: 2.0.4
7217
+ string_decoder: 1.3.0
7218
+ util-deprecate: 1.0.2
7219
+ dev: true
7220
+
7221
+ /readdirp@3.6.0:
7222
+ resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
7223
+ engines: {node: '>=8.10.0'}
7224
+ dependencies:
7225
+ picomatch: 2.3.1
7226
+ dev: true
7227
+
6538
7228
  /regenerate-unicode-properties@10.1.0:
6539
7229
  resolution: {integrity: sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==}
6540
7230
  engines: {node: '>=4'}
@@ -6645,12 +7335,37 @@ packages:
6645
7335
  glob: 7.2.3
6646
7336
  dev: true
6647
7337
 
7338
+ /rollup-plugin-inject@3.0.2:
7339
+ resolution: {integrity: sha512-ptg9PQwzs3orn4jkgXJ74bfs5vYz1NCZlSQMBUA0wKcGp5i5pA1AO3fOUEte8enhGUC+iapTCzEWw2jEFFUO/w==}
7340
+ deprecated: This package has been deprecated and is no longer maintained. Please use @rollup/plugin-inject.
7341
+ dependencies:
7342
+ estree-walker: 0.6.1
7343
+ magic-string: 0.25.9
7344
+ rollup-pluginutils: 2.8.2
7345
+ dev: true
7346
+
7347
+ /rollup-plugin-node-polyfills@0.2.1:
7348
+ resolution: {integrity: sha512-4kCrKPTJ6sK4/gLL/U5QzVT8cxJcofO0OU74tnB19F40cmuAKSzH5/siithxlofFEjwvw1YAhPmbvGNA6jEroA==}
7349
+ dependencies:
7350
+ rollup-plugin-inject: 3.0.2
7351
+ dev: true
7352
+
7353
+ /rollup-pluginutils@2.8.2:
7354
+ resolution: {integrity: sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==}
7355
+ dependencies:
7356
+ estree-walker: 0.6.1
7357
+ dev: true
7358
+
6648
7359
  /run-parallel@1.2.0:
6649
7360
  resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
6650
7361
  dependencies:
6651
7362
  queue-microtask: 1.2.3
6652
7363
  dev: true
6653
7364
 
7365
+ /safe-buffer@5.2.1:
7366
+ resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==}
7367
+ dev: true
7368
+
6654
7369
  /safe-regex-test@1.0.0:
6655
7370
  resolution: {integrity: sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==}
6656
7371
  dependencies:
@@ -6665,6 +7380,13 @@ packages:
6665
7380
  loose-envify: 1.4.0
6666
7381
  dev: false
6667
7382
 
7383
+ /selfsigned@2.1.1:
7384
+ resolution: {integrity: sha512-GSL3aowiF7wa/WtSFwnUrludWFoNhftq8bUkH9pkzjpN2XSPOAYEgg6e0sS9s0rZwgJzJiQRPU18A6clnoW5wQ==}
7385
+ engines: {node: '>=10'}
7386
+ dependencies:
7387
+ node-forge: 1.3.1
7388
+ dev: true
7389
+
6668
7390
  /semver@6.3.0:
6669
7391
  resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==}
6670
7392
  hasBin: true
@@ -6706,6 +7428,18 @@ packages:
6706
7428
  resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==}
6707
7429
  dev: true
6708
7430
 
7431
+ /simple-concat@1.0.1:
7432
+ resolution: {integrity: sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==}
7433
+ dev: true
7434
+
7435
+ /simple-get@4.0.1:
7436
+ resolution: {integrity: sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==}
7437
+ dependencies:
7438
+ decompress-response: 6.0.0
7439
+ once: 1.4.0
7440
+ simple-concat: 1.0.1
7441
+ dev: true
7442
+
6709
7443
  /sisteransi@1.0.5:
6710
7444
  resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==}
6711
7445
  dev: true
@@ -6727,11 +7461,28 @@ packages:
6727
7461
  source-map: 0.6.1
6728
7462
  dev: true
6729
7463
 
7464
+ /source-map-support@0.5.21:
7465
+ resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==}
7466
+ dependencies:
7467
+ buffer-from: 1.1.2
7468
+ source-map: 0.6.1
7469
+ dev: true
7470
+
6730
7471
  /source-map@0.6.1:
6731
7472
  resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==}
6732
7473
  engines: {node: '>=0.10.0'}
6733
7474
  dev: true
6734
7475
 
7476
+ /source-map@0.7.4:
7477
+ resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==}
7478
+ engines: {node: '>= 8'}
7479
+ dev: true
7480
+
7481
+ /sourcemap-codec@1.4.8:
7482
+ resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==}
7483
+ deprecated: Please use @jridgewell/sourcemap-codec instead
7484
+ dev: true
7485
+
6735
7486
  /sprintf-js@1.0.3:
6736
7487
  resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==}
6737
7488
  dev: true
@@ -6748,6 +7499,13 @@ packages:
6748
7499
  escape-string-regexp: 2.0.0
6749
7500
  dev: true
6750
7501
 
7502
+ /stacktracey@2.1.8:
7503
+ resolution: {integrity: sha512-Kpij9riA+UNg7TnphqjH7/CzctQ/owJGNbFkfEeve4Z4uxT5+JapVLFXcsurIfN34gnTWZNJ/f7NMG0E8JDzTw==}
7504
+ dependencies:
7505
+ as-table: 1.0.55
7506
+ get-source: 2.0.12
7507
+ dev: true
7508
+
6751
7509
  /stop-iteration-iterator@1.0.0:
6752
7510
  resolution: {integrity: sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==}
6753
7511
  engines: {node: '>= 0.4'}
@@ -6755,6 +7513,16 @@ packages:
6755
7513
  internal-slot: 1.0.5
6756
7514
  dev: true
6757
7515
 
7516
+ /stoppable@1.1.0:
7517
+ resolution: {integrity: sha512-KXDYZ9dszj6bzvnEMRYvxgeTHU74QBFL54XKtP3nyMuJ81CFYtABZ3bAzL2EdFUaEwJOBOgENyFj3R7oTzDyyw==}
7518
+ engines: {node: '>=4', npm: '>=6'}
7519
+ dev: true
7520
+
7521
+ /streamsearch@1.1.0:
7522
+ resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==}
7523
+ engines: {node: '>=10.0.0'}
7524
+ dev: true
7525
+
6758
7526
  /string-length@4.0.2:
6759
7527
  resolution: {integrity: sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==}
6760
7528
  engines: {node: '>=10'}
@@ -6814,6 +7582,12 @@ packages:
6814
7582
  es-abstract: 1.21.2
6815
7583
  dev: true
6816
7584
 
7585
+ /string_decoder@1.3.0:
7586
+ resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==}
7587
+ dependencies:
7588
+ safe-buffer: 5.2.1
7589
+ dev: true
7590
+
6817
7591
  /strip-ansi@6.0.1:
6818
7592
  resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
6819
7593
  engines: {node: '>=8'}
@@ -6836,6 +7610,11 @@ packages:
6836
7610
  engines: {node: '>=6'}
6837
7611
  dev: true
6838
7612
 
7613
+ /strip-json-comments@2.0.1:
7614
+ resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==}
7615
+ engines: {node: '>=0.10.0'}
7616
+ dev: true
7617
+
6839
7618
  /strip-json-comments@3.1.1:
6840
7619
  resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==}
6841
7620
  engines: {node: '>=8'}
@@ -6867,6 +7646,26 @@ packages:
6867
7646
  engines: {node: '>= 0.4'}
6868
7647
  dev: true
6869
7648
 
7649
+ /tar-fs@2.1.1:
7650
+ resolution: {integrity: sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==}
7651
+ dependencies:
7652
+ chownr: 1.1.4
7653
+ mkdirp-classic: 0.5.3
7654
+ pump: 3.0.0
7655
+ tar-stream: 2.2.0
7656
+ dev: true
7657
+
7658
+ /tar-stream@2.2.0:
7659
+ resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==}
7660
+ engines: {node: '>=6'}
7661
+ dependencies:
7662
+ bl: 4.1.0
7663
+ end-of-stream: 1.4.4
7664
+ fs-constants: 1.0.0
7665
+ inherits: 2.0.4
7666
+ readable-stream: 3.6.2
7667
+ dev: true
7668
+
6870
7669
  /test-exclude@6.0.0:
6871
7670
  resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==}
6872
7671
  engines: {node: '>=8'}
@@ -6911,7 +7710,6 @@ packages:
6911
7710
 
6912
7711
  /tslib@2.5.2:
6913
7712
  resolution: {integrity: sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==}
6914
- dev: false
6915
7713
 
6916
7714
  /tsutils@3.21.0(typescript@5.0.4):
6917
7715
  resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==}
@@ -6923,6 +7721,12 @@ packages:
6923
7721
  typescript: 5.0.4
6924
7722
  dev: true
6925
7723
 
7724
+ /tunnel-agent@0.6.0:
7725
+ resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==}
7726
+ dependencies:
7727
+ safe-buffer: 5.2.1
7728
+ dev: true
7729
+
6926
7730
  /type-check@0.4.0:
6927
7731
  resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==}
6928
7732
  engines: {node: '>= 0.8.0'}
@@ -6968,6 +7772,13 @@ packages:
6968
7772
  which-boxed-primitive: 1.0.2
6969
7773
  dev: true
6970
7774
 
7775
+ /undici@5.22.1:
7776
+ resolution: {integrity: sha512-Ji2IJhFXZY0x/0tVBXeQwgPlLWw13GVzpsWPQ3rV50IFMMof2I55PZZxtm4P6iNq+L5znYN9nSTAq0ZyE6lSJw==}
7777
+ engines: {node: '>=14.0'}
7778
+ dependencies:
7779
+ busboy: 1.6.0
7780
+ dev: true
7781
+
6971
7782
  /unicode-canonical-property-names-ecmascript@2.0.0:
6972
7783
  resolution: {integrity: sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==}
6973
7784
  engines: {node: '>=4'}
@@ -7089,6 +7900,44 @@ packages:
7089
7900
  engines: {node: '>=0.10.0'}
7090
7901
  dev: true
7091
7902
 
7903
+ /workerd@1.20230518.0:
7904
+ resolution: {integrity: sha512-VNmK0zoNZXrwEEx77O/oQDVUzzyDjf5kKKK8bty+FmKCd5EQJCpqi8NlRKWLGMyyYrKm86MFz0kAsreTEs7HHA==}
7905
+ engines: {node: '>=16'}
7906
+ hasBin: true
7907
+ requiresBuild: true
7908
+ optionalDependencies:
7909
+ '@cloudflare/workerd-darwin-64': 1.20230518.0
7910
+ '@cloudflare/workerd-darwin-arm64': 1.20230518.0
7911
+ '@cloudflare/workerd-linux-64': 1.20230518.0
7912
+ '@cloudflare/workerd-linux-arm64': 1.20230518.0
7913
+ '@cloudflare/workerd-windows-64': 1.20230518.0
7914
+ dev: true
7915
+
7916
+ /wrangler@3.0.1:
7917
+ resolution: {integrity: sha512-YamXlRjkMO/V3Fvq7IC9H9GDWIbNGc4IV3l1Z5q45XYTWxUYbkwXyiTAfpmqhyl5wx+XEPKe3k/ubqmW+r63yQ==}
7918
+ engines: {node: '>=16.13.0'}
7919
+ hasBin: true
7920
+ dependencies:
7921
+ '@cloudflare/kv-asset-handler': 0.2.0
7922
+ '@esbuild-plugins/node-globals-polyfill': 0.1.1(esbuild@0.16.3)
7923
+ '@esbuild-plugins/node-modules-polyfill': 0.1.4(esbuild@0.16.3)
7924
+ blake3-wasm: 2.1.5
7925
+ chokidar: 3.5.3
7926
+ esbuild: 0.16.3
7927
+ miniflare: 3.0.0
7928
+ nanoid: 3.3.6
7929
+ path-to-regexp: 6.2.1
7930
+ selfsigned: 2.1.1
7931
+ source-map: 0.7.4
7932
+ xxhash-wasm: 1.0.2
7933
+ optionalDependencies:
7934
+ fsevents: 2.3.2
7935
+ transitivePeerDependencies:
7936
+ - bufferutil
7937
+ - supports-color
7938
+ - utf-8-validate
7939
+ dev: true
7940
+
7092
7941
  /wrap-ansi@7.0.0:
7093
7942
  resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==}
7094
7943
  engines: {node: '>=10'}
@@ -7110,6 +7959,23 @@ packages:
7110
7959
  signal-exit: 3.0.7
7111
7960
  dev: true
7112
7961
 
7962
+ /ws@8.13.0:
7963
+ resolution: {integrity: sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==}
7964
+ engines: {node: '>=10.0.0'}
7965
+ peerDependencies:
7966
+ bufferutil: ^4.0.1
7967
+ utf-8-validate: '>=5.0.2'
7968
+ peerDependenciesMeta:
7969
+ bufferutil:
7970
+ optional: true
7971
+ utf-8-validate:
7972
+ optional: true
7973
+ dev: true
7974
+
7975
+ /xxhash-wasm@1.0.2:
7976
+ resolution: {integrity: sha512-ibF0Or+FivM9lNrg+HGJfVX8WJqgo+kCLDc4vx6xMeTce7Aj+DLttKbxxRR/gNLSAelRc1omAPlJ77N/Jem07A==}
7977
+ dev: true
7978
+
7113
7979
  /y18n@5.0.8:
7114
7980
  resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==}
7115
7981
  engines: {node: '>=10'}
@@ -7151,6 +8017,13 @@ packages:
7151
8017
  engines: {node: '>=10'}
7152
8018
  dev: true
7153
8019
 
8020
+ /youch@3.2.3:
8021
+ resolution: {integrity: sha512-ZBcWz/uzZaQVdCvfV4uk616Bbpf2ee+F/AvuKDR5EwX/Y4v06xWdtMluqTD7+KlZdM93lLm9gMZYo0sKBS0pgw==}
8022
+ dependencies:
8023
+ cookie: 0.5.0
8024
+ mustache: 4.2.0
8025
+ stacktracey: 2.1.8
8026
+ dev: true
8027
+
7154
8028
  /zod@3.21.4:
7155
8029
  resolution: {integrity: sha512-m46AKbrzKVzOzs/DZgVnG5H55N1sv1M8qZU3A8RIKbs3mrACDNeIOeilDymVb2HdmP8uwshOCF4uJ8uM9rCqJw==}
7156
- dev: false
renderApi.js CHANGED
@@ -8,8 +8,10 @@ export const renderApi = async (fn, req) => {
8
8
  status: 200,
9
9
  });
10
10
  } catch (err) {
11
+ console.log("err: renderApi", err);
11
- const message = err.format ? err.format() : err;
12
+ const message = err.format ? err.format() : err.message;
13
+ const data = process.env.NODE_ENV === "development" ? { message, stack: err.stack } : { message };
12
- return new Response(JSON.stringify(message), {
14
+ return new Response(JSON.stringify(data), {
13
15
  headers: { 'Content-Type': 'application/json' },
14
16
  status: 400,
15
17
  });