~repos /edge-city
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
e284d5ba
—
Peter John 2 years ago
initial build
- .gitignore +1 -1
- docs/package.json +7 -0
- {packages/example → example}/.gitignore +0 -0
- example/.vscode/extensions.json +6 -0
- {packages/example → example}/.vscode/settings.json +6 -1
- example/globals.d.ts +5 -0
- {packages/example → example}/jsconfig.json +1 -1
- example/migrations/0000_cheerful_omega_sentinel.sql +7 -0
- {packages/example/db → example}/migrations/meta/0000_snapshot.json +1 -1
- {packages/example/db → example}/migrations/meta/_journal.json +3 -2
- example/migrations/schema.js +5 -0
- example/package.json +68 -0
- {packages/example → example}/playwright.config.js +3 -4
- example/readme.md +22 -0
- example/scripts/migrate.js +14 -0
- example/src/components/Counter/Counter.css +7 -0
- example/src/components/Counter/Counter.jsx +22 -0
- example/src/components/Layout/Layout.css +28 -0
- example/src/components/Layout/Layout.jsx +18 -0
- example/src/components/Spinner/Spinner.css +40 -0
- example/src/components/Spinner/Spinner.jsx +11 -0
- {packages/example → example/src}/components/Timer/Timer.jsx +3 -3
- example/src/init.js +20 -0
- {packages/example → example/src}/pages/_404/page.css +5 -5
- {packages/example → example/src}/pages/_404/page.jsx +5 -7
- {packages/example → example/src}/pages/_500/page.css +5 -4
- {packages/example → example/src}/pages/_500/page.jsx +5 -7
- {packages/example → example/src}/pages/about/page.css +2 -3
- example/src/pages/about/page.jsx +25 -0
- example/src/pages/app.css +25 -0
- example/src/pages/app.jsx +23 -0
- example/src/pages/normalize.css +396 -0
- example/src/pages/page.css +8 -0
- example/src/pages/page.jsx +21 -0
- {packages/example → example/src}/pages/page.spec.js +2 -2
- example/src/pages/spectrum.css +431 -0
- example/src/pages/todos/Todo.css +44 -0
- example/src/pages/todos/Todo.jsx +72 -0
- example/src/pages/todos/TodoList.jsx +23 -0
- example/src/pages/todos/page.css +46 -0
- example/src/pages/todos/page.jsx +52 -0
- {packages/example → example/src}/services/auth.service.js +0 -0
- {packages/example → example/src}/services/todos.service.js +29 -19
- example/src/services/todos.service.test.js +36 -0
- {packages/example → example/src}/static/favicon.ico +0 -0
- {packages/example → example/src}/static/logo192.png +0 -0
- {packages/example → example/src}/static/logo512.png +0 -0
- {packages/example → example/src}/static/manifest.json +0 -0
- {packages/example → example/src}/static/robots.txt +0 -0
- example/vite.config.js +55 -0
- lib/bin/cli.js +305 -0
- lib/data.js +95 -0
- lib/hydratePage.js +27 -0
- lib/link.js +33 -0
- lib/package.json +51 -0
- lib/router.js +41 -0
- lib/server/dev-server.js +18 -0
- lib/server/renderApi.js +21 -0
- lib/server/renderPage.js +160 -0
- packages/cli/index.js +0 -388
- packages/cli/package.json +0 -27
- packages/example/.vscode/extensions.json +0 -5
- packages/example/Dockerfile +0 -8
- packages/example/components/Counter/Counter.jsx +0 -16
- packages/example/components/Layout/Layout.css +0 -5
- packages/example/components/Layout/Layout.jsx +0 -19
- packages/example/components/Todo/Todo.css +0 -16
- packages/example/components/Todo/Todo.jsx +0 -94
- packages/example/db/index.js +0 -20
- packages/example/db/migrations/0000_empty_shatterstar.sql +0 -7
- packages/example/drizzle.config.json +0 -4
- packages/example/main.js +0 -6
- packages/example/package.json +0 -59
- packages/example/pages/about/page.jsx +0 -28
- packages/example/pages/page.css +0 -17
- packages/example/pages/page.jsx +0 -29
- packages/example/pages/todos/page.css +0 -71
- packages/example/pages/todos/page.jsx +0 -61
- packages/example/readme.md +0 -18
- packages/example/services/todos.service.test.js +0 -41
- packages/runtime/index.js +0 -315
- packages/runtime/package.json +0 -14
- pnpm-lock.yaml +3362 -405
- pnpm-workspace.yaml +3 -1
- readme.md +42 -12
.gitignore
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
node_modules
|
|
1
|
+
node_modules
|
docs/package.json
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "edge-city-docs",
|
|
3
|
+
"type": "module",
|
|
4
|
+
"dependencies": {
|
|
5
|
+
"@markdoc/markdoc": "0.2.2"
|
|
6
|
+
}
|
|
7
|
+
}
|
{packages/example → example}/.gitignore
RENAMED
|
File without changes
|
example/.vscode/extensions.json
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"recommendations": [
|
|
3
|
+
"ms-playwright.playwright",
|
|
4
|
+
"esbenp.prettier-vscode"
|
|
5
|
+
]
|
|
6
|
+
}
|
{packages/example → example}/.vscode/settings.json
RENAMED
|
@@ -9,5 +9,10 @@
|
|
|
9
9
|
"**/dist": true,
|
|
10
10
|
"**/playwright-report": true,
|
|
11
11
|
"test-results": true
|
|
12
|
-
}
|
|
12
|
+
},
|
|
13
|
+
"editor.defaultFormatter": "esbenp.prettier-vscode",
|
|
14
|
+
"[javascript]": {
|
|
15
|
+
"editor.defaultFormatter": "esbenp.prettier-vscode",
|
|
16
|
+
"editor.formatOnSave": true
|
|
17
|
+
},
|
|
13
18
|
}
|
example/globals.d.ts
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { NeonDatabase } from "drizzle-orm/neon-serverless"
|
|
2
|
+
|
|
3
|
+
declare global {
|
|
4
|
+
const db: NeonDatabase;
|
|
5
|
+
}
|
{packages/example → example}/jsconfig.json
RENAMED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"compilerOptions": {
|
|
3
3
|
"paths": {
|
|
4
4
|
"@/*": [
|
|
5
|
-
"./*"
|
|
5
|
+
"./src/*"
|
|
6
6
|
]
|
|
7
7
|
}
|
|
8
8
|
}
|
example/migrations/0000_cheerful_omega_sentinel.sql
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
create table if not exists "todos" (
|
|
2
|
+
"id" serial primary key not null,
|
|
3
|
+
"text" text not null,
|
|
4
|
+
"completed" boolean not null,
|
|
5
|
+
"createdAt" date not null,
|
|
6
|
+
"updatedAt" date
|
|
7
|
+
);
|
{packages/example/db → example}/migrations/meta/0000_snapshot.json
RENAMED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": "5",
|
|
3
3
|
"dialect": "pg",
|
|
4
|
-
"id": "
|
|
4
|
+
"id": "d0432aeb-cfc0-4ad1-af0d-b91474ba236a",
|
|
5
5
|
"prevId": "00000000-0000-0000-0000-000000000000",
|
|
6
6
|
"tables": {
|
|
7
7
|
"todos": {
|
{packages/example/db → example}/migrations/meta/_journal.json
RENAMED
|
@@ -5,8 +5,9 @@
|
|
|
5
5
|
{
|
|
6
6
|
"idx": 0,
|
|
7
7
|
"version": "5",
|
|
8
|
-
"when":
|
|
8
|
+
"when": 1684994794751,
|
|
9
|
-
"tag": "
|
|
9
|
+
"tag": "0000_cheerful_omega_sentinel",
|
|
10
|
+
"breakpoints": false
|
|
10
11
|
}
|
|
11
12
|
]
|
|
12
13
|
}
|
example/migrations/schema.js
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { todos } from "../src/services/todos.service";
|
|
2
|
+
|
|
3
|
+
export {
|
|
4
|
+
todos,
|
|
5
|
+
}
|
example/package.json
ADDED
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "edge-city-example",
|
|
3
|
+
"type": "module",
|
|
4
|
+
"scripts": {
|
|
5
|
+
"lint": "eslint ./src",
|
|
6
|
+
"fmt": "prettier ./src --write",
|
|
7
|
+
"dev": "edge-city dev -p cloudflare",
|
|
8
|
+
"dev:wrangler": "cd build && wrangler pages dev static",
|
|
9
|
+
"deploy:wrangler": "cd build && wrangler pages deploy static",
|
|
10
|
+
"build": " edge-city build -p cloudflare",
|
|
11
|
+
"build-2": "vite build",
|
|
12
|
+
"generate": "drizzle-kit generate:pg --out migrations --schema migrations/schema.js",
|
|
13
|
+
"migrate": "node scripts/migrate.js",
|
|
14
|
+
"test": "jest",
|
|
15
|
+
"test-e2e": "playwright test"
|
|
16
|
+
},
|
|
17
|
+
"dependencies": {
|
|
18
|
+
"@neondatabase/serverless": "0.4.5",
|
|
19
|
+
"drizzle-orm": "0.26.0",
|
|
20
|
+
"edge-city": "workspace:*",
|
|
21
|
+
"react": "18.2.0",
|
|
22
|
+
"react-aria-components": "1.0.0-alpha.3",
|
|
23
|
+
"react-dom": "18.2.0",
|
|
24
|
+
"react-error-boundary": "4.0.4",
|
|
25
|
+
"react-helmet-async": "1.3.0",
|
|
26
|
+
"react-hook-form": "7.43.9",
|
|
27
|
+
"sql-highlight": "^4.3.2",
|
|
28
|
+
"zod": "^3.21.4"
|
|
29
|
+
},
|
|
30
|
+
"devDependencies": {
|
|
31
|
+
"@playwright/test": "^1.31.2",
|
|
32
|
+
"drizzle-kit": "0.18.0",
|
|
33
|
+
"eslint": "^8.35.0",
|
|
34
|
+
"eslint-config-react-app": "^7.0.1",
|
|
35
|
+
"postgres": "3.3.4",
|
|
36
|
+
"prettier": "^2.8.8",
|
|
37
|
+
"wrangler": "3.0.1",
|
|
38
|
+
"vite": "4.3.9",
|
|
39
|
+
"vite-plugin-pages": "0.30.1",
|
|
40
|
+
"@vitejs/plugin-react": "4.0.0"
|
|
41
|
+
},
|
|
42
|
+
"prettier": {
|
|
43
|
+
"printWidth": 100,
|
|
44
|
+
"singleQuote": false,
|
|
45
|
+
"jsxSingleQuote": false,
|
|
46
|
+
"bracketSameLine": false,
|
|
47
|
+
"trailingComma": "all"
|
|
48
|
+
},
|
|
49
|
+
"eslintConfig": {
|
|
50
|
+
"parserOptions": {
|
|
51
|
+
"ecmaVersion": "latest",
|
|
52
|
+
"sourceType": "module"
|
|
53
|
+
},
|
|
54
|
+
"extends": [
|
|
55
|
+
"eslint:recommended",
|
|
56
|
+
"react-app"
|
|
57
|
+
],
|
|
58
|
+
"rules": {
|
|
59
|
+
"react/prop-types": "warn",
|
|
60
|
+
"react/react-in-jsx-scope": "off",
|
|
61
|
+
"no-unused-vars": "warn"
|
|
62
|
+
},
|
|
63
|
+
"globals": {
|
|
64
|
+
"globalThis": false,
|
|
65
|
+
"db": false
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}
|
{packages/example → example}/playwright.config.js
RENAMED
|
@@ -58,8 +58,7 @@ export default defineConfig({
|
|
|
58
58
|
],
|
|
59
59
|
outputDir: 'test-results/',
|
|
60
60
|
webServer: {
|
|
61
|
-
command: '
|
|
61
|
+
command: 'npm run dev',
|
|
62
|
-
port:
|
|
62
|
+
port: 8788,
|
|
63
63
|
},
|
|
64
|
-
});
|
|
64
|
+
});
|
|
65
|
-
|
example/readme.md
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# Sample edge-city app
|
|
2
|
+
|
|
3
|
+
## Requirements
|
|
4
|
+
|
|
5
|
+
1. node >= v20
|
|
6
|
+
|
|
7
|
+
## Setup
|
|
8
|
+
|
|
9
|
+
1. `npm i`
|
|
10
|
+
2. `npx playright install`
|
|
11
|
+
|
|
12
|
+
## Running
|
|
13
|
+
|
|
14
|
+
`npm run dev`
|
|
15
|
+
|
|
16
|
+
## Testing
|
|
17
|
+
|
|
18
|
+
`npm test`
|
|
19
|
+
|
|
20
|
+
## Build
|
|
21
|
+
|
|
22
|
+
`npm run build`
|
example/scripts/migrate.js
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { drizzle } from 'drizzle-orm/postgres-js';
|
|
2
|
+
import { migrate } from 'drizzle-orm/postgres-js/migrator';
|
|
3
|
+
import postgres from 'postgres';
|
|
4
|
+
import dotenv from 'dotenv';
|
|
5
|
+
dotenv.config();
|
|
6
|
+
|
|
7
|
+
const main = async () => {
|
|
8
|
+
console.log("migration started");
|
|
9
|
+
const client = postgres(process.env.EDGE_PG_CONN_URL + "?sslmode=require", { max: 1 });
|
|
10
|
+
await migrate(drizzle(client), { migrationsFolder: './migrations' });
|
|
11
|
+
console.log("migration complete");
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
main();
|
example/src/components/Counter/Counter.css
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
.counter {
|
|
2
|
+
& .button {
|
|
3
|
+
border-radius: 0.25rem;
|
|
4
|
+
padding: 1rem;
|
|
5
|
+
margin-left: 0.5rem;
|
|
6
|
+
}
|
|
7
|
+
}
|
example/src/components/Counter/Counter.jsx
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import React, { useState } from "react";
|
|
2
|
+
import { Button } from "react-aria-components";
|
|
3
|
+
import "./Counter.css";
|
|
4
|
+
|
|
5
|
+
const Counter = () => {
|
|
6
|
+
const [count, setCount] = useState(5);
|
|
7
|
+
const increment = () => setCount(count - 1);
|
|
8
|
+
const decrement = () => setCount(count + 1);
|
|
9
|
+
return (
|
|
10
|
+
<div className="counter">
|
|
11
|
+
<Button onPress={increment}>
|
|
12
|
+
-
|
|
13
|
+
</Button>
|
|
14
|
+
<span className="count">{count}</span>
|
|
15
|
+
<Button onPress={decrement}>
|
|
16
|
+
+
|
|
17
|
+
</Button>
|
|
18
|
+
</div>
|
|
19
|
+
);
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
export default Counter;
|
example/src/components/Layout/Layout.css
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
.layout {
|
|
2
|
+
display: flex;
|
|
3
|
+
margin-left: 20%;
|
|
4
|
+
|
|
5
|
+
& .sidebar {
|
|
6
|
+
display: flex;
|
|
7
|
+
flex-shrink: 0;
|
|
8
|
+
flex-direction: column;
|
|
9
|
+
align-items: center;
|
|
10
|
+
padding: 20px;
|
|
11
|
+
padding-top: 42px;
|
|
12
|
+
line-height: 1.8em;
|
|
13
|
+
|
|
14
|
+
& a {
|
|
15
|
+
margin-right: 20px;
|
|
16
|
+
padding: 0.25rem;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
& .content {
|
|
21
|
+
display: flex;
|
|
22
|
+
flex: 1;
|
|
23
|
+
padding: 20px;
|
|
24
|
+
padding-bottom: 50px;
|
|
25
|
+
border-left: 2px solid #eee;
|
|
26
|
+
min-height: 100vh;
|
|
27
|
+
}
|
|
28
|
+
}
|
example/src/components/Layout/Layout.jsx
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import Link from "edge-city/link";
|
|
3
|
+
import "./Layout.css";
|
|
4
|
+
|
|
5
|
+
const Layout = ({ children }) => {
|
|
6
|
+
return (
|
|
7
|
+
<div className="layout">
|
|
8
|
+
<div className="sidebar">
|
|
9
|
+
<Link href="/">Home</Link>
|
|
10
|
+
<Link href="/about">About us</Link>
|
|
11
|
+
<Link href="/todos">Todos</Link>
|
|
12
|
+
</div>
|
|
13
|
+
<div className="content">{children}</div>
|
|
14
|
+
</div>
|
|
15
|
+
);
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
export default Layout;
|
example/src/components/Spinner/Spinner.css
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
.spinner-container {
|
|
2
|
+
display: flex;
|
|
3
|
+
flex: 1;
|
|
4
|
+
align-items: center;
|
|
5
|
+
justify-content: center;
|
|
6
|
+
padding: 1rem;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
.spinner {
|
|
10
|
+
animation: rotate 2s linear infinite;
|
|
11
|
+
width: 50px;
|
|
12
|
+
height: 50px;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
.spinner-path {
|
|
16
|
+
stroke: #2563eb;
|
|
17
|
+
stroke-linecap: round;
|
|
18
|
+
animation: dash 1.5s ease-in-out infinite;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
@keyframes rotate {
|
|
22
|
+
100% {
|
|
23
|
+
transform: rotate(360deg);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
@keyframes dash {
|
|
28
|
+
0% {
|
|
29
|
+
stroke-dasharray: 1, 150;
|
|
30
|
+
stroke-dashoffset: 0;
|
|
31
|
+
}
|
|
32
|
+
50% {
|
|
33
|
+
stroke-dasharray: 90, 150;
|
|
34
|
+
stroke-dashoffset: -35;
|
|
35
|
+
}
|
|
36
|
+
100% {
|
|
37
|
+
stroke-dasharray: 90, 150;
|
|
38
|
+
stroke-dashoffset: -124;
|
|
39
|
+
}
|
|
40
|
+
}
|
example/src/components/Spinner/Spinner.jsx
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import "./Spinner.css";
|
|
2
|
+
|
|
3
|
+
export default function Spinner() {
|
|
4
|
+
return (
|
|
5
|
+
<div className="spinner-container">
|
|
6
|
+
<svg className="spinner" viewBox="0 0 50 50">
|
|
7
|
+
<circle className="spinner-path" cx="25" cy="25" r="20" fill="none" strokeWidth="5"></circle>
|
|
8
|
+
</svg>
|
|
9
|
+
</div>
|
|
10
|
+
)
|
|
11
|
+
}
|
{packages/example → example/src}/components/Timer/Timer.jsx
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { useState, useEffect } from
|
|
1
|
+
import { useState, useEffect } from "react";
|
|
2
2
|
|
|
3
3
|
export default function Timer() {
|
|
4
4
|
const [counter, setCounter] = useState(0);
|
|
@@ -8,11 +8,11 @@ export default function Timer() {
|
|
|
8
8
|
}, 100);
|
|
9
9
|
return () => {
|
|
10
10
|
clearInterval(ref);
|
|
11
|
-
}
|
|
11
|
+
};
|
|
12
12
|
}, []);
|
|
13
13
|
return (
|
|
14
14
|
<div>
|
|
15
15
|
<p>(This page is interactive while data is loading: {counter})</p>
|
|
16
16
|
</div>
|
|
17
17
|
);
|
|
18
|
-
}
|
|
18
|
+
}
|
example/src/init.js
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { drizzle } from "drizzle-orm/neon-serverless";
|
|
2
|
+
import { Pool } from "@neondatabase/serverless";
|
|
3
|
+
import { highlight } from "sql-highlight";
|
|
4
|
+
|
|
5
|
+
const init = async () => {
|
|
6
|
+
const pool = new Pool({
|
|
7
|
+
connectionString: process.env.EDGE_PG_CONN_URL,
|
|
8
|
+
});
|
|
9
|
+
const db = drizzle(pool, {
|
|
10
|
+
logger: {
|
|
11
|
+
logQuery: (query, params) => {
|
|
12
|
+
const sqlString = params.reduce((acc, v, i) => acc.replaceAll("$" + (i + 1), v), query);
|
|
13
|
+
console.log(highlight(sqlString));
|
|
14
|
+
},
|
|
15
|
+
},
|
|
16
|
+
});
|
|
17
|
+
globalThis.db = db;
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
export default init;
|
{packages/example → example/src}/pages/_404/page.css
RENAMED
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
|
|
1
|
+
.notfound-page {
|
|
2
2
|
display: flex;
|
|
3
3
|
flex-direction: column;
|
|
4
4
|
align-items: center;
|
|
5
5
|
justify-content: center;
|
|
6
6
|
color: #000;
|
|
7
7
|
background: #fff;
|
|
8
|
-
font-family: -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Fira Sans", Avenir,
|
|
8
|
+
font-family: -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Fira Sans", Avenir,
|
|
9
|
-
|
|
9
|
+
"Helvetica Neue", "Lucida Grande", sans-serif;
|
|
10
10
|
text-align: center;
|
|
11
11
|
|
|
12
12
|
& h1 {
|
|
13
13
|
display: inline-block;
|
|
14
|
-
border-right: 1px solid rgba(0, 0, 0, .3);
|
|
14
|
+
border-right: 1px solid rgba(0, 0, 0, 0.3);
|
|
15
15
|
margin: 0;
|
|
16
16
|
margin-right: 20px;
|
|
17
17
|
padding: 10px 23px 10px 0;
|
|
@@ -35,4 +35,4 @@ body {
|
|
|
35
35
|
margin: 0;
|
|
36
36
|
padding: 0;
|
|
37
37
|
}
|
|
38
|
-
}
|
|
38
|
+
}
|
{packages/example → example/src}/pages/_404/page.jsx
RENAMED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import React from
|
|
1
|
+
import React from "react";
|
|
2
|
-
import { Helmet } from
|
|
2
|
+
import { Helmet } from "react-helmet-async";
|
|
3
3
|
import "./page.css";
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
export default function Page() {
|
|
6
6
|
return (
|
|
7
|
-
<div>
|
|
7
|
+
<div className="notfound-page">
|
|
8
8
|
<Helmet>
|
|
9
9
|
<title>Page not found</title>
|
|
10
10
|
</Helmet>
|
|
@@ -13,7 +13,5 @@ const Page = () => {
|
|
|
13
13
|
<h2>This page could not be found</h2>
|
|
14
14
|
</div>
|
|
15
15
|
</div>
|
|
16
|
-
)
|
|
16
|
+
);
|
|
17
17
|
}
|
|
18
|
-
|
|
19
|
-
export default Page;
|
{packages/example → example/src}/pages/_500/page.css
RENAMED
|
@@ -1,17 +1,18 @@
|
|
|
1
|
-
|
|
1
|
+
.err-page {
|
|
2
2
|
display: flex;
|
|
3
3
|
flex-direction: column;
|
|
4
4
|
align-items: center;
|
|
5
5
|
justify-content: center;
|
|
6
6
|
color: #000;
|
|
7
7
|
background: #fff;
|
|
8
|
-
font-family: -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Fira Sans", Avenir,
|
|
8
|
+
font-family: -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Fira Sans", Avenir,
|
|
9
|
+
"Helvetica Neue", "Lucida Grande", sans-serif;
|
|
9
10
|
height: 100vh;
|
|
10
11
|
text-align: center;
|
|
11
12
|
|
|
12
13
|
& h1 {
|
|
13
14
|
display: inline-block;
|
|
14
|
-
border-right: 1px solid rgba(0, 0, 0, .3);
|
|
15
|
+
border-right: 1px solid rgba(0, 0, 0, 0.3);
|
|
15
16
|
margin: 0;
|
|
16
17
|
margin-right: 20px;
|
|
17
18
|
padding: 10px 23px 10px 0;
|
|
@@ -35,4 +36,4 @@ body {
|
|
|
35
36
|
margin: 0;
|
|
36
37
|
padding: 0;
|
|
37
38
|
}
|
|
38
|
-
}
|
|
39
|
+
}
|
{packages/example → example/src}/pages/_500/page.jsx
RENAMED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import React from
|
|
1
|
+
import React from "react";
|
|
2
|
-
import { Helmet } from
|
|
2
|
+
import { Helmet } from "react-helmet-async";
|
|
3
3
|
import "./page.css";
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
export default function Page() {
|
|
6
6
|
return (
|
|
7
|
-
<div>
|
|
7
|
+
<div className="err-page">
|
|
8
8
|
<Helmet>
|
|
9
9
|
<title>Oop's Something went wrong</title>
|
|
10
10
|
</Helmet>
|
|
@@ -13,7 +13,5 @@ const Page = () => {
|
|
|
13
13
|
<h2>Internal Server Error</h2>
|
|
14
14
|
</div>
|
|
15
15
|
</div>
|
|
16
|
-
)
|
|
16
|
+
);
|
|
17
17
|
}
|
|
18
|
-
|
|
19
|
-
export default Page;
|
{packages/example → example/src}/pages/about/page.css
RENAMED
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
|
|
1
|
+
.about-page {
|
|
2
2
|
margin: 0;
|
|
3
3
|
padding: 20px;
|
|
4
4
|
padding-bottom: 130px;
|
|
5
|
-
background-color: violet;
|
|
6
5
|
|
|
7
6
|
& footer {
|
|
8
7
|
margin-top: 100px;
|
|
9
8
|
}
|
|
10
|
-
}
|
|
9
|
+
}
|
example/src/pages/about/page.jsx
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import Link from "edge-city/link";
|
|
3
|
+
import { useRouter } from "edge-city/router";
|
|
4
|
+
import { Helmet } from "react-helmet-async";
|
|
5
|
+
import "./page.css";
|
|
6
|
+
|
|
7
|
+
export default function Page() {
|
|
8
|
+
const router = useRouter();
|
|
9
|
+
return (
|
|
10
|
+
<div className="about-page">
|
|
11
|
+
<Helmet>
|
|
12
|
+
<title>About | Edge City</title>
|
|
13
|
+
<meta name="description" content="Showcase of using edge-city meta-framework." />
|
|
14
|
+
</Helmet>
|
|
15
|
+
<div>
|
|
16
|
+
<h1>About Page</h1>
|
|
17
|
+
<p>Path: {router.pathname}</p>
|
|
18
|
+
<p>Showcase of using edge-city meta-framework.</p>
|
|
19
|
+
</div>
|
|
20
|
+
<footer>
|
|
21
|
+
<Link href="/">Back</Link>
|
|
22
|
+
</footer>
|
|
23
|
+
</div>
|
|
24
|
+
);
|
|
25
|
+
}
|
example/src/pages/app.css
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
html {
|
|
2
|
+
line-height: 1.5;
|
|
3
|
+
font-size: 16px;
|
|
4
|
+
-webkit-text-size-adjust: 100%;
|
|
5
|
+
font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
|
|
6
|
+
"Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji",
|
|
7
|
+
"Segoe UI Symbol", "Noto Color Emoji";
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
body {
|
|
11
|
+
font-family: inherit;
|
|
12
|
+
line-height: inherit;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
h1 {
|
|
16
|
+
font-size: 1.25rem;
|
|
17
|
+
line-height: 1.75rem;
|
|
18
|
+
font-weight: 700;
|
|
19
|
+
margin-top: 1rem;
|
|
20
|
+
margin-bottom: 1rem;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
a:hover {
|
|
24
|
+
text-decoration: underline;
|
|
25
|
+
}
|
example/src/pages/app.jsx
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Suspense } from "react";
|
|
2
|
+
import { SSRProvider } from "react-aria";
|
|
3
|
+
import { HelmetProvider } from 'react-helmet-async';
|
|
4
|
+
import { usePage } from "edge-city/router";
|
|
5
|
+
import Layout from "@/components/Layout/Layout";
|
|
6
|
+
import "./normalize.css";
|
|
7
|
+
import "./spectrum.css";
|
|
8
|
+
import "./app.css";
|
|
9
|
+
|
|
10
|
+
export default function App({ helmetContext }) {
|
|
11
|
+
const Page = usePage();
|
|
12
|
+
return (
|
|
13
|
+
<HelmetProvider context={helmetContext}>
|
|
14
|
+
<SSRProvider>
|
|
15
|
+
<Layout>
|
|
16
|
+
<Suspense fallback={<p>Routing....</p>}>
|
|
17
|
+
<Page />
|
|
18
|
+
</Suspense>
|
|
19
|
+
</Layout>
|
|
20
|
+
</SSRProvider>
|
|
21
|
+
</HelmetProvider>
|
|
22
|
+
);
|
|
23
|
+
}
|
example/src/pages/normalize.css
ADDED
|
@@ -0,0 +1,396 @@
|
|
|
1
|
+
|
|
2
|
+
/*
|
|
3
|
+
1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
|
|
4
|
+
2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
*,
|
|
8
|
+
::before,
|
|
9
|
+
::after {
|
|
10
|
+
box-sizing: border-box; /* 1 */
|
|
11
|
+
border-width: 0; /* 2 */
|
|
12
|
+
border-style: solid; /* 2 */
|
|
13
|
+
border-color: theme("borderColor.DEFAULT", currentColor); /* 2 */
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
::before,
|
|
17
|
+
::after {
|
|
18
|
+
--tw-content: "";
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
/*
|
|
22
|
+
1. Use a consistent sensible line-height in all browsers.
|
|
23
|
+
2. Prevent adjustments of font size after orientation changes in iOS.
|
|
24
|
+
3. Use a more readable tab size.
|
|
25
|
+
4. Use the user's configured `sans` font-family by default.
|
|
26
|
+
5. Use the user's configured `sans` font-feature-settings by default.
|
|
27
|
+
6. Use the user's configured `sans` font-variation-settings by default.
|
|
28
|
+
*/
|
|
29
|
+
|
|
30
|
+
html {
|
|
31
|
+
line-height: 1.5; /* 1 */
|
|
32
|
+
-webkit-text-size-adjust: 100%; /* 2 */
|
|
33
|
+
-moz-tab-size: 4; /* 3 */
|
|
34
|
+
tab-size: 4; /* 3 */
|
|
35
|
+
font-family: theme(
|
|
36
|
+
"fontFamily.sans",
|
|
37
|
+
ui-sans-serif,
|
|
38
|
+
system-ui,
|
|
39
|
+
-apple-system,
|
|
40
|
+
BlinkMacSystemFont,
|
|
41
|
+
"Segoe UI",
|
|
42
|
+
Roboto,
|
|
43
|
+
"Helvetica Neue",
|
|
44
|
+
Arial,
|
|
45
|
+
"Noto Sans",
|
|
46
|
+
sans-serif,
|
|
47
|
+
"Apple Color Emoji",
|
|
48
|
+
"Segoe UI Emoji",
|
|
49
|
+
"Segoe UI Symbol",
|
|
50
|
+
"Noto Color Emoji"
|
|
51
|
+
); /* 4 */
|
|
52
|
+
font-feature-settings: theme("fontFamily.sans[1].fontFeatureSettings", normal); /* 5 */
|
|
53
|
+
font-variation-settings: theme("fontFamily.sans[1].fontVariationSettings", normal); /* 6 */
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
/*
|
|
57
|
+
1. Remove the margin in all browsers.
|
|
58
|
+
2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.
|
|
59
|
+
*/
|
|
60
|
+
|
|
61
|
+
body {
|
|
62
|
+
margin: 0; /* 1 */
|
|
63
|
+
line-height: inherit; /* 2 */
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
/*
|
|
67
|
+
1. Add the correct height in Firefox.
|
|
68
|
+
2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
|
|
69
|
+
3. Ensure horizontal rules are visible by default.
|
|
70
|
+
*/
|
|
71
|
+
|
|
72
|
+
hr {
|
|
73
|
+
height: 0; /* 1 */
|
|
74
|
+
color: inherit; /* 2 */
|
|
75
|
+
border-top-width: 1px; /* 3 */
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
/*
|
|
79
|
+
Add the correct text decoration in Chrome, Edge, and Safari.
|
|
80
|
+
*/
|
|
81
|
+
|
|
82
|
+
abbr:where([title]) {
|
|
83
|
+
text-decoration: underline dotted;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
/*
|
|
87
|
+
Remove the default font size and weight for headings.
|
|
88
|
+
*/
|
|
89
|
+
|
|
90
|
+
h1,
|
|
91
|
+
h2,
|
|
92
|
+
h3,
|
|
93
|
+
h4,
|
|
94
|
+
h5,
|
|
95
|
+
h6 {
|
|
96
|
+
font-size: inherit;
|
|
97
|
+
font-weight: inherit;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
/*
|
|
101
|
+
Reset links to optimize for opt-in styling instead of opt-out.
|
|
102
|
+
*/
|
|
103
|
+
|
|
104
|
+
a {
|
|
105
|
+
color: inherit;
|
|
106
|
+
text-decoration: inherit;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
/*
|
|
110
|
+
Add the correct font weight in Edge and Safari.
|
|
111
|
+
*/
|
|
112
|
+
|
|
113
|
+
b,
|
|
114
|
+
strong {
|
|
115
|
+
font-weight: bolder;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
/*
|
|
119
|
+
1. Use the user's configured `mono` font family by default.
|
|
120
|
+
2. Correct the odd `em` font sizing in all browsers.
|
|
121
|
+
*/
|
|
122
|
+
|
|
123
|
+
code,
|
|
124
|
+
kbd,
|
|
125
|
+
samp,
|
|
126
|
+
pre {
|
|
127
|
+
font-family: theme(
|
|
128
|
+
"fontFamily.mono",
|
|
129
|
+
ui-monospace,
|
|
130
|
+
SFMono-Regular,
|
|
131
|
+
Menlo,
|
|
132
|
+
Monaco,
|
|
133
|
+
Consolas,
|
|
134
|
+
"Liberation Mono",
|
|
135
|
+
"Courier New",
|
|
136
|
+
monospace
|
|
137
|
+
); /* 1 */
|
|
138
|
+
font-size: 1em; /* 2 */
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
/*
|
|
142
|
+
Add the correct font size in all browsers.
|
|
143
|
+
*/
|
|
144
|
+
|
|
145
|
+
small {
|
|
146
|
+
font-size: 80%;
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
/*
|
|
150
|
+
Prevent `sub` and `sup` elements from affecting the line height in all browsers.
|
|
151
|
+
*/
|
|
152
|
+
|
|
153
|
+
sub,
|
|
154
|
+
sup {
|
|
155
|
+
font-size: 75%;
|
|
156
|
+
line-height: 0;
|
|
157
|
+
position: relative;
|
|
158
|
+
vertical-align: baseline;
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
sub {
|
|
162
|
+
bottom: -0.25em;
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
sup {
|
|
166
|
+
top: -0.5em;
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
/*
|
|
170
|
+
1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
|
|
171
|
+
2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
|
|
172
|
+
3. Remove gaps between table borders by default.
|
|
173
|
+
*/
|
|
174
|
+
|
|
175
|
+
table {
|
|
176
|
+
text-indent: 0; /* 1 */
|
|
177
|
+
border-color: inherit; /* 2 */
|
|
178
|
+
border-collapse: collapse; /* 3 */
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
/*
|
|
182
|
+
1. Change the font styles in all browsers.
|
|
183
|
+
2. Remove the margin in Firefox and Safari.
|
|
184
|
+
3. Remove default padding in all browsers.
|
|
185
|
+
*/
|
|
186
|
+
|
|
187
|
+
button,
|
|
188
|
+
input,
|
|
189
|
+
optgroup,
|
|
190
|
+
select,
|
|
191
|
+
textarea {
|
|
192
|
+
font-family: inherit; /* 1 */
|
|
193
|
+
font-size: 100%; /* 1 */
|
|
194
|
+
font-weight: inherit; /* 1 */
|
|
195
|
+
line-height: inherit; /* 1 */
|
|
196
|
+
color: inherit; /* 1 */
|
|
197
|
+
margin: 0; /* 2 */
|
|
198
|
+
padding: 0; /* 3 */
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
/*
|
|
202
|
+
Remove the inheritance of text transform in Edge and Firefox.
|
|
203
|
+
*/
|
|
204
|
+
|
|
205
|
+
button,
|
|
206
|
+
select {
|
|
207
|
+
text-transform: none;
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
/*
|
|
211
|
+
1. Correct the inability to style clickable types in iOS and Safari.
|
|
212
|
+
2. Remove default button styles.
|
|
213
|
+
*/
|
|
214
|
+
|
|
215
|
+
button,
|
|
216
|
+
[type="button"],
|
|
217
|
+
[type="reset"],
|
|
218
|
+
[type="submit"] {
|
|
219
|
+
-webkit-appearance: button; /* 1 */
|
|
220
|
+
background-color: transparent; /* 2 */
|
|
221
|
+
background-image: none; /* 2 */
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
/*
|
|
225
|
+
Use the modern Firefox focus style for all focusable elements.
|
|
226
|
+
*/
|
|
227
|
+
|
|
228
|
+
:-moz-focusring {
|
|
229
|
+
outline: auto;
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
/*
|
|
233
|
+
Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
|
|
234
|
+
*/
|
|
235
|
+
|
|
236
|
+
:-moz-ui-invalid {
|
|
237
|
+
box-shadow: none;
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
/*
|
|
241
|
+
Add the correct vertical alignment in Chrome and Firefox.
|
|
242
|
+
*/
|
|
243
|
+
|
|
244
|
+
progress {
|
|
245
|
+
vertical-align: baseline;
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
/*
|
|
249
|
+
Correct the cursor style of increment and decrement buttons in Safari.
|
|
250
|
+
*/
|
|
251
|
+
|
|
252
|
+
::-webkit-inner-spin-button,
|
|
253
|
+
::-webkit-outer-spin-button {
|
|
254
|
+
height: auto;
|
|
255
|
+
}
|
|
256
|
+
|
|
257
|
+
/*
|
|
258
|
+
1. Correct the odd appearance in Chrome and Safari.
|
|
259
|
+
2. Correct the outline style in Safari.
|
|
260
|
+
*/
|
|
261
|
+
|
|
262
|
+
[type="search"] {
|
|
263
|
+
-webkit-appearance: textfield; /* 1 */
|
|
264
|
+
outline-offset: -2px; /* 2 */
|
|
265
|
+
}
|
|
266
|
+
|
|
267
|
+
/*
|
|
268
|
+
Remove the inner padding in Chrome and Safari on macOS.
|
|
269
|
+
*/
|
|
270
|
+
|
|
271
|
+
::-webkit-search-decoration {
|
|
272
|
+
-webkit-appearance: none;
|
|
273
|
+
}
|
|
274
|
+
|
|
275
|
+
/*
|
|
276
|
+
1. Correct the inability to style clickable types in iOS and Safari.
|
|
277
|
+
2. Change font properties to `inherit` in Safari.
|
|
278
|
+
*/
|
|
279
|
+
|
|
280
|
+
::-webkit-file-upload-button {
|
|
281
|
+
-webkit-appearance: button; /* 1 */
|
|
282
|
+
font: inherit; /* 2 */
|
|
283
|
+
}
|
|
284
|
+
|
|
285
|
+
/*
|
|
286
|
+
Add the correct display in Chrome and Safari.
|
|
287
|
+
*/
|
|
288
|
+
|
|
289
|
+
summary {
|
|
290
|
+
display: list-item;
|
|
291
|
+
}
|
|
292
|
+
|
|
293
|
+
/*
|
|
294
|
+
Removes the default spacing and border for appropriate elements.
|
|
295
|
+
*/
|
|
296
|
+
|
|
297
|
+
blockquote,
|
|
298
|
+
dl,
|
|
299
|
+
dd,
|
|
300
|
+
h1,
|
|
301
|
+
h2,
|
|
302
|
+
h3,
|
|
303
|
+
h4,
|
|
304
|
+
h5,
|
|
305
|
+
h6,
|
|
306
|
+
hr,
|
|
307
|
+
figure,
|
|
308
|
+
p,
|
|
309
|
+
pre {
|
|
310
|
+
margin: 0;
|
|
311
|
+
}
|
|
312
|
+
|
|
313
|
+
fieldset {
|
|
314
|
+
margin: 0;
|
|
315
|
+
padding: 0;
|
|
316
|
+
}
|
|
317
|
+
|
|
318
|
+
legend {
|
|
319
|
+
padding: 0;
|
|
320
|
+
}
|
|
321
|
+
|
|
322
|
+
ol,
|
|
323
|
+
ul,
|
|
324
|
+
menu {
|
|
325
|
+
list-style: none;
|
|
326
|
+
margin: 0;
|
|
327
|
+
padding: 0;
|
|
328
|
+
}
|
|
329
|
+
|
|
330
|
+
/*
|
|
331
|
+
Prevent resizing textareas horizontally by default.
|
|
332
|
+
*/
|
|
333
|
+
|
|
334
|
+
textarea {
|
|
335
|
+
resize: vertical;
|
|
336
|
+
}
|
|
337
|
+
|
|
338
|
+
/*
|
|
339
|
+
1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
|
|
340
|
+
2. Set the default placeholder color to the user's configured gray 400 color.
|
|
341
|
+
*/
|
|
342
|
+
|
|
343
|
+
input::placeholder,
|
|
344
|
+
textarea::placeholder {
|
|
345
|
+
opacity: 1; /* 1 */
|
|
346
|
+
color: theme("colors.gray.400", #9ca3af); /* 2 */
|
|
347
|
+
}
|
|
348
|
+
|
|
349
|
+
/*
|
|
350
|
+
Set the default cursor for buttons.
|
|
351
|
+
*/
|
|
352
|
+
|
|
353
|
+
button,
|
|
354
|
+
[role="button"] {
|
|
355
|
+
cursor: pointer;
|
|
356
|
+
}
|
|
357
|
+
|
|
358
|
+
/*
|
|
359
|
+
Make sure disabled buttons don't get the pointer cursor.
|
|
360
|
+
*/
|
|
361
|
+
:disabled {
|
|
362
|
+
cursor: default;
|
|
363
|
+
}
|
|
364
|
+
|
|
365
|
+
/*
|
|
366
|
+
1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)
|
|
367
|
+
2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
|
|
368
|
+
This can trigger a poorly considered lint error in some tools but is included by design.
|
|
369
|
+
*/
|
|
370
|
+
|
|
371
|
+
img,
|
|
372
|
+
svg,
|
|
373
|
+
video,
|
|
374
|
+
canvas,
|
|
375
|
+
audio,
|
|
376
|
+
iframe,
|
|
377
|
+
embed,
|
|
378
|
+
object {
|
|
379
|
+
display: block; /* 1 */
|
|
380
|
+
vertical-align: middle; /* 2 */
|
|
381
|
+
}
|
|
382
|
+
|
|
383
|
+
/*
|
|
384
|
+
Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)
|
|
385
|
+
*/
|
|
386
|
+
|
|
387
|
+
img,
|
|
388
|
+
video {
|
|
389
|
+
max-width: 100%;
|
|
390
|
+
height: auto;
|
|
391
|
+
}
|
|
392
|
+
|
|
393
|
+
/* Make elements with the HTML hidden attribute stay hidden by default */
|
|
394
|
+
[hidden] {
|
|
395
|
+
display: none;
|
|
396
|
+
}
|
example/src/pages/page.css
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
.home-page {
|
|
2
|
+
& .count {
|
|
3
|
+
color: black;
|
|
4
|
+
padding: 40px;
|
|
5
|
+
font-size: 30px;
|
|
6
|
+
font-weight: 600;
|
|
7
|
+
}
|
|
8
|
+
}
|
example/src/pages/page.jsx
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { useRouter } from "edge-city/router";
|
|
3
|
+
import Counter from "@/components/Counter/Counter";
|
|
4
|
+
import { Helmet } from "react-helmet-async";
|
|
5
|
+
import "./page.css";
|
|
6
|
+
|
|
7
|
+
export default function Page() {
|
|
8
|
+
const router = useRouter();
|
|
9
|
+
return (
|
|
10
|
+
<div>
|
|
11
|
+
<Helmet>
|
|
12
|
+
<title>Edge City</title>
|
|
13
|
+
</Helmet>
|
|
14
|
+
<div className="home-page">
|
|
15
|
+
<h1>Home Page</h1>
|
|
16
|
+
<p>Path: {router.pathname}</p>
|
|
17
|
+
<Counter />
|
|
18
|
+
</div>
|
|
19
|
+
</div>
|
|
20
|
+
);
|
|
21
|
+
}
|
{packages/example → example/src}/pages/page.spec.js
RENAMED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
// })
|
|
7
7
|
|
|
8
8
|
// test('has title', async ({ page }) => {
|
|
9
|
-
// await expect(page).toHaveTitle(/
|
|
9
|
+
// await expect(page).toHaveTitle(/Edge City/);
|
|
10
10
|
// });
|
|
11
11
|
|
|
12
12
|
// test('has links', async ({ page }) => {
|
|
@@ -16,4 +16,4 @@
|
|
|
16
16
|
// test('has counter', async ({ page }) => {
|
|
17
17
|
// const counter = page.getByText("Counter");
|
|
18
18
|
// expect(counter.innerText).toEqual("123");
|
|
19
|
-
// });
|
|
19
|
+
// });
|
example/src/pages/spectrum.css
ADDED
|
@@ -0,0 +1,431 @@
|
|
|
1
|
+
:root {
|
|
2
|
+
--spectrum-global-color-status: Verified;
|
|
3
|
+
--spectrum-global-color-version: 5.1.0;
|
|
4
|
+
--spectrum-gray-50: rgb(255, 255, 255);
|
|
5
|
+
--spectrum-gray-75: rgb(253, 253, 253);
|
|
6
|
+
--spectrum-gray-100: rgb(248, 248, 248);
|
|
7
|
+
--spectrum-gray-200: rgb(230, 230, 230);
|
|
8
|
+
--spectrum-gray-300: rgb(213, 213, 213);
|
|
9
|
+
--spectrum-gray-400: rgb(177, 177, 177);
|
|
10
|
+
--spectrum-gray-500: rgb(144, 144, 144);
|
|
11
|
+
--spectrum-gray-600: rgb(109, 109, 109);
|
|
12
|
+
--spectrum-gray-700: rgb(70, 70, 70);
|
|
13
|
+
--spectrum-gray-800: rgb(34, 34, 34);
|
|
14
|
+
--spectrum-gray-900: rgb(0, 0, 0);
|
|
15
|
+
--spectrum-red-100: rgb(255, 235, 231);
|
|
16
|
+
--spectrum-red-200: rgb(255, 221, 214);
|
|
17
|
+
--spectrum-red-300: rgb(255, 205, 195);
|
|
18
|
+
--spectrum-red-400: rgb(255, 183, 169);
|
|
19
|
+
--spectrum-red-500: rgb(255, 155, 136);
|
|
20
|
+
--spectrum-red-600: rgb(255, 124, 101);
|
|
21
|
+
--spectrum-red-700: rgb(247, 92, 70);
|
|
22
|
+
--spectrum-red-800: rgb(234, 56, 41);
|
|
23
|
+
--spectrum-red-900: rgb(211, 21, 16);
|
|
24
|
+
--spectrum-red-1000: rgb(180, 0, 0);
|
|
25
|
+
--spectrum-red-1100: rgb(147, 0, 0);
|
|
26
|
+
--spectrum-red-1200: rgb(116, 0, 0);
|
|
27
|
+
--spectrum-red-1300: rgb(89, 0, 0);
|
|
28
|
+
--spectrum-red-1400: rgb(67, 0, 0);
|
|
29
|
+
--spectrum-orange-100: rgb(255, 236, 204);
|
|
30
|
+
--spectrum-orange-200: rgb(255, 223, 173);
|
|
31
|
+
--spectrum-orange-300: rgb(253, 210, 145);
|
|
32
|
+
--spectrum-orange-400: rgb(255, 187, 99);
|
|
33
|
+
--spectrum-orange-500: rgb(255, 160, 55);
|
|
34
|
+
--spectrum-orange-600: rgb(246, 133, 17);
|
|
35
|
+
--spectrum-orange-700: rgb(228, 111, 0);
|
|
36
|
+
--spectrum-orange-800: rgb(203, 93, 0);
|
|
37
|
+
--spectrum-orange-900: rgb(177, 76, 0);
|
|
38
|
+
--spectrum-orange-1000: rgb(149, 61, 0);
|
|
39
|
+
--spectrum-orange-1100: rgb(122, 47, 0);
|
|
40
|
+
--spectrum-orange-1200: rgb(97, 35, 0);
|
|
41
|
+
--spectrum-orange-1300: rgb(73, 25, 1);
|
|
42
|
+
--spectrum-orange-1400: rgb(53, 18, 1);
|
|
43
|
+
--spectrum-yellow-100: rgb(251, 241, 152);
|
|
44
|
+
--spectrum-yellow-200: rgb(248, 231, 80);
|
|
45
|
+
--spectrum-yellow-300: rgb(248, 217, 4);
|
|
46
|
+
--spectrum-yellow-400: rgb(232, 198, 0);
|
|
47
|
+
--spectrum-yellow-500: rgb(215, 179, 0);
|
|
48
|
+
--spectrum-yellow-600: rgb(196, 159, 0);
|
|
49
|
+
--spectrum-yellow-700: rgb(176, 140, 0);
|
|
50
|
+
--spectrum-yellow-800: rgb(155, 120, 0);
|
|
51
|
+
--spectrum-yellow-900: rgb(133, 102, 0);
|
|
52
|
+
--spectrum-yellow-1000: rgb(112, 83, 0);
|
|
53
|
+
--spectrum-yellow-1100: rgb(91, 67, 0);
|
|
54
|
+
--spectrum-yellow-1200: rgb(72, 51, 0);
|
|
55
|
+
--spectrum-yellow-1300: rgb(54, 37, 0);
|
|
56
|
+
--spectrum-yellow-1400: rgb(40, 26, 0);
|
|
57
|
+
--spectrum-chartreuse-100: rgb(219, 252, 110);
|
|
58
|
+
--spectrum-chartreuse-200: rgb(203, 244, 67);
|
|
59
|
+
--spectrum-chartreuse-300: rgb(188, 233, 42);
|
|
60
|
+
--spectrum-chartreuse-400: rgb(170, 216, 22);
|
|
61
|
+
--spectrum-chartreuse-500: rgb(152, 197, 10);
|
|
62
|
+
--spectrum-chartreuse-600: rgb(135, 177, 3);
|
|
63
|
+
--spectrum-chartreuse-700: rgb(118, 156, 0);
|
|
64
|
+
--spectrum-chartreuse-800: rgb(103, 136, 0);
|
|
65
|
+
--spectrum-chartreuse-900: rgb(87, 116, 0);
|
|
66
|
+
--spectrum-chartreuse-1000: rgb(72, 96, 0);
|
|
67
|
+
--spectrum-chartreuse-1100: rgb(58, 77, 0);
|
|
68
|
+
--spectrum-chartreuse-1200: rgb(44, 59, 0);
|
|
69
|
+
--spectrum-chartreuse-1300: rgb(33, 44, 0);
|
|
70
|
+
--spectrum-chartreuse-1400: rgb(24, 31, 0);
|
|
71
|
+
--spectrum-celery-100: rgb(205, 252, 191);
|
|
72
|
+
--spectrum-celery-200: rgb(174, 246, 157);
|
|
73
|
+
--spectrum-celery-300: rgb(150, 238, 133);
|
|
74
|
+
--spectrum-celery-400: rgb(114, 224, 106);
|
|
75
|
+
--spectrum-celery-500: rgb(78, 207, 80);
|
|
76
|
+
--spectrum-celery-600: rgb(39, 187, 54);
|
|
77
|
+
--spectrum-celery-700: rgb(7, 167, 33);
|
|
78
|
+
--spectrum-celery-800: rgb(0, 145, 18);
|
|
79
|
+
--spectrum-celery-900: rgb(0, 124, 15);
|
|
80
|
+
--spectrum-celery-1000: rgb(0, 103, 15);
|
|
81
|
+
--spectrum-celery-1100: rgb(0, 83, 13);
|
|
82
|
+
--spectrum-celery-1200: rgb(0, 64, 10);
|
|
83
|
+
--spectrum-celery-1300: rgb(0, 48, 7);
|
|
84
|
+
--spectrum-celery-1400: rgb(0, 34, 5);
|
|
85
|
+
--spectrum-green-100: rgb(206, 248, 224);
|
|
86
|
+
--spectrum-green-200: rgb(173, 244, 206);
|
|
87
|
+
--spectrum-green-300: rgb(137, 236, 188);
|
|
88
|
+
--spectrum-green-400: rgb(103, 222, 168);
|
|
89
|
+
--spectrum-green-500: rgb(73, 204, 147);
|
|
90
|
+
--spectrum-green-600: rgb(47, 184, 128);
|
|
91
|
+
--spectrum-green-700: rgb(21, 164, 110);
|
|
92
|
+
--spectrum-green-800: rgb(0, 143, 93);
|
|
93
|
+
--spectrum-green-900: rgb(0, 122, 77);
|
|
94
|
+
--spectrum-green-1000: rgb(0, 101, 62);
|
|
95
|
+
--spectrum-green-1100: rgb(0, 81, 50);
|
|
96
|
+
--spectrum-green-1200: rgb(5, 63, 39);
|
|
97
|
+
--spectrum-green-1300: rgb(10, 46, 29);
|
|
98
|
+
--spectrum-green-1400: rgb(10, 32, 21);
|
|
99
|
+
--spectrum-seafoam-100: rgb(206, 247, 243);
|
|
100
|
+
--spectrum-seafoam-200: rgb(170, 241, 234);
|
|
101
|
+
--spectrum-seafoam-300: rgb(140, 233, 226);
|
|
102
|
+
--spectrum-seafoam-400: rgb(101, 218, 210);
|
|
103
|
+
--spectrum-seafoam-500: rgb(63, 201, 193);
|
|
104
|
+
--spectrum-seafoam-600: rgb(15, 181, 174);
|
|
105
|
+
--spectrum-seafoam-700: rgb(0, 161, 154);
|
|
106
|
+
--spectrum-seafoam-800: rgb(0, 140, 135);
|
|
107
|
+
--spectrum-seafoam-900: rgb(0, 119, 114);
|
|
108
|
+
--spectrum-seafoam-1000: rgb(0, 99, 95);
|
|
109
|
+
--spectrum-seafoam-1100: rgb(12, 79, 76);
|
|
110
|
+
--spectrum-seafoam-1200: rgb(18, 60, 58);
|
|
111
|
+
--spectrum-seafoam-1300: rgb(18, 44, 43);
|
|
112
|
+
--spectrum-seafoam-1400: rgb(15, 31, 30);
|
|
113
|
+
--spectrum-cyan-100: rgb(197, 248, 255);
|
|
114
|
+
--spectrum-cyan-200: rgb(164, 240, 255);
|
|
115
|
+
--spectrum-cyan-300: rgb(136, 231, 250);
|
|
116
|
+
--spectrum-cyan-400: rgb(96, 216, 243);
|
|
117
|
+
--spectrum-cyan-500: rgb(51, 197, 232);
|
|
118
|
+
--spectrum-cyan-600: rgb(18, 176, 218);
|
|
119
|
+
--spectrum-cyan-700: rgb(1, 156, 200);
|
|
120
|
+
--spectrum-cyan-800: rgb(0, 134, 180);
|
|
121
|
+
--spectrum-cyan-900: rgb(0, 113, 159);
|
|
122
|
+
--spectrum-cyan-1000: rgb(0, 93, 137);
|
|
123
|
+
--spectrum-cyan-1100: rgb(0, 74, 115);
|
|
124
|
+
--spectrum-cyan-1200: rgb(0, 57, 93);
|
|
125
|
+
--spectrum-cyan-1300: rgb(0, 42, 70);
|
|
126
|
+
--spectrum-cyan-1400: rgb(0, 30, 51);
|
|
127
|
+
--spectrum-blue-100: rgb(224, 242, 255);
|
|
128
|
+
--spectrum-blue-200: rgb(202, 232, 255);
|
|
129
|
+
--spectrum-blue-300: rgb(181, 222, 255);
|
|
130
|
+
--spectrum-blue-400: rgb(150, 206, 253);
|
|
131
|
+
--spectrum-blue-500: rgb(120, 187, 250);
|
|
132
|
+
--spectrum-blue-600: rgb(89, 167, 246);
|
|
133
|
+
--spectrum-blue-700: rgb(56, 146, 243);
|
|
134
|
+
--spectrum-blue-800: rgb(20, 122, 243);
|
|
135
|
+
--spectrum-blue-900: rgb(2, 101, 220);
|
|
136
|
+
--spectrum-blue-1000: rgb(0, 84, 182);
|
|
137
|
+
--spectrum-blue-1100: rgb(0, 68, 145);
|
|
138
|
+
--spectrum-blue-1200: rgb(0, 53, 113);
|
|
139
|
+
--spectrum-blue-1300: rgb(0, 39, 84);
|
|
140
|
+
--spectrum-blue-1400: rgb(0, 28, 60);
|
|
141
|
+
--spectrum-indigo-100: rgb(237, 238, 255);
|
|
142
|
+
--spectrum-indigo-200: rgb(224, 226, 255);
|
|
143
|
+
--spectrum-indigo-300: rgb(211, 213, 255);
|
|
144
|
+
--spectrum-indigo-400: rgb(193, 196, 255);
|
|
145
|
+
--spectrum-indigo-500: rgb(172, 175, 255);
|
|
146
|
+
--spectrum-indigo-600: rgb(149, 153, 255);
|
|
147
|
+
--spectrum-indigo-700: rgb(126, 132, 252);
|
|
148
|
+
--spectrum-indigo-800: rgb(104, 109, 244);
|
|
149
|
+
--spectrum-indigo-900: rgb(82, 88, 228);
|
|
150
|
+
--spectrum-indigo-1000: rgb(64, 70, 202);
|
|
151
|
+
--spectrum-indigo-1100: rgb(50, 54, 168);
|
|
152
|
+
--spectrum-indigo-1200: rgb(38, 41, 134);
|
|
153
|
+
--spectrum-indigo-1300: rgb(27, 30, 100);
|
|
154
|
+
--spectrum-indigo-1400: rgb(20, 22, 72);
|
|
155
|
+
--spectrum-purple-100: rgb(246, 235, 255);
|
|
156
|
+
--spectrum-purple-200: rgb(238, 221, 255);
|
|
157
|
+
--spectrum-purple-300: rgb(230, 208, 255);
|
|
158
|
+
--spectrum-purple-400: rgb(219, 187, 254);
|
|
159
|
+
--spectrum-purple-500: rgb(204, 164, 253);
|
|
160
|
+
--spectrum-purple-600: rgb(189, 139, 252);
|
|
161
|
+
--spectrum-purple-700: rgb(174, 114, 249);
|
|
162
|
+
--spectrum-purple-800: rgb(157, 87, 244);
|
|
163
|
+
--spectrum-purple-900: rgb(137, 61, 231);
|
|
164
|
+
--spectrum-purple-1000: rgb(115, 38, 211);
|
|
165
|
+
--spectrum-purple-1100: rgb(93, 19, 183);
|
|
166
|
+
--spectrum-purple-1200: rgb(71, 12, 148);
|
|
167
|
+
--spectrum-purple-1300: rgb(51, 16, 106);
|
|
168
|
+
--spectrum-purple-1400: rgb(35, 15, 73);
|
|
169
|
+
--spectrum-fuchsia-100: rgb(255, 233, 252);
|
|
170
|
+
--spectrum-fuchsia-200: rgb(255, 218, 250);
|
|
171
|
+
--spectrum-fuchsia-300: rgb(254, 199, 248);
|
|
172
|
+
--spectrum-fuchsia-400: rgb(251, 174, 246);
|
|
173
|
+
--spectrum-fuchsia-500: rgb(245, 146, 243);
|
|
174
|
+
--spectrum-fuchsia-600: rgb(237, 116, 237);
|
|
175
|
+
--spectrum-fuchsia-700: rgb(224, 85, 226);
|
|
176
|
+
--spectrum-fuchsia-800: rgb(205, 58, 206);
|
|
177
|
+
--spectrum-fuchsia-900: rgb(182, 34, 183);
|
|
178
|
+
--spectrum-fuchsia-1000: rgb(157, 3, 158);
|
|
179
|
+
--spectrum-fuchsia-1100: rgb(128, 0, 129);
|
|
180
|
+
--spectrum-fuchsia-1200: rgb(100, 6, 100);
|
|
181
|
+
--spectrum-fuchsia-1300: rgb(71, 14, 70);
|
|
182
|
+
--spectrum-fuchsia-1400: rgb(50, 13, 49);
|
|
183
|
+
--spectrum-magenta-100: rgb(255, 234, 241);
|
|
184
|
+
--spectrum-magenta-200: rgb(255, 220, 232);
|
|
185
|
+
--spectrum-magenta-300: rgb(255, 202, 221);
|
|
186
|
+
--spectrum-magenta-400: rgb(255, 178, 206);
|
|
187
|
+
--spectrum-magenta-500: rgb(255, 149, 189);
|
|
188
|
+
--spectrum-magenta-600: rgb(250, 119, 170);
|
|
189
|
+
--spectrum-magenta-700: rgb(239, 90, 152);
|
|
190
|
+
--spectrum-magenta-800: rgb(222, 61, 130);
|
|
191
|
+
--spectrum-magenta-900: rgb(200, 34, 105);
|
|
192
|
+
--spectrum-magenta-1000: rgb(173, 9, 85);
|
|
193
|
+
--spectrum-magenta-1100: rgb(142, 0, 69);
|
|
194
|
+
--spectrum-magenta-1200: rgb(112, 0, 55);
|
|
195
|
+
--spectrum-magenta-1300: rgb(84, 3, 42);
|
|
196
|
+
--spectrum-magenta-1400: rgb(60, 6, 29);
|
|
197
|
+
--spectrum-alias-background-color-modal-overlay: rgba(0,0,0,0.4);
|
|
198
|
+
--spectrum-alias-dropshadow-color: rgba(0,0,0,0.15);
|
|
199
|
+
--spectrum-alias-background-color-hover-overlay: rgba(0,0,0,0.04);
|
|
200
|
+
--spectrum-alias-highlight-hover: rgba(0,0,0,0.06);
|
|
201
|
+
--spectrum-alias-highlight-active: rgba(44,44,44,0.1);
|
|
202
|
+
--spectrum-alias-highlight-selected: rgba(2,101,220,0.1);
|
|
203
|
+
--spectrum-alias-highlight-selected-hover: rgba(2,101,220,0.2);
|
|
204
|
+
--spectrum-alias-highlight-invalid: rgba(211, 21, 16, 0.15); /* matches red-900 */
|
|
205
|
+
--spectrum-alias-text-highlight-color: rgba(2,101,220,0.2);
|
|
206
|
+
--spectrum-alias-background-color-quickactions: rgba(248,248,248,0.9);
|
|
207
|
+
--spectrum-alias-radial-reaction-color-default: rgba(34,34,34,0.6);
|
|
208
|
+
--spectrum-alias-pasteboard-background-color: var(--spectrum-global-color-gray-300);
|
|
209
|
+
--spectrum-alias-appframe-border-color: var(--spectrum-global-color-gray-300);
|
|
210
|
+
--spectrum-alias-appframe-separator-color: var(--spectrum-global-color-gray-300);
|
|
211
|
+
--spectrum-colorarea-border-color: rgba(44,44,44,0.1);
|
|
212
|
+
--spectrum-colorarea-border-color-hover: rgba(44,44,44,0.1);
|
|
213
|
+
--spectrum-colorarea-border-color-down: rgba(44,44,44,0.1);
|
|
214
|
+
--spectrum-colorarea-border-color-key-focus: rgba(44,44,44,0.1);
|
|
215
|
+
--spectrum-colorslider-border-color: rgba(44,44,44,0.1);
|
|
216
|
+
--spectrum-colorslider-border-color-hover: rgba(44,44,44,0.1);
|
|
217
|
+
--spectrum-colorslider-border-color-down: rgba(44,44,44,0.1);
|
|
218
|
+
--spectrum-colorslider-border-color-key-focus: rgba(44,44,44,0.1);
|
|
219
|
+
--spectrum-colorslider-vertical-border-color: rgba(44,44,44,0.1);
|
|
220
|
+
--spectrum-colorslider-vertical-border-color-hover: rgba(44,44,44,0.1);
|
|
221
|
+
--spectrum-colorslider-vertical-border-color-down: rgba(44,44,44,0.1);
|
|
222
|
+
--spectrum-colorslider-vertical-border-color-key-focus: rgba(44,44,44,0.1);
|
|
223
|
+
--spectrum-colorwheel-border-color: rgba(44,44,44,0.1);
|
|
224
|
+
--spectrum-colorwheel-border-color-hover: rgba(44,44,44,0.1);
|
|
225
|
+
--spectrum-colorwheel-border-color-down: rgba(44,44,44,0.1);
|
|
226
|
+
--spectrum-colorwheel-border-color-key-focus: rgba(44,44,44,0.1);
|
|
227
|
+
--spectrum-miller-column-item-background-color-selected: rgba(20,115,230,0.1);
|
|
228
|
+
--spectrum-miller-column-item-background-color-selected-hover: rgba(20,115,230,0.2);
|
|
229
|
+
--spectrum-tabs-compact-selection-indicator-color: var(--spectrum-global-color-blue-500);
|
|
230
|
+
--spectrum-tabs-compact-vertical-rule-color: var(--spectrum-global-color-gray-200);
|
|
231
|
+
--spectrum-tabs-compact-vertical-emphasized-selection-indicator-color: var(--spectrum-global-color-blue-500);
|
|
232
|
+
--spectrum-tabs-compact-vertical-emphasized-rule-color: var(--spectrum-global-color-gray-200);
|
|
233
|
+
--spectrum-tabs-emphasized-selection-indicator-color: var(--spectrum-global-color-blue-500);
|
|
234
|
+
--spectrum-tabs-quiet-compact-emphasized-selection-indicator-color: var(--spectrum-global-color-blue-500);
|
|
235
|
+
--spectrum-tabs-quiet-compact-vertical-emphasized-selection-indicator-color: var(--spectrum-global-color-blue-500);
|
|
236
|
+
--spectrum-tabs-quiet-emphasized-selection-indicator-color: var(--spectrum-global-color-blue-500);
|
|
237
|
+
--spectrum-tabs-quiet-vertical-emphasized-selection-indicator-color: var(--spectrum-global-color-blue-500);
|
|
238
|
+
--spectrum-well-background-color: rgba(34,34,34,0.02);
|
|
239
|
+
--spectrum-well-border-color: rgba(0,0,0,0.05);
|
|
240
|
+
--spectrum-tray-background-color: var(--spectrum-global-color-gray-50);
|
|
241
|
+
/* react spectrum additions */
|
|
242
|
+
--react-spectrum-datepicker-placeholder-color: rgb(118, 118, 118); /* 4.54:1 contrast ratio */
|
|
243
|
+
|
|
244
|
+
--spectrum-accent-background-color-default: var(--spectrum-accent-color-900);
|
|
245
|
+
--spectrum-accent-background-color-hover: var(--spectrum-accent-color-1000);
|
|
246
|
+
--spectrum-accent-background-color-down: var(--spectrum-accent-color-1100);
|
|
247
|
+
--spectrum-accent-background-color-key-focus: var(--spectrum-accent-color-1000);
|
|
248
|
+
|
|
249
|
+
--spectrum-neutral-background-color-default: var(--spectrum-gray-800);
|
|
250
|
+
--spectrum-neutral-background-color-hover: var(--spectrum-gray-900);
|
|
251
|
+
--spectrum-neutral-background-color-down: var(--spectrum-gray-900);
|
|
252
|
+
--spectrum-neutral-background-color-key-focus: var(--spectrum-gray-900);
|
|
253
|
+
|
|
254
|
+
--spectrum-neutral-subdued-background-color-default: var(--spectrum-gray-600);
|
|
255
|
+
--spectrum-neutral-subdued-background-color-hover: var(--spectrum-gray-700);
|
|
256
|
+
--spectrum-neutral-subdued-background-color-down: var(--spectrum-gray-800);
|
|
257
|
+
--spectrum-neutral-subdued-background-color-key-focus: var(--spectrum-gray-700);
|
|
258
|
+
|
|
259
|
+
--spectrum-negative-background-color-default: var(--spectrum-red-900);
|
|
260
|
+
--spectrum-negative-background-color-hover: var(--spectrum-red-1000);
|
|
261
|
+
--spectrum-negative-background-color-down: var(--spectrum-red-1100);
|
|
262
|
+
--spectrum-negative-background-color-key-focus: var(--spectrum-red-1000);
|
|
263
|
+
|
|
264
|
+
--spectrum-positive-background-color-default: var(--spectrum-green-900);
|
|
265
|
+
--spectrum-positive-background-color-hover: var(--spectrum-green-1000);
|
|
266
|
+
--spectrum-positive-background-color-down: var(--spectrum-green-1100);
|
|
267
|
+
--spectrum-positive-background-color-key-focus: var(--spectrum-green-1000);
|
|
268
|
+
|
|
269
|
+
--spectrum-informative-background-color-default: var(--spectrum-blue-900);
|
|
270
|
+
--spectrum-informative-background-color-hover: var(--spectrum-blue-1000);
|
|
271
|
+
--spectrum-informative-background-color-down: var(--spectrum-blue-1100);
|
|
272
|
+
--spectrum-informative-background-color-key-focus: var(--spectrum-blue-1000);
|
|
273
|
+
|
|
274
|
+
--spectrum-gray-background-color-default: var(--spectrum-gray-700);
|
|
275
|
+
--spectrum-red-background-color-default: var(--spectrum-red-600);
|
|
276
|
+
--spectrum-orange-background-color-default: var(--spectrum-orange-600);
|
|
277
|
+
--spectrum-yellow-background-color-default: var(--spectrum-yellow-400);
|
|
278
|
+
--spectrum-chartreuse-background-color-default: var(--spectrum-chartreuse-500);
|
|
279
|
+
--spectrum-celery-background-color-default: var(--spectrum-celery-600);
|
|
280
|
+
--spectrum-green-background-color-default: var(--spectrum-green-900);
|
|
281
|
+
--spectrum-seafoam-background-color-default: var(--spectrum-seafoam-900);
|
|
282
|
+
--spectrum-cyan-background-color-default: var(--spectrum-cyan-900);
|
|
283
|
+
--spectrum-blue-background-color-default: var(--spectrum-blue-900);
|
|
284
|
+
--spectrum-indigo-background-color-default: var(--spectrum-indigo-900);
|
|
285
|
+
--spectrum-purple-background-color-default: var(--spectrum-purple-900);
|
|
286
|
+
--spectrum-fuchsia-background-color-default: var(--spectrum-fuchsia-900);
|
|
287
|
+
--spectrum-magenta-background-color-default: var(--spectrum-magenta-900);
|
|
288
|
+
|
|
289
|
+
--spectrum-negative-visual-color: var(--spectrum-red-800);
|
|
290
|
+
--spectrum-positive-visual-color: var(--spectrum-green-700);
|
|
291
|
+
--spectrum-notice-visual-color: var(--spectrum-orange-700);
|
|
292
|
+
--spectrum-informative-visual-color: var(--spectrum-blue-800);
|
|
293
|
+
|
|
294
|
+
--spectrum-gray-visual-color: var(--spectrum-gray-500);
|
|
295
|
+
--spectrum-red-visual-color: var(--spectrum-red-800);
|
|
296
|
+
--spectrum-orange-visual-color: var(--spectrum-orange-700);
|
|
297
|
+
--spectrum-yellow-visual-color: var(--spectrum-yellow-600);
|
|
298
|
+
--spectrum-chartreuse-visual-color: var(--spectrum-chartreuse-600);
|
|
299
|
+
--spectrum-celery-visual-color: var(--spectrum-celery-700);
|
|
300
|
+
--spectrum-green-visual-color: var(--spectrum-green-700);
|
|
301
|
+
--spectrum-seafoam-visual-color: var(--spectrum-seafoam-700);
|
|
302
|
+
--spectrum-cyan-visual-color: var(--spectrum-cyan-600);
|
|
303
|
+
--spectrum-blue-visual-color: var(--spectrum-blue-800);
|
|
304
|
+
--spectrum-indigo-visual-color: var(--spectrum-indigo-800);
|
|
305
|
+
--spectrum-purple-visual-color: var(--spectrum-purple-800);
|
|
306
|
+
--spectrum-fuchsia-visual-color: var(--spectrum-fuchsia-800);
|
|
307
|
+
--spectrum-magenta-visual-color: var(--spectrum-magenta-800);
|
|
308
|
+
|
|
309
|
+
--spectrum-alias-border-color: var(--spectrum-gray-400);
|
|
310
|
+
--spectrum-alias-border-color-hover: var(--spectrum-gray-500);
|
|
311
|
+
--spectrum-alias-border-color-down: var(--spectrum-gray-900);
|
|
312
|
+
}
|
|
313
|
+
|
|
314
|
+
.react-aria-Button {
|
|
315
|
+
--border-color: var(--spectrum-alias-border-color);
|
|
316
|
+
--border-color-pressed: var(--spectrum-alias-border-color-down);
|
|
317
|
+
--border-color-disabled: var(--spectrum-alias-border-color-disabled);
|
|
318
|
+
--background-color: var(--spectrum-global-color-gray-50);
|
|
319
|
+
--background-color-pressed: var(--spectrum-global-color-gray-100);
|
|
320
|
+
--text-color: var(--spectrum-alias-text-color);
|
|
321
|
+
--text-color-disabled: var(--spectrum-alias-text-color-disabled);
|
|
322
|
+
--focus-ring-color: slateblue;
|
|
323
|
+
|
|
324
|
+
color: var(--text-color);
|
|
325
|
+
background: var(--background-color);
|
|
326
|
+
border: 1px solid var(--border-color);
|
|
327
|
+
border-radius: 4px;
|
|
328
|
+
appearance: none;
|
|
329
|
+
vertical-align: middle;
|
|
330
|
+
font-size: 1.2rem;
|
|
331
|
+
text-align: center;
|
|
332
|
+
margin: 0;
|
|
333
|
+
outline: none;
|
|
334
|
+
padding: 4px 12px;
|
|
335
|
+
|
|
336
|
+
&[data-pressed] {
|
|
337
|
+
box-shadow: inset 0 1px 2px rgb(0 0 0 / 0.1);
|
|
338
|
+
background: var(--background-color-pressed);
|
|
339
|
+
border-color: var(--border-color-pressed);
|
|
340
|
+
}
|
|
341
|
+
|
|
342
|
+
&[data-focus-visible] {
|
|
343
|
+
border-color: var(--focus-ring-color);
|
|
344
|
+
box-shadow: 0 0 0 1px var(--focus-ring-color);
|
|
345
|
+
}
|
|
346
|
+
|
|
347
|
+
&:disabled {
|
|
348
|
+
border-color: var(--border-color-disabled);
|
|
349
|
+
color: var(--text-color-disabled);
|
|
350
|
+
}
|
|
351
|
+
}
|
|
352
|
+
|
|
353
|
+
@media (forced-colors: active) {
|
|
354
|
+
.react-aria-Button {
|
|
355
|
+
forced-color-adjust: none;
|
|
356
|
+
--border-color: ButtonBorder;
|
|
357
|
+
--border-color-pressed: ButtonBorder;
|
|
358
|
+
--border-color-disabled: GrayText;
|
|
359
|
+
--background-color: ButtonFace;
|
|
360
|
+
--background-color-pressed: ButtonFace;
|
|
361
|
+
--text-color: ButtonText;
|
|
362
|
+
--text-color-disabled: GrayText;
|
|
363
|
+
--focus-ring-color: Highlight;
|
|
364
|
+
}
|
|
365
|
+
}
|
|
366
|
+
|
|
367
|
+
.react-aria-TextField {
|
|
368
|
+
--field-border: var(--spectrum-alias-border-color);
|
|
369
|
+
--field-border-disabled: var(--spectrum-alias-border-color-disabled);
|
|
370
|
+
--field-background: var(--spectrum-global-color-gray-50);
|
|
371
|
+
--text-color: var(--spectrum-alias-text-color);
|
|
372
|
+
--text-color-disabled: var(--spectrum-alias-text-color-disabled);
|
|
373
|
+
--focus-ring-color: slateblue;
|
|
374
|
+
--invalid-color: var(--spectrum-global-color-red-600);
|
|
375
|
+
display: flex;
|
|
376
|
+
flex: 1;
|
|
377
|
+
flex-direction: column;
|
|
378
|
+
|
|
379
|
+
.react-aria-Input {
|
|
380
|
+
margin: 0;
|
|
381
|
+
border: 1px solid var(--field-border);
|
|
382
|
+
border-radius: 6px;
|
|
383
|
+
background: var(--field-background);
|
|
384
|
+
font-size: 1.143rem;
|
|
385
|
+
color: var(--text-color);
|
|
386
|
+
border-radius: 0.25rem;
|
|
387
|
+
margin-right: 1rem;
|
|
388
|
+
border-width: 1px;
|
|
389
|
+
width: 100%;
|
|
390
|
+
padding-left: 0.75rem;
|
|
391
|
+
padding-right: 0.75rem;
|
|
392
|
+
padding-bottom: 0.5rem;
|
|
393
|
+
padding-top: 0.5rem;
|
|
394
|
+
|
|
395
|
+
&[aria-invalid] {
|
|
396
|
+
border-color: var(--invalid-color);
|
|
397
|
+
}
|
|
398
|
+
|
|
399
|
+
&:focus {
|
|
400
|
+
outline: none;
|
|
401
|
+
border-color: var(--focus-ring-color);
|
|
402
|
+
box-shadow: 0 0 0 1px var(--focus-ring-color);
|
|
403
|
+
}
|
|
404
|
+
|
|
405
|
+
&:disabled {
|
|
406
|
+
border-color: var(--field-border-disabled);
|
|
407
|
+
color: var(--text-color-disabled);
|
|
408
|
+
}
|
|
409
|
+
}
|
|
410
|
+
|
|
411
|
+
[slot="description"] {
|
|
412
|
+
font-size: 12px;
|
|
413
|
+
}
|
|
414
|
+
|
|
415
|
+
[slot="errorMessage"] {
|
|
416
|
+
font-size: 12px;
|
|
417
|
+
color: var(--invalid-color);
|
|
418
|
+
}
|
|
419
|
+
}
|
|
420
|
+
|
|
421
|
+
@media (forced-colors: active) {
|
|
422
|
+
.react-aria-TextField {
|
|
423
|
+
--field-border: ButtonBorder;
|
|
424
|
+
--field-border-disabled: GrayText;
|
|
425
|
+
--field-background: Field;
|
|
426
|
+
--text-color: FieldText;
|
|
427
|
+
--text-color-disabled: GrayText;
|
|
428
|
+
--focus-ring-color: Highlight;
|
|
429
|
+
--invalid-color: LinkText;
|
|
430
|
+
}
|
|
431
|
+
}
|
example/src/pages/todos/Todo.css
ADDED
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
.todo {
|
|
2
|
+
display: flex;
|
|
3
|
+
border-bottom-width: 1px;
|
|
4
|
+
border-color: #d1d5db;
|
|
5
|
+
align-items: center;
|
|
6
|
+
height: 4rem;
|
|
7
|
+
margin-bottom: 0.5rem;
|
|
8
|
+
margin-top: 0.5rem;
|
|
9
|
+
|
|
10
|
+
& .text {
|
|
11
|
+
display: flex;
|
|
12
|
+
flex: 1;
|
|
13
|
+
flex-direction: column;
|
|
14
|
+
font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono",
|
|
15
|
+
"Courier New", monospace;
|
|
16
|
+
margin-left: 0.5rem;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
& form {
|
|
20
|
+
display: flex;
|
|
21
|
+
flex: 1;
|
|
22
|
+
|
|
23
|
+
& .text-input {
|
|
24
|
+
display: flex;
|
|
25
|
+
flex: 1;
|
|
26
|
+
margin-right: 0.5rem;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
& .timestamp {
|
|
31
|
+
line-height: 2;
|
|
32
|
+
opacity: 0.5;
|
|
33
|
+
font-size: 0.75rem;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
& .edit-button {
|
|
37
|
+
padding: 0.5rem;
|
|
38
|
+
margin-right: 0.5rem;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
& .delete-button {
|
|
42
|
+
padding: 0.5rem;
|
|
43
|
+
}
|
|
44
|
+
}
|
example/src/pages/todos/Todo.jsx
ADDED
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { useState } from "react";
|
|
2
|
+
import { useForm } from "react-hook-form";
|
|
3
|
+
import { TextField, Input } from "react-aria-components";
|
|
4
|
+
import { cache, useMutation } from "edge-city/data";
|
|
5
|
+
import { updateTodo, deleteTodo } from "@/services/todos.service";
|
|
6
|
+
import "./Todo.css";
|
|
7
|
+
|
|
8
|
+
const Todo = ({ item }) => {
|
|
9
|
+
const [editing, setEditing] = useState(false);
|
|
10
|
+
const {
|
|
11
|
+
register,
|
|
12
|
+
handleSubmit,
|
|
13
|
+
reset,
|
|
14
|
+
} = useForm();
|
|
15
|
+
const updateMutation = useMutation(async ({ text }) => {
|
|
16
|
+
await updateTodo({ id: item.id, text, completed: item.completed });
|
|
17
|
+
await cache.invalidate("todos", false);
|
|
18
|
+
setEditing(false);
|
|
19
|
+
});
|
|
20
|
+
const deleteMutation = useMutation(async (id) => {
|
|
21
|
+
await deleteTodo(id);
|
|
22
|
+
await cache.invalidate("todos", false);
|
|
23
|
+
});
|
|
24
|
+
return (
|
|
25
|
+
<li className="todo" style={{ opacity: deleteMutation.isMutating || updateMutation.isMutating ? 0.5 : 1 }}>
|
|
26
|
+
{!editing && (
|
|
27
|
+
<>
|
|
28
|
+
<input type="checkbox" />
|
|
29
|
+
<div className="text">
|
|
30
|
+
<p>{item.text}</p>
|
|
31
|
+
<p className="timestamp">{item.createdAt}</p>
|
|
32
|
+
</div>
|
|
33
|
+
<button className="edit-button" title="Edit" onClick={() => setEditing(true)}>
|
|
34
|
+
✏️
|
|
35
|
+
</button>
|
|
36
|
+
<button className="delete-button" title="Delete" onClick={() => deleteMutation.mutate(item.id)}>
|
|
37
|
+
🗑️
|
|
38
|
+
</button>
|
|
39
|
+
</>
|
|
40
|
+
)}
|
|
41
|
+
{editing && (
|
|
42
|
+
<form onSubmit={handleSubmit(updateMutation.mutate)}>
|
|
43
|
+
<TextField isRequired isReadOnly={updateMutation.isMutating} isDisabled={updateMutation.isMutating}>
|
|
44
|
+
<Input {...register("text")} defaultValue={item.text} />
|
|
45
|
+
{/* {err?.text && <p>{err.text._errors[0]}</p>} */}
|
|
46
|
+
</TextField>
|
|
47
|
+
<button
|
|
48
|
+
type="submit"
|
|
49
|
+
className="edit-button"
|
|
50
|
+
title="Save"
|
|
51
|
+
disabled={updateMutation.isMutating}
|
|
52
|
+
>
|
|
53
|
+
💾
|
|
54
|
+
</button>
|
|
55
|
+
<button
|
|
56
|
+
className="delete-button"
|
|
57
|
+
title="Cancel"
|
|
58
|
+
onClick={() => {
|
|
59
|
+
reset({ text: item.text });
|
|
60
|
+
setEditing(false);
|
|
61
|
+
}}
|
|
62
|
+
disabled={updateMutation.isMutating}
|
|
63
|
+
>
|
|
64
|
+
🚫
|
|
65
|
+
</button>
|
|
66
|
+
</form>
|
|
67
|
+
)}
|
|
68
|
+
</li>
|
|
69
|
+
);
|
|
70
|
+
};
|
|
71
|
+
|
|
72
|
+
export default Todo;
|
example/src/pages/todos/TodoList.jsx
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { useQuery } from "edge-city/data";
|
|
3
|
+
import { getTodos } from "@/services/todos.service";
|
|
4
|
+
import Spinner from "@/components/Spinner/Spinner";
|
|
5
|
+
import Todo from "./Todo";
|
|
6
|
+
import "./page.css";
|
|
7
|
+
|
|
8
|
+
export default function TodoList({ isMutating }) {
|
|
9
|
+
const { data, isRefetching } = useQuery("todos", () => getTodos());
|
|
10
|
+
return (
|
|
11
|
+
<>
|
|
12
|
+
{isMutating || isRefetching ? <Spinner /> : null}
|
|
13
|
+
<ul>
|
|
14
|
+
{data.map((item) => (
|
|
15
|
+
<Todo
|
|
16
|
+
key={item.id}
|
|
17
|
+
item={item}
|
|
18
|
+
/>
|
|
19
|
+
))}
|
|
20
|
+
</ul>
|
|
21
|
+
</>
|
|
22
|
+
);
|
|
23
|
+
}
|
example/src/pages/todos/page.css
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
.todos-page {
|
|
2
|
+
display: flex;
|
|
3
|
+
flex: 1;
|
|
4
|
+
flex-direction: column;
|
|
5
|
+
max-width: 36rem;
|
|
6
|
+
|
|
7
|
+
& .title {
|
|
8
|
+
font-size: 1.25rem;
|
|
9
|
+
line-height: 1.75rem;
|
|
10
|
+
font-weight: 700;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
& .container {
|
|
14
|
+
display: flex;
|
|
15
|
+
flex-direction: column;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
& .subtitle {
|
|
19
|
+
font-size: 0.875rem;
|
|
20
|
+
line-height: 1.25rem;
|
|
21
|
+
opacity: 0.5;
|
|
22
|
+
margin-top: 0.5rem;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
& form {
|
|
26
|
+
display: flex;
|
|
27
|
+
margin-top: 1rem;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
& ul {
|
|
31
|
+
display: flex;
|
|
32
|
+
flex-direction: column;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
& .add-button {
|
|
36
|
+
border-radius: 0.25rem;
|
|
37
|
+
padding: 0.5rem 0.7rem;
|
|
38
|
+
background-color: #2563eb;
|
|
39
|
+
color: white;
|
|
40
|
+
margin-left: 0.5rem;
|
|
41
|
+
|
|
42
|
+
&:disabled {
|
|
43
|
+
opacity: 0.5;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
example/src/pages/todos/page.jsx
ADDED
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { Suspense } from "react";
|
|
2
|
+
import { ErrorBoundary } from "react-error-boundary";
|
|
3
|
+
import { Helmet } from "react-helmet-async";
|
|
4
|
+
import { cache, useMutation } from "edge-city/data";
|
|
5
|
+
import { useForm } from "react-hook-form";
|
|
6
|
+
import { Button, TextField, Input } from "react-aria-components";
|
|
7
|
+
import Spinner from "@/components/Spinner/Spinner";
|
|
8
|
+
import TodoList from "./TodoList";
|
|
9
|
+
import { createTodo } from "@/services/todos.service";
|
|
10
|
+
import "./page.css";
|
|
11
|
+
|
|
12
|
+
export default function Page() {
|
|
13
|
+
const {
|
|
14
|
+
register,
|
|
15
|
+
handleSubmit,
|
|
16
|
+
reset,
|
|
17
|
+
formState: { errors },
|
|
18
|
+
} = useForm();
|
|
19
|
+
const { mutate, isMutating, err } = useMutation(async ({ text }) => {
|
|
20
|
+
await createTodo({
|
|
21
|
+
text,
|
|
22
|
+
completed: false,
|
|
23
|
+
});
|
|
24
|
+
await cache.invalidate("todos");
|
|
25
|
+
reset();
|
|
26
|
+
});
|
|
27
|
+
return (
|
|
28
|
+
<div className="todos-page">
|
|
29
|
+
<h1 className="title">Todo List</h1>
|
|
30
|
+
<Helmet>
|
|
31
|
+
<title>Todo List</title>
|
|
32
|
+
</Helmet>
|
|
33
|
+
<div className="container">
|
|
34
|
+
<p className="subtitle">Share this page to collaborate with others.</p>
|
|
35
|
+
<form onSubmit={handleSubmit(mutate)}>
|
|
36
|
+
<TextField isRequired isReadOnly={isMutating} aria-label="add-todo">
|
|
37
|
+
<Input id="text" aria-labelledby="text" aria-describedby="text" {...register("text")} placeholder="Add a todo item" />
|
|
38
|
+
{err?.text && <p>{err.text._errors[0]}</p>}
|
|
39
|
+
</TextField>
|
|
40
|
+
<Button className="add-button" type="submit" isDisabled={isMutating}>
|
|
41
|
+
Add
|
|
42
|
+
</Button>
|
|
43
|
+
</form>
|
|
44
|
+
<ErrorBoundary onError={(err) => console.log("err", err)} fallback={<p>Oops something went wrong</p>}>
|
|
45
|
+
<Suspense fallback={<Spinner />}>
|
|
46
|
+
<TodoList isMutating={isMutating} />
|
|
47
|
+
</Suspense>
|
|
48
|
+
</ErrorBoundary>
|
|
49
|
+
</div>
|
|
50
|
+
</div>
|
|
51
|
+
);
|
|
52
|
+
}
|
{packages/example → example/src}/services/auth.service.js
RENAMED
|
File without changes
|
{packages/example → example/src}/services/todos.service.js
RENAMED
|
@@ -1,14 +1,13 @@
|
|
|
1
|
-
import { eq,
|
|
1
|
+
import { eq, desc } from "drizzle-orm";
|
|
2
|
-
import db from "@/db";
|
|
3
|
-
import { boolean, date, pgTable, serial, text } from
|
|
2
|
+
import { boolean, date, pgTable, serial, text } from "drizzle-orm/pg-core";
|
|
4
|
-
import { z } from
|
|
3
|
+
import { z } from "zod";
|
|
5
|
-
|
|
4
|
+
|
|
6
|
-
const todos = pgTable(
|
|
5
|
+
export const todos = pgTable("todos", {
|
|
7
|
-
id: serial(
|
|
6
|
+
id: serial("id").primaryKey(),
|
|
8
|
-
text: text(
|
|
7
|
+
text: text("text").notNull(),
|
|
9
|
-
completed: boolean(
|
|
8
|
+
completed: boolean("completed").notNull(),
|
|
10
|
-
createdAt: date(
|
|
9
|
+
createdAt: date("createdAt").notNull(),
|
|
11
|
-
updatedAt: date(
|
|
10
|
+
updatedAt: date("updatedAt"),
|
|
12
11
|
});
|
|
13
12
|
|
|
14
13
|
export const createSchema = z.object({
|
|
@@ -16,34 +15,45 @@ export const createSchema = z.object({
|
|
|
16
15
|
completed: z.boolean(),
|
|
17
16
|
});
|
|
18
17
|
|
|
19
|
-
|
|
18
|
+
const updateSchema = z.object({
|
|
19
|
+
id: z.number().positive().int("must be an integer"),
|
|
20
20
|
text: z.string().nonempty("please enter some text"),
|
|
21
21
|
completed: z.boolean(),
|
|
22
22
|
});
|
|
23
23
|
|
|
24
24
|
export const getTodos = async () => {
|
|
25
|
+
await new Promise((resolve) => {
|
|
26
|
+
setTimeout(() => {
|
|
27
|
+
resolve();
|
|
28
|
+
}, 2000)
|
|
29
|
+
});
|
|
25
|
-
return await db.select().from(todos).orderBy(
|
|
30
|
+
return await db.select().from(todos).orderBy(desc(todos.id));
|
|
26
|
-
}
|
|
31
|
+
};
|
|
27
32
|
|
|
28
33
|
/** @param {z.infer<typeof createSchema>} params */
|
|
29
34
|
export const createTodo = async (params) => {
|
|
35
|
+
await new Promise((resolve) => {
|
|
36
|
+
setTimeout(() => {
|
|
37
|
+
resolve();
|
|
38
|
+
}, 2000)
|
|
39
|
+
});
|
|
30
40
|
const item = createSchema.parse(params);
|
|
31
41
|
item.createdAt = new Date();
|
|
32
42
|
return await db.insert(todos).values(item).returning();
|
|
33
|
-
}
|
|
43
|
+
};
|
|
34
44
|
|
|
35
45
|
export const getTodo = async (id) => {
|
|
36
46
|
const results = await db.select().from(todos).where(eq(todos.id, id));
|
|
37
|
-
return results[0]
|
|
47
|
+
return results[0];
|
|
38
|
-
}
|
|
48
|
+
};
|
|
39
49
|
|
|
40
50
|
/** @param {z.infer<typeof updateSchema>} params */
|
|
41
51
|
export const updateTodo = async (params) => {
|
|
42
52
|
const item = updateSchema.parse(params);
|
|
43
53
|
item.updatedAt = new Date();
|
|
44
54
|
return await db.update(todos).set(item).where(eq(todos.id, item.id)).returning();
|
|
45
|
-
}
|
|
55
|
+
};
|
|
46
56
|
|
|
47
57
|
export const deleteTodo = async (id) => {
|
|
48
58
|
return await db.delete(todos).where(eq(todos.id, id)).returning();
|
|
49
|
-
}
|
|
59
|
+
};
|
example/src/services/todos.service.test.js
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { createSchema } from "./todos.service";
|
|
2
|
+
|
|
3
|
+
test("validate createSchema", () => {
|
|
4
|
+
expect(createSchema.safeParse({}).error.issues).toEqual([
|
|
5
|
+
{
|
|
6
|
+
code: "invalid_type",
|
|
7
|
+
expected: "string",
|
|
8
|
+
message: "Required",
|
|
9
|
+
path: ["text"],
|
|
10
|
+
received: "undefined",
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
code: "invalid_type",
|
|
14
|
+
expected: "boolean",
|
|
15
|
+
message: "Required",
|
|
16
|
+
path: ["completed"],
|
|
17
|
+
received: "undefined",
|
|
18
|
+
},
|
|
19
|
+
]);
|
|
20
|
+
expect(
|
|
21
|
+
createSchema.safeParse({
|
|
22
|
+
text: "",
|
|
23
|
+
completed: true,
|
|
24
|
+
}).error.issues,
|
|
25
|
+
).toEqual([
|
|
26
|
+
{
|
|
27
|
+
code: "too_small",
|
|
28
|
+
exact: false,
|
|
29
|
+
inclusive: true,
|
|
30
|
+
message: "please enter some text",
|
|
31
|
+
minimum: 1,
|
|
32
|
+
path: ["text"],
|
|
33
|
+
type: "string",
|
|
34
|
+
},
|
|
35
|
+
]);
|
|
36
|
+
});
|
{packages/example → example/src}/static/favicon.ico
RENAMED
|
File without changes
|
{packages/example → example/src}/static/logo192.png
RENAMED
|
File without changes
|
{packages/example → example/src}/static/logo512.png
RENAMED
|
File without changes
|
{packages/example → example/src}/static/manifest.json
RENAMED
|
File without changes
|
{packages/example → example/src}/static/robots.txt
RENAMED
|
File without changes
|
example/vite.config.js
ADDED
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { defineConfig } from 'vite';
|
|
2
|
+
|
|
3
|
+
function pagesPlugin(userOptions) {
|
|
4
|
+
return {
|
|
5
|
+
name: 'vite-plugin-pages',
|
|
6
|
+
enforce: 'pre',
|
|
7
|
+
async configResolved(config) {
|
|
8
|
+
userOptions.resolver = 'react'
|
|
9
|
+
ctx = new PageContext(userOptions, config.root)
|
|
10
|
+
ctx.setLogger(config.logger)
|
|
11
|
+
await ctx.searchGlob()
|
|
12
|
+
},
|
|
13
|
+
api: {
|
|
14
|
+
getResolvedRoutes() {
|
|
15
|
+
return ctx.options.resolver.getComputedRoutes(ctx)
|
|
16
|
+
},
|
|
17
|
+
},
|
|
18
|
+
configureServer(server) {
|
|
19
|
+
ctx.setupViteServer(server)
|
|
20
|
+
},
|
|
21
|
+
resolveId(id) {
|
|
22
|
+
if (ctx.options.moduleIds.includes(id))
|
|
23
|
+
return `${MODULE_ID_VIRTUAL}?id=${id}`
|
|
24
|
+
|
|
25
|
+
if (routeBlockQueryRE.test(id))
|
|
26
|
+
return ROUTE_BLOCK_ID_VIRTUAL
|
|
27
|
+
|
|
28
|
+
return null
|
|
29
|
+
},
|
|
30
|
+
async load(id) {
|
|
31
|
+
const {
|
|
32
|
+
moduleId,
|
|
33
|
+
pageId,
|
|
34
|
+
} = parsePageRequest(id)
|
|
35
|
+
|
|
36
|
+
if (moduleId === MODULE_ID_VIRTUAL && pageId && ctx.options.moduleIds.includes(pageId))
|
|
37
|
+
return ctx.resolveRoutes()
|
|
38
|
+
|
|
39
|
+
if (id === ROUTE_BLOCK_ID_VIRTUAL) {
|
|
40
|
+
return {
|
|
41
|
+
code: 'export default {};',
|
|
42
|
+
map: null,
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
return null
|
|
47
|
+
},
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
// https://vitejs.dev/config/
|
|
52
|
+
export default defineConfig({
|
|
53
|
+
plugins: [
|
|
54
|
+
],
|
|
55
|
+
})
|
lib/bin/cli.js
ADDED
|
@@ -0,0 +1,305 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import yargs from 'yargs'
|
|
3
|
+
import { hideBin } from 'yargs/helpers'
|
|
4
|
+
import esbuild from 'esbuild';
|
|
5
|
+
import resolve from 'esbuild-plugin-resolve';
|
|
6
|
+
import fs from "fs";
|
|
7
|
+
import fse from "fs-extra";
|
|
8
|
+
import path from 'path';
|
|
9
|
+
import walkdir from 'walkdir';
|
|
10
|
+
import postcss from "postcss"
|
|
11
|
+
import autoprefixer from "autoprefixer";
|
|
12
|
+
import postcssCustomMedia from "postcss-custom-media";
|
|
13
|
+
import postcssNesting from "postcss-nesting";
|
|
14
|
+
import bytes from 'bytes';
|
|
15
|
+
import pc from 'picocolors';
|
|
16
|
+
import ms from 'ms';
|
|
17
|
+
import watch from 'node-watch';
|
|
18
|
+
import dotenv from 'dotenv';
|
|
19
|
+
|
|
20
|
+
dotenv.config();
|
|
21
|
+
|
|
22
|
+
let isProd = false;
|
|
23
|
+
const srcDir = path.join(process.cwd(), "src");
|
|
24
|
+
const pagesDir = path.join(srcDir, "pages");
|
|
25
|
+
const inputStaticDir = path.join(srcDir, "static");
|
|
26
|
+
const buildDir = path.join(process.cwd(), "build");
|
|
27
|
+
const staticDir = path.join(buildDir, "static");
|
|
28
|
+
|
|
29
|
+
const recordSize = (buildStart, dest) => {
|
|
30
|
+
const outLength = fs.statSync(dest).size;
|
|
31
|
+
const builtTime = ms(Date.now() - buildStart);
|
|
32
|
+
console.log(
|
|
33
|
+
`${pc.green("✓ Bundled")} ${dest.replace(process.cwd() + "/", "")} ${pc.cyan(`(${bytes(outLength)})`)} ${pc.gray(`[${builtTime}]`)}`
|
|
34
|
+
);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
let generatedCss = ``;
|
|
38
|
+
const serverEnvs = Object.keys(process.env)
|
|
39
|
+
.filter((k) => k.startsWith("EDGE_") || 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("EDGE_PUBLIC") || k === "NODE_ENV")
|
|
46
|
+
.reduce((acc, k) => {
|
|
47
|
+
acc[`process.env.${k}`] = JSON.stringify(process.env[k]);
|
|
48
|
+
return acc
|
|
49
|
+
}, {});
|
|
50
|
+
|
|
51
|
+
const parseExports = (src) => {
|
|
52
|
+
return src.split("\n").filter((l) => l.includes("export const") && l.includes("=>"))
|
|
53
|
+
.map((l) => /export const (.*) = async/g.exec(l))
|
|
54
|
+
.filter((n) => n && n[1])
|
|
55
|
+
.map((n) => n[1]);
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
const bundleJs = async ({ entryPoints, isServer, outfile, ...options }, plg) => {
|
|
59
|
+
const result = await esbuild.build({
|
|
60
|
+
bundle: true,
|
|
61
|
+
target: ['es2022'],
|
|
62
|
+
entryPoints,
|
|
63
|
+
outfile,
|
|
64
|
+
format: 'esm',
|
|
65
|
+
external: isServer ? [] : ["node:*"], // TODO: "react", "react-dom/client", "react-aria-components" "react-error-boundary" "react-helmet-async" "react-hook-form" "zod" "lodash" "date-fns"
|
|
66
|
+
color: true,
|
|
67
|
+
keepNames: !isProd,
|
|
68
|
+
minify: isProd,
|
|
69
|
+
treeShaking: true,
|
|
70
|
+
jsxDev: !isProd,
|
|
71
|
+
jsx: 'automatic',
|
|
72
|
+
...options,
|
|
73
|
+
define: isServer ? serverEnvs : clientEnvs,
|
|
74
|
+
plugins: [
|
|
75
|
+
resolve({
|
|
76
|
+
"/routemap.json": `${staticDir}/routemap.json`,
|
|
77
|
+
}),
|
|
78
|
+
plg,
|
|
79
|
+
]
|
|
80
|
+
});
|
|
81
|
+
return result;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
const buildRouteMap = (routes) => {
|
|
85
|
+
const buildStart = new Date();
|
|
86
|
+
const routemap = routes.reduce((acc, r) => {
|
|
87
|
+
const key = r.out.replace("index", "").replace(".js", "");
|
|
88
|
+
acc[key === "" ? "/" : key] = "/js" + r.out;
|
|
89
|
+
return acc
|
|
90
|
+
}, {});
|
|
91
|
+
const outfile = path.join(staticDir, "routemap.json");
|
|
92
|
+
fs.writeFileSync(outfile, JSON.stringify(routemap, null, 2));
|
|
93
|
+
recordSize(buildStart, outfile);
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
const bundlePages = async () => {
|
|
97
|
+
const appExists = fs.existsSync(path.join(pagesDir, "app.jsx"));
|
|
98
|
+
const importAppComp = appExists ? `import App from "@/pages/app";` : ""
|
|
99
|
+
const routes = walkdir.sync(pagesDir)
|
|
100
|
+
.filter((p) => p.includes("page.jsx"))
|
|
101
|
+
.map((r) => ({
|
|
102
|
+
in: r,
|
|
103
|
+
out: (r.replace(srcDir, "").replace("/pages", "").replace("/page.jsx", "") || "/index") + ".js",
|
|
104
|
+
}));
|
|
105
|
+
buildRouteMap(routes);
|
|
106
|
+
for (const r of routes) {
|
|
107
|
+
const buildStart = Date.now();
|
|
108
|
+
const outfile = `build/functions${r.out}`;
|
|
109
|
+
await bundleJs({ isServer: true, entryPoints: [r.in], outfile }, {
|
|
110
|
+
name: "page-plugin",
|
|
111
|
+
setup(build) {
|
|
112
|
+
build.onLoad({ filter: /\\*.page.jsx/, namespace: undefined }, (args) => {
|
|
113
|
+
const data = fs.readFileSync(args.path);
|
|
114
|
+
const newSrc = `
|
|
115
|
+
import renderPage from "edge-city/server/renderPage";
|
|
116
|
+
import init from "@/init";
|
|
117
|
+
${importAppComp}
|
|
118
|
+
|
|
119
|
+
${data.toString()}
|
|
120
|
+
|
|
121
|
+
export async function onRequest(context) {
|
|
122
|
+
await init();
|
|
123
|
+
return renderPage(Page, App, context.request);
|
|
124
|
+
}
|
|
125
|
+
`
|
|
126
|
+
return {
|
|
127
|
+
contents: newSrc,
|
|
128
|
+
loader: "jsx",
|
|
129
|
+
}
|
|
130
|
+
});
|
|
131
|
+
build.onLoad({ filter: /\\*.css/, namespace: undefined }, (args) => {
|
|
132
|
+
const css = fs.readFileSync(args.path);
|
|
133
|
+
generatedCss += css + "\n\n";
|
|
134
|
+
return {
|
|
135
|
+
contents: "",
|
|
136
|
+
loader: "file",
|
|
137
|
+
}
|
|
138
|
+
});
|
|
139
|
+
}
|
|
140
|
+
});
|
|
141
|
+
recordSize(buildStart, outfile);
|
|
142
|
+
}
|
|
143
|
+
await bundleJs({
|
|
144
|
+
isServer: false,
|
|
145
|
+
entryPoints: routes.map((r) => ({
|
|
146
|
+
in: r.in,
|
|
147
|
+
out: "." + r.out.replace(".js", ""),
|
|
148
|
+
})),
|
|
149
|
+
outdir: "build/static/js",
|
|
150
|
+
splitting: true,
|
|
151
|
+
entryNames: '[dir]/[name]',
|
|
152
|
+
chunkNames: 'chunks/[name]-[hash]'
|
|
153
|
+
}, {
|
|
154
|
+
name: "page-js-plugin",
|
|
155
|
+
setup(build) {
|
|
156
|
+
build.onLoad({ filter: /\\*.page.jsx/, namespace: undefined }, (args) => {
|
|
157
|
+
const data = fs.readFileSync(args.path);
|
|
158
|
+
const newSrc = `
|
|
159
|
+
import hydratePage from "edge-city/hydratePage";
|
|
160
|
+
${importAppComp}
|
|
161
|
+
|
|
162
|
+
${data.toString()}
|
|
163
|
+
|
|
164
|
+
const searchParams = new URL(import.meta.url).searchParams;
|
|
165
|
+
if (searchParams.get("hydrate") === "true") {
|
|
166
|
+
hydratePage(App)
|
|
167
|
+
}
|
|
168
|
+
`
|
|
169
|
+
return {
|
|
170
|
+
contents: newSrc,
|
|
171
|
+
loader: "jsx",
|
|
172
|
+
}
|
|
173
|
+
});
|
|
174
|
+
build.onLoad({ filter: /\\*.css/, namespace: undefined }, (args) => {
|
|
175
|
+
return {
|
|
176
|
+
contents: "",
|
|
177
|
+
loader: "file",
|
|
178
|
+
}
|
|
179
|
+
});
|
|
180
|
+
build.onLoad({ filter: /\\*.service.js/, namespace: undefined }, async (args) => {
|
|
181
|
+
const src = fs.readFileSync(args.path, "utf8");
|
|
182
|
+
const svcName = args.path.replace(srcDir, "").replace("/services/", "").replace(".service.js", "");
|
|
183
|
+
const funcs = parseExports(src);
|
|
184
|
+
const newSrc = `
|
|
185
|
+
import { defineRpc } from "edge-city/data";
|
|
186
|
+
${funcs.map((f) => `export const ${f} = defineRpc("${svcName}/${f}")`).join("\n")}
|
|
187
|
+
`
|
|
188
|
+
return {
|
|
189
|
+
contents: newSrc,
|
|
190
|
+
loader: "js",
|
|
191
|
+
};
|
|
192
|
+
});
|
|
193
|
+
}
|
|
194
|
+
});
|
|
195
|
+
for (const r of routes) {
|
|
196
|
+
recordSize(Date.now(), `build/static/js${r.out}`);
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
const bundleServices = async () => {
|
|
201
|
+
const services = walkdir.sync(path.join(srcDir, "services"))
|
|
202
|
+
.filter((s) => s.includes(".service.js"));
|
|
203
|
+
for (const s of services) {
|
|
204
|
+
const dest = s.replace(srcDir, "").replace("/services", "").replace(".service.js", "");
|
|
205
|
+
const src = fs.readFileSync(s, 'utf8');
|
|
206
|
+
const funcs = parseExports(src);
|
|
207
|
+
for (const p of funcs) {
|
|
208
|
+
const buildStart = Date.now();
|
|
209
|
+
const result = await bundleJs({
|
|
210
|
+
isServer: true,
|
|
211
|
+
write: false,
|
|
212
|
+
entryPoints: [s],
|
|
213
|
+
// outfile: `build/functions/_rpc${dest}.js`,
|
|
214
|
+
},
|
|
215
|
+
{
|
|
216
|
+
name: "service-plugin",
|
|
217
|
+
setup(build) {
|
|
218
|
+
build.onLoad({ filter: /\\*.service.js/, namespace: undefined }, async (args) => {
|
|
219
|
+
const newSrc = `
|
|
220
|
+
import renderApi from "edge-city/server/renderApi";
|
|
221
|
+
import init from "@/init";
|
|
222
|
+
${src.toString()}
|
|
223
|
+
|
|
224
|
+
export async function onRequest(c) {
|
|
225
|
+
await init();
|
|
226
|
+
return renderApi(${p}, c.request);
|
|
227
|
+
}
|
|
228
|
+
`
|
|
229
|
+
return {
|
|
230
|
+
contents: newSrc,
|
|
231
|
+
loader: "js",
|
|
232
|
+
};
|
|
233
|
+
});
|
|
234
|
+
}
|
|
235
|
+
})
|
|
236
|
+
fse.ensureDirSync(`build/functions/_rpc${dest}`)
|
|
237
|
+
const outfile = `build/functions/_rpc${dest}/${p}.js`;
|
|
238
|
+
fs.writeFileSync(outfile, result.outputFiles[0].contents);
|
|
239
|
+
recordSize(buildStart, outfile);
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
const bundleCss = async () => {
|
|
245
|
+
const result = await postcss([
|
|
246
|
+
autoprefixer(),
|
|
247
|
+
postcssCustomMedia(),
|
|
248
|
+
postcssNesting,
|
|
249
|
+
]).process(generatedCss, { from: "app.css", to: "app.css" });
|
|
250
|
+
fse.ensureDirSync(`build/static/css`)
|
|
251
|
+
fs.writeFileSync(`${process.cwd()}/build/static/css/app.css`, result.toString());
|
|
252
|
+
}
|
|
253
|
+
|
|
254
|
+
const build = async (platform, setProd) => {
|
|
255
|
+
fse.removeSync(buildDir);
|
|
256
|
+
fse.ensureDirSync(buildDir);
|
|
257
|
+
fse.ensureDirSync(staticDir);
|
|
258
|
+
fse.copySync(inputStaticDir, staticDir);
|
|
259
|
+
if (setProd) {
|
|
260
|
+
process.env.NODE_ENV = "production";
|
|
261
|
+
isProd = true;
|
|
262
|
+
}
|
|
263
|
+
await bundlePages();
|
|
264
|
+
await bundleServices();
|
|
265
|
+
await bundleCss();
|
|
266
|
+
if (!setProd) {
|
|
267
|
+
// watch src files, imports and dotenv
|
|
268
|
+
console.log("watching for changes");
|
|
269
|
+
watch(srcDir, { recursive: true }, async (evt, name) => {
|
|
270
|
+
generatedCss = "";
|
|
271
|
+
await bundlePages();
|
|
272
|
+
await bundleServices();
|
|
273
|
+
await bundleCss();
|
|
274
|
+
});
|
|
275
|
+
}
|
|
276
|
+
if (platform === "cloudflare") {
|
|
277
|
+
// create _routes.json for cloudflare which only includes the pages and services
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
|
|
281
|
+
yargs(hideBin(process.argv))
|
|
282
|
+
.scriptName("edge-city")
|
|
283
|
+
.usage('$0 <cmd> [args]')
|
|
284
|
+
.command('build', 'build the project', (y) => {
|
|
285
|
+
y.option('platform', {
|
|
286
|
+
alias: 'p',
|
|
287
|
+
description: 'The edge platform',
|
|
288
|
+
choices: ['cloudflare', 'vercel'],
|
|
289
|
+
})
|
|
290
|
+
.demandOption("p")
|
|
291
|
+
}, ({ platform }) => {
|
|
292
|
+
build(platform, true);
|
|
293
|
+
})
|
|
294
|
+
.command('dev', 'run the dev server', (y) => {
|
|
295
|
+
y.option('platform', {
|
|
296
|
+
alias: 'p',
|
|
297
|
+
type: 'string',
|
|
298
|
+
description: 'cloudflare or vercel',
|
|
299
|
+
choices: ['cloudflare', 'vercel']
|
|
300
|
+
})
|
|
301
|
+
}, ({ platform }) => {
|
|
302
|
+
build(platform, false);
|
|
303
|
+
})
|
|
304
|
+
.demandCommand(1)
|
|
305
|
+
.parse();
|
lib/data.js
ADDED
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import { useState, useEffect, useCallback } from "react";
|
|
2
|
+
|
|
3
|
+
export const defineRpc = (serviceName) => async (params = {}) => {
|
|
4
|
+
const res = await fetch(`/_rpc/${serviceName}`, {
|
|
5
|
+
method: "POST",
|
|
6
|
+
headers: {
|
|
7
|
+
"Accept": "application/json",
|
|
8
|
+
"Content-Type": "application/json",
|
|
9
|
+
},
|
|
10
|
+
body: JSON.stringify(params),
|
|
11
|
+
})
|
|
12
|
+
return await res.json();
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
export const cache = {
|
|
17
|
+
get: (k) => globalThis._EDGE_DATA_.data[k],
|
|
18
|
+
set: (k, v) => {
|
|
19
|
+
globalThis._EDGE_DATA_.data[k] = v;
|
|
20
|
+
},
|
|
21
|
+
invalidate: (k, setRefetch) => Promise.all(Array.from(globalThis._EDGE_DATA_.subs[k]).map((cb) => cb(setRefetch))),
|
|
22
|
+
subscribe: (k, cb) => {
|
|
23
|
+
if (!globalThis._EDGE_DATA_.subs[k]) {
|
|
24
|
+
globalThis._EDGE_DATA_.subs[k] = new Set();
|
|
25
|
+
}
|
|
26
|
+
globalThis._EDGE_DATA_.subs[k].add(cb)
|
|
27
|
+
return () => globalThis._EDGE_DATA_.subs[k].delete(cb);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
*
|
|
33
|
+
* @param {*} fn
|
|
34
|
+
* @param {*} params
|
|
35
|
+
* @returns
|
|
36
|
+
*/
|
|
37
|
+
export const useQuery = (key, fn) => {
|
|
38
|
+
const [, toggle] = useState(false);
|
|
39
|
+
const [isRefetching, setIsRefetching] = useState(false);
|
|
40
|
+
const [err, setErr] = useState(null);
|
|
41
|
+
const refetch = useCallback(async (setRefetch = true) => {
|
|
42
|
+
try {
|
|
43
|
+
if (setRefetch) {
|
|
44
|
+
setIsRefetching(true);
|
|
45
|
+
}
|
|
46
|
+
setErr(null);
|
|
47
|
+
cache.set(key, await fn());
|
|
48
|
+
} catch (err) {
|
|
49
|
+
setErr(err);
|
|
50
|
+
throw err;
|
|
51
|
+
} finally {
|
|
52
|
+
if (setRefetch) {
|
|
53
|
+
setIsRefetching(false);
|
|
54
|
+
} else {
|
|
55
|
+
toggle((v) => !v);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}, [fn]);
|
|
59
|
+
useEffect(() => {
|
|
60
|
+
return cache.subscribe(key, refetch);
|
|
61
|
+
}, [key])
|
|
62
|
+
const value = cache.get(key);
|
|
63
|
+
if (value) {
|
|
64
|
+
if (value instanceof Promise) {
|
|
65
|
+
throw value;
|
|
66
|
+
} else if (value instanceof Error) {
|
|
67
|
+
throw value;
|
|
68
|
+
}
|
|
69
|
+
return { data: value, isRefetching, err, refetch };
|
|
70
|
+
}
|
|
71
|
+
cache.set(key, fn().then((v) => cache.set(key, v)));
|
|
72
|
+
throw cache.get(key);
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
export const useMutation = (fn) => {
|
|
76
|
+
const [isMutating, setIsMutating] = useState(false);
|
|
77
|
+
const [err, setErr] = useState(null);
|
|
78
|
+
const mutate = useCallback(async (params) => {
|
|
79
|
+
try {
|
|
80
|
+
setIsMutating(true);
|
|
81
|
+
setErr(null);
|
|
82
|
+
await fn(params);
|
|
83
|
+
} catch (err) {
|
|
84
|
+
setErr(err)
|
|
85
|
+
throw err;
|
|
86
|
+
} finally {
|
|
87
|
+
setIsMutating(false);
|
|
88
|
+
}
|
|
89
|
+
}, [fn])
|
|
90
|
+
return {
|
|
91
|
+
mutate,
|
|
92
|
+
isMutating,
|
|
93
|
+
err,
|
|
94
|
+
}
|
|
95
|
+
}
|
lib/hydratePage.js
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { hydrateRoot } from "react-dom/client";
|
|
3
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
4
|
+
import { createBrowserHistory } from "history";
|
|
5
|
+
import { createRouter } from "radix3";
|
|
6
|
+
import { state } from "./router";
|
|
7
|
+
import routemap from '/routemap.json' assert {type: 'json'};
|
|
8
|
+
|
|
9
|
+
const hydratePage = (App) => {
|
|
10
|
+
const history = createBrowserHistory();
|
|
11
|
+
const router = createRouter({
|
|
12
|
+
strictTrailingSlash: true,
|
|
13
|
+
routes: Object.keys(routemap).reduce((acc, r) => {
|
|
14
|
+
acc[r] = React.lazy(() => import(routemap[r]));
|
|
15
|
+
return acc;
|
|
16
|
+
}, {}),
|
|
17
|
+
});
|
|
18
|
+
state.set({
|
|
19
|
+
router,
|
|
20
|
+
history,
|
|
21
|
+
helmetContext: {},
|
|
22
|
+
})
|
|
23
|
+
const root = document.getElementById("root");
|
|
24
|
+
hydrateRoot(root, _jsx(App, { helmetContext: {} }));
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export default hydratePage;
|
lib/link.js
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { useRouter } from "./router";
|
|
3
|
+
|
|
4
|
+
const Link = (props) => {
|
|
5
|
+
const router = useRouter();
|
|
6
|
+
return _jsx("a", {
|
|
7
|
+
...props,
|
|
8
|
+
onMouseOver: (e) => {
|
|
9
|
+
// Simple prefetching for now will work only with cache headers
|
|
10
|
+
// fetch(getCssUrl(props.href));
|
|
11
|
+
// fetch(getCssUrl(props.href).replace("css", "jsx"));
|
|
12
|
+
},
|
|
13
|
+
onClick: (e) => {
|
|
14
|
+
e.preventDefault();
|
|
15
|
+
if (props && props.onClick) {
|
|
16
|
+
props.onClick(e);
|
|
17
|
+
}
|
|
18
|
+
router.push(props.href);
|
|
19
|
+
},
|
|
20
|
+
})
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export const StyleLink = ({ children, className, activeClassName, ...props }) => {
|
|
24
|
+
const { pathname } = useRouter();
|
|
25
|
+
const classNames = pathname === props.href ? [activeClassName, className] : [className];
|
|
26
|
+
return _jsx(Link, {
|
|
27
|
+
children,
|
|
28
|
+
className: classNames,
|
|
29
|
+
...props,
|
|
30
|
+
})
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
export default Link;
|
lib/package.json
ADDED
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "edge-city",
|
|
3
|
+
"version": "0.5.0",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"main": "client",
|
|
6
|
+
"engines": {
|
|
7
|
+
"node": ">= 20"
|
|
8
|
+
},
|
|
9
|
+
"scripts": {
|
|
10
|
+
"test": "NODE_OPTIONS=--experimental-vm-modules jest index.test.js"
|
|
11
|
+
},
|
|
12
|
+
"dependencies": {
|
|
13
|
+
"history": "^5.3.0",
|
|
14
|
+
"radix3": "^1.0.0",
|
|
15
|
+
"isbot": "3.6.10"
|
|
16
|
+
},
|
|
17
|
+
"devDependencies": {
|
|
18
|
+
"autoprefixer": "^10.4.14",
|
|
19
|
+
"bytes": "3.1.2",
|
|
20
|
+
"esbuild": "0.17.19",
|
|
21
|
+
"yargs": "17.7.2",
|
|
22
|
+
"mime-types": "2.1.35",
|
|
23
|
+
"fs-extra": "11.1.1",
|
|
24
|
+
"ms": "2.1.3",
|
|
25
|
+
"picocolors": "1.0.0",
|
|
26
|
+
"postcss": "^8.4.21",
|
|
27
|
+
"postcss-custom-media": "^9.1.2",
|
|
28
|
+
"postcss-nesting": "^11.2.1",
|
|
29
|
+
"walkdir": "0.4.1",
|
|
30
|
+
"esbuild-plugin-resolve": "2.0.0",
|
|
31
|
+
"wrangler": "3.0.1",
|
|
32
|
+
"miniflare": "3.0.1",
|
|
33
|
+
"vite": "4.3.9",
|
|
34
|
+
"express": "4.18.2",
|
|
35
|
+
"node-watch": "0.7.3",
|
|
36
|
+
"dotenv": "16.0.3",
|
|
37
|
+
"jest": "29.5.0"
|
|
38
|
+
},
|
|
39
|
+
"peerDependencies": {
|
|
40
|
+
"react": "*",
|
|
41
|
+
"react-dom": "*",
|
|
42
|
+
"react-error-boundary": "*",
|
|
43
|
+
"react-helmet-async": "*"
|
|
44
|
+
},
|
|
45
|
+
"bin": {
|
|
46
|
+
"edge-city": "bin/cli.js"
|
|
47
|
+
},
|
|
48
|
+
"jest": {
|
|
49
|
+
"verbose": true
|
|
50
|
+
}
|
|
51
|
+
}
|
lib/router.js
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import {
|
|
2
|
+
useState, useEffect, useTransition
|
|
3
|
+
} from "react";
|
|
4
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
5
|
+
|
|
6
|
+
export let state = {
|
|
7
|
+
get: () => globalThis._EDGE_ROUTER_STATE_,
|
|
8
|
+
set: (v) => {
|
|
9
|
+
globalThis._EDGE_ROUTER_STATE_ = v;
|
|
10
|
+
},
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export const usePage = () => {
|
|
14
|
+
const { history, router } = state.get();
|
|
15
|
+
const [_, startTransition] = useTransition();
|
|
16
|
+
const [pathname, setPathname] = useState(history.location.pathname);
|
|
17
|
+
const Page = router.lookup(pathname) || router.lookup("/_404");
|
|
18
|
+
useEffect(() => {
|
|
19
|
+
return history.listen(({ location }) => {
|
|
20
|
+
// this causes 2 renders to happen but stops jitter or flash due to React.lazy
|
|
21
|
+
startTransition(() => {
|
|
22
|
+
setPathname(location.pathname);
|
|
23
|
+
})
|
|
24
|
+
});
|
|
25
|
+
}, []);
|
|
26
|
+
return Page;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
export const useRouter = () => {
|
|
30
|
+
const { history, params } = state.get();
|
|
31
|
+
return {
|
|
32
|
+
pathname: history.location.pathname,
|
|
33
|
+
query: new URLSearchParams(history.location.search),
|
|
34
|
+
params,
|
|
35
|
+
push: history.push,
|
|
36
|
+
replace: history.replace,
|
|
37
|
+
forward: history.forward,
|
|
38
|
+
back: history.back,
|
|
39
|
+
reload: () => window.location.reload(),
|
|
40
|
+
};
|
|
41
|
+
}
|
lib/server/dev-server.js
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import http from "http";
|
|
2
|
+
|
|
3
|
+
const server = http.createServer((req, res) => {
|
|
4
|
+
res.writeHead(200, { 'Content-Type': 'application/json' });
|
|
5
|
+
res.end(JSON.stringify({
|
|
6
|
+
data: 'Hello World!',
|
|
7
|
+
}))
|
|
8
|
+
})
|
|
9
|
+
server.listen(3000);
|
|
10
|
+
server.on('error', (e) => {
|
|
11
|
+
if (e.code === 'EADDRINUSE') {
|
|
12
|
+
console.log('Address in use, retrying...');
|
|
13
|
+
setTimeout(() => {
|
|
14
|
+
server.close();
|
|
15
|
+
server.listen(PORT, HOST);
|
|
16
|
+
}, 1000);
|
|
17
|
+
}
|
|
18
|
+
});
|
lib/server/renderApi.js
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export const renderApi = async (fn, req) => {
|
|
2
|
+
const url = new URL(req.url);
|
|
3
|
+
const params = req.method === "POST" ? await req.json() : Object.fromEntries(url.searchParams);
|
|
4
|
+
try {
|
|
5
|
+
const result = await fn(params);
|
|
6
|
+
return new Response(JSON.stringify(result), {
|
|
7
|
+
headers: { 'Content-Type': 'application/json' },
|
|
8
|
+
status: 200,
|
|
9
|
+
});
|
|
10
|
+
} catch (err) {
|
|
11
|
+
console.log("err: renderApi", err);
|
|
12
|
+
const message = err.format ? err.format() : err.message;
|
|
13
|
+
const data = process.env.NODE_ENV === "development" ? { message, stack: err.stack } : { message };
|
|
14
|
+
return new Response(JSON.stringify(data), {
|
|
15
|
+
headers: { 'Content-Type': 'application/json' },
|
|
16
|
+
status: 400,
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export default renderApi;
|
lib/server/renderPage.js
ADDED
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
3
|
+
import { createMemoryHistory } from "history";
|
|
4
|
+
import { createRouter } from "radix3";
|
|
5
|
+
import { renderToReadableStream } from "react-dom/server";
|
|
6
|
+
import isbot from "isbot";
|
|
7
|
+
import routemap from '/routemap.json' assert {type: 'json'};
|
|
8
|
+
import { state } from "../router";
|
|
9
|
+
|
|
10
|
+
const stringToStream = (str) => {
|
|
11
|
+
return new ReadableStream({
|
|
12
|
+
start(controller) {
|
|
13
|
+
controller.enqueue(new TextEncoder().encode(str))
|
|
14
|
+
controller.close()
|
|
15
|
+
},
|
|
16
|
+
})
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
const createTagHtmlInjectTransformer = (
|
|
20
|
+
token,
|
|
21
|
+
oneTime,
|
|
22
|
+
inject,
|
|
23
|
+
) => {
|
|
24
|
+
let injected = false
|
|
25
|
+
|
|
26
|
+
return new TransformStream({
|
|
27
|
+
transform(chunk, controller) {
|
|
28
|
+
if (!oneTime || !injected) {
|
|
29
|
+
const content = new TextDecoder().decode(chunk)
|
|
30
|
+
let index
|
|
31
|
+
if ((index = content.indexOf(token)) !== -1) {
|
|
32
|
+
const newContent =
|
|
33
|
+
content.slice(0, index) +
|
|
34
|
+
inject() +
|
|
35
|
+
content.slice(index, content.length)
|
|
36
|
+
injected = true
|
|
37
|
+
controller.enqueue(new TextEncoder().encode(newContent))
|
|
38
|
+
return
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
controller.enqueue(chunk)
|
|
42
|
+
},
|
|
43
|
+
})
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
const createEndHtmlInjectTransformer = (inject) => {
|
|
47
|
+
return new TransformStream({
|
|
48
|
+
flush(controller) {
|
|
49
|
+
controller.enqueue(new TextEncoder().encode(inject()))
|
|
50
|
+
},
|
|
51
|
+
transform(chunk, controller) {
|
|
52
|
+
controller.enqueue(chunk)
|
|
53
|
+
},
|
|
54
|
+
})
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
const render = async (children, {
|
|
58
|
+
injectBeforeBodyClose,
|
|
59
|
+
injectBeforeHeadClose,
|
|
60
|
+
injectBeforeEveryScript,
|
|
61
|
+
injectOnEnd,
|
|
62
|
+
isSeo,
|
|
63
|
+
}) => {
|
|
64
|
+
function transfromStream(stream) {
|
|
65
|
+
let out = stream
|
|
66
|
+
if (injectBeforeBodyClose) {
|
|
67
|
+
out = out.pipeThrough(
|
|
68
|
+
createTagHtmlInjectTransformer('</body>', true, injectBeforeBodyClose)
|
|
69
|
+
)
|
|
70
|
+
}
|
|
71
|
+
if (injectBeforeHeadClose) {
|
|
72
|
+
out = out.pipeThrough(
|
|
73
|
+
createTagHtmlInjectTransformer('</head>', true, injectBeforeHeadClose)
|
|
74
|
+
)
|
|
75
|
+
}
|
|
76
|
+
if (injectBeforeEveryScript) {
|
|
77
|
+
out = out.pipeThrough(
|
|
78
|
+
createTagHtmlInjectTransformer(
|
|
79
|
+
'<script>',
|
|
80
|
+
false,
|
|
81
|
+
injectBeforeEveryScript
|
|
82
|
+
)
|
|
83
|
+
)
|
|
84
|
+
}
|
|
85
|
+
if (injectOnEnd) {
|
|
86
|
+
out = out.pipeThrough(
|
|
87
|
+
createEndHtmlInjectTransformer(injectOnEnd)
|
|
88
|
+
)
|
|
89
|
+
}
|
|
90
|
+
return out;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
try {
|
|
94
|
+
const reactStream = await renderToReadableStream(children)
|
|
95
|
+
if (isSeo) {
|
|
96
|
+
await reactStream.allReady;
|
|
97
|
+
}
|
|
98
|
+
return transfromStream(reactStream);
|
|
99
|
+
} catch (error) {
|
|
100
|
+
throw error;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
const renderPage = async (Page, App, req) => {
|
|
105
|
+
const url = new URL(req.url);
|
|
106
|
+
const history = createMemoryHistory({
|
|
107
|
+
initialEntries: [url.pathname + url.search],
|
|
108
|
+
});
|
|
109
|
+
const router = createRouter({
|
|
110
|
+
strictTrailingSlash: true,
|
|
111
|
+
routes: Object.keys(routemap).reduce((acc, r) => {
|
|
112
|
+
acc[r] = React.lazy(() => Promise.resolve({ default: Page }));
|
|
113
|
+
return acc;
|
|
114
|
+
}, {}),
|
|
115
|
+
});
|
|
116
|
+
const jsScript = url.pathname === "/" ? "/index" : url.pathname;
|
|
117
|
+
const helmetContext = {};
|
|
118
|
+
globalThis._EDGE_DATA_ = { data: {}, subs: {} };
|
|
119
|
+
state.set({
|
|
120
|
+
router,
|
|
121
|
+
history,
|
|
122
|
+
helmetContext,
|
|
123
|
+
})
|
|
124
|
+
const stream = await render(
|
|
125
|
+
_jsxs("html", {
|
|
126
|
+
lang: "en",
|
|
127
|
+
children: [
|
|
128
|
+
_jsxs("head", {
|
|
129
|
+
children: [
|
|
130
|
+
_jsx("link", {
|
|
131
|
+
rel: "stylesheet",
|
|
132
|
+
href: "/css/app.css"
|
|
133
|
+
}),
|
|
134
|
+
]
|
|
135
|
+
}),
|
|
136
|
+
_jsx("body", {
|
|
137
|
+
children: _jsx("div", {
|
|
138
|
+
id: "root",
|
|
139
|
+
children: _jsx(App, { helmetContext }),
|
|
140
|
+
})
|
|
141
|
+
})]
|
|
142
|
+
}), {
|
|
143
|
+
isSeo: isbot(req.headers.get('User-Agent')) || url.search.includes("ec_is_bot=true"),
|
|
144
|
+
injectBeforeHeadClose: () =>
|
|
145
|
+
Object.keys(helmetContext.helmet)
|
|
146
|
+
.map((k) => helmetContext.helmet[k].toString())
|
|
147
|
+
.join(''),
|
|
148
|
+
injectOnEnd: () => {
|
|
149
|
+
return ''
|
|
150
|
+
+ `<script>globalThis._EDGE_DATA_ = ${JSON.stringify(globalThis._EDGE_DATA_)};</script>`
|
|
151
|
+
+ `<script type="module" src="/js${jsScript}.js?hydrate=true"></script>`
|
|
152
|
+
}
|
|
153
|
+
});
|
|
154
|
+
return new Response(stream, {
|
|
155
|
+
headers: { 'Content-Type': 'text/html' },
|
|
156
|
+
status: 200,
|
|
157
|
+
});
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
export default renderPage;
|
packages/cli/index.js
DELETED
|
@@ -1,388 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env bun
|
|
2
|
-
import meow from 'meow';
|
|
3
|
-
import React from "react";
|
|
4
|
-
import esbuild from 'esbuild';
|
|
5
|
-
import resolve from 'esbuild-plugin-resolve';
|
|
6
|
-
import { renderToReadableStream } from "react-dom/server";
|
|
7
|
-
import fs, { mkdir } from "fs";
|
|
8
|
-
import path from 'path';
|
|
9
|
-
import walkdir from 'walkdir';
|
|
10
|
-
import postcss from "postcss"
|
|
11
|
-
import autoprefixer from "autoprefixer";
|
|
12
|
-
import postcssCustomMedia from "postcss-custom-media";
|
|
13
|
-
import postcssNesting from "postcss-nesting";
|
|
14
|
-
import mimeTypes from "mime-types";
|
|
15
|
-
import bytes from 'bytes';
|
|
16
|
-
import pc from 'picocolors';
|
|
17
|
-
import ms from 'ms';
|
|
18
|
-
import pkg from "./package.json";
|
|
19
|
-
|
|
20
|
-
const cli = meow(`
|
|
21
|
-
parotta v${pkg.version}
|
|
22
|
-
|
|
23
|
-
Usage
|
|
24
|
-
$ parotta build cloudflare
|
|
25
|
-
$ parotta build vercel
|
|
26
|
-
`, {
|
|
27
|
-
importMeta: import.meta,
|
|
28
|
-
autoVersion: true,
|
|
29
|
-
});
|
|
30
|
-
if (cli.input.length != 2) {
|
|
31
|
-
cli.showHelp();
|
|
32
|
-
process.exit(0);
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
if (!globalThis.firstRun) {
|
|
38
|
-
globalThis.firstRun = true
|
|
39
|
-
const version = (await import(path.join(import.meta.dir, "package.json"))).default.version;
|
|
40
|
-
console.log(`parotta v${version}`)
|
|
41
|
-
console.log(`running with cwd=${path.basename(process.cwd())} node_env=${process.env.NODE_ENV}`);
|
|
42
|
-
} else {
|
|
43
|
-
console.log(`server reloading`);
|
|
44
|
-
}
|
|
45
|
-
const isProd = process.env.NODE_ENV === "production";
|
|
46
|
-
const routes = walkdir.sync(path.join(process.cwd(), "pages"))
|
|
47
|
-
.filter((p) => p.includes("page.jsx"));
|
|
48
|
-
const services = walkdir.sync(path.join(process.cwd(), "services"))
|
|
49
|
-
.map((s) => s.replace(process.cwd(), ""))
|
|
50
|
-
.filter((s) => s.includes(".service.js"))
|
|
51
|
-
.forEach((s) => {
|
|
52
|
-
const serviceName = s.replace(".service.js", "");
|
|
53
|
-
routes[serviceName + "/*"] = { key: serviceName, service: s };
|
|
54
|
-
});
|
|
55
|
-
|
|
56
|
-
const mapDeps = (dir) => {
|
|
57
|
-
return walkdir.sync(path.join(process.cwd(), dir))
|
|
58
|
-
.map((s) => s.replace(process.cwd(), ""))
|
|
59
|
-
.filter((s) => s.includes(".jsx") || s.includes(".js"))
|
|
60
|
-
.reduce((acc, s) => {
|
|
61
|
-
if (s.includes(".jsx")) {
|
|
62
|
-
acc['@' + s.replace(".jsx", "")] = s
|
|
63
|
-
}
|
|
64
|
-
if (s.includes(".js")) {
|
|
65
|
-
acc['@' + s.replace(".js", "")] = s
|
|
66
|
-
}
|
|
67
|
-
return acc;
|
|
68
|
-
}, {});
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
const staticDir = path.join(process.cwd(), "build", "static");
|
|
72
|
-
|
|
73
|
-
const createDirs = () => {
|
|
74
|
-
if (!fs.existsSync(staticDir)) {
|
|
75
|
-
fs.mkdirSync(staticDir, { recursive: true });
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
const buildImportMap = async () => {
|
|
80
|
-
const packageJson = await import(path.join(process.cwd(), "package.json"));
|
|
81
|
-
const config = packageJson.default.parotta || { hydrate: true };
|
|
82
|
-
const devTag = !isProd ? "-dev-" : "";
|
|
83
|
-
const devQueryParam = !isProd ? `?dev` : "";
|
|
84
|
-
const nodeDeps = Object.keys(packageJson.default.dependencies).reduce((acc, dep) => {
|
|
85
|
-
acc[dep] = `https://esm.sh/${dep}@${packageJson.default.dependencies[dep]}`;
|
|
86
|
-
return acc;
|
|
87
|
-
}, {})
|
|
88
|
-
const components = mapDeps("components");
|
|
89
|
-
const importmap = {
|
|
90
|
-
"radix3": `https://esm.sh/radix3@1.0.1`,
|
|
91
|
-
"history": "https://esm.sh/history@5.3.0",
|
|
92
|
-
"react": `https://esm.sh/react@18.2.0${devQueryParam}`,
|
|
93
|
-
[`react/jsx${devTag}runtime`]: `https://esm.sh/react@18.2.0${devQueryParam}/jsx${devTag}runtime`,
|
|
94
|
-
"react-dom/client": `https://esm.sh/react-dom@18.2.0${devQueryParam}/client`,
|
|
95
|
-
"nprogress": "https://esm.sh/nprogress@0.2.0",
|
|
96
|
-
...nodeDeps,
|
|
97
|
-
...components,
|
|
98
|
-
}
|
|
99
|
-
const outfile = path.join(staticDir, "importmap.json");
|
|
100
|
-
fs.writeFileSync(outfile, JSON.stringify(importmap, null, 2));
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
const buildRouteMap = () => {
|
|
104
|
-
const routemap = routes.reduce((acc, p) => {
|
|
105
|
-
const r = p.replace(process.cwd(), "");
|
|
106
|
-
const key = r.replace("/pages", "").replace("/page.jsx", "")
|
|
107
|
-
acc[key === "" ? "/" : key] = r;
|
|
108
|
-
return acc
|
|
109
|
-
}, {});
|
|
110
|
-
const outfile = path.join(staticDir, "routemap.json");
|
|
111
|
-
fs.writeFileSync(outfile, JSON.stringify(routemap, null, 2));
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
const buildServer = async (r) => {
|
|
115
|
-
const buildStart = Date.now();
|
|
116
|
-
const shortName = r.replace(process.cwd(), "").replace("/pages", "");
|
|
117
|
-
const outfile = `${process.cwd()}/build/functions${shortName.replace("page.jsx", "index.js")}`;
|
|
118
|
-
const result = await esbuild.build({
|
|
119
|
-
bundle: true,
|
|
120
|
-
target: ['es2022'],
|
|
121
|
-
entryPoints: [r],
|
|
122
|
-
outfile: outfile,
|
|
123
|
-
format: 'esm',
|
|
124
|
-
keepNames: true,
|
|
125
|
-
external: ["node:*"],
|
|
126
|
-
color: true,
|
|
127
|
-
treeShaking: true,
|
|
128
|
-
// metafile: true,
|
|
129
|
-
jsxDev: !isProd,
|
|
130
|
-
jsx: 'automatic',
|
|
131
|
-
define: {
|
|
132
|
-
'process.env.NODE_ENV': `"${process.env.NODE_ENV}"`,
|
|
133
|
-
},
|
|
134
|
-
plugins: [resolve({
|
|
135
|
-
"/static/routemap.json": `${staticDir}/routemap.json`
|
|
136
|
-
})]
|
|
137
|
-
});
|
|
138
|
-
// console.log(await analyzeMetafile(result.metafile))
|
|
139
|
-
const outLength = fs.statSync(outfile).size;
|
|
140
|
-
const builtTime = ms(Date.now() - buildStart);
|
|
141
|
-
console.log(
|
|
142
|
-
`${pc.green("✓ Bundled")} ${outfile.replace(process.cwd() + "/", "")} ${pc.cyan(`(${bytes(outLength)})`)} ${pc.gray(`[${builtTime}]`)}`
|
|
143
|
-
);
|
|
144
|
-
}
|
|
145
|
-
|
|
146
|
-
const bundleBun = async (r) => {
|
|
147
|
-
const buildStart = Date.now();
|
|
148
|
-
const shortName = r.replace(process.cwd(), "").replace("/page.jsx", "");
|
|
149
|
-
const result = await Bun.build({
|
|
150
|
-
entrypoints: [r],
|
|
151
|
-
outdir: `${process.cwd()}/bb/functions/${shortName}`,
|
|
152
|
-
});
|
|
153
|
-
if (!result.success) {
|
|
154
|
-
console.error("Build failed");
|
|
155
|
-
for (const message of result.logs) {
|
|
156
|
-
// Bun will pretty print the message object
|
|
157
|
-
console.error(message);
|
|
158
|
-
}
|
|
159
|
-
}
|
|
160
|
-
for (const o of result.outputs) {
|
|
161
|
-
const outLength = (await o.arrayBuffer()).byteLength;
|
|
162
|
-
const builtTime = ms(Date.now() - buildStart);
|
|
163
|
-
console.log(
|
|
164
|
-
`✓ Bundled ${o.kind} ${o.path.replace(process.cwd() + "/bb", "")} ${pc.cyan(`(${bytes(outLength)})`)} ${pc.gray(`[${builtTime}]`)}`
|
|
165
|
-
);
|
|
166
|
-
}
|
|
167
|
-
}
|
|
168
|
-
|
|
169
|
-
const main = async () => {
|
|
170
|
-
createDirs();
|
|
171
|
-
buildImportMap();
|
|
172
|
-
buildRouteMap();
|
|
173
|
-
for (const r of routes) {
|
|
174
|
-
buildServer(r);
|
|
175
|
-
}
|
|
176
|
-
}
|
|
177
|
-
|
|
178
|
-
main();
|
|
179
|
-
|
|
180
|
-
// const createServerRouter = async () => {
|
|
181
|
-
// const routes = {};
|
|
182
|
-
// const dirs = walkdir.sync(path.join(process.cwd(), "pages"))
|
|
183
|
-
// .map((s) => s.replace(process.cwd(), "")
|
|
184
|
-
// .replace("/pages", "")
|
|
185
|
-
// // .replaceAll("[", ":")
|
|
186
|
-
// // .replaceAll("]", "")
|
|
187
|
-
// )
|
|
188
|
-
|
|
189
|
-
// dirs.filter((p) => p.includes('page.jsx'))
|
|
190
|
-
// .map((s) => ({ path: s, route: s.replace("/page.jsx", "") }))
|
|
191
|
-
// .forEach((page) => {
|
|
192
|
-
// const key = page.route || "/";
|
|
193
|
-
// routes[key] = { key: key, page: page.path };
|
|
194
|
-
// });
|
|
195
|
-
// walkdir.sync(path.join(process.cwd(), "static"))
|
|
196
|
-
// .map((s) => s.replace(process.cwd(), "").replace("/static", ""))
|
|
197
|
-
// .forEach((route) => {
|
|
198
|
-
// routes[route] = { key: route, file: route }
|
|
199
|
-
// });
|
|
200
|
-
|
|
201
|
-
// return createRouter({
|
|
202
|
-
// strictTrailingSlash: true,
|
|
203
|
-
// routes: routes,
|
|
204
|
-
// });
|
|
205
|
-
// }
|
|
206
|
-
|
|
207
|
-
// const createClientRouter = async () => {
|
|
208
|
-
// const routes = await walkdir.sync(path.join(process.cwd(), "pages"))
|
|
209
|
-
// .filter((p) => p.includes("page.jsx"))
|
|
210
|
-
// .filter((p) => !p.includes("/_"))
|
|
211
|
-
// .map((s) => s.replace(process.cwd(), ""))
|
|
212
|
-
// .map((s) => s.replace("/pages", ""))
|
|
213
|
-
// .map((s) => s.replace("/page.jsx", ""))
|
|
214
|
-
// .reduce(async (accp, r) => {
|
|
215
|
-
// const acc = await accp;
|
|
216
|
-
// const src = await import(`${process.cwd()}/pages${r}/page.jsx`);
|
|
217
|
-
// if (!result.success) {
|
|
218
|
-
// console.error("Build failed");
|
|
219
|
-
// for (const message of result.logs) {
|
|
220
|
-
// // Bun will pretty print the message object
|
|
221
|
-
// console.error(message);
|
|
222
|
-
// }
|
|
223
|
-
// }
|
|
224
|
-
// acc[r === "" ? "/" : r] = src.default;
|
|
225
|
-
// return acc
|
|
226
|
-
// }, Promise.resolve({}));
|
|
227
|
-
// // console.log(clientRoutes);
|
|
228
|
-
// };
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
// const serverRouter = await createServerRouter();
|
|
232
|
-
// const clientRouter = await createClientRouter();
|
|
233
|
-
// const transpiler = new Bun.Transpiler({
|
|
234
|
-
// loader: "jsx",
|
|
235
|
-
// autoImportJSX: true,
|
|
236
|
-
// jsxOptimizationInline: true,
|
|
237
|
-
|
|
238
|
-
// // TODO
|
|
239
|
-
// // autoImportJSX: false,
|
|
240
|
-
// // jsxOptimizationInline: false,
|
|
241
|
-
// });
|
|
242
|
-
|
|
243
|
-
// const renderApi = async (key, filePath, req) => {
|
|
244
|
-
// const url = new URL(req.url);
|
|
245
|
-
// const params = req.method === "POST" ? await req.json() : Object.fromEntries(url.searchParams);
|
|
246
|
-
// const funcName = url.pathname.replace(`${key}/`, "");
|
|
247
|
-
// const js = await import(path.join(process.cwd(), filePath));
|
|
248
|
-
// try {
|
|
249
|
-
// const result = await js[funcName](params);
|
|
250
|
-
// return new Response(JSON.stringify(result), {
|
|
251
|
-
// headers: { 'Content-Type': 'application/json' },
|
|
252
|
-
// status: 200,
|
|
253
|
-
// });
|
|
254
|
-
// } catch (err) {
|
|
255
|
-
// const message = err.format ? err.format() : err;
|
|
256
|
-
// return new Response(JSON.stringify(message), {
|
|
257
|
-
// headers: { 'Content-Type': 'application/json' },
|
|
258
|
-
// status: 400,
|
|
259
|
-
// });
|
|
260
|
-
// }
|
|
261
|
-
|
|
262
|
-
// }
|
|
263
|
-
|
|
264
|
-
// const renderCss = async (src) => {
|
|
265
|
-
// try {
|
|
266
|
-
// const cssText = await Bun.file(src).text();
|
|
267
|
-
// const result = await postcss([
|
|
268
|
-
// autoprefixer(),
|
|
269
|
-
// postcssCustomMedia(),
|
|
270
|
-
// // postcssNormalize({ browsers: 'last 2 versions' }),
|
|
271
|
-
// postcssNesting,
|
|
272
|
-
// ]).process(cssText, { from: src, to: src });
|
|
273
|
-
// return new Response(result.css, {
|
|
274
|
-
// headers: { 'Content-Type': 'text/css' },
|
|
275
|
-
// status: 200,
|
|
276
|
-
// });
|
|
277
|
-
// } catch (err) {
|
|
278
|
-
// return new Response(`Not Found`, {
|
|
279
|
-
// headers: { 'Content-Type': 'text/html' },
|
|
280
|
-
// status: 404,
|
|
281
|
-
// });
|
|
282
|
-
// }
|
|
283
|
-
// }
|
|
284
|
-
|
|
285
|
-
// const renderJs = async (srcFile) => {
|
|
286
|
-
// try {
|
|
287
|
-
// const jsText = await Bun.file(srcFile).text();
|
|
288
|
-
// const result = await transpiler.transform(jsText);
|
|
289
|
-
// // inject code which calls the api for that function
|
|
290
|
-
// const lines = result.split("\n");
|
|
291
|
-
// // lines.unshift(`import React from "react";`);
|
|
292
|
-
|
|
293
|
-
// // replace all .service imports which rpc interface
|
|
294
|
-
// let addRpcImport = false;
|
|
295
|
-
// lines.forEach((ln) => {
|
|
296
|
-
// if (ln.includes(".service")) {
|
|
297
|
-
// addRpcImport = true;
|
|
298
|
-
// const [importName, serviceName] = ln.match(/\@\/services\/(.*)\.service/);
|
|
299
|
-
// const funcsText = ln.replace(`from "${importName}"`, "").replace("import", "").replace("{", "").replace("}", "").replace(";", "");
|
|
300
|
-
// const funcsName = funcsText.split(",");
|
|
301
|
-
// funcsName.forEach((fnName) => {
|
|
302
|
-
// lines.push(`const ${fnName} = rpc("${serviceName}/${fnName.trim()}")`);
|
|
303
|
-
// })
|
|
304
|
-
// }
|
|
305
|
-
// })
|
|
306
|
-
// if (addRpcImport) {
|
|
307
|
-
// lines.unshift(`import { rpc } from "parotta/runtime";`);
|
|
308
|
-
// }
|
|
309
|
-
// // remove .css and .service imports
|
|
310
|
-
// const filteredJsx = lines.filter((ln) => !ln.includes(`.css"`) && !ln.includes(`.service"`)).join("\n");
|
|
311
|
-
// //.replaceAll("$jsx", "React.createElement");
|
|
312
|
-
// return new Response(filteredJsx, {
|
|
313
|
-
// headers: {
|
|
314
|
-
// 'Content-Type': 'application/javascript',
|
|
315
|
-
// },
|
|
316
|
-
// status: 200,
|
|
317
|
-
// });
|
|
318
|
-
// } catch (err) {
|
|
319
|
-
// return new Response(`Not Found`, {
|
|
320
|
-
// headers: { 'Content-Type': 'text/html' },
|
|
321
|
-
// status: 404,
|
|
322
|
-
// });
|
|
323
|
-
// }
|
|
324
|
-
// }
|
|
325
|
-
|
|
326
|
-
// const sendFile = async (src) => {
|
|
327
|
-
// try {
|
|
328
|
-
// const contentType = mimeTypes.lookup(src) || "application/octet-stream";
|
|
329
|
-
// const stream = await Bun.file(src).stream();
|
|
330
|
-
// return new Response(stream, {
|
|
331
|
-
// headers: { 'Content-Type': contentType },
|
|
332
|
-
// status: 200,
|
|
333
|
-
// });
|
|
334
|
-
// } catch (err) {
|
|
335
|
-
// return new Response(`Not Found`, {
|
|
336
|
-
// headers: { 'Content-Type': 'text/html' },
|
|
337
|
-
// status: 404,
|
|
338
|
-
// });
|
|
339
|
-
// }
|
|
340
|
-
// }
|
|
341
|
-
|
|
342
|
-
// // const mf = new Miniflare({
|
|
343
|
-
// // script: `
|
|
344
|
-
// // addEventListener("fetch", (event) => {
|
|
345
|
-
// // event.respondWith(new Response("Hello Miniflare!"));
|
|
346
|
-
// // });
|
|
347
|
-
// // `,
|
|
348
|
-
// // });
|
|
349
|
-
// // const res = await mf.dispatchFetch("http://localhost:3000/");
|
|
350
|
-
// // console.log(await res.text()); // Hello Miniflare!
|
|
351
|
-
|
|
352
|
-
// const server = async (req) => {
|
|
353
|
-
// const url = new URL(req.url);
|
|
354
|
-
// console.log(req.method, url.pathname);
|
|
355
|
-
// // maybe this is needed
|
|
356
|
-
// if (url.pathname.startsWith("/parotta/")) {
|
|
357
|
-
// return renderJs(path.join(import.meta.dir, url.pathname.replace("/parotta/", "")));
|
|
358
|
-
// }
|
|
359
|
-
// if (url.pathname.endsWith(".css")) {
|
|
360
|
-
// return renderCss(path.join(process.cwd(), url.pathname));
|
|
361
|
-
// }
|
|
362
|
-
// if (url.pathname.endsWith(".js") || url.pathname.endsWith(".jsx")) {
|
|
363
|
-
// return renderJs(path.join(process.cwd(), url.pathname));
|
|
364
|
-
// }
|
|
365
|
-
// const match = serverRouter.lookup(url.pathname);
|
|
366
|
-
// if (match && !match.key.includes("/_")) {
|
|
367
|
-
// if (match.file) {
|
|
368
|
-
// return sendFile(path.join(process.cwd(), `/static${match.file}`));
|
|
369
|
-
// }
|
|
370
|
-
// if (match.page && req.headers.get("Accept")?.includes('text/html')) {
|
|
371
|
-
// return renderPage(url);
|
|
372
|
-
// }
|
|
373
|
-
// if (match.service) {
|
|
374
|
-
// return renderApi(match.key, match.service, req);
|
|
375
|
-
// }
|
|
376
|
-
// }
|
|
377
|
-
// if (req.headers.get("Accept")?.includes('text/html')) {
|
|
378
|
-
// // not found html page
|
|
379
|
-
// return renderPage(new URL(`${url.protocol}//${url.host}/_404`));
|
|
380
|
-
// }
|
|
381
|
-
// // not found generic page
|
|
382
|
-
// return new Response(`{"message": "not found"}`, {
|
|
383
|
-
// headers: { 'Content-Type': 'application/json' },
|
|
384
|
-
// status: 404,
|
|
385
|
-
// });
|
|
386
|
-
// }
|
|
387
|
-
|
|
388
|
-
// export default server;
|
packages/cli/package.json
DELETED
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "parotta-cli",
|
|
3
|
-
"version": "0.5.0",
|
|
4
|
-
"type": "module",
|
|
5
|
-
"dependencies": {
|
|
6
|
-
"autoprefixer": "^10.4.14",
|
|
7
|
-
"bytes": "3.1.2",
|
|
8
|
-
"esbuild": "0.17.19",
|
|
9
|
-
"meow": "12.0.1",
|
|
10
|
-
"mime-types": "2.1.35",
|
|
11
|
-
"ms": "2.1.3",
|
|
12
|
-
"parotta-runtime": "workspace:*",
|
|
13
|
-
"picocolors": "1.0.0",
|
|
14
|
-
"postcss": "^8.4.21",
|
|
15
|
-
"postcss-custom-media": "^9.1.2",
|
|
16
|
-
"postcss-nesting": "^11.2.1",
|
|
17
|
-
"walkdir": "0.4.1",
|
|
18
|
-
"esbuild-plugin-resolve": "2.0.0"
|
|
19
|
-
},
|
|
20
|
-
"peerDependencies": {
|
|
21
|
-
"react": "*",
|
|
22
|
-
"react-dom": "*"
|
|
23
|
-
},
|
|
24
|
-
"bin": {
|
|
25
|
-
"parotta": "index.js"
|
|
26
|
-
}
|
|
27
|
-
}
|
packages/example/.vscode/extensions.json
DELETED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"recommendations": [
|
|
3
|
-
"ms-playwright.playwright"
|
|
4
|
-
]
|
|
5
|
-
}
|
packages/example/Dockerfile
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
FROM oven/bun:0.5.8
|
|
2
|
-
|
|
3
|
-
ENV NODE_ENV production
|
|
4
|
-
|
|
5
|
-
WORKDIR /app
|
|
6
|
-
COPY . /app
|
|
7
|
-
|
|
8
|
-
CMD ["bun", "start"]
|
packages/example/components/Counter/Counter.jsx
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import React, { useState } from "react";
|
|
2
|
-
|
|
3
|
-
const Counter = () => {
|
|
4
|
-
const [count, setCount] = useState(5);
|
|
5
|
-
return (
|
|
6
|
-
<div>
|
|
7
|
-
<button onClick={() => setCount(count - 1)}>-</button>
|
|
8
|
-
<span className="count">
|
|
9
|
-
{count}
|
|
10
|
-
</span>
|
|
11
|
-
<button onClick={() => setCount(count + 1)}>+</button>
|
|
12
|
-
</div>
|
|
13
|
-
)
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
export default Counter;
|
packages/example/components/Layout/Layout.css
DELETED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
.layout-header {
|
|
2
|
-
& a {
|
|
3
|
-
margin-right: 20px;
|
|
4
|
-
}
|
|
5
|
-
}
|
packages/example/components/Layout/Layout.jsx
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { Link } from "parotta-runtime";
|
|
3
|
-
import "./Layout.css";
|
|
4
|
-
|
|
5
|
-
const Layout = ({ children }) => {
|
|
6
|
-
return (
|
|
7
|
-
<div>
|
|
8
|
-
<header className="layout-header">
|
|
9
|
-
<Link href="/about">About us</Link>
|
|
10
|
-
<Link href="/todos">Todos</Link>
|
|
11
|
-
</header>
|
|
12
|
-
<div>
|
|
13
|
-
{children}
|
|
14
|
-
</div>
|
|
15
|
-
</div>
|
|
16
|
-
)
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
export default Layout;
|
packages/example/components/Todo/Todo.css
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
.todo {
|
|
2
|
-
& label {
|
|
3
|
-
list-style-type: none;
|
|
4
|
-
padding: 1em;
|
|
5
|
-
border-radius: 0.5em;
|
|
6
|
-
background-color: #ddd;
|
|
7
|
-
margin-top: 1em;
|
|
8
|
-
display: flex;
|
|
9
|
-
justify-content: space-between;
|
|
10
|
-
align-items: center;
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
& .done {
|
|
14
|
-
text-decoration: line-through;
|
|
15
|
-
}
|
|
16
|
-
}
|
packages/example/components/Todo/Todo.jsx
DELETED
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
import { useState } from "react";
|
|
2
|
-
// import PropTypes from 'prop-types';
|
|
3
|
-
// import { Button, InputGroup } from "@blueprintjs/core";
|
|
4
|
-
// import useMutation from '@/hooks/useMutation';
|
|
5
|
-
// import { TodoPropType } from '@/models/Todo';
|
|
6
|
-
import "./Todo.css";
|
|
7
|
-
|
|
8
|
-
// const propTypes = {
|
|
9
|
-
// // todo: PropTypes.shape(TodoPropType).isRequired,
|
|
10
|
-
// }
|
|
11
|
-
|
|
12
|
-
const Todo = ({ todo }) => {
|
|
13
|
-
const [state, setState] = useState({ text: todo.text, editing: false });
|
|
14
|
-
// const updateMutation = useMutation(async (data) => {
|
|
15
|
-
// await onUpdate({ ...todo, ...data });
|
|
16
|
-
// await refetch();
|
|
17
|
-
// });
|
|
18
|
-
// const deleteMutation = useMutation(async () => {
|
|
19
|
-
// await onDelete(todo.id);
|
|
20
|
-
// await refetch();
|
|
21
|
-
// })
|
|
22
|
-
return (
|
|
23
|
-
<li className="todo">
|
|
24
|
-
{!state.editing && (
|
|
25
|
-
<label>
|
|
26
|
-
<input
|
|
27
|
-
type="checkbox"
|
|
28
|
-
checked={todo.completed}
|
|
29
|
-
onChange={(e) => {
|
|
30
|
-
// updateMutation.mutate({ completed: e.target.checked })
|
|
31
|
-
}}
|
|
32
|
-
/>{" "}
|
|
33
|
-
<span className={todo.completed ? "done" : undefined}>{todo.text}</span>{" "}
|
|
34
|
-
</label>
|
|
35
|
-
)}
|
|
36
|
-
|
|
37
|
-
{/* {state.editing && (
|
|
38
|
-
<InputGroup
|
|
39
|
-
autoFocus
|
|
40
|
-
value={state.text}
|
|
41
|
-
onChange={(e) => setState({ text: e.target.value, editing: true })}
|
|
42
|
-
onKeyDown={async (e) => {
|
|
43
|
-
if (e.key === "Enter") {
|
|
44
|
-
await updateMutation.mutate({ text: state.text });
|
|
45
|
-
setState({ text: todo.text, editing: false });
|
|
46
|
-
} else if (e.key === "Escape") {
|
|
47
|
-
setState({ text: todo.text, editing: false });
|
|
48
|
-
}
|
|
49
|
-
}}
|
|
50
|
-
/>
|
|
51
|
-
)}
|
|
52
|
-
|
|
53
|
-
<span>
|
|
54
|
-
{!todo.completed && !state.editing && (
|
|
55
|
-
<Button
|
|
56
|
-
onClick={() => setState({ text: todo.text, editing: true })}
|
|
57
|
-
>
|
|
58
|
-
Edit
|
|
59
|
-
</Button>
|
|
60
|
-
)}
|
|
61
|
-
|
|
62
|
-
{todo.completed && (
|
|
63
|
-
<Button loading={deleteMutation.isMutating} onClick={deleteMutation.mutate}>
|
|
64
|
-
Delete
|
|
65
|
-
</Button>
|
|
66
|
-
)}
|
|
67
|
-
|
|
68
|
-
{state.editing && state.text !== todo.text && (
|
|
69
|
-
<Button
|
|
70
|
-
loading={updateMutation.isMutating}
|
|
71
|
-
onClick={async () => {
|
|
72
|
-
await updateMutation.mutate({ text: state.text });
|
|
73
|
-
setState({ text: todo.text, editing: false });
|
|
74
|
-
}}
|
|
75
|
-
>
|
|
76
|
-
Save
|
|
77
|
-
</Button>
|
|
78
|
-
)}
|
|
79
|
-
|
|
80
|
-
{state.editing && (
|
|
81
|
-
<Button
|
|
82
|
-
onClick={() => setState({ text: todo.text, editing: false })}
|
|
83
|
-
>
|
|
84
|
-
Cancel
|
|
85
|
-
</Button>
|
|
86
|
-
)}
|
|
87
|
-
</span> */}
|
|
88
|
-
</li>
|
|
89
|
-
);
|
|
90
|
-
};
|
|
91
|
-
|
|
92
|
-
// Todo.propTypes = propTypes;
|
|
93
|
-
|
|
94
|
-
export default Todo;
|
packages/example/db/index.js
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { drizzle } from 'drizzle-orm/neon-serverless';
|
|
2
|
-
import { Pool } from '@neondatabase/serverless';
|
|
3
|
-
import { highlight } from 'sql-highlight';
|
|
4
|
-
|
|
5
|
-
export const pool = new Pool({ connectionString: process.env.PG_CONN_URL });
|
|
6
|
-
const db = drizzle(pool, {
|
|
7
|
-
logger: {
|
|
8
|
-
logQuery: (query, params) => {
|
|
9
|
-
const sqlString = params.reduce((acc, v, i) => acc.replaceAll("$" + (i + 1), v), query);
|
|
10
|
-
console.log(highlight(sqlString));
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
});
|
|
14
|
-
|
|
15
|
-
export default db;
|
|
16
|
-
|
|
17
|
-
// import { migrate } from 'drizzle-orm/neon-serverless/migrator';
|
|
18
|
-
// export const migrateAll = async () => {
|
|
19
|
-
// await migrate(db, { migrationsFolder: './db/migrations' });
|
|
20
|
-
// }
|
packages/example/db/migrations/0000_empty_shatterstar.sql
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
CREATE TABLE IF NOT EXISTS "todos" (
|
|
2
|
-
"id" serial PRIMARY KEY NOT NULL,
|
|
3
|
-
"text" text NOT NULL,
|
|
4
|
-
"completed" boolean NOT NULL,
|
|
5
|
-
"createdAt" date NOT NULL,
|
|
6
|
-
"updatedAt" date
|
|
7
|
-
);
|
packages/example/drizzle.config.json
DELETED
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"out": "./db/migrations/",
|
|
3
|
-
"schema": "./db/index.js"
|
|
4
|
-
}
|
packages/example/main.js
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import server from "parotta/server.js";
|
|
2
|
-
|
|
3
|
-
export default {
|
|
4
|
-
port: 3000,
|
|
5
|
-
fetch: server,
|
|
6
|
-
}
|
packages/example/package.json
DELETED
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "parotta-example",
|
|
3
|
-
"type": "module",
|
|
4
|
-
"scripts": {
|
|
5
|
-
"start": "bun main.js",
|
|
6
|
-
"build": "parotta build cloudflare",
|
|
7
|
-
"run": "docker run -p 3000:3000 example",
|
|
8
|
-
"test": "bun test",
|
|
9
|
-
"test-e2e": "playwright test"
|
|
10
|
-
},
|
|
11
|
-
"dependencies": {
|
|
12
|
-
"@neondatabase/serverless": "^0.2.9",
|
|
13
|
-
"drizzle-orm": "0.26.0",
|
|
14
|
-
"normalize.css": "^8.0.1",
|
|
15
|
-
"react": "18.2.0",
|
|
16
|
-
"react-aria-components": "1.0.0-alpha.3",
|
|
17
|
-
"react-dom": "18.2.0",
|
|
18
|
-
"react-error-boundary": "4.0.4",
|
|
19
|
-
"react-helmet-async": "1.3.0",
|
|
20
|
-
"react-hook-form": "7.43.9",
|
|
21
|
-
"sql-highlight": "^4.3.2",
|
|
22
|
-
"zod": "^3.21.4",
|
|
23
|
-
"parotta-runtime": "workspace:*"
|
|
24
|
-
},
|
|
25
|
-
"devDependencies": {
|
|
26
|
-
"parotta-cli": "workspace:*",
|
|
27
|
-
"@playwright/test": "^1.31.2",
|
|
28
|
-
"eslint": "^8.35.0",
|
|
29
|
-
"eslint-config-react-app": "^7.0.1"
|
|
30
|
-
},
|
|
31
|
-
"parotta": {
|
|
32
|
-
"hydrate": true,
|
|
33
|
-
"css": [
|
|
34
|
-
"node_modules/normalize.css/normalize.css"
|
|
35
|
-
]
|
|
36
|
-
},
|
|
37
|
-
"prettier": {
|
|
38
|
-
"printWidth": 120
|
|
39
|
-
},
|
|
40
|
-
"eslintConfig": {
|
|
41
|
-
"root": true,
|
|
42
|
-
"parserOptions": {
|
|
43
|
-
"ecmaVersion": "latest",
|
|
44
|
-
"sourceType": "module"
|
|
45
|
-
},
|
|
46
|
-
"extends": [
|
|
47
|
-
"eslint:recommended",
|
|
48
|
-
"react-app"
|
|
49
|
-
],
|
|
50
|
-
"ignorePatterns": [
|
|
51
|
-
"build"
|
|
52
|
-
],
|
|
53
|
-
"rules": {
|
|
54
|
-
"react/prop-types": "warn",
|
|
55
|
-
"react/react-in-jsx-scope": "off",
|
|
56
|
-
"no-unused-vars": "warn"
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
}
|
packages/example/pages/about/page.jsx
DELETED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { Link, useRouter } from "parotta-runtime";
|
|
3
|
-
import { Helmet } from 'react-helmet-async';
|
|
4
|
-
import Layout from '@/components/Layout/Layout';
|
|
5
|
-
import "./page.css";
|
|
6
|
-
|
|
7
|
-
export const Page = () => {
|
|
8
|
-
const router = useRouter();
|
|
9
|
-
return (
|
|
10
|
-
<Layout>
|
|
11
|
-
<div className="about-page">
|
|
12
|
-
<Helmet>
|
|
13
|
-
<title>About Page @ {router.pathname}</title>
|
|
14
|
-
<meta name="description" content="Showcase of using parotta meta-framework." />
|
|
15
|
-
</Helmet>
|
|
16
|
-
<div>
|
|
17
|
-
<h1>About Page @ {router.pathname}</h1>
|
|
18
|
-
<p>Showcase of using parotta meta-framework.</p>
|
|
19
|
-
</div>
|
|
20
|
-
<footer>
|
|
21
|
-
<Link href="/">Back</Link>
|
|
22
|
-
</footer>
|
|
23
|
-
</div>
|
|
24
|
-
</Layout>
|
|
25
|
-
)
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
export default Page;
|
packages/example/pages/page.css
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
body {
|
|
2
|
-
margin: 0;
|
|
3
|
-
padding: 20px;
|
|
4
|
-
margin: 0;
|
|
5
|
-
background-color: turquoise;
|
|
6
|
-
|
|
7
|
-
& .count {
|
|
8
|
-
color: black;
|
|
9
|
-
padding: 40px;
|
|
10
|
-
font-size: 30px;
|
|
11
|
-
font-weight: 600;
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
& footer {
|
|
15
|
-
margin-top: 100px;
|
|
16
|
-
}
|
|
17
|
-
}
|
packages/example/pages/page.jsx
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import React, { useEffect } from 'react';
|
|
2
|
-
import { useRouter } from "parotta-runtime";
|
|
3
|
-
import Layout from '@/components/Layout/Layout';
|
|
4
|
-
import Counter from "@/components/Counter/Counter";
|
|
5
|
-
import { Helmet } from 'react-helmet-async';
|
|
6
|
-
import "./page.css";
|
|
7
|
-
|
|
8
|
-
const Page = () => {
|
|
9
|
-
const router = useRouter();
|
|
10
|
-
useEffect(() => {
|
|
11
|
-
|
|
12
|
-
}, []);
|
|
13
|
-
return (
|
|
14
|
-
<Layout>
|
|
15
|
-
<Helmet>
|
|
16
|
-
<title>Parotta App</title>
|
|
17
|
-
</Helmet>
|
|
18
|
-
<div>
|
|
19
|
-
<h1>Home Page</h1>
|
|
20
|
-
<p>
|
|
21
|
-
Path: {router.pathname}
|
|
22
|
-
</p>
|
|
23
|
-
<Counter />
|
|
24
|
-
</div>
|
|
25
|
-
</Layout>
|
|
26
|
-
)
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
export default Page;
|
packages/example/pages/todos/page.css
DELETED
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
body {
|
|
2
|
-
padding: 10px;
|
|
3
|
-
background-color: turquoise;
|
|
4
|
-
}
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
:root {
|
|
8
|
-
--spectrum-alias-border-color: black;
|
|
9
|
-
--spectrum-global-color-gray-50: white;
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
.react-aria-TextField {
|
|
14
|
-
--field-border: var(--spectrum-alias-border-color);
|
|
15
|
-
--field-border-disabled: var(--spectrum-alias-border-color-disabled);
|
|
16
|
-
--field-background: var(--spectrum-global-color-gray-50);
|
|
17
|
-
--text-color: var(--spectrum-alias-text-color);
|
|
18
|
-
--text-color-disabled: var(--spectrum-alias-text-color-disabled);
|
|
19
|
-
--focus-ring-color: slateblue;
|
|
20
|
-
--invalid-color: var(--spectrum-global-color-red-600);
|
|
21
|
-
|
|
22
|
-
display: flex;
|
|
23
|
-
flex-direction: column;
|
|
24
|
-
width: fit-content;
|
|
25
|
-
|
|
26
|
-
.react-aria-Input {
|
|
27
|
-
padding: 0.286rem;
|
|
28
|
-
margin: 0;
|
|
29
|
-
border: 1px solid var(--field-border);
|
|
30
|
-
border-radius: 6px;
|
|
31
|
-
background: var(--field-background);
|
|
32
|
-
font-size: 1.143rem;
|
|
33
|
-
color: var(--text-color);
|
|
34
|
-
|
|
35
|
-
&[aria-invalid] {
|
|
36
|
-
border-color: var(--invalid-color);
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
&:focus {
|
|
40
|
-
outline: none;
|
|
41
|
-
border-color: var(--focus-ring-color);
|
|
42
|
-
box-shadow: 0 0 0 1px var(--focus-ring-color);
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
&:disabled {
|
|
46
|
-
border-color: var(--field-border-disabled);
|
|
47
|
-
color: var(--text-color-disabled);
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
[slot=description] {
|
|
52
|
-
font-size: 12px;
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
[slot=errorMessage] {
|
|
56
|
-
font-size: 12px;
|
|
57
|
-
color: var(--invalid-color);
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
@media (forced-colors: active) {
|
|
62
|
-
.react-aria-TextField {
|
|
63
|
-
--field-border: ButtonBorder;
|
|
64
|
-
--field-border-disabled: GrayText;
|
|
65
|
-
--field-background: Field;
|
|
66
|
-
--text-color: FieldText;
|
|
67
|
-
--text-color-disabled: GrayText;
|
|
68
|
-
--focus-ring-color: Highlight;
|
|
69
|
-
--invalid-color: LinkText;
|
|
70
|
-
}
|
|
71
|
-
}
|
packages/example/pages/todos/page.jsx
DELETED
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
import React, { Suspense } from 'react';
|
|
2
|
-
import { Helmet } from 'react-helmet-async';
|
|
3
|
-
import { useQuery, useMutation } from "parotta-runtime";
|
|
4
|
-
import { useForm } from 'react-hook-form';
|
|
5
|
-
import Todo from "@/components/Todo/Todo";
|
|
6
|
-
import { TextField, Label, Input } from 'react-aria-components';
|
|
7
|
-
import { Button } from 'react-aria-components';
|
|
8
|
-
import { getTodos, createTodo } from "@/services/todos.service";
|
|
9
|
-
import Layout from '@/components/Layout/Layout';
|
|
10
|
-
import "./page.css";
|
|
11
|
-
|
|
12
|
-
const TodoList = () => {
|
|
13
|
-
const { data, refetch } = useQuery("todos", () => getTodos());
|
|
14
|
-
const { mutate, isMutating, err } = useMutation(async ({ text }) => {
|
|
15
|
-
await createTodo({
|
|
16
|
-
text,
|
|
17
|
-
completed: false,
|
|
18
|
-
})
|
|
19
|
-
await refetch();
|
|
20
|
-
});
|
|
21
|
-
const { register, handleSubmit, formState: { errors } } = useForm();
|
|
22
|
-
console.log('err', err, errors);
|
|
23
|
-
return (
|
|
24
|
-
<div>
|
|
25
|
-
<ul>
|
|
26
|
-
{data.map((item) => (
|
|
27
|
-
<Todo key={item.id} todo={item} />
|
|
28
|
-
))}
|
|
29
|
-
</ul>
|
|
30
|
-
<form onSubmit={handleSubmit(mutate)}>
|
|
31
|
-
<TextField isRequired isReadOnly={isMutating}>
|
|
32
|
-
<Label>Text (required)</Label>
|
|
33
|
-
<Input {...register('text')} />
|
|
34
|
-
{err?.text && <p>{err.text._errors[0]}</p>}
|
|
35
|
-
</TextField>
|
|
36
|
-
<Button type="submit" isDisabled={isMutating}>Add Todo</Button>
|
|
37
|
-
{isMutating && <div>
|
|
38
|
-
<p>Creating...</p>
|
|
39
|
-
</div>}
|
|
40
|
-
</form>
|
|
41
|
-
</div>
|
|
42
|
-
)
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
const Page = () => {
|
|
46
|
-
return (
|
|
47
|
-
<Layout>
|
|
48
|
-
<h1>Todos</h1>
|
|
49
|
-
<Helmet>
|
|
50
|
-
<title>Todos Page</title>
|
|
51
|
-
</Helmet>
|
|
52
|
-
<div>
|
|
53
|
-
<Suspense fallback="Loading...">
|
|
54
|
-
<TodoList />
|
|
55
|
-
</Suspense>
|
|
56
|
-
</div>
|
|
57
|
-
</Layout>
|
|
58
|
-
)
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
export default Page;
|
packages/example/readme.md
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
# Sample Parotta Application
|
|
2
|
-
|
|
3
|
-
## Requirements
|
|
4
|
-
|
|
5
|
-
1. bun >= v0.5.8
|
|
6
|
-
|
|
7
|
-
## Setup
|
|
8
|
-
|
|
9
|
-
1. `bun i`
|
|
10
|
-
2. `bunx playright install`
|
|
11
|
-
|
|
12
|
-
## Running
|
|
13
|
-
|
|
14
|
-
`bun run dev`
|
|
15
|
-
|
|
16
|
-
## Testing
|
|
17
|
-
|
|
18
|
-
`bun test`
|
packages/example/services/todos.service.test.js
DELETED
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import { test, expect } from "bun:test";
|
|
2
|
-
import { createSchema } from "./todos.service";
|
|
3
|
-
|
|
4
|
-
test("validate createSchema", () => {
|
|
5
|
-
expect(createSchema.safeParse({}).error.issues).toEqual([
|
|
6
|
-
{
|
|
7
|
-
"code": "invalid_type",
|
|
8
|
-
"expected": "string",
|
|
9
|
-
"message": "Required",
|
|
10
|
-
"path": [
|
|
11
|
-
"text"
|
|
12
|
-
],
|
|
13
|
-
"received": "undefined"
|
|
14
|
-
},
|
|
15
|
-
{
|
|
16
|
-
"code": "invalid_type",
|
|
17
|
-
"expected": "boolean",
|
|
18
|
-
"message": "Required",
|
|
19
|
-
"path": [
|
|
20
|
-
"completed"
|
|
21
|
-
],
|
|
22
|
-
"received": "undefined"
|
|
23
|
-
}
|
|
24
|
-
])
|
|
25
|
-
expect(createSchema.safeParse({
|
|
26
|
-
text: '',
|
|
27
|
-
completed: true,
|
|
28
|
-
}).error.issues).toEqual([
|
|
29
|
-
{
|
|
30
|
-
"code": "too_small",
|
|
31
|
-
"exact": false,
|
|
32
|
-
"inclusive": true,
|
|
33
|
-
"message": "please enter some text",
|
|
34
|
-
"minimum": 1,
|
|
35
|
-
"path": [
|
|
36
|
-
"text"
|
|
37
|
-
],
|
|
38
|
-
"type": "string"
|
|
39
|
-
},
|
|
40
|
-
])
|
|
41
|
-
})
|
packages/runtime/index.js
DELETED
|
@@ -1,315 +0,0 @@
|
|
|
1
|
-
import React, {
|
|
2
|
-
Suspense, createElement, createContext, useContext, useState, useEffect, useTransition, useCallback
|
|
3
|
-
} from "react";
|
|
4
|
-
import { HelmetProvider } from 'react-helmet-async';
|
|
5
|
-
import { ErrorBoundary } from "react-error-boundary";
|
|
6
|
-
import { createMemoryHistory } from "history";
|
|
7
|
-
import { createRouter } from "radix3";
|
|
8
|
-
import routes from '/static/routemap.json' assert {type: 'json'};
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* CSR related functions
|
|
12
|
-
*/
|
|
13
|
-
|
|
14
|
-
export const domain = () => typeof window !== 'undefined' ? window.origin : "http://0.0.0.0:3000";
|
|
15
|
-
|
|
16
|
-
export const rpc = (serviceName) => async (params = {}) => {
|
|
17
|
-
const res = await fetch(`${domain()}/services/${serviceName}`, {
|
|
18
|
-
method: "POST",
|
|
19
|
-
headers: {
|
|
20
|
-
"Accept": "application/json",
|
|
21
|
-
"Content-Type": "application/json",
|
|
22
|
-
},
|
|
23
|
-
body: JSON.stringify(params),
|
|
24
|
-
})
|
|
25
|
-
return await res.json();
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
export const RpcContext = createContext(undefined);
|
|
29
|
-
|
|
30
|
-
// global way to refresh maybe without being tied to a hook like refetch
|
|
31
|
-
export const useInvalidate = () => {
|
|
32
|
-
const ctx = useContext(RpcContext);
|
|
33
|
-
return (regex) => {
|
|
34
|
-
Object.keys(ctx)
|
|
35
|
-
.filter((k) => regex.test(k))
|
|
36
|
-
.forEach((k) => {
|
|
37
|
-
delete ctx[k];
|
|
38
|
-
});
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
export const useRpcCache = (k) => {
|
|
43
|
-
const ctx = useContext(RpcContext);
|
|
44
|
-
const [_, rerender] = useState(false);
|
|
45
|
-
const get = () => ctx[k]
|
|
46
|
-
const set = (v) => {
|
|
47
|
-
ctx[k] = v;
|
|
48
|
-
rerender((c) => !c);
|
|
49
|
-
}
|
|
50
|
-
const invalidate = () => {
|
|
51
|
-
delete ctx[k];
|
|
52
|
-
rerender((c) => !c);
|
|
53
|
-
}
|
|
54
|
-
return {
|
|
55
|
-
get,
|
|
56
|
-
set,
|
|
57
|
-
invalidate,
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
/**
|
|
62
|
-
*
|
|
63
|
-
* @param {*} fn
|
|
64
|
-
* @param {*} params
|
|
65
|
-
* @returns
|
|
66
|
-
*/
|
|
67
|
-
export const useQuery = (key, fn) => {
|
|
68
|
-
const [isRefetching, setIsRefetching] = useState(false);
|
|
69
|
-
const [err, setErr] = useState(null);
|
|
70
|
-
const cache = useRpcCache(key);
|
|
71
|
-
const refetch = useCallback(async () => {
|
|
72
|
-
try {
|
|
73
|
-
setIsRefetching(true);
|
|
74
|
-
setErr(null);
|
|
75
|
-
cache.set(await fn());
|
|
76
|
-
} catch (err) {
|
|
77
|
-
setErr(err);
|
|
78
|
-
throw err;
|
|
79
|
-
} finally {
|
|
80
|
-
setIsRefetching(false);
|
|
81
|
-
}
|
|
82
|
-
}, [fn]);
|
|
83
|
-
const value = cache.get();
|
|
84
|
-
if (value) {
|
|
85
|
-
if (value instanceof Promise) {
|
|
86
|
-
throw value;
|
|
87
|
-
} else if (value instanceof Error) {
|
|
88
|
-
throw value;
|
|
89
|
-
}
|
|
90
|
-
return { data: value, isRefetching, err, refetch };
|
|
91
|
-
}
|
|
92
|
-
cache.set(fn().then((v) => cache.set(v)));
|
|
93
|
-
throw cache.get();
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
export const useMutation = (fn) => {
|
|
97
|
-
const [isMutating, setIsMutating] = useState(false);
|
|
98
|
-
const [err, setErr] = useState(null);
|
|
99
|
-
const mutate = useCallback(async (params) => {
|
|
100
|
-
try {
|
|
101
|
-
setIsMutating(true);
|
|
102
|
-
setErr(null);
|
|
103
|
-
await fn(params);
|
|
104
|
-
} catch (err) {
|
|
105
|
-
setErr(err)
|
|
106
|
-
throw err;
|
|
107
|
-
} finally {
|
|
108
|
-
setIsMutating(false);
|
|
109
|
-
}
|
|
110
|
-
}, [fn])
|
|
111
|
-
return {
|
|
112
|
-
mutate,
|
|
113
|
-
isMutating,
|
|
114
|
-
err,
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
export const RouterContext = createContext(undefined);
|
|
119
|
-
|
|
120
|
-
const getMatch = (radixRouter, pathname) => {
|
|
121
|
-
const matchedPage = radixRouter.lookup(pathname);
|
|
122
|
-
if (!matchedPage) {
|
|
123
|
-
return radixRouter.lookup("_404")
|
|
124
|
-
}
|
|
125
|
-
return matchedPage;
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
const getCssUrl = (pathname) => `/pages${pathname === "/" ? "" : pathname}/page.css`;
|
|
129
|
-
|
|
130
|
-
export const App = ({ nProgress, history, radixRouter, rpcCache, helmetContext }) => {
|
|
131
|
-
const [isPending, startTransition] = useTransition();
|
|
132
|
-
const [match, setMatch] = useState(() => getMatch(radixRouter, history.location.pathname));
|
|
133
|
-
useEffect(() => {
|
|
134
|
-
return history.listen(({ location }) => {
|
|
135
|
-
const href = getCssUrl(location.pathname);
|
|
136
|
-
// const isLoaded = Array.from(document.getElementsByTagName("link"))
|
|
137
|
-
// .map((link) => link.href.replace(window.origin, "")).includes(href);
|
|
138
|
-
// if (!isLoaded) {
|
|
139
|
-
// const link = document.createElement('link');
|
|
140
|
-
// link.setAttribute("rel", "stylesheet");
|
|
141
|
-
// link.setAttribute("type", "text/css");
|
|
142
|
-
// link.onload = () => {
|
|
143
|
-
// nProgress.start();
|
|
144
|
-
// startTransition(() => {
|
|
145
|
-
// setMatch(getMatch(radixRouter, location.pathname));
|
|
146
|
-
// })
|
|
147
|
-
// };
|
|
148
|
-
// link.setAttribute("href", href);
|
|
149
|
-
// document.getElementsByTagName("head")[0].appendChild(link);
|
|
150
|
-
// } else {
|
|
151
|
-
const link = document.createElement('link');
|
|
152
|
-
link.setAttribute("rel", "stylesheet");
|
|
153
|
-
link.setAttribute("type", "text/css");
|
|
154
|
-
link.setAttribute("href", href);
|
|
155
|
-
document.getElementsByTagName("head")[0].appendChild(link);
|
|
156
|
-
nProgress.start();
|
|
157
|
-
startTransition(() => {
|
|
158
|
-
setMatch(getMatch(radixRouter, location.pathname));
|
|
159
|
-
})
|
|
160
|
-
// }
|
|
161
|
-
});
|
|
162
|
-
}, []);
|
|
163
|
-
useEffect(() => {
|
|
164
|
-
if (!isPending) {
|
|
165
|
-
nProgress.done();
|
|
166
|
-
}
|
|
167
|
-
}, [isPending]);
|
|
168
|
-
return createElement(HelmetProvider, {
|
|
169
|
-
context: helmetContext,
|
|
170
|
-
children: createElement(RpcContext.Provider, {
|
|
171
|
-
value: rpcCache,
|
|
172
|
-
children: createElement(RouterContext.Provider, {
|
|
173
|
-
value: {
|
|
174
|
-
history: history,
|
|
175
|
-
params: match.params || {},
|
|
176
|
-
},
|
|
177
|
-
children: createElement(ErrorBoundary, {
|
|
178
|
-
onError: (err) => console.log(err),
|
|
179
|
-
fallback: createElement("p", {}, "Oops something went wrong"),
|
|
180
|
-
children: createElement(Suspense, {
|
|
181
|
-
fallback: createElement("p", {}, "Loading..."),
|
|
182
|
-
children: createElement(match, {}),
|
|
183
|
-
}),
|
|
184
|
-
}),
|
|
185
|
-
}),
|
|
186
|
-
}),
|
|
187
|
-
});
|
|
188
|
-
}
|
|
189
|
-
|
|
190
|
-
export const useRouter = () => {
|
|
191
|
-
const { history, params } = useContext(RouterContext);
|
|
192
|
-
return {
|
|
193
|
-
pathname: history.location.pathname,
|
|
194
|
-
query: new URLSearchParams(history.location.search),
|
|
195
|
-
params,
|
|
196
|
-
push: history.push,
|
|
197
|
-
replace: history.replace,
|
|
198
|
-
forward: history.forward,
|
|
199
|
-
back: history.back,
|
|
200
|
-
reload: () => window.location.reload(),
|
|
201
|
-
};
|
|
202
|
-
}
|
|
203
|
-
|
|
204
|
-
export const Link = (props) => {
|
|
205
|
-
const router = useRouter();
|
|
206
|
-
return createElement("a", {
|
|
207
|
-
...props,
|
|
208
|
-
onMouseOver: (e) => {
|
|
209
|
-
// Simple prefetching for now will work only with cache headers
|
|
210
|
-
// fetch(getCssUrl(props.href));
|
|
211
|
-
// fetch(getCssUrl(props.href).replace("css", "jsx"));
|
|
212
|
-
},
|
|
213
|
-
onClick: (e) => {
|
|
214
|
-
e.preventDefault();
|
|
215
|
-
if (props && props.onClick) {
|
|
216
|
-
props.onClick(e);
|
|
217
|
-
}
|
|
218
|
-
router.push(props.href)
|
|
219
|
-
},
|
|
220
|
-
})
|
|
221
|
-
}
|
|
222
|
-
|
|
223
|
-
export const NavLink = ({ children, className, activeClassName, ...props }) => {
|
|
224
|
-
const { pathname } = useRouter();
|
|
225
|
-
const classNames = pathname === props.href ? [activeClassName, className] : [className];
|
|
226
|
-
return createElement(Link, {
|
|
227
|
-
children,
|
|
228
|
-
className: classNames,
|
|
229
|
-
...props,
|
|
230
|
-
})
|
|
231
|
-
}
|
|
232
|
-
|
|
233
|
-
/**
|
|
234
|
-
* SSR related functions
|
|
235
|
-
*/
|
|
236
|
-
export const renderPage = async () => {
|
|
237
|
-
const clientRouter = createRouter({
|
|
238
|
-
strictTrailingSlash: true,
|
|
239
|
-
routes: Object.keys(routes).reduce((acc, r) => {
|
|
240
|
-
acc[r] = React.lazy(() => import(`/pages${r}/page.jsx`));
|
|
241
|
-
return acc;
|
|
242
|
-
}, {}),
|
|
243
|
-
});
|
|
244
|
-
const history = createMemoryHistory({
|
|
245
|
-
initialEntries: [url.pathname + url.search],
|
|
246
|
-
});
|
|
247
|
-
const helmetContext = {}
|
|
248
|
-
const nProgress = { start: () => { }, done: () => { } }
|
|
249
|
-
// const stream = await renderToReadableStream(
|
|
250
|
-
// <html lang="en">
|
|
251
|
-
// <head>
|
|
252
|
-
// <link rel="stylesheet" href="https://unpkg.com/nprogress@0.2.0/nprogress.css" />
|
|
253
|
-
// <link id="pageCss" rel="stylesheet" href={`/pages${url.pathname}/page.css`} />
|
|
254
|
-
// <script type="importmap" src="/static/importmap.json" />
|
|
255
|
-
// </head>
|
|
256
|
-
// <body>
|
|
257
|
-
// <App
|
|
258
|
-
// nProgress={nProgress}
|
|
259
|
-
// history={history}
|
|
260
|
-
// radixRouter={clientRouter}
|
|
261
|
-
// rpcCache={{}}
|
|
262
|
-
// helmetContext={helmetContext}
|
|
263
|
-
// />
|
|
264
|
-
// {false &&
|
|
265
|
-
// <>
|
|
266
|
-
// <script type="module" defer={true} dangerouslySetInnerHTML={{
|
|
267
|
-
// __html: `
|
|
268
|
-
// import React from "react";
|
|
269
|
-
// import { hydrateRoot } from "react-dom/client";
|
|
270
|
-
// import { createBrowserHistory } from "history";
|
|
271
|
-
// import nProgress from "nprogress";
|
|
272
|
-
// import { createRouter } from "radix3";
|
|
273
|
-
// import { App } from "parotta/runtime";
|
|
274
|
-
// import routes from '/static/routemap.json' assert {type: 'json'};
|
|
275
|
-
// // import sheet from './styles.css' assert { type: 'css' };
|
|
276
|
-
|
|
277
|
-
// const history = createBrowserHistory();
|
|
278
|
-
// const radixRouter = createRouter({
|
|
279
|
-
// strictTrailingSlash: true,
|
|
280
|
-
// routes: {
|
|
281
|
-
// ${Object.keys(routes).map((r) => `"${r}": React.lazy(() => import("/pages${r}/page.jsx"))`).join(',\n ')}
|
|
282
|
-
// },
|
|
283
|
-
// });
|
|
284
|
-
|
|
285
|
-
// hydrateRoot(document.body, React.createElement(App, {
|
|
286
|
-
// nProgress,
|
|
287
|
-
// history,
|
|
288
|
-
// radixRouter,
|
|
289
|
-
// rpcCache: {},
|
|
290
|
-
// helmetContext: {},
|
|
291
|
-
// }));`
|
|
292
|
-
// }}>
|
|
293
|
-
// </script>
|
|
294
|
-
// </>
|
|
295
|
-
// }
|
|
296
|
-
// </body>
|
|
297
|
-
// </html>
|
|
298
|
-
// );
|
|
299
|
-
const stream = await renderToReadableStream(React.createElement(App, {
|
|
300
|
-
nProgress,
|
|
301
|
-
history,
|
|
302
|
-
radixRouter: clientRouter,
|
|
303
|
-
rpcCache: {},
|
|
304
|
-
helmetContext: helmetContext,
|
|
305
|
-
}));
|
|
306
|
-
// TODO:
|
|
307
|
-
// if (bot || isCrawler) {
|
|
308
|
-
// await stream.allReady
|
|
309
|
-
// add helmetContext to head
|
|
310
|
-
// }
|
|
311
|
-
return new Response(stream, {
|
|
312
|
-
headers: { 'Content-Type': 'text/html' },
|
|
313
|
-
status: 200,
|
|
314
|
-
});
|
|
315
|
-
}
|
packages/runtime/package.json
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "parotta-runtime",
|
|
3
|
-
"version": "0.5.0",
|
|
4
|
-
"type": "module",
|
|
5
|
-
"dependencies": {
|
|
6
|
-
"history": "^5.3.0",
|
|
7
|
-
"radix3": "^1.0.0"
|
|
8
|
-
},
|
|
9
|
-
"peerDependencies": {
|
|
10
|
-
"react": "*",
|
|
11
|
-
"react-error-boundary": "*",
|
|
12
|
-
"react-helmet-async": "*"
|
|
13
|
-
}
|
|
14
|
-
}
|
pnpm-lock.yaml
CHANGED
|
@@ -2,68 +2,23 @@ lockfileVersion: '6.0'
|
|
|
2
2
|
|
|
3
3
|
importers:
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
docs:
|
|
6
6
|
dependencies:
|
|
7
|
-
autoprefixer:
|
|
8
|
-
specifier: ^10.4.14
|
|
9
|
-
|
|
7
|
+
'@markdoc/markdoc':
|
|
10
|
-
bytes:
|
|
11
|
-
specifier:
|
|
8
|
+
specifier: 0.2.2
|
|
12
|
-
version:
|
|
9
|
+
version: 0.2.2
|
|
13
|
-
esbuild:
|
|
14
|
-
specifier: 0.17.19
|
|
15
|
-
version: 0.17.19
|
|
16
|
-
esbuild-plugin-resolve:
|
|
17
|
-
specifier: 2.0.0
|
|
18
|
-
version: 2.0.0
|
|
19
|
-
meow:
|
|
20
|
-
specifier: 12.0.1
|
|
21
|
-
version: 12.0.1
|
|
22
|
-
mime-types:
|
|
23
|
-
specifier: 2.1.35
|
|
24
|
-
version: 2.1.35
|
|
25
|
-
ms:
|
|
26
|
-
specifier: 2.1.3
|
|
27
|
-
version: 2.1.3
|
|
28
|
-
parotta-runtime:
|
|
29
|
-
specifier: workspace:*
|
|
30
|
-
version: link:../runtime
|
|
31
|
-
picocolors:
|
|
32
|
-
specifier: 1.0.0
|
|
33
|
-
version: 1.0.0
|
|
34
|
-
postcss:
|
|
35
|
-
specifier: ^8.4.21
|
|
36
|
-
version: 8.4.21
|
|
37
|
-
postcss-custom-media:
|
|
38
|
-
specifier: ^9.1.2
|
|
39
|
-
version: 9.1.2(postcss@8.4.21)
|
|
40
|
-
postcss-nesting:
|
|
41
|
-
specifier: ^11.2.1
|
|
42
|
-
version: 11.2.1(postcss@8.4.21)
|
|
43
|
-
react:
|
|
44
|
-
specifier: '*'
|
|
45
|
-
version: 18.2.0
|
|
46
|
-
react-dom:
|
|
47
|
-
specifier: '*'
|
|
48
|
-
version: 18.2.0(react@18.2.0)
|
|
49
|
-
walkdir:
|
|
50
|
-
specifier: 0.4.1
|
|
51
|
-
version: 0.4.1
|
|
52
10
|
|
|
53
|
-
|
|
11
|
+
example:
|
|
54
12
|
dependencies:
|
|
55
13
|
'@neondatabase/serverless':
|
|
56
|
-
specifier:
|
|
14
|
+
specifier: 0.4.5
|
|
57
|
-
version: 0.
|
|
15
|
+
version: 0.4.5
|
|
58
16
|
drizzle-orm:
|
|
59
17
|
specifier: 0.26.0
|
|
60
|
-
version: 0.26.0(@neondatabase/serverless@0.
|
|
18
|
+
version: 0.26.0(@neondatabase/serverless@0.4.5)(postgres@3.3.4)
|
|
61
|
-
|
|
19
|
+
edge-city:
|
|
62
|
-
specifier: ^8.0.1
|
|
63
|
-
version: 8.0.1
|
|
64
|
-
parotta-runtime:
|
|
65
20
|
specifier: workspace:*
|
|
66
|
-
version: link:../
|
|
21
|
+
version: link:../lib
|
|
67
22
|
react:
|
|
68
23
|
specifier: 18.2.0
|
|
69
24
|
version: 18.2.0
|
|
@@ -92,33 +47,115 @@ importers:
|
|
|
92
47
|
'@playwright/test':
|
|
93
48
|
specifier: ^1.31.2
|
|
94
49
|
version: 1.31.2
|
|
50
|
+
'@vitejs/plugin-react':
|
|
51
|
+
specifier: 4.0.0
|
|
52
|
+
version: 4.0.0(vite@4.3.9)
|
|
53
|
+
drizzle-kit:
|
|
54
|
+
specifier: 0.18.0
|
|
55
|
+
version: 0.18.0
|
|
95
56
|
eslint:
|
|
96
57
|
specifier: ^8.35.0
|
|
97
58
|
version: 8.35.0
|
|
98
59
|
eslint-config-react-app:
|
|
99
60
|
specifier: ^7.0.1
|
|
100
61
|
version: 7.0.1(@babel/plugin-syntax-flow@7.21.4)(@babel/plugin-transform-react-jsx@7.21.5)(eslint@8.35.0)(typescript@5.0.4)
|
|
62
|
+
postgres:
|
|
63
|
+
specifier: 3.3.4
|
|
64
|
+
version: 3.3.4
|
|
101
|
-
|
|
65
|
+
prettier:
|
|
102
|
-
specifier:
|
|
66
|
+
specifier: ^2.8.8
|
|
103
|
-
version:
|
|
67
|
+
version: 2.8.8
|
|
104
|
-
|
|
68
|
+
vite:
|
|
105
|
-
|
|
69
|
+
specifier: 4.3.9
|
|
70
|
+
version: 4.3.9
|
|
71
|
+
wrangler:
|
|
72
|
+
specifier: 3.0.1
|
|
73
|
+
version: 3.0.1
|
|
74
|
+
|
|
75
|
+
lib:
|
|
106
76
|
dependencies:
|
|
107
77
|
history:
|
|
108
78
|
specifier: ^5.3.0
|
|
109
79
|
version: 5.3.0
|
|
80
|
+
isbot:
|
|
81
|
+
specifier: 3.6.10
|
|
82
|
+
version: 3.6.10
|
|
110
83
|
radix3:
|
|
111
84
|
specifier: ^1.0.0
|
|
112
85
|
version: 1.0.0
|
|
113
86
|
react:
|
|
114
87
|
specifier: '*'
|
|
115
88
|
version: 18.2.0
|
|
89
|
+
react-dom:
|
|
90
|
+
specifier: '*'
|
|
91
|
+
version: 18.2.0(react@18.2.0)
|
|
116
92
|
react-error-boundary:
|
|
117
93
|
specifier: '*'
|
|
118
94
|
version: 4.0.4(react@18.2.0)
|
|
119
95
|
react-helmet-async:
|
|
120
96
|
specifier: '*'
|
|
121
97
|
version: 1.3.0(react-dom@18.2.0)(react@18.2.0)
|
|
98
|
+
devDependencies:
|
|
99
|
+
autoprefixer:
|
|
100
|
+
specifier: ^10.4.14
|
|
101
|
+
version: 10.4.14(postcss@8.4.21)
|
|
102
|
+
bytes:
|
|
103
|
+
specifier: 3.1.2
|
|
104
|
+
version: 3.1.2
|
|
105
|
+
dotenv:
|
|
106
|
+
specifier: 16.0.3
|
|
107
|
+
version: 16.0.3
|
|
108
|
+
esbuild:
|
|
109
|
+
specifier: 0.17.19
|
|
110
|
+
version: 0.17.19
|
|
111
|
+
esbuild-plugin-resolve:
|
|
112
|
+
specifier: 2.0.0
|
|
113
|
+
version: 2.0.0
|
|
114
|
+
express:
|
|
115
|
+
specifier: 4.18.2
|
|
116
|
+
version: 4.18.2
|
|
117
|
+
fs-extra:
|
|
118
|
+
specifier: 11.1.1
|
|
119
|
+
version: 11.1.1
|
|
120
|
+
jest:
|
|
121
|
+
specifier: 29.5.0
|
|
122
|
+
version: 29.5.0
|
|
123
|
+
mime-types:
|
|
124
|
+
specifier: 2.1.35
|
|
125
|
+
version: 2.1.35
|
|
126
|
+
miniflare:
|
|
127
|
+
specifier: 3.0.1
|
|
128
|
+
version: 3.0.1
|
|
129
|
+
ms:
|
|
130
|
+
specifier: 2.1.3
|
|
131
|
+
version: 2.1.3
|
|
132
|
+
node-watch:
|
|
133
|
+
specifier: 0.7.3
|
|
134
|
+
version: 0.7.3
|
|
135
|
+
picocolors:
|
|
136
|
+
specifier: 1.0.0
|
|
137
|
+
version: 1.0.0
|
|
138
|
+
postcss:
|
|
139
|
+
specifier: ^8.4.21
|
|
140
|
+
version: 8.4.21
|
|
141
|
+
postcss-custom-media:
|
|
142
|
+
specifier: ^9.1.2
|
|
143
|
+
version: 9.1.2(postcss@8.4.21)
|
|
144
|
+
postcss-nesting:
|
|
145
|
+
specifier: ^11.2.1
|
|
146
|
+
version: 11.2.1(postcss@8.4.21)
|
|
147
|
+
vite:
|
|
148
|
+
specifier: 4.3.9
|
|
149
|
+
version: 4.3.9
|
|
150
|
+
walkdir:
|
|
151
|
+
specifier: 0.4.1
|
|
152
|
+
version: 0.4.1
|
|
153
|
+
wrangler:
|
|
154
|
+
specifier: 3.0.1
|
|
155
|
+
version: 3.0.1
|
|
156
|
+
yargs:
|
|
157
|
+
specifier: 17.7.2
|
|
158
|
+
version: 17.7.2
|
|
122
159
|
|
|
123
160
|
packages:
|
|
124
161
|
|
|
@@ -135,6 +172,7 @@ packages:
|
|
|
135
172
|
engines: {node: '>=6.9.0'}
|
|
136
173
|
dependencies:
|
|
137
174
|
'@babel/highlight': 7.18.6
|
|
175
|
+
dev: true
|
|
138
176
|
|
|
139
177
|
/@babel/compat-data@7.21.7:
|
|
140
178
|
resolution: {integrity: sha512-KYMqFYTaenzMK4yUtf4EW9wc4N9ef80FsbMtkwool5zpwl4YrT1SdWYSTRcT94KO4hannogdS+LxY7L+arP3gA==}
|
|
@@ -384,6 +422,7 @@ packages:
|
|
|
384
422
|
/@babel/helper-validator-identifier@7.19.1:
|
|
385
423
|
resolution: {integrity: sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==}
|
|
386
424
|
engines: {node: '>=6.9.0'}
|
|
425
|
+
dev: true
|
|
387
426
|
|
|
388
427
|
/@babel/helper-validator-option@7.21.0:
|
|
389
428
|
resolution: {integrity: sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==}
|
|
@@ -420,6 +459,7 @@ packages:
|
|
|
420
459
|
'@babel/helper-validator-identifier': 7.19.1
|
|
421
460
|
chalk: 2.4.2
|
|
422
461
|
js-tokens: 4.0.0
|
|
462
|
+
dev: true
|
|
423
463
|
|
|
424
464
|
/@babel/parser@7.21.8:
|
|
425
465
|
resolution: {integrity: sha512-6zavDGdzG3gUqAdWvlLFfk+36RilI+Pwyuuh7HItyeScCWP3k6i8vKclAQ0bM/0y/Kz/xiwvxhMv9MgTJP5gmA==}
|
|
@@ -660,6 +700,15 @@ packages:
|
|
|
660
700
|
'@babel/helper-plugin-utils': 7.21.5
|
|
661
701
|
dev: true
|
|
662
702
|
|
|
703
|
+
/@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.21.8):
|
|
704
|
+
resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==}
|
|
705
|
+
peerDependencies:
|
|
706
|
+
'@babel/core': ^7.0.0-0
|
|
707
|
+
dependencies:
|
|
708
|
+
'@babel/core': 7.21.8
|
|
709
|
+
'@babel/helper-plugin-utils': 7.21.5
|
|
710
|
+
dev: true
|
|
711
|
+
|
|
663
712
|
/@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.21.8):
|
|
664
713
|
resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==}
|
|
665
714
|
peerDependencies:
|
|
@@ -1138,6 +1187,26 @@ packages:
|
|
|
1138
1187
|
'@babel/plugin-transform-react-jsx': 7.21.5(@babel/core@7.21.8)
|
|
1139
1188
|
dev: true
|
|
1140
1189
|
|
|
1190
|
+
/@babel/plugin-transform-react-jsx-self@7.21.0(@babel/core@7.21.8):
|
|
1191
|
+
resolution: {integrity: sha512-f/Eq+79JEu+KUANFks9UZCcvydOOGMgF7jBrcwjHa5jTZD8JivnhCJYvmlhR/WTXBWonDExPoW0eO/CR4QJirA==}
|
|
1192
|
+
engines: {node: '>=6.9.0'}
|
|
1193
|
+
peerDependencies:
|
|
1194
|
+
'@babel/core': ^7.0.0-0
|
|
1195
|
+
dependencies:
|
|
1196
|
+
'@babel/core': 7.21.8
|
|
1197
|
+
'@babel/helper-plugin-utils': 7.21.5
|
|
1198
|
+
dev: true
|
|
1199
|
+
|
|
1200
|
+
/@babel/plugin-transform-react-jsx-source@7.19.6(@babel/core@7.21.8):
|
|
1201
|
+
resolution: {integrity: sha512-RpAi004QyMNisst/pvSanoRdJ4q+jMCWyk9zdw/CyLB9j8RXEahodR6l2GyttDRyEVWZtbN+TpLiHJ3t34LbsQ==}
|
|
1202
|
+
engines: {node: '>=6.9.0'}
|
|
1203
|
+
peerDependencies:
|
|
1204
|
+
'@babel/core': ^7.0.0-0
|
|
1205
|
+
dependencies:
|
|
1206
|
+
'@babel/core': 7.21.8
|
|
1207
|
+
'@babel/helper-plugin-utils': 7.21.5
|
|
1208
|
+
dev: true
|
|
1209
|
+
|
|
1141
1210
|
/@babel/plugin-transform-react-jsx@7.21.5(@babel/core@7.21.8):
|
|
1142
1211
|
resolution: {integrity: sha512-ELdlq61FpoEkHO6gFRpfj0kUgSwQTGoaEU8eMRoS8Dv3v6e7BjEAj5WMtIBRdHUeAioMhKP5HyxNzNnP+heKbA==}
|
|
1143
1212
|
engines: {node: '>=6.9.0'}
|
|
@@ -1465,6 +1534,61 @@ packages:
|
|
|
1465
1534
|
to-fast-properties: 2.0.0
|
|
1466
1535
|
dev: true
|
|
1467
1536
|
|
|
1537
|
+
/@bcoe/v8-coverage@0.2.3:
|
|
1538
|
+
resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==}
|
|
1539
|
+
dev: true
|
|
1540
|
+
|
|
1541
|
+
/@cloudflare/kv-asset-handler@0.2.0:
|
|
1542
|
+
resolution: {integrity: sha512-MVbXLbTcAotOPUj0pAMhVtJ+3/kFkwJqc5qNOleOZTv6QkZZABDMS21dSrSlVswEHwrpWC03e4fWytjqKvuE2A==}
|
|
1543
|
+
dependencies:
|
|
1544
|
+
mime: 3.0.0
|
|
1545
|
+
dev: true
|
|
1546
|
+
|
|
1547
|
+
/@cloudflare/workerd-darwin-64@1.20230518.0:
|
|
1548
|
+
resolution: {integrity: sha512-reApIf2/do6GjLlajU6LbRYh8gm/XcaRtzGbF8jo5IzyDSsdStmfNuvq7qssZXG92219Yp1kuTgR9+D1GGZGbg==}
|
|
1549
|
+
engines: {node: '>=16'}
|
|
1550
|
+
cpu: [x64]
|
|
1551
|
+
os: [darwin]
|
|
1552
|
+
requiresBuild: true
|
|
1553
|
+
dev: true
|
|
1554
|
+
optional: true
|
|
1555
|
+
|
|
1556
|
+
/@cloudflare/workerd-darwin-arm64@1.20230518.0:
|
|
1557
|
+
resolution: {integrity: sha512-1l+xdbmPddqb2YIHd1YJ3YG/Fl1nhayzcxfL30xfNS89zJn9Xn3JomM0XMD4mk0d5GruBP3q8BQZ1Uo4rRLF3A==}
|
|
1558
|
+
engines: {node: '>=16'}
|
|
1559
|
+
cpu: [arm64]
|
|
1560
|
+
os: [darwin]
|
|
1561
|
+
requiresBuild: true
|
|
1562
|
+
dev: true
|
|
1563
|
+
optional: true
|
|
1564
|
+
|
|
1565
|
+
/@cloudflare/workerd-linux-64@1.20230518.0:
|
|
1566
|
+
resolution: {integrity: sha512-/pfR+YBpMOPr2cAlwjtInil0hRZjD8KX9LqK9JkfkEiaBH8CYhnJQcOdNHZI+3OjcY09JnQtEVC5xC4nbW7Bvw==}
|
|
1567
|
+
engines: {node: '>=16'}
|
|
1568
|
+
cpu: [x64]
|
|
1569
|
+
os: [linux]
|
|
1570
|
+
requiresBuild: true
|
|
1571
|
+
dev: true
|
|
1572
|
+
optional: true
|
|
1573
|
+
|
|
1574
|
+
/@cloudflare/workerd-linux-arm64@1.20230518.0:
|
|
1575
|
+
resolution: {integrity: sha512-q3HQvn3J4uEkE0cfDAGG8zqzSZrD47cavB/Tzv4mNutqwg6B4wL3ifjtGeB55tnP2K2KL0GVmX4tObcvpUF4BA==}
|
|
1576
|
+
engines: {node: '>=16'}
|
|
1577
|
+
cpu: [arm64]
|
|
1578
|
+
os: [linux]
|
|
1579
|
+
requiresBuild: true
|
|
1580
|
+
dev: true
|
|
1581
|
+
optional: true
|
|
1582
|
+
|
|
1583
|
+
/@cloudflare/workerd-windows-64@1.20230518.0:
|
|
1584
|
+
resolution: {integrity: sha512-vNEHKS5gKKduNOBYtQjcBopAmFT1iScuPWMZa2nJboSjOB9I/5oiVsUpSyk5Y2ARyrohXNz0y8D7p87YzTASWw==}
|
|
1585
|
+
engines: {node: '>=16'}
|
|
1586
|
+
cpu: [x64]
|
|
1587
|
+
os: [win32]
|
|
1588
|
+
requiresBuild: true
|
|
1589
|
+
dev: true
|
|
1590
|
+
optional: true
|
|
1591
|
+
|
|
1468
1592
|
/@csstools/cascade-layer-name-parser@1.0.2(@csstools/css-parser-algorithms@2.1.1)(@csstools/css-tokenizer@2.1.1):
|
|
1469
1593
|
resolution: {integrity: sha512-xm7Mgwej/wBfLoK0K5LfntmPJzoULayl1XZY9JYgQgT29JiqNw++sLnx95u5y9zCihblzkyaRYJrsRMhIBzRdg==}
|
|
1470
1594
|
engines: {node: ^14 || ^16 || >=18}
|
|
@@ -1474,7 +1598,7 @@ packages:
|
|
|
1474
1598
|
dependencies:
|
|
1475
1599
|
'@csstools/css-parser-algorithms': 2.1.1(@csstools/css-tokenizer@2.1.1)
|
|
1476
1600
|
'@csstools/css-tokenizer': 2.1.1
|
|
1477
|
-
dev:
|
|
1601
|
+
dev: true
|
|
1478
1602
|
|
|
1479
1603
|
/@csstools/css-parser-algorithms@2.1.1(@csstools/css-tokenizer@2.1.1):
|
|
1480
1604
|
resolution: {integrity: sha512-viRnRh02AgO4mwIQb2xQNJju0i+Fh9roNgmbR5xEuG7J3TGgxjnE95HnBLgsFJOJOksvcfxOUCgODcft6Y07cA==}
|
|
@@ -1483,12 +1607,12 @@ packages:
|
|
|
1483
1607
|
'@csstools/css-tokenizer': ^2.1.1
|
|
1484
1608
|
dependencies:
|
|
1485
1609
|
'@csstools/css-tokenizer': 2.1.1
|
|
1486
|
-
dev:
|
|
1610
|
+
dev: true
|
|
1487
1611
|
|
|
1488
1612
|
/@csstools/css-tokenizer@2.1.1:
|
|
1489
1613
|
resolution: {integrity: sha512-GbrTj2Z8MCTUv+52GE0RbFGM527xuXZ0Xa5g0Z+YN573uveS4G0qi6WNOMyz3yrFM/jaILTTwJ0+umx81EzqfA==}
|
|
1490
1614
|
engines: {node: ^14 || ^16 || >=18}
|
|
1491
|
-
dev:
|
|
1615
|
+
dev: true
|
|
1492
1616
|
|
|
1493
1617
|
/@csstools/media-query-list-parser@2.0.4(@csstools/css-parser-algorithms@2.1.1)(@csstools/css-tokenizer@2.1.1):
|
|
1494
1618
|
resolution: {integrity: sha512-GyYot6jHgcSDZZ+tLSnrzkR7aJhF2ZW6d+CXH66mjy5WpAQhZD4HDke2OQ36SivGRWlZJpAz7TzbW6OKlEpxAA==}
|
|
@@ -1499,7 +1623,7 @@ packages:
|
|
|
1499
1623
|
dependencies:
|
|
1500
1624
|
'@csstools/css-parser-algorithms': 2.1.1(@csstools/css-tokenizer@2.1.1)
|
|
1501
1625
|
'@csstools/css-tokenizer': 2.1.1
|
|
1502
|
-
dev:
|
|
1626
|
+
dev: true
|
|
1503
1627
|
|
|
1504
1628
|
/@csstools/selector-specificity@2.2.0(postcss-selector-parser@6.0.13):
|
|
1505
1629
|
resolution: {integrity: sha512-+OJ9konv95ClSTOJCmMZqpd5+YGsB2S+x6w3E1oaM8UuR5j8nTNHYSz8c9BEPGDOCMQYIEEGlVPj/VY64iTbGw==}
|
|
@@ -1508,7 +1632,34 @@ packages:
|
|
|
1508
1632
|
postcss-selector-parser: ^6.0.10
|
|
1509
1633
|
dependencies:
|
|
1510
1634
|
postcss-selector-parser: 6.0.13
|
|
1511
|
-
dev:
|
|
1635
|
+
dev: true
|
|
1636
|
+
|
|
1637
|
+
/@esbuild-plugins/node-globals-polyfill@0.1.1(esbuild@0.16.3):
|
|
1638
|
+
resolution: {integrity: sha512-MR0oAA+mlnJWrt1RQVQ+4VYuRJW/P2YmRTv1AsplObyvuBMnPHiizUF95HHYiSsMGLhyGtWufaq2XQg6+iurBg==}
|
|
1639
|
+
peerDependencies:
|
|
1640
|
+
esbuild: '*'
|
|
1641
|
+
dependencies:
|
|
1642
|
+
esbuild: 0.16.3
|
|
1643
|
+
dev: true
|
|
1644
|
+
|
|
1645
|
+
/@esbuild-plugins/node-modules-polyfill@0.1.4(esbuild@0.16.3):
|
|
1646
|
+
resolution: {integrity: sha512-uZbcXi0zbmKC/050p3gJnne5Qdzw8vkXIv+c2BW0Lsc1ji1SkrxbKPUy5Efr0blbTu1SL8w4eyfpnSdPg3G0Qg==}
|
|
1647
|
+
peerDependencies:
|
|
1648
|
+
esbuild: '*'
|
|
1649
|
+
dependencies:
|
|
1650
|
+
esbuild: 0.16.3
|
|
1651
|
+
escape-string-regexp: 4.0.0
|
|
1652
|
+
rollup-plugin-node-polyfills: 0.2.1
|
|
1653
|
+
dev: true
|
|
1654
|
+
|
|
1655
|
+
/@esbuild/android-arm64@0.16.3:
|
|
1656
|
+
resolution: {integrity: sha512-RolFVeinkeraDvN/OoRf1F/lP0KUfGNb5jxy/vkIMeRRChkrX/HTYN6TYZosRJs3a1+8wqpxAo5PI5hFmxyPRg==}
|
|
1657
|
+
engines: {node: '>=12'}
|
|
1658
|
+
cpu: [arm64]
|
|
1659
|
+
os: [android]
|
|
1660
|
+
requiresBuild: true
|
|
1661
|
+
dev: true
|
|
1662
|
+
optional: true
|
|
1512
1663
|
|
|
1513
1664
|
/@esbuild/android-arm64@0.17.19:
|
|
1514
1665
|
resolution: {integrity: sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA==}
|
|
@@ -1516,7 +1667,25 @@ packages:
|
|
|
1516
1667
|
cpu: [arm64]
|
|
1517
1668
|
os: [android]
|
|
1518
1669
|
requiresBuild: true
|
|
1519
|
-
dev:
|
|
1670
|
+
dev: true
|
|
1671
|
+
optional: true
|
|
1672
|
+
|
|
1673
|
+
/@esbuild/android-arm@0.15.18:
|
|
1674
|
+
resolution: {integrity: sha512-5GT+kcs2WVGjVs7+boataCkO5Fg0y4kCjzkB5bAip7H4jfnOS3dA6KPiww9W1OEKTKeAcUVhdZGvgI65OXmUnw==}
|
|
1675
|
+
engines: {node: '>=12'}
|
|
1676
|
+
cpu: [arm]
|
|
1677
|
+
os: [android]
|
|
1678
|
+
requiresBuild: true
|
|
1679
|
+
dev: true
|
|
1680
|
+
optional: true
|
|
1681
|
+
|
|
1682
|
+
/@esbuild/android-arm@0.16.3:
|
|
1683
|
+
resolution: {integrity: sha512-mueuEoh+s1eRbSJqq9KNBQwI4QhQV6sRXIfTyLXSHGMpyew61rOK4qY21uKbXl1iBoMb0AdL1deWFCQVlN2qHA==}
|
|
1684
|
+
engines: {node: '>=12'}
|
|
1685
|
+
cpu: [arm]
|
|
1686
|
+
os: [android]
|
|
1687
|
+
requiresBuild: true
|
|
1688
|
+
dev: true
|
|
1520
1689
|
optional: true
|
|
1521
1690
|
|
|
1522
1691
|
/@esbuild/android-arm@0.17.19:
|
|
@@ -1525,7 +1694,16 @@ packages:
|
|
|
1525
1694
|
cpu: [arm]
|
|
1526
1695
|
os: [android]
|
|
1527
1696
|
requiresBuild: true
|
|
1528
|
-
dev:
|
|
1697
|
+
dev: true
|
|
1698
|
+
optional: true
|
|
1699
|
+
|
|
1700
|
+
/@esbuild/android-x64@0.16.3:
|
|
1701
|
+
resolution: {integrity: sha512-SFpTUcIT1bIJuCCBMCQWq1bL2gPTjWoLZdjmIhjdcQHaUfV41OQfho6Ici5uvvkMmZRXIUGpM3GxysP/EU7ifQ==}
|
|
1702
|
+
engines: {node: '>=12'}
|
|
1703
|
+
cpu: [x64]
|
|
1704
|
+
os: [android]
|
|
1705
|
+
requiresBuild: true
|
|
1706
|
+
dev: true
|
|
1529
1707
|
optional: true
|
|
1530
1708
|
|
|
1531
1709
|
/@esbuild/android-x64@0.17.19:
|
|
@@ -1534,7 +1712,16 @@ packages:
|
|
|
1534
1712
|
cpu: [x64]
|
|
1535
1713
|
os: [android]
|
|
1536
1714
|
requiresBuild: true
|
|
1537
|
-
dev:
|
|
1715
|
+
dev: true
|
|
1716
|
+
optional: true
|
|
1717
|
+
|
|
1718
|
+
/@esbuild/darwin-arm64@0.16.3:
|
|
1719
|
+
resolution: {integrity: sha512-DO8WykMyB+N9mIDfI/Hug70Dk1KipavlGAecxS3jDUwAbTpDXj0Lcwzw9svkhxfpCagDmpaTMgxWK8/C/XcXvw==}
|
|
1720
|
+
engines: {node: '>=12'}
|
|
1721
|
+
cpu: [arm64]
|
|
1722
|
+
os: [darwin]
|
|
1723
|
+
requiresBuild: true
|
|
1724
|
+
dev: true
|
|
1538
1725
|
optional: true
|
|
1539
1726
|
|
|
1540
1727
|
/@esbuild/darwin-arm64@0.17.19:
|
|
@@ -1543,7 +1730,16 @@ packages:
|
|
|
1543
1730
|
cpu: [arm64]
|
|
1544
1731
|
os: [darwin]
|
|
1545
1732
|
requiresBuild: true
|
|
1546
|
-
dev:
|
|
1733
|
+
dev: true
|
|
1734
|
+
optional: true
|
|
1735
|
+
|
|
1736
|
+
/@esbuild/darwin-x64@0.16.3:
|
|
1737
|
+
resolution: {integrity: sha512-uEqZQ2omc6BvWqdCiyZ5+XmxuHEi1SPzpVxXCSSV2+Sh7sbXbpeNhHIeFrIpRjAs0lI1FmA1iIOxFozKBhKgRQ==}
|
|
1738
|
+
engines: {node: '>=12'}
|
|
1739
|
+
cpu: [x64]
|
|
1740
|
+
os: [darwin]
|
|
1741
|
+
requiresBuild: true
|
|
1742
|
+
dev: true
|
|
1547
1743
|
optional: true
|
|
1548
1744
|
|
|
1549
1745
|
/@esbuild/darwin-x64@0.17.19:
|
|
@@ -1552,7 +1748,16 @@ packages:
|
|
|
1552
1748
|
cpu: [x64]
|
|
1553
1749
|
os: [darwin]
|
|
1554
1750
|
requiresBuild: true
|
|
1555
|
-
dev:
|
|
1751
|
+
dev: true
|
|
1752
|
+
optional: true
|
|
1753
|
+
|
|
1754
|
+
/@esbuild/freebsd-arm64@0.16.3:
|
|
1755
|
+
resolution: {integrity: sha512-nJansp3sSXakNkOD5i5mIz2Is/HjzIhFs49b1tjrPrpCmwgBmH9SSzhC/Z1UqlkivqMYkhfPwMw1dGFUuwmXhw==}
|
|
1756
|
+
engines: {node: '>=12'}
|
|
1757
|
+
cpu: [arm64]
|
|
1758
|
+
os: [freebsd]
|
|
1759
|
+
requiresBuild: true
|
|
1760
|
+
dev: true
|
|
1556
1761
|
optional: true
|
|
1557
1762
|
|
|
1558
1763
|
/@esbuild/freebsd-arm64@0.17.19:
|
|
@@ -1561,7 +1766,16 @@ packages:
|
|
|
1561
1766
|
cpu: [arm64]
|
|
1562
1767
|
os: [freebsd]
|
|
1563
1768
|
requiresBuild: true
|
|
1564
|
-
dev:
|
|
1769
|
+
dev: true
|
|
1770
|
+
optional: true
|
|
1771
|
+
|
|
1772
|
+
/@esbuild/freebsd-x64@0.16.3:
|
|
1773
|
+
resolution: {integrity: sha512-TfoDzLw+QHfc4a8aKtGSQ96Wa+6eimljjkq9HKR0rHlU83vw8aldMOUSJTUDxbcUdcgnJzPaX8/vGWm7vyV7ug==}
|
|
1774
|
+
engines: {node: '>=12'}
|
|
1775
|
+
cpu: [x64]
|
|
1776
|
+
os: [freebsd]
|
|
1777
|
+
requiresBuild: true
|
|
1778
|
+
dev: true
|
|
1565
1779
|
optional: true
|
|
1566
1780
|
|
|
1567
1781
|
/@esbuild/freebsd-x64@0.17.19:
|
|
@@ -1570,7 +1784,16 @@ packages:
|
|
|
1570
1784
|
cpu: [x64]
|
|
1571
1785
|
os: [freebsd]
|
|
1572
1786
|
requiresBuild: true
|
|
1573
|
-
dev:
|
|
1787
|
+
dev: true
|
|
1788
|
+
optional: true
|
|
1789
|
+
|
|
1790
|
+
/@esbuild/linux-arm64@0.16.3:
|
|
1791
|
+
resolution: {integrity: sha512-7I3RlsnxEFCHVZNBLb2w7unamgZ5sVwO0/ikE2GaYvYuUQs9Qte/w7TqWcXHtCwxvZx/2+F97ndiUQAWs47ZfQ==}
|
|
1792
|
+
engines: {node: '>=12'}
|
|
1793
|
+
cpu: [arm64]
|
|
1794
|
+
os: [linux]
|
|
1795
|
+
requiresBuild: true
|
|
1796
|
+
dev: true
|
|
1574
1797
|
optional: true
|
|
1575
1798
|
|
|
1576
1799
|
/@esbuild/linux-arm64@0.17.19:
|
|
@@ -1579,34 +1802,79 @@ packages:
|
|
|
1579
1802
|
cpu: [arm64]
|
|
1580
1803
|
os: [linux]
|
|
1581
1804
|
requiresBuild: true
|
|
1582
|
-
dev:
|
|
1805
|
+
dev: true
|
|
1583
1806
|
optional: true
|
|
1584
1807
|
|
|
1585
|
-
/@esbuild/linux-arm@0.
|
|
1808
|
+
/@esbuild/linux-arm@0.16.3:
|
|
1586
|
-
resolution: {integrity: sha512-
|
|
1809
|
+
resolution: {integrity: sha512-VwswmSYwVAAq6LysV59Fyqk3UIjbhuc6wb3vEcJ7HEJUtFuLK9uXWuFoH1lulEbE4+5GjtHi3MHX+w1gNHdOWQ==}
|
|
1587
1810
|
engines: {node: '>=12'}
|
|
1588
1811
|
cpu: [arm]
|
|
1589
1812
|
os: [linux]
|
|
1590
1813
|
requiresBuild: true
|
|
1591
|
-
dev:
|
|
1814
|
+
dev: true
|
|
1592
1815
|
optional: true
|
|
1593
1816
|
|
|
1594
|
-
/@esbuild/linux-
|
|
1817
|
+
/@esbuild/linux-arm@0.17.19:
|
|
1595
|
-
resolution: {integrity: sha512-
|
|
1818
|
+
resolution: {integrity: sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA==}
|
|
1596
1819
|
engines: {node: '>=12'}
|
|
1597
|
-
cpu: [
|
|
1820
|
+
cpu: [arm]
|
|
1598
1821
|
os: [linux]
|
|
1599
1822
|
requiresBuild: true
|
|
1600
|
-
dev:
|
|
1823
|
+
dev: true
|
|
1601
1824
|
optional: true
|
|
1602
1825
|
|
|
1603
|
-
/@esbuild/linux-
|
|
1826
|
+
/@esbuild/linux-ia32@0.16.3:
|
|
1604
|
-
resolution: {integrity: sha512-
|
|
1827
|
+
resolution: {integrity: sha512-X8FDDxM9cqda2rJE+iblQhIMYY49LfvW4kaEjoFbTTQ4Go8G96Smj2w3BRTwA8IHGoi9dPOPGAX63dhuv19UqA==}
|
|
1605
1828
|
engines: {node: '>=12'}
|
|
1606
|
-
cpu: [
|
|
1829
|
+
cpu: [ia32]
|
|
1607
1830
|
os: [linux]
|
|
1608
1831
|
requiresBuild: true
|
|
1609
|
-
dev:
|
|
1832
|
+
dev: true
|
|
1833
|
+
optional: true
|
|
1834
|
+
|
|
1835
|
+
/@esbuild/linux-ia32@0.17.19:
|
|
1836
|
+
resolution: {integrity: sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ==}
|
|
1837
|
+
engines: {node: '>=12'}
|
|
1838
|
+
cpu: [ia32]
|
|
1839
|
+
os: [linux]
|
|
1840
|
+
requiresBuild: true
|
|
1841
|
+
dev: true
|
|
1842
|
+
optional: true
|
|
1843
|
+
|
|
1844
|
+
/@esbuild/linux-loong64@0.15.18:
|
|
1845
|
+
resolution: {integrity: sha512-L4jVKS82XVhw2nvzLg/19ClLWg0y27ulRwuP7lcyL6AbUWB5aPglXY3M21mauDQMDfRLs8cQmeT03r/+X3cZYQ==}
|
|
1846
|
+
engines: {node: '>=12'}
|
|
1847
|
+
cpu: [loong64]
|
|
1848
|
+
os: [linux]
|
|
1849
|
+
requiresBuild: true
|
|
1850
|
+
dev: true
|
|
1851
|
+
optional: true
|
|
1852
|
+
|
|
1853
|
+
/@esbuild/linux-loong64@0.16.3:
|
|
1854
|
+
resolution: {integrity: sha512-hIbeejCOyO0X9ujfIIOKjBjNAs9XD/YdJ9JXAy1lHA+8UXuOqbFe4ErMCqMr8dhlMGBuvcQYGF7+kO7waj2KHw==}
|
|
1855
|
+
engines: {node: '>=12'}
|
|
1856
|
+
cpu: [loong64]
|
|
1857
|
+
os: [linux]
|
|
1858
|
+
requiresBuild: true
|
|
1859
|
+
dev: true
|
|
1860
|
+
optional: true
|
|
1861
|
+
|
|
1862
|
+
/@esbuild/linux-loong64@0.17.19:
|
|
1863
|
+
resolution: {integrity: sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ==}
|
|
1864
|
+
engines: {node: '>=12'}
|
|
1865
|
+
cpu: [loong64]
|
|
1866
|
+
os: [linux]
|
|
1867
|
+
requiresBuild: true
|
|
1868
|
+
dev: true
|
|
1869
|
+
optional: true
|
|
1870
|
+
|
|
1871
|
+
/@esbuild/linux-mips64el@0.16.3:
|
|
1872
|
+
resolution: {integrity: sha512-znFRzICT/V8VZQMt6rjb21MtAVJv/3dmKRMlohlShrbVXdBuOdDrGb+C2cZGQAR8RFyRe7HS6klmHq103WpmVw==}
|
|
1873
|
+
engines: {node: '>=12'}
|
|
1874
|
+
cpu: [mips64el]
|
|
1875
|
+
os: [linux]
|
|
1876
|
+
requiresBuild: true
|
|
1877
|
+
dev: true
|
|
1610
1878
|
optional: true
|
|
1611
1879
|
|
|
1612
1880
|
/@esbuild/linux-mips64el@0.17.19:
|
|
@@ -1615,7 +1883,16 @@ packages:
|
|
|
1615
1883
|
cpu: [mips64el]
|
|
1616
1884
|
os: [linux]
|
|
1617
1885
|
requiresBuild: true
|
|
1618
|
-
dev:
|
|
1886
|
+
dev: true
|
|
1887
|
+
optional: true
|
|
1888
|
+
|
|
1889
|
+
/@esbuild/linux-ppc64@0.16.3:
|
|
1890
|
+
resolution: {integrity: sha512-EV7LuEybxhXrVTDpbqWF2yehYRNz5e5p+u3oQUS2+ZFpknyi1NXxr8URk4ykR8Efm7iu04//4sBg249yNOwy5Q==}
|
|
1891
|
+
engines: {node: '>=12'}
|
|
1892
|
+
cpu: [ppc64]
|
|
1893
|
+
os: [linux]
|
|
1894
|
+
requiresBuild: true
|
|
1895
|
+
dev: true
|
|
1619
1896
|
optional: true
|
|
1620
1897
|
|
|
1621
1898
|
/@esbuild/linux-ppc64@0.17.19:
|
|
@@ -1624,7 +1901,16 @@ packages:
|
|
|
1624
1901
|
cpu: [ppc64]
|
|
1625
1902
|
os: [linux]
|
|
1626
1903
|
requiresBuild: true
|
|
1627
|
-
dev:
|
|
1904
|
+
dev: true
|
|
1905
|
+
optional: true
|
|
1906
|
+
|
|
1907
|
+
/@esbuild/linux-riscv64@0.16.3:
|
|
1908
|
+
resolution: {integrity: sha512-uDxqFOcLzFIJ+r/pkTTSE9lsCEaV/Y6rMlQjUI9BkzASEChYL/aSQjZjchtEmdnVxDKETnUAmsaZ4pqK1eE5BQ==}
|
|
1909
|
+
engines: {node: '>=12'}
|
|
1910
|
+
cpu: [riscv64]
|
|
1911
|
+
os: [linux]
|
|
1912
|
+
requiresBuild: true
|
|
1913
|
+
dev: true
|
|
1628
1914
|
optional: true
|
|
1629
1915
|
|
|
1630
1916
|
/@esbuild/linux-riscv64@0.17.19:
|
|
@@ -1633,7 +1919,16 @@ packages:
|
|
|
1633
1919
|
cpu: [riscv64]
|
|
1634
1920
|
os: [linux]
|
|
1635
1921
|
requiresBuild: true
|
|
1636
|
-
dev:
|
|
1922
|
+
dev: true
|
|
1923
|
+
optional: true
|
|
1924
|
+
|
|
1925
|
+
/@esbuild/linux-s390x@0.16.3:
|
|
1926
|
+
resolution: {integrity: sha512-NbeREhzSxYwFhnCAQOQZmajsPYtX71Ufej3IQ8W2Gxskfz9DK58ENEju4SbpIj48VenktRASC52N5Fhyf/aliQ==}
|
|
1927
|
+
engines: {node: '>=12'}
|
|
1928
|
+
cpu: [s390x]
|
|
1929
|
+
os: [linux]
|
|
1930
|
+
requiresBuild: true
|
|
1931
|
+
dev: true
|
|
1637
1932
|
optional: true
|
|
1638
1933
|
|
|
1639
1934
|
/@esbuild/linux-s390x@0.17.19:
|
|
@@ -1642,7 +1937,16 @@ packages:
|
|
|
1642
1937
|
cpu: [s390x]
|
|
1643
1938
|
os: [linux]
|
|
1644
1939
|
requiresBuild: true
|
|
1645
|
-
dev:
|
|
1940
|
+
dev: true
|
|
1941
|
+
optional: true
|
|
1942
|
+
|
|
1943
|
+
/@esbuild/linux-x64@0.16.3:
|
|
1944
|
+
resolution: {integrity: sha512-SDiG0nCixYO9JgpehoKgScwic7vXXndfasjnD5DLbp1xltANzqZ425l7LSdHynt19UWOcDjG9wJJzSElsPvk0w==}
|
|
1945
|
+
engines: {node: '>=12'}
|
|
1946
|
+
cpu: [x64]
|
|
1947
|
+
os: [linux]
|
|
1948
|
+
requiresBuild: true
|
|
1949
|
+
dev: true
|
|
1646
1950
|
optional: true
|
|
1647
1951
|
|
|
1648
1952
|
/@esbuild/linux-x64@0.17.19:
|
|
@@ -1651,7 +1955,16 @@ packages:
|
|
|
1651
1955
|
cpu: [x64]
|
|
1652
1956
|
os: [linux]
|
|
1653
1957
|
requiresBuild: true
|
|
1654
|
-
dev:
|
|
1958
|
+
dev: true
|
|
1959
|
+
optional: true
|
|
1960
|
+
|
|
1961
|
+
/@esbuild/netbsd-x64@0.16.3:
|
|
1962
|
+
resolution: {integrity: sha512-AzbsJqiHEq1I/tUvOfAzCY15h4/7Ivp3ff/o1GpP16n48JMNAtbW0qui2WCgoIZArEHD0SUQ95gvR0oSO7ZbdA==}
|
|
1963
|
+
engines: {node: '>=12'}
|
|
1964
|
+
cpu: [x64]
|
|
1965
|
+
os: [netbsd]
|
|
1966
|
+
requiresBuild: true
|
|
1967
|
+
dev: true
|
|
1655
1968
|
optional: true
|
|
1656
1969
|
|
|
1657
1970
|
/@esbuild/netbsd-x64@0.17.19:
|
|
@@ -1660,7 +1973,16 @@ packages:
|
|
|
1660
1973
|
cpu: [x64]
|
|
1661
1974
|
os: [netbsd]
|
|
1662
1975
|
requiresBuild: true
|
|
1663
|
-
dev:
|
|
1976
|
+
dev: true
|
|
1977
|
+
optional: true
|
|
1978
|
+
|
|
1979
|
+
/@esbuild/openbsd-x64@0.16.3:
|
|
1980
|
+
resolution: {integrity: sha512-gSABi8qHl8k3Cbi/4toAzHiykuBuWLZs43JomTcXkjMZVkp0gj3gg9mO+9HJW/8GB5H89RX/V0QP4JGL7YEEVg==}
|
|
1981
|
+
engines: {node: '>=12'}
|
|
1982
|
+
cpu: [x64]
|
|
1983
|
+
os: [openbsd]
|
|
1984
|
+
requiresBuild: true
|
|
1985
|
+
dev: true
|
|
1664
1986
|
optional: true
|
|
1665
1987
|
|
|
1666
1988
|
/@esbuild/openbsd-x64@0.17.19:
|
|
@@ -1669,7 +1991,16 @@ packages:
|
|
|
1669
1991
|
cpu: [x64]
|
|
1670
1992
|
os: [openbsd]
|
|
1671
1993
|
requiresBuild: true
|
|
1672
|
-
dev:
|
|
1994
|
+
dev: true
|
|
1995
|
+
optional: true
|
|
1996
|
+
|
|
1997
|
+
/@esbuild/sunos-x64@0.16.3:
|
|
1998
|
+
resolution: {integrity: sha512-SF9Kch5Ete4reovvRO6yNjMxrvlfT0F0Flm+NPoUw5Z4Q3r1d23LFTgaLwm3Cp0iGbrU/MoUI+ZqwCv5XJijCw==}
|
|
1999
|
+
engines: {node: '>=12'}
|
|
2000
|
+
cpu: [x64]
|
|
2001
|
+
os: [sunos]
|
|
2002
|
+
requiresBuild: true
|
|
2003
|
+
dev: true
|
|
1673
2004
|
optional: true
|
|
1674
2005
|
|
|
1675
2006
|
/@esbuild/sunos-x64@0.17.19:
|
|
@@ -1678,7 +2009,16 @@ packages:
|
|
|
1678
2009
|
cpu: [x64]
|
|
1679
2010
|
os: [sunos]
|
|
1680
2011
|
requiresBuild: true
|
|
1681
|
-
dev:
|
|
2012
|
+
dev: true
|
|
2013
|
+
optional: true
|
|
2014
|
+
|
|
2015
|
+
/@esbuild/win32-arm64@0.16.3:
|
|
2016
|
+
resolution: {integrity: sha512-u5aBonZIyGopAZyOnoPAA6fGsDeHByZ9CnEzyML9NqntK6D/xl5jteZUKm/p6nD09+v3pTM6TuUIqSPcChk5gg==}
|
|
2017
|
+
engines: {node: '>=12'}
|
|
2018
|
+
cpu: [arm64]
|
|
2019
|
+
os: [win32]
|
|
2020
|
+
requiresBuild: true
|
|
2021
|
+
dev: true
|
|
1682
2022
|
optional: true
|
|
1683
2023
|
|
|
1684
2024
|
/@esbuild/win32-arm64@0.17.19:
|
|
@@ -1687,7 +2027,16 @@ packages:
|
|
|
1687
2027
|
cpu: [arm64]
|
|
1688
2028
|
os: [win32]
|
|
1689
2029
|
requiresBuild: true
|
|
1690
|
-
dev:
|
|
2030
|
+
dev: true
|
|
2031
|
+
optional: true
|
|
2032
|
+
|
|
2033
|
+
/@esbuild/win32-ia32@0.16.3:
|
|
2034
|
+
resolution: {integrity: sha512-GlgVq1WpvOEhNioh74TKelwla9KDuAaLZrdxuuUgsP2vayxeLgVc+rbpIv0IYF4+tlIzq2vRhofV+KGLD+37EQ==}
|
|
2035
|
+
engines: {node: '>=12'}
|
|
2036
|
+
cpu: [ia32]
|
|
2037
|
+
os: [win32]
|
|
2038
|
+
requiresBuild: true
|
|
2039
|
+
dev: true
|
|
1691
2040
|
optional: true
|
|
1692
2041
|
|
|
1693
2042
|
/@esbuild/win32-ia32@0.17.19:
|
|
@@ -1696,7 +2045,16 @@ packages:
|
|
|
1696
2045
|
cpu: [ia32]
|
|
1697
2046
|
os: [win32]
|
|
1698
2047
|
requiresBuild: true
|
|
1699
|
-
dev:
|
|
2048
|
+
dev: true
|
|
2049
|
+
optional: true
|
|
2050
|
+
|
|
2051
|
+
/@esbuild/win32-x64@0.16.3:
|
|
2052
|
+
resolution: {integrity: sha512-5/JuTd8OWW8UzEtyf19fbrtMJENza+C9JoPIkvItgTBQ1FO2ZLvjbPO6Xs54vk0s5JB5QsfieUEshRQfu7ZHow==}
|
|
2053
|
+
engines: {node: '>=12'}
|
|
2054
|
+
cpu: [x64]
|
|
2055
|
+
os: [win32]
|
|
2056
|
+
requiresBuild: true
|
|
2057
|
+
dev: true
|
|
1700
2058
|
optional: true
|
|
1701
2059
|
|
|
1702
2060
|
/@esbuild/win32-x64@0.17.19:
|
|
@@ -1705,7 +2063,7 @@ packages:
|
|
|
1705
2063
|
cpu: [x64]
|
|
1706
2064
|
os: [win32]
|
|
1707
2065
|
requiresBuild: true
|
|
1708
|
-
dev:
|
|
2066
|
+
dev: true
|
|
1709
2067
|
optional: true
|
|
1710
2068
|
|
|
1711
2069
|
/@eslint-community/eslint-utils@4.4.0(eslint@8.35.0):
|
|
@@ -1824,6 +2182,235 @@ packages:
|
|
|
1824
2182
|
'@swc/helpers': 0.4.14
|
|
1825
2183
|
dev: false
|
|
1826
2184
|
|
|
2185
|
+
/@istanbuljs/load-nyc-config@1.1.0:
|
|
2186
|
+
resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==}
|
|
2187
|
+
engines: {node: '>=8'}
|
|
2188
|
+
dependencies:
|
|
2189
|
+
camelcase: 5.3.1
|
|
2190
|
+
find-up: 4.1.0
|
|
2191
|
+
get-package-type: 0.1.0
|
|
2192
|
+
js-yaml: 3.14.1
|
|
2193
|
+
resolve-from: 5.0.0
|
|
2194
|
+
dev: true
|
|
2195
|
+
|
|
2196
|
+
/@istanbuljs/schema@0.1.3:
|
|
2197
|
+
resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==}
|
|
2198
|
+
engines: {node: '>=8'}
|
|
2199
|
+
dev: true
|
|
2200
|
+
|
|
2201
|
+
/@jest/console@29.5.0:
|
|
2202
|
+
resolution: {integrity: sha512-NEpkObxPwyw/XxZVLPmAGKE89IQRp4puc6IQRPru6JKd1M3fW9v1xM1AnzIJE65hbCkzQAdnL8P47e9hzhiYLQ==}
|
|
2203
|
+
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
|
|
2204
|
+
dependencies:
|
|
2205
|
+
'@jest/types': 29.5.0
|
|
2206
|
+
'@types/node': 20.2.1
|
|
2207
|
+
chalk: 4.1.2
|
|
2208
|
+
jest-message-util: 29.5.0
|
|
2209
|
+
jest-util: 29.5.0
|
|
2210
|
+
slash: 3.0.0
|
|
2211
|
+
dev: true
|
|
2212
|
+
|
|
2213
|
+
/@jest/core@29.5.0:
|
|
2214
|
+
resolution: {integrity: sha512-28UzQc7ulUrOQw1IsN/kv1QES3q2kkbl/wGslyhAclqZ/8cMdB5M68BffkIdSJgKBUt50d3hbwJ92XESlE7LiQ==}
|
|
2215
|
+
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
|
|
2216
|
+
peerDependencies:
|
|
2217
|
+
node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0
|
|
2218
|
+
peerDependenciesMeta:
|
|
2219
|
+
node-notifier:
|
|
2220
|
+
optional: true
|
|
2221
|
+
dependencies:
|
|
2222
|
+
'@jest/console': 29.5.0
|
|
2223
|
+
'@jest/reporters': 29.5.0
|
|
2224
|
+
'@jest/test-result': 29.5.0
|
|
2225
|
+
'@jest/transform': 29.5.0
|
|
2226
|
+
'@jest/types': 29.5.0
|
|
2227
|
+
'@types/node': 20.2.1
|
|
2228
|
+
ansi-escapes: 4.3.2
|
|
2229
|
+
chalk: 4.1.2
|
|
2230
|
+
ci-info: 3.8.0
|
|
2231
|
+
exit: 0.1.2
|
|
2232
|
+
graceful-fs: 4.2.11
|
|
2233
|
+
jest-changed-files: 29.5.0
|
|
2234
|
+
jest-config: 29.5.0(@types/node@20.2.1)
|
|
2235
|
+
jest-haste-map: 29.5.0
|
|
2236
|
+
jest-message-util: 29.5.0
|
|
2237
|
+
jest-regex-util: 29.4.3
|
|
2238
|
+
jest-resolve: 29.5.0
|
|
2239
|
+
jest-resolve-dependencies: 29.5.0
|
|
2240
|
+
jest-runner: 29.5.0
|
|
2241
|
+
jest-runtime: 29.5.0
|
|
2242
|
+
jest-snapshot: 29.5.0
|
|
2243
|
+
jest-util: 29.5.0
|
|
2244
|
+
jest-validate: 29.5.0
|
|
2245
|
+
jest-watcher: 29.5.0
|
|
2246
|
+
micromatch: 4.0.5
|
|
2247
|
+
pretty-format: 29.5.0
|
|
2248
|
+
slash: 3.0.0
|
|
2249
|
+
strip-ansi: 6.0.1
|
|
2250
|
+
transitivePeerDependencies:
|
|
2251
|
+
- supports-color
|
|
2252
|
+
- ts-node
|
|
2253
|
+
dev: true
|
|
2254
|
+
|
|
2255
|
+
/@jest/environment@29.5.0:
|
|
2256
|
+
resolution: {integrity: sha512-5FXw2+wD29YU1d4I2htpRX7jYnAyTRjP2CsXQdo9SAM8g3ifxWPSV0HnClSn71xwctr0U3oZIIH+dtbfmnbXVQ==}
|
|
2257
|
+
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
|
|
2258
|
+
dependencies:
|
|
2259
|
+
'@jest/fake-timers': 29.5.0
|
|
2260
|
+
'@jest/types': 29.5.0
|
|
2261
|
+
'@types/node': 20.2.1
|
|
2262
|
+
jest-mock: 29.5.0
|
|
2263
|
+
dev: true
|
|
2264
|
+
|
|
2265
|
+
/@jest/expect-utils@29.5.0:
|
|
2266
|
+
resolution: {integrity: sha512-fmKzsidoXQT2KwnrwE0SQq3uj8Z763vzR8LnLBwC2qYWEFpjX8daRsk6rHUM1QvNlEW/UJXNXm59ztmJJWs2Mg==}
|
|
2267
|
+
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
|
|
2268
|
+
dependencies:
|
|
2269
|
+
jest-get-type: 29.4.3
|
|
2270
|
+
dev: true
|
|
2271
|
+
|
|
2272
|
+
/@jest/expect@29.5.0:
|
|
2273
|
+
resolution: {integrity: sha512-PueDR2HGihN3ciUNGr4uelropW7rqUfTiOn+8u0leg/42UhblPxHkfoh0Ruu3I9Y1962P3u2DY4+h7GVTSVU6g==}
|
|
2274
|
+
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
|
|
2275
|
+
dependencies:
|
|
2276
|
+
expect: 29.5.0
|
|
2277
|
+
jest-snapshot: 29.5.0
|
|
2278
|
+
transitivePeerDependencies:
|
|
2279
|
+
- supports-color
|
|
2280
|
+
dev: true
|
|
2281
|
+
|
|
2282
|
+
/@jest/fake-timers@29.5.0:
|
|
2283
|
+
resolution: {integrity: sha512-9ARvuAAQcBwDAqOnglWq2zwNIRUDtk/SCkp/ToGEhFv5r86K21l+VEs0qNTaXtyiY0lEePl3kylijSYJQqdbDg==}
|
|
2284
|
+
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
|
|
2285
|
+
dependencies:
|
|
2286
|
+
'@jest/types': 29.5.0
|
|
2287
|
+
'@sinonjs/fake-timers': 10.2.0
|
|
2288
|
+
'@types/node': 20.2.1
|
|
2289
|
+
jest-message-util: 29.5.0
|
|
2290
|
+
jest-mock: 29.5.0
|
|
2291
|
+
jest-util: 29.5.0
|
|
2292
|
+
dev: true
|
|
2293
|
+
|
|
2294
|
+
/@jest/globals@29.5.0:
|
|
2295
|
+
resolution: {integrity: sha512-S02y0qMWGihdzNbUiqSAiKSpSozSuHX5UYc7QbnHP+D9Lyw8DgGGCinrN9uSuHPeKgSSzvPom2q1nAtBvUsvPQ==}
|
|
2296
|
+
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
|
|
2297
|
+
dependencies:
|
|
2298
|
+
'@jest/environment': 29.5.0
|
|
2299
|
+
'@jest/expect': 29.5.0
|
|
2300
|
+
'@jest/types': 29.5.0
|
|
2301
|
+
jest-mock: 29.5.0
|
|
2302
|
+
transitivePeerDependencies:
|
|
2303
|
+
- supports-color
|
|
2304
|
+
dev: true
|
|
2305
|
+
|
|
2306
|
+
/@jest/reporters@29.5.0:
|
|
2307
|
+
resolution: {integrity: sha512-D05STXqj/M8bP9hQNSICtPqz97u7ffGzZu+9XLucXhkOFBqKcXe04JLZOgIekOxdb73MAoBUFnqvf7MCpKk5OA==}
|
|
2308
|
+
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
|
|
2309
|
+
peerDependencies:
|
|
2310
|
+
node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0
|
|
2311
|
+
peerDependenciesMeta:
|
|
2312
|
+
node-notifier:
|
|
2313
|
+
optional: true
|
|
2314
|
+
dependencies:
|
|
2315
|
+
'@bcoe/v8-coverage': 0.2.3
|
|
2316
|
+
'@jest/console': 29.5.0
|
|
2317
|
+
'@jest/test-result': 29.5.0
|
|
2318
|
+
'@jest/transform': 29.5.0
|
|
2319
|
+
'@jest/types': 29.5.0
|
|
2320
|
+
'@jridgewell/trace-mapping': 0.3.18
|
|
2321
|
+
'@types/node': 20.2.1
|
|
2322
|
+
chalk: 4.1.2
|
|
2323
|
+
collect-v8-coverage: 1.0.1
|
|
2324
|
+
exit: 0.1.2
|
|
2325
|
+
glob: 7.2.3
|
|
2326
|
+
graceful-fs: 4.2.11
|
|
2327
|
+
istanbul-lib-coverage: 3.2.0
|
|
2328
|
+
istanbul-lib-instrument: 5.2.1
|
|
2329
|
+
istanbul-lib-report: 3.0.0
|
|
2330
|
+
istanbul-lib-source-maps: 4.0.1
|
|
2331
|
+
istanbul-reports: 3.1.5
|
|
2332
|
+
jest-message-util: 29.5.0
|
|
2333
|
+
jest-util: 29.5.0
|
|
2334
|
+
jest-worker: 29.5.0
|
|
2335
|
+
slash: 3.0.0
|
|
2336
|
+
string-length: 4.0.2
|
|
2337
|
+
strip-ansi: 6.0.1
|
|
2338
|
+
v8-to-istanbul: 9.1.0
|
|
2339
|
+
transitivePeerDependencies:
|
|
2340
|
+
- supports-color
|
|
2341
|
+
dev: true
|
|
2342
|
+
|
|
2343
|
+
/@jest/schemas@29.4.3:
|
|
2344
|
+
resolution: {integrity: sha512-VLYKXQmtmuEz6IxJsrZwzG9NvtkQsWNnWMsKxqWNu3+CnfzJQhp0WDDKWLVV9hLKr0l3SLLFRqcYHjhtyuDVxg==}
|
|
2345
|
+
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
|
|
2346
|
+
dependencies:
|
|
2347
|
+
'@sinclair/typebox': 0.25.24
|
|
2348
|
+
dev: true
|
|
2349
|
+
|
|
2350
|
+
/@jest/source-map@29.4.3:
|
|
2351
|
+
resolution: {integrity: sha512-qyt/mb6rLyd9j1jUts4EQncvS6Yy3PM9HghnNv86QBlV+zdL2inCdK1tuVlL+J+lpiw2BI67qXOrX3UurBqQ1w==}
|
|
2352
|
+
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
|
|
2353
|
+
dependencies:
|
|
2354
|
+
'@jridgewell/trace-mapping': 0.3.18
|
|
2355
|
+
callsites: 3.1.0
|
|
2356
|
+
graceful-fs: 4.2.11
|
|
2357
|
+
dev: true
|
|
2358
|
+
|
|
2359
|
+
/@jest/test-result@29.5.0:
|
|
2360
|
+
resolution: {integrity: sha512-fGl4rfitnbfLsrfx1uUpDEESS7zM8JdgZgOCQuxQvL1Sn/I6ijeAVQWGfXI9zb1i9Mzo495cIpVZhA0yr60PkQ==}
|
|
2361
|
+
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
|
|
2362
|
+
dependencies:
|
|
2363
|
+
'@jest/console': 29.5.0
|
|
2364
|
+
'@jest/types': 29.5.0
|
|
2365
|
+
'@types/istanbul-lib-coverage': 2.0.4
|
|
2366
|
+
collect-v8-coverage: 1.0.1
|
|
2367
|
+
dev: true
|
|
2368
|
+
|
|
2369
|
+
/@jest/test-sequencer@29.5.0:
|
|
2370
|
+
resolution: {integrity: sha512-yPafQEcKjkSfDXyvtgiV4pevSeyuA6MQr6ZIdVkWJly9vkqjnFfcfhRQqpD5whjoU8EORki752xQmjaqoFjzMQ==}
|
|
2371
|
+
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
|
|
2372
|
+
dependencies:
|
|
2373
|
+
'@jest/test-result': 29.5.0
|
|
2374
|
+
graceful-fs: 4.2.11
|
|
2375
|
+
jest-haste-map: 29.5.0
|
|
2376
|
+
slash: 3.0.0
|
|
2377
|
+
dev: true
|
|
2378
|
+
|
|
2379
|
+
/@jest/transform@29.5.0:
|
|
2380
|
+
resolution: {integrity: sha512-8vbeZWqLJOvHaDfeMuoHITGKSz5qWc9u04lnWrQE3VyuSw604PzQM824ZeX9XSjUCeDiE3GuxZe5UKa8J61NQw==}
|
|
2381
|
+
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
|
|
2382
|
+
dependencies:
|
|
2383
|
+
'@babel/core': 7.21.8
|
|
2384
|
+
'@jest/types': 29.5.0
|
|
2385
|
+
'@jridgewell/trace-mapping': 0.3.18
|
|
2386
|
+
babel-plugin-istanbul: 6.1.1
|
|
2387
|
+
chalk: 4.1.2
|
|
2388
|
+
convert-source-map: 2.0.0
|
|
2389
|
+
fast-json-stable-stringify: 2.1.0
|
|
2390
|
+
graceful-fs: 4.2.11
|
|
2391
|
+
jest-haste-map: 29.5.0
|
|
2392
|
+
jest-regex-util: 29.4.3
|
|
2393
|
+
jest-util: 29.5.0
|
|
2394
|
+
micromatch: 4.0.5
|
|
2395
|
+
pirates: 4.0.5
|
|
2396
|
+
slash: 3.0.0
|
|
2397
|
+
write-file-atomic: 4.0.2
|
|
2398
|
+
transitivePeerDependencies:
|
|
2399
|
+
- supports-color
|
|
2400
|
+
dev: true
|
|
2401
|
+
|
|
2402
|
+
/@jest/types@29.5.0:
|
|
2403
|
+
resolution: {integrity: sha512-qbu7kN6czmVRc3xWFQcAN03RAUamgppVUdXrvl1Wr3jlNF93o9mJbGcDWrwGB6ht44u7efB1qCFgVQmca24Uog==}
|
|
2404
|
+
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
|
|
2405
|
+
dependencies:
|
|
2406
|
+
'@jest/schemas': 29.4.3
|
|
2407
|
+
'@types/istanbul-lib-coverage': 2.0.4
|
|
2408
|
+
'@types/istanbul-reports': 3.0.1
|
|
2409
|
+
'@types/node': 20.2.1
|
|
2410
|
+
'@types/yargs': 17.0.24
|
|
2411
|
+
chalk: 4.1.2
|
|
2412
|
+
dev: true
|
|
2413
|
+
|
|
1827
2414
|
/@jridgewell/gen-mapping@0.3.3:
|
|
1828
2415
|
resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==}
|
|
1829
2416
|
engines: {node: '>=6.0.0'}
|
|
@@ -1858,8 +2445,25 @@ packages:
|
|
|
1858
2445
|
'@jridgewell/sourcemap-codec': 1.4.14
|
|
1859
2446
|
dev: true
|
|
1860
2447
|
|
|
2448
|
+
/@markdoc/markdoc@0.2.2:
|
|
2449
|
+
resolution: {integrity: sha512-0TiD9jmA5h5znN4lxo7HECAu3WieU5g5vUsfByeucrdR/x88hEilpt16EydFyJwJddQ/3w5HQgW7Ovy62r4cyw==}
|
|
2450
|
+
engines: {node: '>=14.7.0'}
|
|
2451
|
+
peerDependencies:
|
|
2452
|
+
'@types/react': '*'
|
|
2453
|
+
react: '*'
|
|
2454
|
+
peerDependenciesMeta:
|
|
2455
|
+
'@types/react':
|
|
2456
|
+
optional: true
|
|
2457
|
+
react:
|
|
2458
|
+
optional: true
|
|
2459
|
+
optionalDependencies:
|
|
2460
|
+
'@types/markdown-it': 12.2.3
|
|
2461
|
+
dev: false
|
|
2462
|
+
|
|
1861
|
-
/@neondatabase/serverless@0.
|
|
2463
|
+
/@neondatabase/serverless@0.4.5:
|
|
1862
|
-
resolution: {integrity: sha512-
|
|
2464
|
+
resolution: {integrity: sha512-+wYPtiqrIimONiOvHczfEdstxNUSWZ0dY+MD9vFwHBdr4Vx1adRKIKWQivG1MJ7uRpWsZZwEFQ7qhDJrgnidqw==}
|
|
2465
|
+
dependencies:
|
|
2466
|
+
'@types/pg': 8.10.1
|
|
1863
2467
|
dev: false
|
|
1864
2468
|
|
|
1865
2469
|
/@nicolo-ribaudo/eslint-scope-5-internals@5.1.1-v1:
|
|
@@ -3104,40 +3708,143 @@ packages:
|
|
|
3104
3708
|
resolution: {integrity: sha512-sXo/qW2/pAcmT43VoRKOJbDOfV3cYpq3szSVfIThQXNt+E4DfKj361vaAt3c88U5tPUxzEswam7GW48PJqtKAg==}
|
|
3105
3709
|
dev: true
|
|
3106
3710
|
|
|
3711
|
+
/@sinclair/typebox@0.25.24:
|
|
3712
|
+
resolution: {integrity: sha512-XJfwUVUKDHF5ugKwIcxEgc9k8b7HbznCp6eUfWgu710hMPNIO4aw4/zB5RogDQz8nd6gyCDpU9O/m6qYEWY6yQ==}
|
|
3713
|
+
dev: true
|
|
3714
|
+
|
|
3715
|
+
/@sinonjs/commons@3.0.0:
|
|
3716
|
+
resolution: {integrity: sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==}
|
|
3717
|
+
dependencies:
|
|
3718
|
+
type-detect: 4.0.8
|
|
3719
|
+
dev: true
|
|
3720
|
+
|
|
3721
|
+
/@sinonjs/fake-timers@10.2.0:
|
|
3722
|
+
resolution: {integrity: sha512-OPwQlEdg40HAj5KNF8WW6q2KG4Z+cBCZb3m4ninfTZKaBmbIJodviQsDBoYMPHkOyJJMHnOJo5j2+LKDOhOACg==}
|
|
3723
|
+
dependencies:
|
|
3724
|
+
'@sinonjs/commons': 3.0.0
|
|
3725
|
+
dev: true
|
|
3726
|
+
|
|
3107
3727
|
/@swc/helpers@0.4.14:
|
|
3108
3728
|
resolution: {integrity: sha512-4C7nX/dvpzB7za4Ql9K81xK3HPxCpHMgwTZVyf+9JQ6VUbn9jjZVN7/Nkdz/Ugzs2CSjqnL/UPXroiVBVHUWUw==}
|
|
3109
3729
|
dependencies:
|
|
3110
3730
|
tslib: 2.5.2
|
|
3111
3731
|
dev: false
|
|
3112
3732
|
|
|
3113
|
-
/@types/
|
|
3733
|
+
/@types/babel__core@7.20.0:
|
|
3114
|
-
resolution: {integrity: sha512-
|
|
3734
|
+
resolution: {integrity: sha512-+n8dL/9GWblDO0iU6eZAwEIJVr5DWigtle+Q6HLOrh/pdbXOhOtqzq8VPPE2zvNJzSKY4vH/z3iT3tn0A3ypiQ==}
|
|
3735
|
+
dependencies:
|
|
3736
|
+
'@babel/parser': 7.21.8
|
|
3737
|
+
'@babel/types': 7.21.5
|
|
3738
|
+
'@types/babel__generator': 7.6.4
|
|
3739
|
+
'@types/babel__template': 7.4.1
|
|
3740
|
+
'@types/babel__traverse': 7.18.5
|
|
3115
3741
|
dev: true
|
|
3116
3742
|
|
|
3117
|
-
/@types/
|
|
3743
|
+
/@types/babel__generator@7.6.4:
|
|
3118
|
-
resolution: {integrity: sha512-
|
|
3744
|
+
resolution: {integrity: sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==}
|
|
3745
|
+
dependencies:
|
|
3746
|
+
'@babel/types': 7.21.5
|
|
3119
3747
|
dev: true
|
|
3120
3748
|
|
|
3121
|
-
/@types/
|
|
3749
|
+
/@types/babel__template@7.4.1:
|
|
3122
|
-
resolution: {integrity: sha512-
|
|
3750
|
+
resolution: {integrity: sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==}
|
|
3751
|
+
dependencies:
|
|
3752
|
+
'@babel/parser': 7.21.8
|
|
3753
|
+
'@babel/types': 7.21.5
|
|
3123
|
-
dev:
|
|
3754
|
+
dev: true
|
|
3124
3755
|
|
|
3756
|
+
/@types/babel__traverse@7.18.5:
|
|
3757
|
+
resolution: {integrity: sha512-enCvTL8m/EHS/zIvJno9nE+ndYPh1/oNFzRYRmtUqJICG2VnCSBzMLW5VN2KCQU91f23tsNKR8v7VJJQMatl7Q==}
|
|
3758
|
+
dependencies:
|
|
3759
|
+
'@babel/types': 7.21.5
|
|
3760
|
+
dev: true
|
|
3761
|
+
|
|
3762
|
+
/@types/graceful-fs@4.1.6:
|
|
3763
|
+
resolution: {integrity: sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw==}
|
|
3764
|
+
dependencies:
|
|
3125
|
-
|
|
3765
|
+
'@types/node': 20.2.1
|
|
3766
|
+
dev: true
|
|
3767
|
+
|
|
3768
|
+
/@types/istanbul-lib-coverage@2.0.4:
|
|
3769
|
+
resolution: {integrity: sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==}
|
|
3770
|
+
dev: true
|
|
3771
|
+
|
|
3772
|
+
/@types/istanbul-lib-report@3.0.0:
|
|
3126
|
-
resolution: {integrity: sha512-
|
|
3773
|
+
resolution: {integrity: sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==}
|
|
3774
|
+
dependencies:
|
|
3775
|
+
'@types/istanbul-lib-coverage': 2.0.4
|
|
3776
|
+
dev: true
|
|
3777
|
+
|
|
3778
|
+
/@types/istanbul-reports@3.0.1:
|
|
3779
|
+
resolution: {integrity: sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==}
|
|
3780
|
+
dependencies:
|
|
3781
|
+
'@types/istanbul-lib-report': 3.0.0
|
|
3127
3782
|
dev: true
|
|
3128
3783
|
|
|
3784
|
+
/@types/json-schema@7.0.11:
|
|
3785
|
+
resolution: {integrity: sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==}
|
|
3786
|
+
dev: true
|
|
3787
|
+
|
|
3788
|
+
/@types/json5@0.0.29:
|
|
3789
|
+
resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==}
|
|
3790
|
+
dev: true
|
|
3791
|
+
|
|
3129
|
-
/@types/
|
|
3792
|
+
/@types/linkify-it@3.0.2:
|
|
3130
|
-
resolution: {integrity: sha512-
|
|
3793
|
+
resolution: {integrity: sha512-HZQYqbiFVWufzCwexrvh694SOim8z2d+xJl5UNamcvQFejLY/2YUtzXHYi3cHdI7PMlS8ejH2slRAOJQ32aNbA==}
|
|
3794
|
+
dev: false
|
|
3795
|
+
optional: true
|
|
3796
|
+
|
|
3797
|
+
/@types/markdown-it@12.2.3:
|
|
3798
|
+
resolution: {integrity: sha512-GKMHFfv3458yYy+v/N8gjufHO6MSZKCOXpZc5GXIWWy8uldwfmPn98vp81gZ5f9SVw8YYBctgfJ22a2d7AOMeQ==}
|
|
3799
|
+
requiresBuild: true
|
|
3800
|
+
dependencies:
|
|
3801
|
+
'@types/linkify-it': 3.0.2
|
|
3802
|
+
'@types/mdurl': 1.0.2
|
|
3803
|
+
dev: false
|
|
3804
|
+
optional: true
|
|
3805
|
+
|
|
3806
|
+
/@types/mdurl@1.0.2:
|
|
3807
|
+
resolution: {integrity: sha512-eC4U9MlIcu2q0KQmXszyn5Akca/0jrQmwDRgpAMJai7qBWq4amIQhZyNau4VYGtCeALvW1/NtjzJJ567aZxfKA==}
|
|
3131
3808
|
dev: false
|
|
3809
|
+
optional: true
|
|
3810
|
+
|
|
3811
|
+
/@types/node@20.2.1:
|
|
3812
|
+
resolution: {integrity: sha512-DqJociPbZP1lbZ5SQPk4oag6W7AyaGMO6gSfRwq3PWl4PXTwJpRQJhDq4W0kzrg3w6tJ1SwlvGZ5uKFHY13LIg==}
|
|
3132
3813
|
|
|
3133
3814
|
/@types/parse-json@4.0.0:
|
|
3134
3815
|
resolution: {integrity: sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==}
|
|
3135
3816
|
dev: true
|
|
3136
3817
|
|
|
3818
|
+
/@types/pg@8.10.1:
|
|
3819
|
+
resolution: {integrity: sha512-AmEHA/XxMxemQom5iDwP62FYNkv+gDDnetRG7v2N2dPtju7UKI7FknUimcZo7SodKTHtckYPzaTqUEvUKbVJEA==}
|
|
3820
|
+
dependencies:
|
|
3821
|
+
'@types/node': 20.2.1
|
|
3822
|
+
pg-protocol: 1.6.0
|
|
3823
|
+
pg-types: 4.0.1
|
|
3824
|
+
dev: false
|
|
3825
|
+
|
|
3826
|
+
/@types/prettier@2.7.2:
|
|
3827
|
+
resolution: {integrity: sha512-KufADq8uQqo1pYKVIYzfKbJfBAc0sOeXqGbFaSpv8MRmC/zXgowNZmFcbngndGk922QDmOASEXUZCaY48gs4cg==}
|
|
3828
|
+
dev: true
|
|
3829
|
+
|
|
3137
3830
|
/@types/semver@7.5.0:
|
|
3138
3831
|
resolution: {integrity: sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==}
|
|
3139
3832
|
dev: true
|
|
3140
3833
|
|
|
3834
|
+
/@types/stack-utils@2.0.1:
|
|
3835
|
+
resolution: {integrity: sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==}
|
|
3836
|
+
dev: true
|
|
3837
|
+
|
|
3838
|
+
/@types/yargs-parser@21.0.0:
|
|
3839
|
+
resolution: {integrity: sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==}
|
|
3840
|
+
dev: true
|
|
3841
|
+
|
|
3842
|
+
/@types/yargs@17.0.24:
|
|
3843
|
+
resolution: {integrity: sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==}
|
|
3844
|
+
dependencies:
|
|
3845
|
+
'@types/yargs-parser': 21.0.0
|
|
3846
|
+
dev: true
|
|
3847
|
+
|
|
3141
3848
|
/@typescript-eslint/eslint-plugin@5.59.6(@typescript-eslint/parser@5.59.6)(eslint@8.35.0)(typescript@5.0.4):
|
|
3142
3849
|
resolution: {integrity: sha512-sXtOgJNEuRU5RLwPUb1jxtToZbgvq3M6FPpY4QENxoOggK+UpTxUBpj6tD8+Qh2g46Pi9We87E+eHnUw8YcGsw==}
|
|
3143
3850
|
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
|
@@ -3281,6 +3988,29 @@ packages:
|
|
|
3281
3988
|
eslint-visitor-keys: 3.4.1
|
|
3282
3989
|
dev: true
|
|
3283
3990
|
|
|
3991
|
+
/@vitejs/plugin-react@4.0.0(vite@4.3.9):
|
|
3992
|
+
resolution: {integrity: sha512-HX0XzMjL3hhOYm+0s95pb0Z7F8O81G7joUHgfDd/9J/ZZf5k4xX6QAMFkKsHFxaHlf6X7GD7+XuaZ66ULiJuhQ==}
|
|
3993
|
+
engines: {node: ^14.18.0 || >=16.0.0}
|
|
3994
|
+
peerDependencies:
|
|
3995
|
+
vite: ^4.2.0
|
|
3996
|
+
dependencies:
|
|
3997
|
+
'@babel/core': 7.21.8
|
|
3998
|
+
'@babel/plugin-transform-react-jsx-self': 7.21.0(@babel/core@7.21.8)
|
|
3999
|
+
'@babel/plugin-transform-react-jsx-source': 7.19.6(@babel/core@7.21.8)
|
|
4000
|
+
react-refresh: 0.14.0
|
|
4001
|
+
vite: 4.3.9
|
|
4002
|
+
transitivePeerDependencies:
|
|
4003
|
+
- supports-color
|
|
4004
|
+
dev: true
|
|
4005
|
+
|
|
4006
|
+
/accepts@1.3.8:
|
|
4007
|
+
resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==}
|
|
4008
|
+
engines: {node: '>= 0.6'}
|
|
4009
|
+
dependencies:
|
|
4010
|
+
mime-types: 2.1.35
|
|
4011
|
+
negotiator: 0.6.3
|
|
4012
|
+
dev: true
|
|
4013
|
+
|
|
3284
4014
|
/acorn-jsx@5.3.2(acorn@8.8.2):
|
|
3285
4015
|
resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
|
|
3286
4016
|
peerDependencies:
|
|
@@ -3289,6 +4019,11 @@ packages:
|
|
|
3289
4019
|
acorn: 8.8.2
|
|
3290
4020
|
dev: true
|
|
3291
4021
|
|
|
4022
|
+
/acorn-walk@8.2.0:
|
|
4023
|
+
resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==}
|
|
4024
|
+
engines: {node: '>=0.4.0'}
|
|
4025
|
+
dev: true
|
|
4026
|
+
|
|
3292
4027
|
/acorn@8.8.2:
|
|
3293
4028
|
resolution: {integrity: sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==}
|
|
3294
4029
|
engines: {node: '>=0.4.0'}
|
|
@@ -3304,6 +4039,13 @@ packages:
|
|
|
3304
4039
|
uri-js: 4.4.1
|
|
3305
4040
|
dev: true
|
|
3306
4041
|
|
|
4042
|
+
/ansi-escapes@4.3.2:
|
|
4043
|
+
resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==}
|
|
4044
|
+
engines: {node: '>=8'}
|
|
4045
|
+
dependencies:
|
|
4046
|
+
type-fest: 0.21.3
|
|
4047
|
+
dev: true
|
|
4048
|
+
|
|
3307
4049
|
/ansi-regex@5.0.1:
|
|
3308
4050
|
resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
|
|
3309
4051
|
engines: {node: '>=8'}
|
|
@@ -3314,6 +4056,7 @@ packages:
|
|
|
3314
4056
|
engines: {node: '>=4'}
|
|
3315
4057
|
dependencies:
|
|
3316
4058
|
color-convert: 1.9.3
|
|
4059
|
+
dev: true
|
|
3317
4060
|
|
|
3318
4061
|
/ansi-styles@4.3.0:
|
|
3319
4062
|
resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
|
|
@@ -3322,6 +4065,25 @@ packages:
|
|
|
3322
4065
|
color-convert: 2.0.1
|
|
3323
4066
|
dev: true
|
|
3324
4067
|
|
|
4068
|
+
/ansi-styles@5.2.0:
|
|
4069
|
+
resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==}
|
|
4070
|
+
engines: {node: '>=10'}
|
|
4071
|
+
dev: true
|
|
4072
|
+
|
|
4073
|
+
/anymatch@3.1.3:
|
|
4074
|
+
resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==}
|
|
4075
|
+
engines: {node: '>= 8'}
|
|
4076
|
+
dependencies:
|
|
4077
|
+
normalize-path: 3.0.0
|
|
4078
|
+
picomatch: 2.3.1
|
|
4079
|
+
dev: true
|
|
4080
|
+
|
|
4081
|
+
/argparse@1.0.10:
|
|
4082
|
+
resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==}
|
|
4083
|
+
dependencies:
|
|
4084
|
+
sprintf-js: 1.0.3
|
|
4085
|
+
dev: true
|
|
4086
|
+
|
|
3325
4087
|
/argparse@2.0.1:
|
|
3326
4088
|
resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
|
|
3327
4089
|
dev: true
|
|
@@ -3339,6 +4101,10 @@ packages:
|
|
|
3339
4101
|
is-array-buffer: 3.0.2
|
|
3340
4102
|
dev: true
|
|
3341
4103
|
|
|
4104
|
+
/array-flatten@1.1.1:
|
|
4105
|
+
resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==}
|
|
4106
|
+
dev: true
|
|
4107
|
+
|
|
3342
4108
|
/array-includes@3.1.6:
|
|
3343
4109
|
resolution: {integrity: sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==}
|
|
3344
4110
|
engines: {node: '>= 0.4'}
|
|
@@ -3385,10 +4151,11 @@ packages:
|
|
|
3385
4151
|
get-intrinsic: 1.2.1
|
|
3386
4152
|
dev: true
|
|
3387
4153
|
|
|
3388
|
-
/
|
|
4154
|
+
/as-table@1.0.55:
|
|
3389
|
-
resolution: {integrity: sha512-
|
|
4155
|
+
resolution: {integrity: sha512-xvsWESUJn0JN421Xb9MQw6AsMHRCUknCe0Wjlxvjud80mU4E6hQf1A6NzQKcYNmYw62MfzEtXc+badstZP3JpQ==}
|
|
4156
|
+
dependencies:
|
|
3390
|
-
|
|
4157
|
+
printable-characters: 1.0.42
|
|
3391
|
-
dev:
|
|
4158
|
+
dev: true
|
|
3392
4159
|
|
|
3393
4160
|
/ast-types-flow@0.0.7:
|
|
3394
4161
|
resolution: {integrity: sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==}
|
|
@@ -3408,7 +4175,7 @@ packages:
|
|
|
3408
4175
|
picocolors: 1.0.0
|
|
3409
4176
|
postcss: 8.4.21
|
|
3410
4177
|
postcss-value-parser: 4.2.0
|
|
3411
|
-
dev:
|
|
4178
|
+
dev: true
|
|
3412
4179
|
|
|
3413
4180
|
/available-typed-arrays@1.0.5:
|
|
3414
4181
|
resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==}
|
|
@@ -3426,6 +4193,47 @@ packages:
|
|
|
3426
4193
|
deep-equal: 2.2.1
|
|
3427
4194
|
dev: true
|
|
3428
4195
|
|
|
4196
|
+
/babel-jest@29.5.0(@babel/core@7.21.8):
|
|
4197
|
+
resolution: {integrity: sha512-mA4eCDh5mSo2EcA9xQjVTpmbbNk32Zb3Q3QFQsNhaK56Q+yoXowzFodLux30HRgyOho5rsQ6B0P9QpMkvvnJ0Q==}
|
|
4198
|
+
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
|
|
4199
|
+
peerDependencies:
|
|
4200
|
+
'@babel/core': ^7.8.0
|
|
4201
|
+
dependencies:
|
|
4202
|
+
'@babel/core': 7.21.8
|
|
4203
|
+
'@jest/transform': 29.5.0
|
|
4204
|
+
'@types/babel__core': 7.20.0
|
|
4205
|
+
babel-plugin-istanbul: 6.1.1
|
|
4206
|
+
babel-preset-jest: 29.5.0(@babel/core@7.21.8)
|
|
4207
|
+
chalk: 4.1.2
|
|
4208
|
+
graceful-fs: 4.2.11
|
|
4209
|
+
slash: 3.0.0
|
|
4210
|
+
transitivePeerDependencies:
|
|
4211
|
+
- supports-color
|
|
4212
|
+
dev: true
|
|
4213
|
+
|
|
4214
|
+
/babel-plugin-istanbul@6.1.1:
|
|
4215
|
+
resolution: {integrity: sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==}
|
|
4216
|
+
engines: {node: '>=8'}
|
|
4217
|
+
dependencies:
|
|
4218
|
+
'@babel/helper-plugin-utils': 7.21.5
|
|
4219
|
+
'@istanbuljs/load-nyc-config': 1.1.0
|
|
4220
|
+
'@istanbuljs/schema': 0.1.3
|
|
4221
|
+
istanbul-lib-instrument: 5.2.1
|
|
4222
|
+
test-exclude: 6.0.0
|
|
4223
|
+
transitivePeerDependencies:
|
|
4224
|
+
- supports-color
|
|
4225
|
+
dev: true
|
|
4226
|
+
|
|
4227
|
+
/babel-plugin-jest-hoist@29.5.0:
|
|
4228
|
+
resolution: {integrity: sha512-zSuuuAlTMT4mzLj2nPnUm6fsE6270vdOfnpbJ+RmruU75UhLFvL0N2NgI7xpeS7NaB6hGqmd5pVpGTDYvi4Q3w==}
|
|
4229
|
+
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
|
|
4230
|
+
dependencies:
|
|
4231
|
+
'@babel/template': 7.20.7
|
|
4232
|
+
'@babel/types': 7.21.5
|
|
4233
|
+
'@types/babel__core': 7.20.0
|
|
4234
|
+
'@types/babel__traverse': 7.18.5
|
|
4235
|
+
dev: true
|
|
4236
|
+
|
|
3429
4237
|
/babel-plugin-macros@3.1.0:
|
|
3430
4238
|
resolution: {integrity: sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==}
|
|
3431
4239
|
engines: {node: '>=10', npm: '>=6'}
|
|
@@ -3475,6 +4283,37 @@ packages:
|
|
|
3475
4283
|
resolution: {integrity: sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA==}
|
|
3476
4284
|
dev: true
|
|
3477
4285
|
|
|
4286
|
+
/babel-preset-current-node-syntax@1.0.1(@babel/core@7.21.8):
|
|
4287
|
+
resolution: {integrity: sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==}
|
|
4288
|
+
peerDependencies:
|
|
4289
|
+
'@babel/core': ^7.0.0
|
|
4290
|
+
dependencies:
|
|
4291
|
+
'@babel/core': 7.21.8
|
|
4292
|
+
'@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.21.8)
|
|
4293
|
+
'@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.21.8)
|
|
4294
|
+
'@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.21.8)
|
|
4295
|
+
'@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.21.8)
|
|
4296
|
+
'@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.21.8)
|
|
4297
|
+
'@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.21.8)
|
|
4298
|
+
'@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.21.8)
|
|
4299
|
+
'@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.21.8)
|
|
4300
|
+
'@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.21.8)
|
|
4301
|
+
'@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.21.8)
|
|
4302
|
+
'@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.21.8)
|
|
4303
|
+
'@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.21.8)
|
|
4304
|
+
dev: true
|
|
4305
|
+
|
|
4306
|
+
/babel-preset-jest@29.5.0(@babel/core@7.21.8):
|
|
4307
|
+
resolution: {integrity: sha512-JOMloxOqdiBSxMAzjRaH023/vvcaSaec49zvg+2LmNsktC7ei39LTJGw02J+9uUtTZUq6xbLyJ4dxe9sSmIuAg==}
|
|
4308
|
+
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
|
|
4309
|
+
peerDependencies:
|
|
4310
|
+
'@babel/core': ^7.0.0
|
|
4311
|
+
dependencies:
|
|
4312
|
+
'@babel/core': 7.21.8
|
|
4313
|
+
babel-plugin-jest-hoist: 29.5.0
|
|
4314
|
+
babel-preset-current-node-syntax: 1.0.1(@babel/core@7.21.8)
|
|
4315
|
+
dev: true
|
|
4316
|
+
|
|
3478
4317
|
/babel-preset-react-app@10.0.1:
|
|
3479
4318
|
resolution: {integrity: sha512-b0D9IZ1WhhCWkrTXyFuIIgqGzSkRIH5D5AmB0bXbzYAB1OBAwHcUeyWW2LorutLWF5btNo/N7r/cIdmvvKJlYg==}
|
|
3480
4319
|
dependencies:
|
|
@@ -3503,6 +4342,61 @@ packages:
|
|
|
3503
4342
|
resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
|
|
3504
4343
|
dev: true
|
|
3505
4344
|
|
|
4345
|
+
/base64-js@1.5.1:
|
|
4346
|
+
resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==}
|
|
4347
|
+
dev: true
|
|
4348
|
+
|
|
4349
|
+
/better-sqlite3@8.4.0:
|
|
4350
|
+
resolution: {integrity: sha512-NmsNW1CQvqMszu/CFAJ3pLct6NEFlNfuGM6vw72KHkjOD1UDnL96XNN1BMQc1hiHo8vE2GbOWQYIpZ+YM5wrZw==}
|
|
4351
|
+
requiresBuild: true
|
|
4352
|
+
dependencies:
|
|
4353
|
+
bindings: 1.5.0
|
|
4354
|
+
prebuild-install: 7.1.1
|
|
4355
|
+
dev: true
|
|
4356
|
+
|
|
4357
|
+
/binary-extensions@2.2.0:
|
|
4358
|
+
resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==}
|
|
4359
|
+
engines: {node: '>=8'}
|
|
4360
|
+
dev: true
|
|
4361
|
+
|
|
4362
|
+
/bindings@1.5.0:
|
|
4363
|
+
resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==}
|
|
4364
|
+
dependencies:
|
|
4365
|
+
file-uri-to-path: 1.0.0
|
|
4366
|
+
dev: true
|
|
4367
|
+
|
|
4368
|
+
/bl@4.1.0:
|
|
4369
|
+
resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==}
|
|
4370
|
+
dependencies:
|
|
4371
|
+
buffer: 5.7.1
|
|
4372
|
+
inherits: 2.0.4
|
|
4373
|
+
readable-stream: 3.6.2
|
|
4374
|
+
dev: true
|
|
4375
|
+
|
|
4376
|
+
/blake3-wasm@2.1.5:
|
|
4377
|
+
resolution: {integrity: sha512-F1+K8EbfOZE49dtoPtmxUQrpXaBIl3ICvasLh+nJta0xkz+9kF/7uet9fLnwKqhDrmj6g+6K3Tw9yQPUg2ka5g==}
|
|
4378
|
+
dev: true
|
|
4379
|
+
|
|
4380
|
+
/body-parser@1.20.1:
|
|
4381
|
+
resolution: {integrity: sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==}
|
|
4382
|
+
engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16}
|
|
4383
|
+
dependencies:
|
|
4384
|
+
bytes: 3.1.2
|
|
4385
|
+
content-type: 1.0.5
|
|
4386
|
+
debug: 2.6.9
|
|
4387
|
+
depd: 2.0.0
|
|
4388
|
+
destroy: 1.2.0
|
|
4389
|
+
http-errors: 2.0.0
|
|
4390
|
+
iconv-lite: 0.4.24
|
|
4391
|
+
on-finished: 2.4.1
|
|
4392
|
+
qs: 6.11.0
|
|
4393
|
+
raw-body: 2.5.1
|
|
4394
|
+
type-is: 1.6.18
|
|
4395
|
+
unpipe: 1.0.0
|
|
4396
|
+
transitivePeerDependencies:
|
|
4397
|
+
- supports-color
|
|
4398
|
+
dev: true
|
|
4399
|
+
|
|
3506
4400
|
/brace-expansion@1.1.11:
|
|
3507
4401
|
resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
|
|
3508
4402
|
dependencies:
|
|
@@ -3510,6 +4404,12 @@ packages:
|
|
|
3510
4404
|
concat-map: 0.0.1
|
|
3511
4405
|
dev: true
|
|
3512
4406
|
|
|
4407
|
+
/brace-expansion@2.0.1:
|
|
4408
|
+
resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==}
|
|
4409
|
+
dependencies:
|
|
4410
|
+
balanced-match: 1.0.2
|
|
4411
|
+
dev: true
|
|
4412
|
+
|
|
3513
4413
|
/braces@3.0.2:
|
|
3514
4414
|
resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==}
|
|
3515
4415
|
engines: {node: '>=8'}
|
|
@@ -3526,11 +4426,36 @@ packages:
|
|
|
3526
4426
|
electron-to-chromium: 1.4.402
|
|
3527
4427
|
node-releases: 2.0.10
|
|
3528
4428
|
update-browserslist-db: 1.0.11(browserslist@4.21.5)
|
|
4429
|
+
dev: true
|
|
4430
|
+
|
|
4431
|
+
/bser@2.1.1:
|
|
4432
|
+
resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==}
|
|
4433
|
+
dependencies:
|
|
4434
|
+
node-int64: 0.4.0
|
|
4435
|
+
dev: true
|
|
4436
|
+
|
|
4437
|
+
/buffer-from@1.1.2:
|
|
4438
|
+
resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==}
|
|
4439
|
+
dev: true
|
|
4440
|
+
|
|
4441
|
+
/buffer@5.7.1:
|
|
4442
|
+
resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==}
|
|
4443
|
+
dependencies:
|
|
4444
|
+
base64-js: 1.5.1
|
|
4445
|
+
ieee754: 1.2.1
|
|
4446
|
+
dev: true
|
|
4447
|
+
|
|
4448
|
+
/busboy@1.6.0:
|
|
4449
|
+
resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==}
|
|
4450
|
+
engines: {node: '>=10.16.0'}
|
|
4451
|
+
dependencies:
|
|
4452
|
+
streamsearch: 1.1.0
|
|
4453
|
+
dev: true
|
|
3529
4454
|
|
|
3530
4455
|
/bytes@3.1.2:
|
|
3531
4456
|
resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==}
|
|
3532
4457
|
engines: {node: '>= 0.8'}
|
|
3533
|
-
dev:
|
|
4458
|
+
dev: true
|
|
3534
4459
|
|
|
3535
4460
|
/call-bind@1.0.2:
|
|
3536
4461
|
resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==}
|
|
@@ -3544,23 +4469,33 @@ packages:
|
|
|
3544
4469
|
engines: {node: '>=6'}
|
|
3545
4470
|
dev: true
|
|
3546
4471
|
|
|
3547
|
-
/camelcase
|
|
4472
|
+
/camelcase@5.3.1:
|
|
4473
|
+
resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==}
|
|
4474
|
+
engines: {node: '>=6'}
|
|
4475
|
+
dev: true
|
|
4476
|
+
|
|
4477
|
+
/camelcase@6.3.0:
|
|
3548
|
-
resolution: {integrity: sha512-
|
|
4478
|
+
resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==}
|
|
3549
|
-
engines: {node: '>=
|
|
4479
|
+
engines: {node: '>=10'}
|
|
3550
|
-
dependencies:
|
|
3551
|
-
camelcase: 7.0.1
|
|
3552
|
-
map-obj: 4.3.0
|
|
3553
|
-
quick-lru: 6.1.1
|
|
3554
|
-
type-fest: 2.19.0
|
|
3555
|
-
dev:
|
|
4480
|
+
dev: true
|
|
3556
4481
|
|
|
3557
4482
|
/camelcase@7.0.1:
|
|
3558
4483
|
resolution: {integrity: sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==}
|
|
3559
4484
|
engines: {node: '>=14.16'}
|
|
3560
|
-
dev:
|
|
4485
|
+
dev: true
|
|
3561
4486
|
|
|
3562
4487
|
/caniuse-lite@1.0.30001488:
|
|
3563
4488
|
resolution: {integrity: sha512-NORIQuuL4xGpIy6iCCQGN4iFjlBXtfKWIenlUuyZJumLRIindLb7wXM+GO8erEhb7vXfcnf4BAg2PrSDN5TNLQ==}
|
|
4489
|
+
dev: true
|
|
4490
|
+
|
|
4491
|
+
/capnp-ts@0.7.0:
|
|
4492
|
+
resolution: {integrity: sha512-XKxXAC3HVPv7r674zP0VC3RTXz+/JKhfyw94ljvF80yynK6VkTnqE3jMuN8b3dUVmmc43TjyxjW4KTsmB3c86g==}
|
|
4493
|
+
dependencies:
|
|
4494
|
+
debug: 4.3.4
|
|
4495
|
+
tslib: 2.5.2
|
|
4496
|
+
transitivePeerDependencies:
|
|
4497
|
+
- supports-color
|
|
4498
|
+
dev: true
|
|
3564
4499
|
|
|
3565
4500
|
/chalk@2.4.2:
|
|
3566
4501
|
resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==}
|
|
@@ -3569,6 +4504,7 @@ packages:
|
|
|
3569
4504
|
ansi-styles: 3.2.1
|
|
3570
4505
|
escape-string-regexp: 1.0.5
|
|
3571
4506
|
supports-color: 5.5.0
|
|
4507
|
+
dev: true
|
|
3572
4508
|
|
|
3573
4509
|
/chalk@4.1.2:
|
|
3574
4510
|
resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
|
|
@@ -3578,15 +4514,83 @@ packages:
|
|
|
3578
4514
|
supports-color: 7.2.0
|
|
3579
4515
|
dev: true
|
|
3580
4516
|
|
|
4517
|
+
/chalk@5.2.0:
|
|
4518
|
+
resolution: {integrity: sha512-ree3Gqw/nazQAPuJJEy+avdl7QfZMcUvmHIKgEZkGL+xOBzRvup5Hxo6LHuMceSxOabuJLJm5Yp/92R9eMmMvA==}
|
|
4519
|
+
engines: {node: ^12.17.0 || ^14.13 || >=16.0.0}
|
|
4520
|
+
dev: true
|
|
4521
|
+
|
|
4522
|
+
/char-regex@1.0.2:
|
|
4523
|
+
resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==}
|
|
4524
|
+
engines: {node: '>=10'}
|
|
4525
|
+
dev: true
|
|
4526
|
+
|
|
4527
|
+
/chokidar@3.5.3:
|
|
4528
|
+
resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==}
|
|
4529
|
+
engines: {node: '>= 8.10.0'}
|
|
4530
|
+
dependencies:
|
|
4531
|
+
anymatch: 3.1.3
|
|
4532
|
+
braces: 3.0.2
|
|
4533
|
+
glob-parent: 5.1.2
|
|
4534
|
+
is-binary-path: 2.1.0
|
|
4535
|
+
is-glob: 4.0.3
|
|
4536
|
+
normalize-path: 3.0.0
|
|
4537
|
+
readdirp: 3.6.0
|
|
4538
|
+
optionalDependencies:
|
|
4539
|
+
fsevents: 2.3.2
|
|
4540
|
+
dev: true
|
|
4541
|
+
|
|
4542
|
+
/chownr@1.1.4:
|
|
4543
|
+
resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==}
|
|
4544
|
+
dev: true
|
|
4545
|
+
|
|
4546
|
+
/ci-info@3.8.0:
|
|
4547
|
+
resolution: {integrity: sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==}
|
|
4548
|
+
engines: {node: '>=8'}
|
|
4549
|
+
dev: true
|
|
4550
|
+
|
|
4551
|
+
/cjs-module-lexer@1.2.2:
|
|
4552
|
+
resolution: {integrity: sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==}
|
|
4553
|
+
dev: true
|
|
4554
|
+
|
|
4555
|
+
/cli-color@2.0.3:
|
|
4556
|
+
resolution: {integrity: sha512-OkoZnxyC4ERN3zLzZaY9Emb7f/MhBOIpePv0Ycok0fJYT+Ouo00UBEIwsVsr0yoow++n5YWlSUgST9GKhNHiRQ==}
|
|
4557
|
+
engines: {node: '>=0.10'}
|
|
4558
|
+
dependencies:
|
|
4559
|
+
d: 1.0.1
|
|
4560
|
+
es5-ext: 0.10.62
|
|
4561
|
+
es6-iterator: 2.0.3
|
|
4562
|
+
memoizee: 0.4.15
|
|
4563
|
+
timers-ext: 0.1.7
|
|
4564
|
+
dev: true
|
|
4565
|
+
|
|
4566
|
+
/cliui@8.0.1:
|
|
4567
|
+
resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==}
|
|
4568
|
+
engines: {node: '>=12'}
|
|
4569
|
+
dependencies:
|
|
4570
|
+
string-width: 4.2.3
|
|
4571
|
+
strip-ansi: 6.0.1
|
|
4572
|
+
wrap-ansi: 7.0.0
|
|
4573
|
+
dev: true
|
|
4574
|
+
|
|
3581
4575
|
/clsx@1.2.1:
|
|
3582
4576
|
resolution: {integrity: sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==}
|
|
3583
4577
|
engines: {node: '>=6'}
|
|
3584
4578
|
dev: false
|
|
3585
4579
|
|
|
4580
|
+
/co@4.6.0:
|
|
4581
|
+
resolution: {integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==}
|
|
4582
|
+
engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'}
|
|
4583
|
+
dev: true
|
|
4584
|
+
|
|
4585
|
+
/collect-v8-coverage@1.0.1:
|
|
4586
|
+
resolution: {integrity: sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==}
|
|
4587
|
+
dev: true
|
|
4588
|
+
|
|
3586
4589
|
/color-convert@1.9.3:
|
|
3587
4590
|
resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==}
|
|
3588
4591
|
dependencies:
|
|
3589
4592
|
color-name: 1.1.3
|
|
4593
|
+
dev: true
|
|
3590
4594
|
|
|
3591
4595
|
/color-convert@2.0.1:
|
|
3592
4596
|
resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
|
|
@@ -3597,11 +4601,17 @@ packages:
|
|
|
3597
4601
|
|
|
3598
4602
|
/color-name@1.1.3:
|
|
3599
4603
|
resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==}
|
|
4604
|
+
dev: true
|
|
3600
4605
|
|
|
3601
4606
|
/color-name@1.1.4:
|
|
3602
4607
|
resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
|
|
3603
4608
|
dev: true
|
|
3604
4609
|
|
|
4610
|
+
/commander@9.5.0:
|
|
4611
|
+
resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==}
|
|
4612
|
+
engines: {node: ^12.20.0 || >=14}
|
|
4613
|
+
dev: true
|
|
4614
|
+
|
|
3605
4615
|
/concat-map@0.0.1:
|
|
3606
4616
|
resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
|
|
3607
4617
|
dev: true
|
|
@@ -3610,10 +4620,35 @@ packages:
|
|
|
3610
4620
|
resolution: {integrity: sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==}
|
|
3611
4621
|
dev: true
|
|
3612
4622
|
|
|
4623
|
+
/content-disposition@0.5.4:
|
|
4624
|
+
resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==}
|
|
4625
|
+
engines: {node: '>= 0.6'}
|
|
4626
|
+
dependencies:
|
|
4627
|
+
safe-buffer: 5.2.1
|
|
4628
|
+
dev: true
|
|
4629
|
+
|
|
4630
|
+
/content-type@1.0.5:
|
|
4631
|
+
resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==}
|
|
4632
|
+
engines: {node: '>= 0.6'}
|
|
4633
|
+
dev: true
|
|
4634
|
+
|
|
3613
4635
|
/convert-source-map@1.9.0:
|
|
3614
4636
|
resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==}
|
|
3615
4637
|
dev: true
|
|
3616
4638
|
|
|
4639
|
+
/convert-source-map@2.0.0:
|
|
4640
|
+
resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==}
|
|
4641
|
+
dev: true
|
|
4642
|
+
|
|
4643
|
+
/cookie-signature@1.0.6:
|
|
4644
|
+
resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==}
|
|
4645
|
+
dev: true
|
|
4646
|
+
|
|
4647
|
+
/cookie@0.5.0:
|
|
4648
|
+
resolution: {integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==}
|
|
4649
|
+
engines: {node: '>= 0.6'}
|
|
4650
|
+
dev: true
|
|
4651
|
+
|
|
3617
4652
|
/core-js-compat@3.30.2:
|
|
3618
4653
|
resolution: {integrity: sha512-nriW1nuJjUgvkEjIot1Spwakz52V9YkYHZAQG6A1eCgC8AA1p0zngrQEP9R0+V6hji5XilWKG1Bd0YRppmGimA==}
|
|
3619
4654
|
dependencies:
|
|
@@ -3644,26 +4679,48 @@ packages:
|
|
|
3644
4679
|
resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==}
|
|
3645
4680
|
engines: {node: '>=4'}
|
|
3646
4681
|
hasBin: true
|
|
3647
|
-
dev:
|
|
4682
|
+
dev: true
|
|
4683
|
+
|
|
4684
|
+
/d@1.0.1:
|
|
4685
|
+
resolution: {integrity: sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==}
|
|
4686
|
+
dependencies:
|
|
4687
|
+
es5-ext: 0.10.62
|
|
4688
|
+
type: 1.2.0
|
|
4689
|
+
dev: true
|
|
3648
4690
|
|
|
3649
4691
|
/damerau-levenshtein@1.0.8:
|
|
3650
4692
|
resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==}
|
|
3651
4693
|
dev: true
|
|
3652
4694
|
|
|
4695
|
+
/data-uri-to-buffer@2.0.2:
|
|
4696
|
+
resolution: {integrity: sha512-ND9qDTLc6diwj+Xe5cdAgVTbLVdXbtxTJRXRhli8Mowuaan+0EJOtdqJ0QCHNSSPyoXGx9HX2/VMnKeC34AChA==}
|
|
4697
|
+
dev: true
|
|
4698
|
+
|
|
3653
|
-
/debug@
|
|
4699
|
+
/debug@2.6.9:
|
|
3654
|
-
resolution: {integrity: sha512-
|
|
4700
|
+
resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==}
|
|
3655
4701
|
peerDependencies:
|
|
3656
4702
|
supports-color: '*'
|
|
3657
4703
|
peerDependenciesMeta:
|
|
3658
4704
|
supports-color:
|
|
3659
4705
|
optional: true
|
|
3660
4706
|
dependencies:
|
|
3661
|
-
ms: 2.
|
|
4707
|
+
ms: 2.0.0
|
|
3662
4708
|
dev: true
|
|
3663
4709
|
|
|
4710
|
+
/debug@3.2.7:
|
|
4711
|
+
resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==}
|
|
4712
|
+
peerDependencies:
|
|
4713
|
+
supports-color: '*'
|
|
4714
|
+
peerDependenciesMeta:
|
|
4715
|
+
supports-color:
|
|
4716
|
+
optional: true
|
|
4717
|
+
dependencies:
|
|
4718
|
+
ms: 2.1.3
|
|
4719
|
+
dev: true
|
|
4720
|
+
|
|
3664
|
-
/debug@4.3.4:
|
|
4721
|
+
/debug@4.3.4:
|
|
3665
|
-
resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==}
|
|
4722
|
+
resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==}
|
|
3666
|
-
engines: {node: '>=6.0'}
|
|
4723
|
+
engines: {node: '>=6.0'}
|
|
3667
4724
|
peerDependencies:
|
|
3668
4725
|
supports-color: '*'
|
|
3669
4726
|
peerDependenciesMeta:
|
|
@@ -3673,20 +4730,16 @@ packages:
|
|
|
3673
4730
|
ms: 2.1.2
|
|
3674
4731
|
dev: true
|
|
3675
4732
|
|
|
3676
|
-
/
|
|
4733
|
+
/decompress-response@6.0.0:
|
|
3677
|
-
resolution: {integrity: sha512-
|
|
4734
|
+
resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==}
|
|
3678
|
-
engines: {node: '>=
|
|
4735
|
+
engines: {node: '>=10'}
|
|
3679
4736
|
dependencies:
|
|
3680
|
-
decamelize: 6.0.0
|
|
3681
|
-
map-obj: 4.3.0
|
|
3682
|
-
quick-lru: 6.1.1
|
|
3683
|
-
|
|
4737
|
+
mimic-response: 3.1.0
|
|
3684
|
-
dev:
|
|
4738
|
+
dev: true
|
|
3685
4739
|
|
|
3686
|
-
/
|
|
4740
|
+
/dedent@0.7.0:
|
|
3687
|
-
resolution: {integrity: sha512-
|
|
4741
|
+
resolution: {integrity: sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==}
|
|
3688
|
-
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
|
|
3689
|
-
dev:
|
|
4742
|
+
dev: true
|
|
3690
4743
|
|
|
3691
4744
|
/deep-equal@2.2.1:
|
|
3692
4745
|
resolution: {integrity: sha512-lKdkdV6EOGoVn65XaOsPdH4rMxTZOnmFyuIkMjM1i5HHCbfjC97dawgTAy0deYNfuqUqW+Q5VrVaQYtUpSd6yQ==}
|
|
@@ -3711,10 +4764,20 @@ packages:
|
|
|
3711
4764
|
which-typed-array: 1.1.9
|
|
3712
4765
|
dev: true
|
|
3713
4766
|
|
|
4767
|
+
/deep-extend@0.6.0:
|
|
4768
|
+
resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==}
|
|
4769
|
+
engines: {node: '>=4.0.0'}
|
|
4770
|
+
dev: true
|
|
4771
|
+
|
|
3714
4772
|
/deep-is@0.1.4:
|
|
3715
4773
|
resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
|
|
3716
4774
|
dev: true
|
|
3717
4775
|
|
|
4776
|
+
/deepmerge@4.3.1:
|
|
4777
|
+
resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==}
|
|
4778
|
+
engines: {node: '>=0.10.0'}
|
|
4779
|
+
dev: true
|
|
4780
|
+
|
|
3718
4781
|
/define-properties@1.2.0:
|
|
3719
4782
|
resolution: {integrity: sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==}
|
|
3720
4783
|
engines: {node: '>= 0.4'}
|
|
@@ -3723,6 +4786,37 @@ packages:
|
|
|
3723
4786
|
object-keys: 1.1.1
|
|
3724
4787
|
dev: true
|
|
3725
4788
|
|
|
4789
|
+
/depd@2.0.0:
|
|
4790
|
+
resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==}
|
|
4791
|
+
engines: {node: '>= 0.8'}
|
|
4792
|
+
dev: true
|
|
4793
|
+
|
|
4794
|
+
/destroy@1.2.0:
|
|
4795
|
+
resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==}
|
|
4796
|
+
engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16}
|
|
4797
|
+
dev: true
|
|
4798
|
+
|
|
4799
|
+
/detect-libc@2.0.1:
|
|
4800
|
+
resolution: {integrity: sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w==}
|
|
4801
|
+
engines: {node: '>=8'}
|
|
4802
|
+
dev: true
|
|
4803
|
+
|
|
4804
|
+
/detect-newline@3.1.0:
|
|
4805
|
+
resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==}
|
|
4806
|
+
engines: {node: '>=8'}
|
|
4807
|
+
dev: true
|
|
4808
|
+
|
|
4809
|
+
/diff-sequences@29.4.3:
|
|
4810
|
+
resolution: {integrity: sha512-ofrBgwpPhCD85kMKtE9RYFFq6OC1A89oW2vvgWZNCwxrUpRUILopY7lsYyMDSjc8g6U6aiO0Qubg6r4Wgt5ZnA==}
|
|
4811
|
+
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
|
|
4812
|
+
dev: true
|
|
4813
|
+
|
|
4814
|
+
/difflib@0.2.4:
|
|
4815
|
+
resolution: {integrity: sha512-9YVwmMb0wQHQNr5J9m6BSj6fk4pfGITGQOOs+D9Fl+INODWFOfvhIU1hNv6GgR1RBoC/9NJcwu77zShxV0kT7w==}
|
|
4816
|
+
dependencies:
|
|
4817
|
+
heap: 0.2.7
|
|
4818
|
+
dev: true
|
|
4819
|
+
|
|
3726
4820
|
/dir-glob@3.0.1:
|
|
3727
4821
|
resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==}
|
|
3728
4822
|
engines: {node: '>=8'}
|
|
@@ -3744,7 +4838,37 @@ packages:
|
|
|
3744
4838
|
esutils: 2.0.3
|
|
3745
4839
|
dev: true
|
|
3746
4840
|
|
|
4841
|
+
/dotenv@16.0.3:
|
|
4842
|
+
resolution: {integrity: sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==}
|
|
4843
|
+
engines: {node: '>=12'}
|
|
4844
|
+
dev: true
|
|
4845
|
+
|
|
4846
|
+
/dreamopt@0.8.0:
|
|
4847
|
+
resolution: {integrity: sha512-vyJTp8+mC+G+5dfgsY+r3ckxlz+QMX40VjPQsZc5gxVAxLmi64TBoVkP54A/pRAXMXsbu2GMMBrZPxNv23waMg==}
|
|
4848
|
+
engines: {node: '>=0.4.0'}
|
|
4849
|
+
dependencies:
|
|
4850
|
+
wordwrap: 1.0.0
|
|
4851
|
+
dev: true
|
|
4852
|
+
|
|
4853
|
+
/drizzle-kit@0.18.0:
|
|
4854
|
+
resolution: {integrity: sha512-43oH0XNWJDfMmVtDVnW8OV+tIs3xXDb1MjdsDiv0a7unQAylr0hpGG0HD5uEPWSbt7oxBots+hnYWxo98D0KAg==}
|
|
4855
|
+
hasBin: true
|
|
4856
|
+
dependencies:
|
|
4857
|
+
camelcase: 7.0.1
|
|
4858
|
+
chalk: 5.2.0
|
|
4859
|
+
commander: 9.5.0
|
|
4860
|
+
esbuild: 0.15.18
|
|
4861
|
+
esbuild-register: 3.4.2(esbuild@0.15.18)
|
|
4862
|
+
glob: 8.1.0
|
|
4863
|
+
hanji: 0.0.5
|
|
4864
|
+
json-diff: 0.9.0
|
|
4865
|
+
minimatch: 7.4.6
|
|
4866
|
+
zod: 3.21.4
|
|
4867
|
+
transitivePeerDependencies:
|
|
4868
|
+
- supports-color
|
|
4869
|
+
dev: true
|
|
4870
|
+
|
|
3747
|
-
/drizzle-orm@0.26.0(@neondatabase/serverless@0.
|
|
4871
|
+
/drizzle-orm@0.26.0(@neondatabase/serverless@0.4.5)(postgres@3.3.4):
|
|
3748
4872
|
resolution: {integrity: sha512-ztjhHehcuG5+lpGYxfT/L5I+yd/Z0dOf0fV3cS2ywBU01wkpxjwl4EJZVT7kVzjYfM8kwMGDghAPRPBCK0vULA==}
|
|
3749
4873
|
peerDependencies:
|
|
3750
4874
|
'@aws-sdk/client-rds-data': '>=3'
|
|
@@ -3803,20 +4927,47 @@ packages:
|
|
|
3803
4927
|
sqlite3:
|
|
3804
4928
|
optional: true
|
|
3805
4929
|
dependencies:
|
|
3806
|
-
'@neondatabase/serverless': 0.
|
|
4930
|
+
'@neondatabase/serverless': 0.4.5
|
|
4931
|
+
postgres: 3.3.4
|
|
3807
4932
|
dev: false
|
|
3808
4933
|
|
|
4934
|
+
/ee-first@1.1.1:
|
|
4935
|
+
resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==}
|
|
4936
|
+
dev: true
|
|
4937
|
+
|
|
3809
4938
|
/electron-to-chromium@1.4.402:
|
|
3810
4939
|
resolution: {integrity: sha512-gWYvJSkohOiBE6ecVYXkrDgNaUjo47QEKK0kQzmWyhkH+yoYiG44bwuicTGNSIQRG3WDMsWVZJLRnJnLNkbWvA==}
|
|
4940
|
+
dev: true
|
|
4941
|
+
|
|
4942
|
+
/emittery@0.13.1:
|
|
4943
|
+
resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==}
|
|
4944
|
+
engines: {node: '>=12'}
|
|
4945
|
+
dev: true
|
|
4946
|
+
|
|
4947
|
+
/emoji-regex@8.0.0:
|
|
4948
|
+
resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
|
|
4949
|
+
dev: true
|
|
3811
4950
|
|
|
3812
4951
|
/emoji-regex@9.2.2:
|
|
3813
4952
|
resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==}
|
|
3814
4953
|
dev: true
|
|
3815
4954
|
|
|
4955
|
+
/encodeurl@1.0.2:
|
|
4956
|
+
resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==}
|
|
4957
|
+
engines: {node: '>= 0.8'}
|
|
4958
|
+
dev: true
|
|
4959
|
+
|
|
4960
|
+
/end-of-stream@1.4.4:
|
|
4961
|
+
resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==}
|
|
4962
|
+
dependencies:
|
|
4963
|
+
once: 1.4.0
|
|
4964
|
+
dev: true
|
|
4965
|
+
|
|
3816
4966
|
/error-ex@1.3.2:
|
|
3817
4967
|
resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==}
|
|
3818
4968
|
dependencies:
|
|
3819
4969
|
is-arrayish: 0.2.1
|
|
4970
|
+
dev: true
|
|
3820
4971
|
|
|
3821
4972
|
/es-abstract@1.21.2:
|
|
3822
4973
|
resolution: {integrity: sha512-y/B5POM2iBnIxCiernH1G7rC9qQoM77lLIMQLuob0zhp8C56Po81+2Nj0WFKnd0pNReDTnkYryc+zhOzpEIROg==}
|
|
@@ -3896,9 +5047,294 @@ packages:
|
|
|
3896
5047
|
is-symbol: 1.0.4
|
|
3897
5048
|
dev: true
|
|
3898
5049
|
|
|
5050
|
+
/es5-ext@0.10.62:
|
|
5051
|
+
resolution: {integrity: sha512-BHLqn0klhEpnOKSrzn/Xsz2UIW8j+cGmo9JLzr8BiUapV8hPL9+FliFqjwr9ngW7jWdnxv6eO+/LqyhJVqgrjA==}
|
|
5052
|
+
engines: {node: '>=0.10'}
|
|
5053
|
+
requiresBuild: true
|
|
5054
|
+
dependencies:
|
|
5055
|
+
es6-iterator: 2.0.3
|
|
5056
|
+
es6-symbol: 3.1.3
|
|
5057
|
+
next-tick: 1.1.0
|
|
5058
|
+
dev: true
|
|
5059
|
+
|
|
5060
|
+
/es6-iterator@2.0.3:
|
|
5061
|
+
resolution: {integrity: sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==}
|
|
5062
|
+
dependencies:
|
|
5063
|
+
d: 1.0.1
|
|
5064
|
+
es5-ext: 0.10.62
|
|
5065
|
+
es6-symbol: 3.1.3
|
|
5066
|
+
dev: true
|
|
5067
|
+
|
|
5068
|
+
/es6-symbol@3.1.3:
|
|
5069
|
+
resolution: {integrity: sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==}
|
|
5070
|
+
dependencies:
|
|
5071
|
+
d: 1.0.1
|
|
5072
|
+
ext: 1.7.0
|
|
5073
|
+
dev: true
|
|
5074
|
+
|
|
5075
|
+
/es6-weak-map@2.0.3:
|
|
5076
|
+
resolution: {integrity: sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==}
|
|
5077
|
+
dependencies:
|
|
5078
|
+
d: 1.0.1
|
|
5079
|
+
es5-ext: 0.10.62
|
|
5080
|
+
es6-iterator: 2.0.3
|
|
5081
|
+
es6-symbol: 3.1.3
|
|
5082
|
+
dev: true
|
|
5083
|
+
|
|
5084
|
+
/esbuild-android-64@0.15.18:
|
|
5085
|
+
resolution: {integrity: sha512-wnpt3OXRhcjfIDSZu9bnzT4/TNTDsOUvip0foZOUBG7QbSt//w3QV4FInVJxNhKc/ErhUxc5z4QjHtMi7/TbgA==}
|
|
5086
|
+
engines: {node: '>=12'}
|
|
5087
|
+
cpu: [x64]
|
|
5088
|
+
os: [android]
|
|
5089
|
+
requiresBuild: true
|
|
5090
|
+
dev: true
|
|
5091
|
+
optional: true
|
|
5092
|
+
|
|
5093
|
+
/esbuild-android-arm64@0.15.18:
|
|
5094
|
+
resolution: {integrity: sha512-G4xu89B8FCzav9XU8EjsXacCKSG2FT7wW9J6hOc18soEHJdtWu03L3TQDGf0geNxfLTtxENKBzMSq9LlbjS8OQ==}
|
|
5095
|
+
engines: {node: '>=12'}
|
|
5096
|
+
cpu: [arm64]
|
|
5097
|
+
os: [android]
|
|
5098
|
+
requiresBuild: true
|
|
5099
|
+
dev: true
|
|
5100
|
+
optional: true
|
|
5101
|
+
|
|
5102
|
+
/esbuild-darwin-64@0.15.18:
|
|
5103
|
+
resolution: {integrity: sha512-2WAvs95uPnVJPuYKP0Eqx+Dl/jaYseZEUUT1sjg97TJa4oBtbAKnPnl3b5M9l51/nbx7+QAEtuummJZW0sBEmg==}
|
|
5104
|
+
engines: {node: '>=12'}
|
|
5105
|
+
cpu: [x64]
|
|
5106
|
+
os: [darwin]
|
|
5107
|
+
requiresBuild: true
|
|
5108
|
+
dev: true
|
|
5109
|
+
optional: true
|
|
5110
|
+
|
|
5111
|
+
/esbuild-darwin-arm64@0.15.18:
|
|
5112
|
+
resolution: {integrity: sha512-tKPSxcTJ5OmNb1btVikATJ8NftlyNlc8BVNtyT/UAr62JFOhwHlnoPrhYWz09akBLHI9nElFVfWSTSRsrZiDUA==}
|
|
5113
|
+
engines: {node: '>=12'}
|
|
5114
|
+
cpu: [arm64]
|
|
5115
|
+
os: [darwin]
|
|
5116
|
+
requiresBuild: true
|
|
5117
|
+
dev: true
|
|
5118
|
+
optional: true
|
|
5119
|
+
|
|
5120
|
+
/esbuild-freebsd-64@0.15.18:
|
|
5121
|
+
resolution: {integrity: sha512-TT3uBUxkteAjR1QbsmvSsjpKjOX6UkCstr8nMr+q7zi3NuZ1oIpa8U41Y8I8dJH2fJgdC3Dj3CXO5biLQpfdZA==}
|
|
5122
|
+
engines: {node: '>=12'}
|
|
5123
|
+
cpu: [x64]
|
|
5124
|
+
os: [freebsd]
|
|
5125
|
+
requiresBuild: true
|
|
5126
|
+
dev: true
|
|
5127
|
+
optional: true
|
|
5128
|
+
|
|
5129
|
+
/esbuild-freebsd-arm64@0.15.18:
|
|
5130
|
+
resolution: {integrity: sha512-R/oVr+X3Tkh+S0+tL41wRMbdWtpWB8hEAMsOXDumSSa6qJR89U0S/PpLXrGF7Wk/JykfpWNokERUpCeHDl47wA==}
|
|
5131
|
+
engines: {node: '>=12'}
|
|
5132
|
+
cpu: [arm64]
|
|
5133
|
+
os: [freebsd]
|
|
5134
|
+
requiresBuild: true
|
|
5135
|
+
dev: true
|
|
5136
|
+
optional: true
|
|
5137
|
+
|
|
5138
|
+
/esbuild-linux-32@0.15.18:
|
|
5139
|
+
resolution: {integrity: sha512-lphF3HiCSYtaa9p1DtXndiQEeQDKPl9eN/XNoBf2amEghugNuqXNZA/ZovthNE2aa4EN43WroO0B85xVSjYkbg==}
|
|
5140
|
+
engines: {node: '>=12'}
|
|
5141
|
+
cpu: [ia32]
|
|
5142
|
+
os: [linux]
|
|
5143
|
+
requiresBuild: true
|
|
5144
|
+
dev: true
|
|
5145
|
+
optional: true
|
|
5146
|
+
|
|
5147
|
+
/esbuild-linux-64@0.15.18:
|
|
5148
|
+
resolution: {integrity: sha512-hNSeP97IviD7oxLKFuii5sDPJ+QHeiFTFLoLm7NZQligur8poNOWGIgpQ7Qf8Balb69hptMZzyOBIPtY09GZYw==}
|
|
5149
|
+
engines: {node: '>=12'}
|
|
5150
|
+
cpu: [x64]
|
|
5151
|
+
os: [linux]
|
|
5152
|
+
requiresBuild: true
|
|
5153
|
+
dev: true
|
|
5154
|
+
optional: true
|
|
5155
|
+
|
|
5156
|
+
/esbuild-linux-arm64@0.15.18:
|
|
5157
|
+
resolution: {integrity: sha512-54qr8kg/6ilcxd+0V3h9rjT4qmjc0CccMVWrjOEM/pEcUzt8X62HfBSeZfT2ECpM7104mk4yfQXkosY8Quptug==}
|
|
5158
|
+
engines: {node: '>=12'}
|
|
5159
|
+
cpu: [arm64]
|
|
5160
|
+
os: [linux]
|
|
5161
|
+
requiresBuild: true
|
|
5162
|
+
dev: true
|
|
5163
|
+
optional: true
|
|
5164
|
+
|
|
5165
|
+
/esbuild-linux-arm@0.15.18:
|
|
5166
|
+
resolution: {integrity: sha512-UH779gstRblS4aoS2qpMl3wjg7U0j+ygu3GjIeTonCcN79ZvpPee12Qun3vcdxX+37O5LFxz39XeW2I9bybMVA==}
|
|
5167
|
+
engines: {node: '>=12'}
|
|
5168
|
+
cpu: [arm]
|
|
5169
|
+
os: [linux]
|
|
5170
|
+
requiresBuild: true
|
|
5171
|
+
dev: true
|
|
5172
|
+
optional: true
|
|
5173
|
+
|
|
5174
|
+
/esbuild-linux-mips64le@0.15.18:
|
|
5175
|
+
resolution: {integrity: sha512-Mk6Ppwzzz3YbMl/ZZL2P0q1tnYqh/trYZ1VfNP47C31yT0K8t9s7Z077QrDA/guU60tGNp2GOwCQnp+DYv7bxQ==}
|
|
5176
|
+
engines: {node: '>=12'}
|
|
5177
|
+
cpu: [mips64el]
|
|
5178
|
+
os: [linux]
|
|
5179
|
+
requiresBuild: true
|
|
5180
|
+
dev: true
|
|
5181
|
+
optional: true
|
|
5182
|
+
|
|
5183
|
+
/esbuild-linux-ppc64le@0.15.18:
|
|
5184
|
+
resolution: {integrity: sha512-b0XkN4pL9WUulPTa/VKHx2wLCgvIAbgwABGnKMY19WhKZPT+8BxhZdqz6EgkqCLld7X5qiCY2F/bfpUUlnFZ9w==}
|
|
5185
|
+
engines: {node: '>=12'}
|
|
5186
|
+
cpu: [ppc64]
|
|
5187
|
+
os: [linux]
|
|
5188
|
+
requiresBuild: true
|
|
5189
|
+
dev: true
|
|
5190
|
+
optional: true
|
|
5191
|
+
|
|
5192
|
+
/esbuild-linux-riscv64@0.15.18:
|
|
5193
|
+
resolution: {integrity: sha512-ba2COaoF5wL6VLZWn04k+ACZjZ6NYniMSQStodFKH/Pu6RxzQqzsmjR1t9QC89VYJxBeyVPTaHuBMCejl3O/xg==}
|
|
5194
|
+
engines: {node: '>=12'}
|
|
5195
|
+
cpu: [riscv64]
|
|
5196
|
+
os: [linux]
|
|
5197
|
+
requiresBuild: true
|
|
5198
|
+
dev: true
|
|
5199
|
+
optional: true
|
|
5200
|
+
|
|
5201
|
+
/esbuild-linux-s390x@0.15.18:
|
|
5202
|
+
resolution: {integrity: sha512-VbpGuXEl5FCs1wDVp93O8UIzl3ZrglgnSQ+Hu79g7hZu6te6/YHgVJxCM2SqfIila0J3k0csfnf8VD2W7u2kzQ==}
|
|
5203
|
+
engines: {node: '>=12'}
|
|
5204
|
+
cpu: [s390x]
|
|
5205
|
+
os: [linux]
|
|
5206
|
+
requiresBuild: true
|
|
5207
|
+
dev: true
|
|
5208
|
+
optional: true
|
|
5209
|
+
|
|
5210
|
+
/esbuild-netbsd-64@0.15.18:
|
|
5211
|
+
resolution: {integrity: sha512-98ukeCdvdX7wr1vUYQzKo4kQ0N2p27H7I11maINv73fVEXt2kyh4K4m9f35U1K43Xc2QGXlzAw0K9yoU7JUjOg==}
|
|
5212
|
+
engines: {node: '>=12'}
|
|
5213
|
+
cpu: [x64]
|
|
5214
|
+
os: [netbsd]
|
|
5215
|
+
requiresBuild: true
|
|
5216
|
+
dev: true
|
|
5217
|
+
optional: true
|
|
5218
|
+
|
|
5219
|
+
/esbuild-openbsd-64@0.15.18:
|
|
5220
|
+
resolution: {integrity: sha512-yK5NCcH31Uae076AyQAXeJzt/vxIo9+omZRKj1pauhk3ITuADzuOx5N2fdHrAKPxN+zH3w96uFKlY7yIn490xQ==}
|
|
5221
|
+
engines: {node: '>=12'}
|
|
5222
|
+
cpu: [x64]
|
|
5223
|
+
os: [openbsd]
|
|
5224
|
+
requiresBuild: true
|
|
5225
|
+
dev: true
|
|
5226
|
+
optional: true
|
|
5227
|
+
|
|
3899
5228
|
/esbuild-plugin-resolve@2.0.0:
|
|
3900
5229
|
resolution: {integrity: sha512-eJy9B8yDW5X/J48eWtR1uVmv+DKfHvYYnrrcqQoe/nUkVHVOTZlJnSevkYyGOz6hI90t036Y5QIPDrGzmppxfg==}
|
|
3901
|
-
dev:
|
|
5230
|
+
dev: true
|
|
5231
|
+
|
|
5232
|
+
/esbuild-register@3.4.2(esbuild@0.15.18):
|
|
5233
|
+
resolution: {integrity: sha512-kG/XyTDyz6+YDuyfB9ZoSIOOmgyFCH+xPRtsCa8W85HLRV5Csp+o3jWVbOSHgSLfyLc5DmP+KFDNwty4mEjC+Q==}
|
|
5234
|
+
peerDependencies:
|
|
5235
|
+
esbuild: '>=0.12 <1'
|
|
5236
|
+
dependencies:
|
|
5237
|
+
debug: 4.3.4
|
|
5238
|
+
esbuild: 0.15.18
|
|
5239
|
+
transitivePeerDependencies:
|
|
5240
|
+
- supports-color
|
|
5241
|
+
dev: true
|
|
5242
|
+
|
|
5243
|
+
/esbuild-sunos-64@0.15.18:
|
|
5244
|
+
resolution: {integrity: sha512-On22LLFlBeLNj/YF3FT+cXcyKPEI263nflYlAhz5crxtp3yRG1Ugfr7ITyxmCmjm4vbN/dGrb/B7w7U8yJR9yw==}
|
|
5245
|
+
engines: {node: '>=12'}
|
|
5246
|
+
cpu: [x64]
|
|
5247
|
+
os: [sunos]
|
|
5248
|
+
requiresBuild: true
|
|
5249
|
+
dev: true
|
|
5250
|
+
optional: true
|
|
5251
|
+
|
|
5252
|
+
/esbuild-windows-32@0.15.18:
|
|
5253
|
+
resolution: {integrity: sha512-o+eyLu2MjVny/nt+E0uPnBxYuJHBvho8vWsC2lV61A7wwTWC3jkN2w36jtA+yv1UgYkHRihPuQsL23hsCYGcOQ==}
|
|
5254
|
+
engines: {node: '>=12'}
|
|
5255
|
+
cpu: [ia32]
|
|
5256
|
+
os: [win32]
|
|
5257
|
+
requiresBuild: true
|
|
5258
|
+
dev: true
|
|
5259
|
+
optional: true
|
|
5260
|
+
|
|
5261
|
+
/esbuild-windows-64@0.15.18:
|
|
5262
|
+
resolution: {integrity: sha512-qinug1iTTaIIrCorAUjR0fcBk24fjzEedFYhhispP8Oc7SFvs+XeW3YpAKiKp8dRpizl4YYAhxMjlftAMJiaUw==}
|
|
5263
|
+
engines: {node: '>=12'}
|
|
5264
|
+
cpu: [x64]
|
|
5265
|
+
os: [win32]
|
|
5266
|
+
requiresBuild: true
|
|
5267
|
+
dev: true
|
|
5268
|
+
optional: true
|
|
5269
|
+
|
|
5270
|
+
/esbuild-windows-arm64@0.15.18:
|
|
5271
|
+
resolution: {integrity: sha512-q9bsYzegpZcLziq0zgUi5KqGVtfhjxGbnksaBFYmWLxeV/S1fK4OLdq2DFYnXcLMjlZw2L0jLsk1eGoB522WXQ==}
|
|
5272
|
+
engines: {node: '>=12'}
|
|
5273
|
+
cpu: [arm64]
|
|
5274
|
+
os: [win32]
|
|
5275
|
+
requiresBuild: true
|
|
5276
|
+
dev: true
|
|
5277
|
+
optional: true
|
|
5278
|
+
|
|
5279
|
+
/esbuild@0.15.18:
|
|
5280
|
+
resolution: {integrity: sha512-x/R72SmW3sSFRm5zrrIjAhCeQSAWoni3CmHEqfQrZIQTM3lVCdehdwuIqaOtfC2slvpdlLa62GYoN8SxT23m6Q==}
|
|
5281
|
+
engines: {node: '>=12'}
|
|
5282
|
+
hasBin: true
|
|
5283
|
+
requiresBuild: true
|
|
5284
|
+
optionalDependencies:
|
|
5285
|
+
'@esbuild/android-arm': 0.15.18
|
|
5286
|
+
'@esbuild/linux-loong64': 0.15.18
|
|
5287
|
+
esbuild-android-64: 0.15.18
|
|
5288
|
+
esbuild-android-arm64: 0.15.18
|
|
5289
|
+
esbuild-darwin-64: 0.15.18
|
|
5290
|
+
esbuild-darwin-arm64: 0.15.18
|
|
5291
|
+
esbuild-freebsd-64: 0.15.18
|
|
5292
|
+
esbuild-freebsd-arm64: 0.15.18
|
|
5293
|
+
esbuild-linux-32: 0.15.18
|
|
5294
|
+
esbuild-linux-64: 0.15.18
|
|
5295
|
+
esbuild-linux-arm: 0.15.18
|
|
5296
|
+
esbuild-linux-arm64: 0.15.18
|
|
5297
|
+
esbuild-linux-mips64le: 0.15.18
|
|
5298
|
+
esbuild-linux-ppc64le: 0.15.18
|
|
5299
|
+
esbuild-linux-riscv64: 0.15.18
|
|
5300
|
+
esbuild-linux-s390x: 0.15.18
|
|
5301
|
+
esbuild-netbsd-64: 0.15.18
|
|
5302
|
+
esbuild-openbsd-64: 0.15.18
|
|
5303
|
+
esbuild-sunos-64: 0.15.18
|
|
5304
|
+
esbuild-windows-32: 0.15.18
|
|
5305
|
+
esbuild-windows-64: 0.15.18
|
|
5306
|
+
esbuild-windows-arm64: 0.15.18
|
|
5307
|
+
dev: true
|
|
5308
|
+
|
|
5309
|
+
/esbuild@0.16.3:
|
|
5310
|
+
resolution: {integrity: sha512-71f7EjPWTiSguen8X/kxEpkAS7BFHwtQKisCDDV3Y4GLGWBaoSCyD5uXkaUew6JDzA9FEN1W23mdnSwW9kqCeg==}
|
|
5311
|
+
engines: {node: '>=12'}
|
|
5312
|
+
hasBin: true
|
|
5313
|
+
requiresBuild: true
|
|
5314
|
+
optionalDependencies:
|
|
5315
|
+
'@esbuild/android-arm': 0.16.3
|
|
5316
|
+
'@esbuild/android-arm64': 0.16.3
|
|
5317
|
+
'@esbuild/android-x64': 0.16.3
|
|
5318
|
+
'@esbuild/darwin-arm64': 0.16.3
|
|
5319
|
+
'@esbuild/darwin-x64': 0.16.3
|
|
5320
|
+
'@esbuild/freebsd-arm64': 0.16.3
|
|
5321
|
+
'@esbuild/freebsd-x64': 0.16.3
|
|
5322
|
+
'@esbuild/linux-arm': 0.16.3
|
|
5323
|
+
'@esbuild/linux-arm64': 0.16.3
|
|
5324
|
+
'@esbuild/linux-ia32': 0.16.3
|
|
5325
|
+
'@esbuild/linux-loong64': 0.16.3
|
|
5326
|
+
'@esbuild/linux-mips64el': 0.16.3
|
|
5327
|
+
'@esbuild/linux-ppc64': 0.16.3
|
|
5328
|
+
'@esbuild/linux-riscv64': 0.16.3
|
|
5329
|
+
'@esbuild/linux-s390x': 0.16.3
|
|
5330
|
+
'@esbuild/linux-x64': 0.16.3
|
|
5331
|
+
'@esbuild/netbsd-x64': 0.16.3
|
|
5332
|
+
'@esbuild/openbsd-x64': 0.16.3
|
|
5333
|
+
'@esbuild/sunos-x64': 0.16.3
|
|
5334
|
+
'@esbuild/win32-arm64': 0.16.3
|
|
5335
|
+
'@esbuild/win32-ia32': 0.16.3
|
|
5336
|
+
'@esbuild/win32-x64': 0.16.3
|
|
5337
|
+
dev: true
|
|
3902
5338
|
|
|
3903
5339
|
/esbuild@0.17.19:
|
|
3904
5340
|
resolution: {integrity: sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw==}
|
|
@@ -3928,15 +5364,26 @@ packages:
|
|
|
3928
5364
|
'@esbuild/win32-arm64': 0.17.19
|
|
3929
5365
|
'@esbuild/win32-ia32': 0.17.19
|
|
3930
5366
|
'@esbuild/win32-x64': 0.17.19
|
|
3931
|
-
dev:
|
|
5367
|
+
dev: true
|
|
3932
5368
|
|
|
3933
5369
|
/escalade@3.1.1:
|
|
3934
5370
|
resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==}
|
|
3935
5371
|
engines: {node: '>=6'}
|
|
5372
|
+
dev: true
|
|
5373
|
+
|
|
5374
|
+
/escape-html@1.0.3:
|
|
5375
|
+
resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==}
|
|
5376
|
+
dev: true
|
|
3936
5377
|
|
|
3937
5378
|
/escape-string-regexp@1.0.5:
|
|
3938
5379
|
resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==}
|
|
3939
5380
|
engines: {node: '>=0.8.0'}
|
|
5381
|
+
dev: true
|
|
5382
|
+
|
|
5383
|
+
/escape-string-regexp@2.0.0:
|
|
5384
|
+
resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==}
|
|
5385
|
+
engines: {node: '>=8'}
|
|
5386
|
+
dev: true
|
|
3940
5387
|
|
|
3941
5388
|
/escape-string-regexp@4.0.0:
|
|
3942
5389
|
resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
|
|
@@ -4251,9 +5698,15 @@ packages:
|
|
|
4251
5698
|
eslint-visitor-keys: 3.4.1
|
|
4252
5699
|
dev: true
|
|
4253
5700
|
|
|
5701
|
+
/esprima@4.0.1:
|
|
5702
|
+
resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==}
|
|
5703
|
+
engines: {node: '>=4'}
|
|
5704
|
+
hasBin: true
|
|
5705
|
+
dev: true
|
|
5706
|
+
|
|
4254
|
-
/esquery@1.5.0:
|
|
5707
|
+
/esquery@1.5.0:
|
|
4255
|
-
resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==}
|
|
5708
|
+
resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==}
|
|
4256
|
-
engines: {node: '>=0.10'}
|
|
5709
|
+
engines: {node: '>=0.10'}
|
|
4257
5710
|
dependencies:
|
|
4258
5711
|
estraverse: 5.3.0
|
|
4259
5712
|
dev: true
|
|
@@ -4275,11 +5728,113 @@ packages:
|
|
|
4275
5728
|
engines: {node: '>=4.0'}
|
|
4276
5729
|
dev: true
|
|
4277
5730
|
|
|
5731
|
+
/estree-walker@0.6.1:
|
|
5732
|
+
resolution: {integrity: sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==}
|
|
5733
|
+
dev: true
|
|
5734
|
+
|
|
4278
5735
|
/esutils@2.0.3:
|
|
4279
5736
|
resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
|
|
4280
5737
|
engines: {node: '>=0.10.0'}
|
|
4281
5738
|
dev: true
|
|
4282
5739
|
|
|
5740
|
+
/etag@1.8.1:
|
|
5741
|
+
resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==}
|
|
5742
|
+
engines: {node: '>= 0.6'}
|
|
5743
|
+
dev: true
|
|
5744
|
+
|
|
5745
|
+
/event-emitter@0.3.5:
|
|
5746
|
+
resolution: {integrity: sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==}
|
|
5747
|
+
dependencies:
|
|
5748
|
+
d: 1.0.1
|
|
5749
|
+
es5-ext: 0.10.62
|
|
5750
|
+
dev: true
|
|
5751
|
+
|
|
5752
|
+
/execa@5.1.1:
|
|
5753
|
+
resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==}
|
|
5754
|
+
engines: {node: '>=10'}
|
|
5755
|
+
dependencies:
|
|
5756
|
+
cross-spawn: 7.0.3
|
|
5757
|
+
get-stream: 6.0.1
|
|
5758
|
+
human-signals: 2.1.0
|
|
5759
|
+
is-stream: 2.0.1
|
|
5760
|
+
merge-stream: 2.0.0
|
|
5761
|
+
npm-run-path: 4.0.1
|
|
5762
|
+
onetime: 5.1.2
|
|
5763
|
+
signal-exit: 3.0.7
|
|
5764
|
+
strip-final-newline: 2.0.0
|
|
5765
|
+
dev: true
|
|
5766
|
+
|
|
5767
|
+
/exit-hook@2.2.1:
|
|
5768
|
+
resolution: {integrity: sha512-eNTPlAD67BmP31LDINZ3U7HSF8l57TxOY2PmBJ1shpCvpnxBF93mWCE8YHBnXs8qiUZJc9WDcWIeC3a2HIAMfw==}
|
|
5769
|
+
engines: {node: '>=6'}
|
|
5770
|
+
dev: true
|
|
5771
|
+
|
|
5772
|
+
/exit@0.1.2:
|
|
5773
|
+
resolution: {integrity: sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==}
|
|
5774
|
+
engines: {node: '>= 0.8.0'}
|
|
5775
|
+
dev: true
|
|
5776
|
+
|
|
5777
|
+
/expand-template@2.0.3:
|
|
5778
|
+
resolution: {integrity: sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==}
|
|
5779
|
+
engines: {node: '>=6'}
|
|
5780
|
+
dev: true
|
|
5781
|
+
|
|
5782
|
+
/expect@29.5.0:
|
|
5783
|
+
resolution: {integrity: sha512-yM7xqUrCO2JdpFo4XpM82t+PJBFybdqoQuJLDGeDX2ij8NZzqRHyu3Hp188/JX7SWqud+7t4MUdvcgGBICMHZg==}
|
|
5784
|
+
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
|
|
5785
|
+
dependencies:
|
|
5786
|
+
'@jest/expect-utils': 29.5.0
|
|
5787
|
+
jest-get-type: 29.4.3
|
|
5788
|
+
jest-matcher-utils: 29.5.0
|
|
5789
|
+
jest-message-util: 29.5.0
|
|
5790
|
+
jest-util: 29.5.0
|
|
5791
|
+
dev: true
|
|
5792
|
+
|
|
5793
|
+
/express@4.18.2:
|
|
5794
|
+
resolution: {integrity: sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==}
|
|
5795
|
+
engines: {node: '>= 0.10.0'}
|
|
5796
|
+
dependencies:
|
|
5797
|
+
accepts: 1.3.8
|
|
5798
|
+
array-flatten: 1.1.1
|
|
5799
|
+
body-parser: 1.20.1
|
|
5800
|
+
content-disposition: 0.5.4
|
|
5801
|
+
content-type: 1.0.5
|
|
5802
|
+
cookie: 0.5.0
|
|
5803
|
+
cookie-signature: 1.0.6
|
|
5804
|
+
debug: 2.6.9
|
|
5805
|
+
depd: 2.0.0
|
|
5806
|
+
encodeurl: 1.0.2
|
|
5807
|
+
escape-html: 1.0.3
|
|
5808
|
+
etag: 1.8.1
|
|
5809
|
+
finalhandler: 1.2.0
|
|
5810
|
+
fresh: 0.5.2
|
|
5811
|
+
http-errors: 2.0.0
|
|
5812
|
+
merge-descriptors: 1.0.1
|
|
5813
|
+
methods: 1.1.2
|
|
5814
|
+
on-finished: 2.4.1
|
|
5815
|
+
parseurl: 1.3.3
|
|
5816
|
+
path-to-regexp: 0.1.7
|
|
5817
|
+
proxy-addr: 2.0.7
|
|
5818
|
+
qs: 6.11.0
|
|
5819
|
+
range-parser: 1.2.1
|
|
5820
|
+
safe-buffer: 5.2.1
|
|
5821
|
+
send: 0.18.0
|
|
5822
|
+
serve-static: 1.15.0
|
|
5823
|
+
setprototypeof: 1.2.0
|
|
5824
|
+
statuses: 2.0.1
|
|
5825
|
+
type-is: 1.6.18
|
|
5826
|
+
utils-merge: 1.0.1
|
|
5827
|
+
vary: 1.1.2
|
|
5828
|
+
transitivePeerDependencies:
|
|
5829
|
+
- supports-color
|
|
5830
|
+
dev: true
|
|
5831
|
+
|
|
5832
|
+
/ext@1.7.0:
|
|
5833
|
+
resolution: {integrity: sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==}
|
|
5834
|
+
dependencies:
|
|
5835
|
+
type: 2.7.2
|
|
5836
|
+
dev: true
|
|
5837
|
+
|
|
4283
5838
|
/fast-deep-equal@3.1.3:
|
|
4284
5839
|
resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
|
|
4285
5840
|
dev: true
|
|
@@ -4309,6 +5864,12 @@ packages:
|
|
|
4309
5864
|
reusify: 1.0.4
|
|
4310
5865
|
dev: true
|
|
4311
5866
|
|
|
5867
|
+
/fb-watchman@2.0.2:
|
|
5868
|
+
resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==}
|
|
5869
|
+
dependencies:
|
|
5870
|
+
bser: 2.1.1
|
|
5871
|
+
dev: true
|
|
5872
|
+
|
|
4312
5873
|
/file-entry-cache@6.0.1:
|
|
4313
5874
|
resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==}
|
|
4314
5875
|
engines: {node: ^10.12.0 || >=12.0.0}
|
|
@@ -4316,6 +5877,10 @@ packages:
|
|
|
4316
5877
|
flat-cache: 3.0.4
|
|
4317
5878
|
dev: true
|
|
4318
5879
|
|
|
5880
|
+
/file-uri-to-path@1.0.0:
|
|
5881
|
+
resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==}
|
|
5882
|
+
dev: true
|
|
5883
|
+
|
|
4319
5884
|
/fill-range@7.0.1:
|
|
4320
5885
|
resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==}
|
|
4321
5886
|
engines: {node: '>=8'}
|
|
@@ -4323,6 +5888,29 @@ packages:
|
|
|
4323
5888
|
to-regex-range: 5.0.1
|
|
4324
5889
|
dev: true
|
|
4325
5890
|
|
|
5891
|
+
/finalhandler@1.2.0:
|
|
5892
|
+
resolution: {integrity: sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==}
|
|
5893
|
+
engines: {node: '>= 0.8'}
|
|
5894
|
+
dependencies:
|
|
5895
|
+
debug: 2.6.9
|
|
5896
|
+
encodeurl: 1.0.2
|
|
5897
|
+
escape-html: 1.0.3
|
|
5898
|
+
on-finished: 2.4.1
|
|
5899
|
+
parseurl: 1.3.3
|
|
5900
|
+
statuses: 2.0.1
|
|
5901
|
+
unpipe: 1.0.0
|
|
5902
|
+
transitivePeerDependencies:
|
|
5903
|
+
- supports-color
|
|
5904
|
+
dev: true
|
|
5905
|
+
|
|
5906
|
+
/find-up@4.1.0:
|
|
5907
|
+
resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==}
|
|
5908
|
+
engines: {node: '>=8'}
|
|
5909
|
+
dependencies:
|
|
5910
|
+
locate-path: 5.0.0
|
|
5911
|
+
path-exists: 4.0.0
|
|
5912
|
+
dev: true
|
|
5913
|
+
|
|
4326
5914
|
/find-up@5.0.0:
|
|
4327
5915
|
resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==}
|
|
4328
5916
|
engines: {node: '>=10'}
|
|
@@ -4331,14 +5919,6 @@ packages:
|
|
|
4331
5919
|
path-exists: 4.0.0
|
|
4332
5920
|
dev: true
|
|
4333
5921
|
|
|
4334
|
-
/find-up@6.3.0:
|
|
4335
|
-
resolution: {integrity: sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==}
|
|
4336
|
-
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
|
|
4337
|
-
dependencies:
|
|
4338
|
-
locate-path: 7.2.0
|
|
4339
|
-
path-exists: 5.0.0
|
|
4340
|
-
dev: false
|
|
4341
|
-
|
|
4342
5922
|
/flat-cache@3.0.4:
|
|
4343
5923
|
resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==}
|
|
4344
5924
|
engines: {node: ^10.12.0 || >=12.0.0}
|
|
@@ -4357,9 +5937,32 @@ packages:
|
|
|
4357
5937
|
is-callable: 1.2.7
|
|
4358
5938
|
dev: true
|
|
4359
5939
|
|
|
5940
|
+
/forwarded@0.2.0:
|
|
5941
|
+
resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==}
|
|
5942
|
+
engines: {node: '>= 0.6'}
|
|
5943
|
+
dev: true
|
|
5944
|
+
|
|
4360
5945
|
/fraction.js@4.2.0:
|
|
4361
5946
|
resolution: {integrity: sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==}
|
|
4362
|
-
dev:
|
|
5947
|
+
dev: true
|
|
5948
|
+
|
|
5949
|
+
/fresh@0.5.2:
|
|
5950
|
+
resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==}
|
|
5951
|
+
engines: {node: '>= 0.6'}
|
|
5952
|
+
dev: true
|
|
5953
|
+
|
|
5954
|
+
/fs-constants@1.0.0:
|
|
5955
|
+
resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==}
|
|
5956
|
+
dev: true
|
|
5957
|
+
|
|
5958
|
+
/fs-extra@11.1.1:
|
|
5959
|
+
resolution: {integrity: sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==}
|
|
5960
|
+
engines: {node: '>=14.14'}
|
|
5961
|
+
dependencies:
|
|
5962
|
+
graceful-fs: 4.2.11
|
|
5963
|
+
jsonfile: 6.1.0
|
|
5964
|
+
universalify: 2.0.0
|
|
5965
|
+
dev: true
|
|
4363
5966
|
|
|
4364
5967
|
/fs.realpath@1.0.0:
|
|
4365
5968
|
resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
|
|
@@ -4375,6 +5978,7 @@ packages:
|
|
|
4375
5978
|
|
|
4376
5979
|
/function-bind@1.1.1:
|
|
4377
5980
|
resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==}
|
|
5981
|
+
dev: true
|
|
4378
5982
|
|
|
4379
5983
|
/function.prototype.name@1.1.5:
|
|
4380
5984
|
resolution: {integrity: sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==}
|
|
@@ -4395,6 +5999,11 @@ packages:
|
|
|
4395
5999
|
engines: {node: '>=6.9.0'}
|
|
4396
6000
|
dev: true
|
|
4397
6001
|
|
|
6002
|
+
/get-caller-file@2.0.5:
|
|
6003
|
+
resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==}
|
|
6004
|
+
engines: {node: 6.* || 8.* || >= 10.*}
|
|
6005
|
+
dev: true
|
|
6006
|
+
|
|
4398
6007
|
/get-intrinsic@1.2.1:
|
|
4399
6008
|
resolution: {integrity: sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==}
|
|
4400
6009
|
dependencies:
|
|
@@ -4404,6 +6013,23 @@ packages:
|
|
|
4404
6013
|
has-symbols: 1.0.3
|
|
4405
6014
|
dev: true
|
|
4406
6015
|
|
|
6016
|
+
/get-package-type@0.1.0:
|
|
6017
|
+
resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==}
|
|
6018
|
+
engines: {node: '>=8.0.0'}
|
|
6019
|
+
dev: true
|
|
6020
|
+
|
|
6021
|
+
/get-source@2.0.12:
|
|
6022
|
+
resolution: {integrity: sha512-X5+4+iD+HoSeEED+uwrQ07BOQr0kEDFMVqqpBuI+RaZBpBpHCuXxo70bjar6f0b0u/DQJsJ7ssurpP0V60Az+w==}
|
|
6023
|
+
dependencies:
|
|
6024
|
+
data-uri-to-buffer: 2.0.2
|
|
6025
|
+
source-map: 0.6.1
|
|
6026
|
+
dev: true
|
|
6027
|
+
|
|
6028
|
+
/get-stream@6.0.1:
|
|
6029
|
+
resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==}
|
|
6030
|
+
engines: {node: '>=10'}
|
|
6031
|
+
dev: true
|
|
6032
|
+
|
|
4407
6033
|
/get-symbol-description@1.0.0:
|
|
4408
6034
|
resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==}
|
|
4409
6035
|
engines: {node: '>= 0.4'}
|
|
@@ -4412,6 +6038,10 @@ packages:
|
|
|
4412
6038
|
get-intrinsic: 1.2.1
|
|
4413
6039
|
dev: true
|
|
4414
6040
|
|
|
6041
|
+
/github-from-package@0.0.0:
|
|
6042
|
+
resolution: {integrity: sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==}
|
|
6043
|
+
dev: true
|
|
6044
|
+
|
|
4415
6045
|
/glob-parent@5.1.2:
|
|
4416
6046
|
resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
|
|
4417
6047
|
engines: {node: '>= 6'}
|
|
@@ -4426,6 +6056,10 @@ packages:
|
|
|
4426
6056
|
is-glob: 4.0.3
|
|
4427
6057
|
dev: true
|
|
4428
6058
|
|
|
6059
|
+
/glob-to-regexp@0.4.1:
|
|
6060
|
+
resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==}
|
|
6061
|
+
dev: true
|
|
6062
|
+
|
|
4429
6063
|
/glob@7.2.3:
|
|
4430
6064
|
resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==}
|
|
4431
6065
|
dependencies:
|
|
@@ -4437,6 +6071,17 @@ packages:
|
|
|
4437
6071
|
path-is-absolute: 1.0.1
|
|
4438
6072
|
dev: true
|
|
4439
6073
|
|
|
6074
|
+
/glob@8.1.0:
|
|
6075
|
+
resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==}
|
|
6076
|
+
engines: {node: '>=12'}
|
|
6077
|
+
dependencies:
|
|
6078
|
+
fs.realpath: 1.0.0
|
|
6079
|
+
inflight: 1.0.6
|
|
6080
|
+
inherits: 2.0.4
|
|
6081
|
+
minimatch: 5.1.6
|
|
6082
|
+
once: 1.4.0
|
|
6083
|
+
dev: true
|
|
6084
|
+
|
|
4440
6085
|
/globals@11.12.0:
|
|
4441
6086
|
resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==}
|
|
4442
6087
|
engines: {node: '>=4'}
|
|
@@ -4474,14 +6119,20 @@ packages:
|
|
|
4474
6119
|
get-intrinsic: 1.2.1
|
|
4475
6120
|
dev: true
|
|
4476
6121
|
|
|
6122
|
+
/graceful-fs@4.2.11:
|
|
6123
|
+
resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
|
|
6124
|
+
dev: true
|
|
6125
|
+
|
|
4477
6126
|
/grapheme-splitter@1.0.4:
|
|
4478
6127
|
resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==}
|
|
4479
6128
|
dev: true
|
|
4480
6129
|
|
|
4481
|
-
/
|
|
6130
|
+
/hanji@0.0.5:
|
|
4482
|
-
resolution: {integrity: sha512-
|
|
6131
|
+
resolution: {integrity: sha512-Abxw1Lq+TnYiL4BueXqMau222fPSPMFtya8HdpWsz/xVAhifXou71mPh/kY2+08RgFcVccjG3uZHs6K5HAe3zw==}
|
|
6132
|
+
dependencies:
|
|
4483
|
-
|
|
6133
|
+
lodash.throttle: 4.1.1
|
|
6134
|
+
sisteransi: 1.0.5
|
|
4484
|
-
dev:
|
|
6135
|
+
dev: true
|
|
4485
6136
|
|
|
4486
6137
|
/has-bigints@1.0.2:
|
|
4487
6138
|
resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==}
|
|
@@ -4490,6 +6141,7 @@ packages:
|
|
|
4490
6141
|
/has-flag@3.0.0:
|
|
4491
6142
|
resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==}
|
|
4492
6143
|
engines: {node: '>=4'}
|
|
6144
|
+
dev: true
|
|
4493
6145
|
|
|
4494
6146
|
/has-flag@4.0.0:
|
|
4495
6147
|
resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
|
|
@@ -4524,6 +6176,11 @@ packages:
|
|
|
4524
6176
|
engines: {node: '>= 0.4.0'}
|
|
4525
6177
|
dependencies:
|
|
4526
6178
|
function-bind: 1.1.1
|
|
6179
|
+
dev: true
|
|
6180
|
+
|
|
6181
|
+
/heap@0.2.7:
|
|
6182
|
+
resolution: {integrity: sha512-2bsegYkkHO+h/9MGbn6KWcE45cHZgPANo5LXF7EvWdT0yT2EguSVO1nDgU5c8+ZOPwp2vMNa7YFsJhVcDR9Sdg==}
|
|
6183
|
+
dev: true
|
|
4527
6184
|
|
|
4528
6185
|
/history@5.3.0:
|
|
4529
6186
|
resolution: {integrity: sha512-ZqaKwjjrAYUYfLG+htGaIIZ4nioX2L70ZUMIFysS3xvBsSG4x/n1V6TXV3N8ZYNuFGlDirFg32T7B6WOUPDYcQ==}
|
|
@@ -4531,19 +6188,40 @@ packages:
|
|
|
4531
6188
|
'@babel/runtime': 7.21.5
|
|
4532
6189
|
dev: false
|
|
4533
6190
|
|
|
6191
|
+
/html-escaper@2.0.2:
|
|
6192
|
+
resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==}
|
|
6193
|
+
dev: true
|
|
6194
|
+
|
|
6195
|
+
/http-cache-semantics@4.1.1:
|
|
6196
|
+
resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==}
|
|
6197
|
+
dev: true
|
|
6198
|
+
|
|
4534
|
-
/
|
|
6199
|
+
/http-errors@2.0.0:
|
|
4535
|
-
resolution: {integrity: sha512-
|
|
6200
|
+
resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==}
|
|
4536
|
-
engines: {node: '>=
|
|
6201
|
+
engines: {node: '>= 0.8'}
|
|
4537
6202
|
dependencies:
|
|
6203
|
+
depd: 2.0.0
|
|
4538
|
-
|
|
6204
|
+
inherits: 2.0.4
|
|
6205
|
+
setprototypeof: 1.2.0
|
|
6206
|
+
statuses: 2.0.1
|
|
6207
|
+
toidentifier: 1.0.1
|
|
4539
|
-
dev:
|
|
6208
|
+
dev: true
|
|
6209
|
+
|
|
6210
|
+
/human-signals@2.1.0:
|
|
6211
|
+
resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==}
|
|
6212
|
+
engines: {node: '>=10.17.0'}
|
|
6213
|
+
dev: true
|
|
4540
6214
|
|
|
4541
|
-
/
|
|
6215
|
+
/iconv-lite@0.4.24:
|
|
4542
|
-
resolution: {integrity: sha512-
|
|
6216
|
+
resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==}
|
|
4543
|
-
engines: {node:
|
|
6217
|
+
engines: {node: '>=0.10.0'}
|
|
4544
6218
|
dependencies:
|
|
4545
|
-
|
|
6219
|
+
safer-buffer: 2.1.2
|
|
4546
|
-
dev:
|
|
6220
|
+
dev: true
|
|
6221
|
+
|
|
6222
|
+
/ieee754@1.2.1:
|
|
6223
|
+
resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==}
|
|
6224
|
+
dev: true
|
|
4547
6225
|
|
|
4548
6226
|
/ignore@5.2.4:
|
|
4549
6227
|
resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==}
|
|
@@ -4558,16 +6236,20 @@ packages:
|
|
|
4558
6236
|
resolve-from: 4.0.0
|
|
4559
6237
|
dev: true
|
|
4560
6238
|
|
|
6239
|
+
/import-local@3.1.0:
|
|
6240
|
+
resolution: {integrity: sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==}
|
|
6241
|
+
engines: {node: '>=8'}
|
|
6242
|
+
hasBin: true
|
|
6243
|
+
dependencies:
|
|
6244
|
+
pkg-dir: 4.2.0
|
|
6245
|
+
resolve-cwd: 3.0.0
|
|
6246
|
+
dev: true
|
|
6247
|
+
|
|
4561
6248
|
/imurmurhash@0.1.4:
|
|
4562
6249
|
resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==}
|
|
4563
6250
|
engines: {node: '>=0.8.19'}
|
|
4564
6251
|
dev: true
|
|
4565
6252
|
|
|
4566
|
-
/indent-string@5.0.0:
|
|
4567
|
-
resolution: {integrity: sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==}
|
|
4568
|
-
engines: {node: '>=12'}
|
|
4569
|
-
dev: false
|
|
4570
|
-
|
|
4571
6253
|
/inflight@1.0.6:
|
|
4572
6254
|
resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==}
|
|
4573
6255
|
dependencies:
|
|
@@ -4579,6 +6261,10 @@ packages:
|
|
|
4579
6261
|
resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
|
|
4580
6262
|
dev: true
|
|
4581
6263
|
|
|
6264
|
+
/ini@1.3.8:
|
|
6265
|
+
resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==}
|
|
6266
|
+
dev: true
|
|
6267
|
+
|
|
4582
6268
|
/internal-slot@1.0.5:
|
|
4583
6269
|
resolution: {integrity: sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==}
|
|
4584
6270
|
engines: {node: '>= 0.4'}
|
|
@@ -4603,6 +6289,11 @@ packages:
|
|
|
4603
6289
|
loose-envify: 1.4.0
|
|
4604
6290
|
dev: false
|
|
4605
6291
|
|
|
6292
|
+
/ipaddr.js@1.9.1:
|
|
6293
|
+
resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==}
|
|
6294
|
+
engines: {node: '>= 0.10'}
|
|
6295
|
+
dev: true
|
|
6296
|
+
|
|
4606
6297
|
/is-arguments@1.1.1:
|
|
4607
6298
|
resolution: {integrity: sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==}
|
|
4608
6299
|
engines: {node: '>= 0.4'}
|
|
@@ -4621,6 +6312,7 @@ packages:
|
|
|
4621
6312
|
|
|
4622
6313
|
/is-arrayish@0.2.1:
|
|
4623
6314
|
resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==}
|
|
6315
|
+
dev: true
|
|
4624
6316
|
|
|
4625
6317
|
/is-bigint@1.0.4:
|
|
4626
6318
|
resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==}
|
|
@@ -4628,6 +6320,13 @@ packages:
|
|
|
4628
6320
|
has-bigints: 1.0.2
|
|
4629
6321
|
dev: true
|
|
4630
6322
|
|
|
6323
|
+
/is-binary-path@2.1.0:
|
|
6324
|
+
resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==}
|
|
6325
|
+
engines: {node: '>=8'}
|
|
6326
|
+
dependencies:
|
|
6327
|
+
binary-extensions: 2.2.0
|
|
6328
|
+
dev: true
|
|
6329
|
+
|
|
4631
6330
|
/is-boolean-object@1.1.2:
|
|
4632
6331
|
resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==}
|
|
4633
6332
|
engines: {node: '>= 0.4'}
|
|
@@ -4645,6 +6344,7 @@ packages:
|
|
|
4645
6344
|
resolution: {integrity: sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg==}
|
|
4646
6345
|
dependencies:
|
|
4647
6346
|
has: 1.0.3
|
|
6347
|
+
dev: true
|
|
4648
6348
|
|
|
4649
6349
|
/is-date-object@1.0.5:
|
|
4650
6350
|
resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==}
|
|
@@ -4658,6 +6358,16 @@ packages:
|
|
|
4658
6358
|
engines: {node: '>=0.10.0'}
|
|
4659
6359
|
dev: true
|
|
4660
6360
|
|
|
6361
|
+
/is-fullwidth-code-point@3.0.0:
|
|
6362
|
+
resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==}
|
|
6363
|
+
engines: {node: '>=8'}
|
|
6364
|
+
dev: true
|
|
6365
|
+
|
|
6366
|
+
/is-generator-fn@2.1.0:
|
|
6367
|
+
resolution: {integrity: sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==}
|
|
6368
|
+
engines: {node: '>=6'}
|
|
6369
|
+
dev: true
|
|
6370
|
+
|
|
4661
6371
|
/is-glob@4.0.3:
|
|
4662
6372
|
resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
|
|
4663
6373
|
engines: {node: '>=0.10.0'}
|
|
@@ -4691,10 +6401,9 @@ packages:
|
|
|
4691
6401
|
engines: {node: '>=8'}
|
|
4692
6402
|
dev: true
|
|
4693
6403
|
|
|
4694
|
-
/is-
|
|
6404
|
+
/is-promise@2.2.2:
|
|
4695
|
-
resolution: {integrity: sha512-
|
|
6405
|
+
resolution: {integrity: sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==}
|
|
4696
|
-
engines: {node: '>=0.10.0'}
|
|
4697
|
-
dev:
|
|
6406
|
+
dev: true
|
|
4698
6407
|
|
|
4699
6408
|
/is-regex@1.1.4:
|
|
4700
6409
|
resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==}
|
|
@@ -4714,6 +6423,11 @@ packages:
|
|
|
4714
6423
|
call-bind: 1.0.2
|
|
4715
6424
|
dev: true
|
|
4716
6425
|
|
|
6426
|
+
/is-stream@2.0.1:
|
|
6427
|
+
resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==}
|
|
6428
|
+
engines: {node: '>=8'}
|
|
6429
|
+
dev: true
|
|
6430
|
+
|
|
4717
6431
|
/is-string@1.0.7:
|
|
4718
6432
|
resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==}
|
|
4719
6433
|
engines: {node: '>= 0.4'}
|
|
@@ -4760,106 +6474,603 @@ packages:
|
|
|
4760
6474
|
resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==}
|
|
4761
6475
|
dev: true
|
|
4762
6476
|
|
|
6477
|
+
/isbot@3.6.10:
|
|
6478
|
+
resolution: {integrity: sha512-+I+2998oyP4oW9+OTQD8TS1r9P6wv10yejukj+Ksj3+UR5pUhsZN3f8W7ysq0p1qxpOVNbl5mCuv0bCaF8y5iQ==}
|
|
6479
|
+
engines: {node: '>=12'}
|
|
6480
|
+
dev: false
|
|
6481
|
+
|
|
4763
6482
|
/isexe@2.0.0:
|
|
4764
6483
|
resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
|
|
4765
6484
|
dev: true
|
|
4766
6485
|
|
|
4767
|
-
/
|
|
6486
|
+
/istanbul-lib-coverage@3.2.0:
|
|
4768
|
-
resolution: {integrity: sha512-
|
|
6487
|
+
resolution: {integrity: sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==}
|
|
6488
|
+
engines: {node: '>=8'}
|
|
4769
6489
|
dev: true
|
|
4770
6490
|
|
|
4771
|
-
/
|
|
6491
|
+
/istanbul-lib-instrument@5.2.1:
|
|
4772
|
-
resolution: {integrity: sha512-
|
|
6492
|
+
resolution: {integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==}
|
|
4773
|
-
|
|
4774
|
-
|
|
6493
|
+
engines: {node: '>=8'}
|
|
4775
|
-
resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==}
|
|
4776
|
-
hasBin: true
|
|
4777
6494
|
dependencies:
|
|
6495
|
+
'@babel/core': 7.21.8
|
|
6496
|
+
'@babel/parser': 7.21.8
|
|
6497
|
+
'@istanbuljs/schema': 0.1.3
|
|
6498
|
+
istanbul-lib-coverage: 3.2.0
|
|
4778
|
-
|
|
6499
|
+
semver: 6.3.0
|
|
6500
|
+
transitivePeerDependencies:
|
|
6501
|
+
- supports-color
|
|
4779
6502
|
dev: true
|
|
4780
6503
|
|
|
4781
|
-
/
|
|
6504
|
+
/istanbul-lib-report@3.0.0:
|
|
4782
|
-
resolution: {integrity: sha512-
|
|
6505
|
+
resolution: {integrity: sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==}
|
|
6506
|
+
engines: {node: '>=8'}
|
|
6507
|
+
dependencies:
|
|
6508
|
+
istanbul-lib-coverage: 3.2.0
|
|
4783
|
-
|
|
6509
|
+
make-dir: 3.1.0
|
|
6510
|
+
supports-color: 7.2.0
|
|
4784
6511
|
dev: true
|
|
4785
6512
|
|
|
4786
|
-
/
|
|
6513
|
+
/istanbul-lib-source-maps@4.0.1:
|
|
4787
|
-
resolution: {integrity: sha512-
|
|
6514
|
+
resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==}
|
|
4788
|
-
engines: {node: '>=
|
|
6515
|
+
engines: {node: '>=10'}
|
|
6516
|
+
dependencies:
|
|
4789
|
-
|
|
6517
|
+
debug: 4.3.4
|
|
6518
|
+
istanbul-lib-coverage: 3.2.0
|
|
6519
|
+
source-map: 0.6.1
|
|
6520
|
+
transitivePeerDependencies:
|
|
6521
|
+
- supports-color
|
|
4790
6522
|
dev: true
|
|
4791
6523
|
|
|
4792
|
-
/json-parse-even-better-errors@2.3.1:
|
|
4793
|
-
resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==}
|
|
4794
|
-
|
|
4795
|
-
/
|
|
6524
|
+
/istanbul-reports@3.1.5:
|
|
4796
|
-
resolution: {integrity: sha512-
|
|
6525
|
+
resolution: {integrity: sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==}
|
|
6526
|
+
engines: {node: '>=8'}
|
|
6527
|
+
dependencies:
|
|
6528
|
+
html-escaper: 2.0.2
|
|
6529
|
+
istanbul-lib-report: 3.0.0
|
|
4797
6530
|
dev: true
|
|
4798
6531
|
|
|
4799
|
-
/
|
|
6532
|
+
/jest-changed-files@29.5.0:
|
|
4800
|
-
resolution: {integrity: sha512-
|
|
6533
|
+
resolution: {integrity: sha512-IFG34IUMUaNBIxjQXF/iu7g6EcdMrGRRxaUSw92I/2g2YC6vCdTltl4nHvt7Ci5nSJwXIkCu8Ka1DKF+X7Z1Ag==}
|
|
6534
|
+
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
|
|
6535
|
+
dependencies:
|
|
6536
|
+
execa: 5.1.1
|
|
6537
|
+
p-limit: 3.1.0
|
|
4801
6538
|
dev: true
|
|
4802
6539
|
|
|
4803
|
-
/
|
|
6540
|
+
/jest-circus@29.5.0:
|
|
4804
|
-
resolution: {integrity: sha512-
|
|
6541
|
+
resolution: {integrity: sha512-gq/ongqeQKAplVxqJmbeUOJJKkW3dDNPY8PjhJ5G0lBRvu0e3EWGxGy5cI4LAGA7gV2UHCtWBI4EMXK8c9nQKA==}
|
|
4805
|
-
|
|
6542
|
+
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
|
|
4806
6543
|
dependencies:
|
|
6544
|
+
'@jest/environment': 29.5.0
|
|
6545
|
+
'@jest/expect': 29.5.0
|
|
6546
|
+
'@jest/test-result': 29.5.0
|
|
6547
|
+
'@jest/types': 29.5.0
|
|
6548
|
+
'@types/node': 20.2.1
|
|
6549
|
+
chalk: 4.1.2
|
|
6550
|
+
co: 4.6.0
|
|
6551
|
+
dedent: 0.7.0
|
|
6552
|
+
is-generator-fn: 2.1.0
|
|
6553
|
+
jest-each: 29.5.0
|
|
6554
|
+
jest-matcher-utils: 29.5.0
|
|
6555
|
+
jest-message-util: 29.5.0
|
|
6556
|
+
jest-runtime: 29.5.0
|
|
6557
|
+
jest-snapshot: 29.5.0
|
|
6558
|
+
jest-util: 29.5.0
|
|
4807
|
-
|
|
6559
|
+
p-limit: 3.1.0
|
|
6560
|
+
pretty-format: 29.5.0
|
|
6561
|
+
pure-rand: 6.0.2
|
|
6562
|
+
slash: 3.0.0
|
|
6563
|
+
stack-utils: 2.0.6
|
|
6564
|
+
transitivePeerDependencies:
|
|
6565
|
+
- supports-color
|
|
4808
6566
|
dev: true
|
|
4809
6567
|
|
|
4810
|
-
/
|
|
6568
|
+
/jest-cli@29.5.0:
|
|
4811
|
-
resolution: {integrity: sha512-
|
|
6569
|
+
resolution: {integrity: sha512-L1KcP1l4HtfwdxXNFCL5bmUbLQiKrakMUriBEcc1Vfz6gx31ORKdreuWvmQVBit+1ss9NNR3yxjwfwzZNdQXJw==}
|
|
4812
|
-
engines: {node:
|
|
6570
|
+
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
|
|
4813
6571
|
hasBin: true
|
|
6572
|
+
peerDependencies:
|
|
6573
|
+
node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0
|
|
6574
|
+
peerDependenciesMeta:
|
|
6575
|
+
node-notifier:
|
|
6576
|
+
optional: true
|
|
6577
|
+
dependencies:
|
|
6578
|
+
'@jest/core': 29.5.0
|
|
6579
|
+
'@jest/test-result': 29.5.0
|
|
6580
|
+
'@jest/types': 29.5.0
|
|
6581
|
+
chalk: 4.1.2
|
|
6582
|
+
exit: 0.1.2
|
|
6583
|
+
graceful-fs: 4.2.11
|
|
6584
|
+
import-local: 3.1.0
|
|
6585
|
+
jest-config: 29.5.0(@types/node@20.2.1)
|
|
6586
|
+
jest-util: 29.5.0
|
|
6587
|
+
jest-validate: 29.5.0
|
|
6588
|
+
prompts: 2.4.2
|
|
6589
|
+
yargs: 17.7.2
|
|
6590
|
+
transitivePeerDependencies:
|
|
6591
|
+
- '@types/node'
|
|
6592
|
+
- supports-color
|
|
6593
|
+
- ts-node
|
|
4814
6594
|
dev: true
|
|
4815
6595
|
|
|
4816
|
-
/
|
|
6596
|
+
/jest-config@29.5.0(@types/node@20.2.1):
|
|
4817
|
-
resolution: {integrity: sha512-
|
|
6597
|
+
resolution: {integrity: sha512-kvDUKBnNJPNBmFFOhDbm59iu1Fii1Q6SxyhXfvylq3UTHbg6o7j/g8k2dZyXWLvfdKB1vAPxNZnMgtKJcmu3kA==}
|
|
6598
|
+
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
|
|
6599
|
+
peerDependencies:
|
|
6600
|
+
'@types/node': '*'
|
|
4818
|
-
|
|
6601
|
+
ts-node: '>=9.0.0'
|
|
6602
|
+
peerDependenciesMeta:
|
|
6603
|
+
'@types/node':
|
|
6604
|
+
optional: true
|
|
6605
|
+
ts-node:
|
|
6606
|
+
optional: true
|
|
4819
6607
|
dependencies:
|
|
6608
|
+
'@babel/core': 7.21.8
|
|
6609
|
+
'@jest/test-sequencer': 29.5.0
|
|
6610
|
+
'@jest/types': 29.5.0
|
|
6611
|
+
'@types/node': 20.2.1
|
|
6612
|
+
babel-jest: 29.5.0(@babel/core@7.21.8)
|
|
6613
|
+
chalk: 4.1.2
|
|
6614
|
+
ci-info: 3.8.0
|
|
6615
|
+
deepmerge: 4.3.1
|
|
6616
|
+
glob: 7.2.3
|
|
6617
|
+
graceful-fs: 4.2.11
|
|
6618
|
+
jest-circus: 29.5.0
|
|
6619
|
+
jest-environment-node: 29.5.0
|
|
6620
|
+
jest-get-type: 29.4.3
|
|
6621
|
+
jest-regex-util: 29.4.3
|
|
6622
|
+
jest-resolve: 29.5.0
|
|
6623
|
+
jest-runner: 29.5.0
|
|
6624
|
+
jest-util: 29.5.0
|
|
6625
|
+
jest-validate: 29.5.0
|
|
6626
|
+
micromatch: 4.0.5
|
|
6627
|
+
parse-json: 5.2.0
|
|
6628
|
+
pretty-format: 29.5.0
|
|
6629
|
+
slash: 3.0.0
|
|
4820
|
-
|
|
6630
|
+
strip-json-comments: 3.1.1
|
|
6631
|
+
transitivePeerDependencies:
|
|
4821
|
-
|
|
6632
|
+
- supports-color
|
|
4822
6633
|
dev: true
|
|
4823
6634
|
|
|
4824
|
-
/
|
|
6635
|
+
/jest-diff@29.5.0:
|
|
4825
|
-
resolution: {integrity: sha512-
|
|
6636
|
+
resolution: {integrity: sha512-LtxijLLZBduXnHSniy0WMdaHjmQnt3g5sa16W4p0HqukYTTsyTW3GD1q41TyGl5YFXj/5B2U6dlh5FM1LIMgxw==}
|
|
4826
|
-
engines: {node:
|
|
6637
|
+
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
|
|
4827
|
-
|
|
6638
|
+
dependencies:
|
|
4828
|
-
|
|
6639
|
+
chalk: 4.1.2
|
|
4829
|
-
|
|
6640
|
+
diff-sequences: 29.4.3
|
|
4830
|
-
|
|
6641
|
+
jest-get-type: 29.4.3
|
|
6642
|
+
pretty-format: 29.5.0
|
|
4831
6643
|
dev: true
|
|
4832
6644
|
|
|
4833
|
-
/
|
|
6645
|
+
/jest-docblock@29.4.3:
|
|
4834
|
-
resolution: {integrity: sha512-
|
|
6646
|
+
resolution: {integrity: sha512-fzdTftThczeSD9nZ3fzA/4KkHtnmllawWrXO69vtI+L9WjEIuXWs4AmyME7lN5hU7dB0sHhuPfcKofRsUb/2Fg==}
|
|
6647
|
+
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
|
|
4835
6648
|
dependencies:
|
|
4836
|
-
|
|
6649
|
+
detect-newline: 3.1.0
|
|
4837
6650
|
dev: true
|
|
4838
6651
|
|
|
4839
|
-
/
|
|
6652
|
+
/jest-each@29.5.0:
|
|
4840
|
-
resolution: {integrity: sha512-+
|
|
6653
|
+
resolution: {integrity: sha512-HM5kIJ1BTnVt+DQZ2ALp3rzXEl+g726csObrW/jpEGl+CDSSQpOJJX2KE/vEg8cxcMXdyEPu6U4QX5eruQv5hA==}
|
|
4841
|
-
engines: {node:
|
|
6654
|
+
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
|
|
4842
6655
|
dependencies:
|
|
4843
|
-
|
|
6656
|
+
'@jest/types': 29.5.0
|
|
4844
|
-
|
|
6657
|
+
chalk: 4.1.2
|
|
6658
|
+
jest-get-type: 29.4.3
|
|
6659
|
+
jest-util: 29.5.0
|
|
6660
|
+
pretty-format: 29.5.0
|
|
4845
6661
|
dev: true
|
|
4846
6662
|
|
|
4847
|
-
/
|
|
6663
|
+
/jest-environment-node@29.5.0:
|
|
4848
|
-
resolution: {integrity: sha512-
|
|
6664
|
+
resolution: {integrity: sha512-ExxuIK/+yQ+6PRGaHkKewYtg6hto2uGCgvKdb2nfJfKXgZ17DfXjvbZ+jA1Qt9A8EQSfPnt5FKIfnOO3u1h9qw==}
|
|
4849
|
-
|
|
4850
|
-
/locate-path@6.0.0:
|
|
4851
|
-
resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==}
|
|
4852
|
-
engines: {node:
|
|
6665
|
+
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
|
|
4853
6666
|
dependencies:
|
|
6667
|
+
'@jest/environment': 29.5.0
|
|
6668
|
+
'@jest/fake-timers': 29.5.0
|
|
6669
|
+
'@jest/types': 29.5.0
|
|
6670
|
+
'@types/node': 20.2.1
|
|
4854
|
-
|
|
6671
|
+
jest-mock: 29.5.0
|
|
6672
|
+
jest-util: 29.5.0
|
|
4855
6673
|
dev: true
|
|
4856
6674
|
|
|
4857
|
-
/
|
|
6675
|
+
/jest-get-type@29.4.3:
|
|
4858
|
-
resolution: {integrity: sha512-
|
|
6676
|
+
resolution: {integrity: sha512-J5Xez4nRRMjk8emnTpWrlkyb9pfRQQanDrvWHhsR1+VUfbwxi30eVcZFlcdGInRibU4G5LwHXpI7IRHU0CY+gg==}
|
|
4859
|
-
engines: {node: ^
|
|
6677
|
+
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
|
|
6678
|
+
dev: true
|
|
6679
|
+
|
|
6680
|
+
/jest-haste-map@29.5.0:
|
|
6681
|
+
resolution: {integrity: sha512-IspOPnnBro8YfVYSw6yDRKh/TiCdRngjxeacCps1cQ9cgVN6+10JUcuJ1EabrgYLOATsIAigxA0rLR9x/YlrSA==}
|
|
6682
|
+
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
|
|
4860
|
-
dependencies:
|
|
6683
|
+
dependencies:
|
|
6684
|
+
'@jest/types': 29.5.0
|
|
6685
|
+
'@types/graceful-fs': 4.1.6
|
|
6686
|
+
'@types/node': 20.2.1
|
|
6687
|
+
anymatch: 3.1.3
|
|
6688
|
+
fb-watchman: 2.0.2
|
|
6689
|
+
graceful-fs: 4.2.11
|
|
6690
|
+
jest-regex-util: 29.4.3
|
|
6691
|
+
jest-util: 29.5.0
|
|
6692
|
+
jest-worker: 29.5.0
|
|
6693
|
+
micromatch: 4.0.5
|
|
6694
|
+
walker: 1.0.8
|
|
6695
|
+
optionalDependencies:
|
|
6696
|
+
fsevents: 2.3.2
|
|
6697
|
+
dev: true
|
|
6698
|
+
|
|
6699
|
+
/jest-leak-detector@29.5.0:
|
|
6700
|
+
resolution: {integrity: sha512-u9YdeeVnghBUtpN5mVxjID7KbkKE1QU4f6uUwuxiY0vYRi9BUCLKlPEZfDGR67ofdFmDz9oPAy2G92Ujrntmow==}
|
|
6701
|
+
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
|
|
6702
|
+
dependencies:
|
|
6703
|
+
jest-get-type: 29.4.3
|
|
6704
|
+
pretty-format: 29.5.0
|
|
6705
|
+
dev: true
|
|
6706
|
+
|
|
6707
|
+
/jest-matcher-utils@29.5.0:
|
|
6708
|
+
resolution: {integrity: sha512-lecRtgm/rjIK0CQ7LPQwzCs2VwW6WAahA55YBuI+xqmhm7LAaxokSB8C97yJeYyT+HvQkH741StzpU41wohhWw==}
|
|
6709
|
+
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
|
|
6710
|
+
dependencies:
|
|
6711
|
+
chalk: 4.1.2
|
|
6712
|
+
jest-diff: 29.5.0
|
|
6713
|
+
jest-get-type: 29.4.3
|
|
6714
|
+
pretty-format: 29.5.0
|
|
6715
|
+
dev: true
|
|
6716
|
+
|
|
6717
|
+
/jest-message-util@29.5.0:
|
|
6718
|
+
resolution: {integrity: sha512-Kijeg9Dag6CKtIDA7O21zNTACqD5MD/8HfIV8pdD94vFyFuer52SigdC3IQMhab3vACxXMiFk+yMHNdbqtyTGA==}
|
|
6719
|
+
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
|
|
6720
|
+
dependencies:
|
|
6721
|
+
'@babel/code-frame': 7.21.4
|
|
6722
|
+
'@jest/types': 29.5.0
|
|
6723
|
+
'@types/stack-utils': 2.0.1
|
|
6724
|
+
chalk: 4.1.2
|
|
6725
|
+
graceful-fs: 4.2.11
|
|
6726
|
+
micromatch: 4.0.5
|
|
6727
|
+
pretty-format: 29.5.0
|
|
6728
|
+
slash: 3.0.0
|
|
6729
|
+
stack-utils: 2.0.6
|
|
6730
|
+
dev: true
|
|
6731
|
+
|
|
6732
|
+
/jest-mock@29.5.0:
|
|
6733
|
+
resolution: {integrity: sha512-GqOzvdWDE4fAV2bWQLQCkujxYWL7RxjCnj71b5VhDAGOevB3qj3Ovg26A5NI84ZpODxyzaozXLOh2NCgkbvyaw==}
|
|
6734
|
+
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
|
|
6735
|
+
dependencies:
|
|
6736
|
+
'@jest/types': 29.5.0
|
|
6737
|
+
'@types/node': 20.2.1
|
|
6738
|
+
jest-util: 29.5.0
|
|
6739
|
+
dev: true
|
|
6740
|
+
|
|
6741
|
+
/jest-pnp-resolver@1.2.3(jest-resolve@29.5.0):
|
|
6742
|
+
resolution: {integrity: sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==}
|
|
6743
|
+
engines: {node: '>=6'}
|
|
6744
|
+
peerDependencies:
|
|
6745
|
+
jest-resolve: '*'
|
|
6746
|
+
peerDependenciesMeta:
|
|
6747
|
+
jest-resolve:
|
|
6748
|
+
optional: true
|
|
6749
|
+
dependencies:
|
|
6750
|
+
jest-resolve: 29.5.0
|
|
6751
|
+
dev: true
|
|
6752
|
+
|
|
6753
|
+
/jest-regex-util@29.4.3:
|
|
6754
|
+
resolution: {integrity: sha512-O4FglZaMmWXbGHSQInfXewIsd1LMn9p3ZXB/6r4FOkyhX2/iP/soMG98jGvk/A3HAN78+5VWcBGO0BJAPRh4kg==}
|
|
6755
|
+
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
|
|
6756
|
+
dev: true
|
|
6757
|
+
|
|
6758
|
+
/jest-resolve-dependencies@29.5.0:
|
|
6759
|
+
resolution: {integrity: sha512-sjV3GFr0hDJMBpYeUuGduP+YeCRbd7S/ck6IvL3kQ9cpySYKqcqhdLLC2rFwrcL7tz5vYibomBrsFYWkIGGjOg==}
|
|
6760
|
+
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
|
|
6761
|
+
dependencies:
|
|
6762
|
+
jest-regex-util: 29.4.3
|
|
6763
|
+
jest-snapshot: 29.5.0
|
|
6764
|
+
transitivePeerDependencies:
|
|
6765
|
+
- supports-color
|
|
6766
|
+
dev: true
|
|
6767
|
+
|
|
6768
|
+
/jest-resolve@29.5.0:
|
|
6769
|
+
resolution: {integrity: sha512-1TzxJ37FQq7J10jPtQjcc+MkCkE3GBpBecsSUWJ0qZNJpmg6m0D9/7II03yJulm3H/fvVjgqLh/k2eYg+ui52w==}
|
|
6770
|
+
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
|
|
6771
|
+
dependencies:
|
|
6772
|
+
chalk: 4.1.2
|
|
6773
|
+
graceful-fs: 4.2.11
|
|
6774
|
+
jest-haste-map: 29.5.0
|
|
6775
|
+
jest-pnp-resolver: 1.2.3(jest-resolve@29.5.0)
|
|
6776
|
+
jest-util: 29.5.0
|
|
6777
|
+
jest-validate: 29.5.0
|
|
6778
|
+
resolve: 1.22.2
|
|
6779
|
+
resolve.exports: 2.0.2
|
|
6780
|
+
slash: 3.0.0
|
|
6781
|
+
dev: true
|
|
6782
|
+
|
|
6783
|
+
/jest-runner@29.5.0:
|
|
6784
|
+
resolution: {integrity: sha512-m7b6ypERhFghJsslMLhydaXBiLf7+jXy8FwGRHO3BGV1mcQpPbwiqiKUR2zU2NJuNeMenJmlFZCsIqzJCTeGLQ==}
|
|
6785
|
+
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
|
|
6786
|
+
dependencies:
|
|
6787
|
+
'@jest/console': 29.5.0
|
|
6788
|
+
'@jest/environment': 29.5.0
|
|
6789
|
+
'@jest/test-result': 29.5.0
|
|
6790
|
+
'@jest/transform': 29.5.0
|
|
6791
|
+
'@jest/types': 29.5.0
|
|
6792
|
+
'@types/node': 20.2.1
|
|
6793
|
+
chalk: 4.1.2
|
|
6794
|
+
emittery: 0.13.1
|
|
6795
|
+
graceful-fs: 4.2.11
|
|
6796
|
+
jest-docblock: 29.4.3
|
|
6797
|
+
jest-environment-node: 29.5.0
|
|
6798
|
+
jest-haste-map: 29.5.0
|
|
6799
|
+
jest-leak-detector: 29.5.0
|
|
6800
|
+
jest-message-util: 29.5.0
|
|
6801
|
+
jest-resolve: 29.5.0
|
|
6802
|
+
jest-runtime: 29.5.0
|
|
6803
|
+
jest-util: 29.5.0
|
|
6804
|
+
jest-watcher: 29.5.0
|
|
6805
|
+
jest-worker: 29.5.0
|
|
6806
|
+
p-limit: 3.1.0
|
|
6807
|
+
source-map-support: 0.5.13
|
|
6808
|
+
transitivePeerDependencies:
|
|
6809
|
+
- supports-color
|
|
6810
|
+
dev: true
|
|
6811
|
+
|
|
6812
|
+
/jest-runtime@29.5.0:
|
|
6813
|
+
resolution: {integrity: sha512-1Hr6Hh7bAgXQP+pln3homOiEZtCDZFqwmle7Ew2j8OlbkIu6uE3Y/etJQG8MLQs3Zy90xrp2C0BRrtPHG4zryw==}
|
|
6814
|
+
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
|
|
6815
|
+
dependencies:
|
|
6816
|
+
'@jest/environment': 29.5.0
|
|
6817
|
+
'@jest/fake-timers': 29.5.0
|
|
6818
|
+
'@jest/globals': 29.5.0
|
|
6819
|
+
'@jest/source-map': 29.4.3
|
|
6820
|
+
'@jest/test-result': 29.5.0
|
|
6821
|
+
'@jest/transform': 29.5.0
|
|
6822
|
+
'@jest/types': 29.5.0
|
|
6823
|
+
'@types/node': 20.2.1
|
|
6824
|
+
chalk: 4.1.2
|
|
6825
|
+
cjs-module-lexer: 1.2.2
|
|
6826
|
+
collect-v8-coverage: 1.0.1
|
|
6827
|
+
glob: 7.2.3
|
|
6828
|
+
graceful-fs: 4.2.11
|
|
6829
|
+
jest-haste-map: 29.5.0
|
|
6830
|
+
jest-message-util: 29.5.0
|
|
6831
|
+
jest-mock: 29.5.0
|
|
6832
|
+
jest-regex-util: 29.4.3
|
|
6833
|
+
jest-resolve: 29.5.0
|
|
6834
|
+
jest-snapshot: 29.5.0
|
|
6835
|
+
jest-util: 29.5.0
|
|
6836
|
+
slash: 3.0.0
|
|
6837
|
+
strip-bom: 4.0.0
|
|
6838
|
+
transitivePeerDependencies:
|
|
6839
|
+
- supports-color
|
|
6840
|
+
dev: true
|
|
6841
|
+
|
|
6842
|
+
/jest-snapshot@29.5.0:
|
|
6843
|
+
resolution: {integrity: sha512-x7Wolra5V0tt3wRs3/ts3S6ciSQVypgGQlJpz2rsdQYoUKxMxPNaoHMGJN6qAuPJqS+2iQ1ZUn5kl7HCyls84g==}
|
|
6844
|
+
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
|
|
6845
|
+
dependencies:
|
|
6846
|
+
'@babel/core': 7.21.8
|
|
6847
|
+
'@babel/generator': 7.21.5
|
|
6848
|
+
'@babel/plugin-syntax-jsx': 7.21.4(@babel/core@7.21.8)
|
|
6849
|
+
'@babel/plugin-syntax-typescript': 7.21.4(@babel/core@7.21.8)
|
|
6850
|
+
'@babel/traverse': 7.21.5
|
|
6851
|
+
'@babel/types': 7.21.5
|
|
6852
|
+
'@jest/expect-utils': 29.5.0
|
|
6853
|
+
'@jest/transform': 29.5.0
|
|
6854
|
+
'@jest/types': 29.5.0
|
|
6855
|
+
'@types/babel__traverse': 7.18.5
|
|
6856
|
+
'@types/prettier': 2.7.2
|
|
6857
|
+
babel-preset-current-node-syntax: 1.0.1(@babel/core@7.21.8)
|
|
6858
|
+
chalk: 4.1.2
|
|
6859
|
+
expect: 29.5.0
|
|
6860
|
+
graceful-fs: 4.2.11
|
|
6861
|
+
jest-diff: 29.5.0
|
|
6862
|
+
jest-get-type: 29.4.3
|
|
6863
|
+
jest-matcher-utils: 29.5.0
|
|
6864
|
+
jest-message-util: 29.5.0
|
|
6865
|
+
jest-util: 29.5.0
|
|
6866
|
+
natural-compare: 1.4.0
|
|
6867
|
+
pretty-format: 29.5.0
|
|
6868
|
+
semver: 7.5.1
|
|
6869
|
+
transitivePeerDependencies:
|
|
6870
|
+
- supports-color
|
|
6871
|
+
dev: true
|
|
6872
|
+
|
|
6873
|
+
/jest-util@29.5.0:
|
|
6874
|
+
resolution: {integrity: sha512-RYMgG/MTadOr5t8KdhejfvUU82MxsCu5MF6KuDUHl+NuwzUt+Sm6jJWxTJVrDR1j5M/gJVCPKQEpWXY+yIQ6lQ==}
|
|
6875
|
+
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
|
|
6876
|
+
dependencies:
|
|
6877
|
+
'@jest/types': 29.5.0
|
|
6878
|
+
'@types/node': 20.2.1
|
|
6879
|
+
chalk: 4.1.2
|
|
6880
|
+
ci-info: 3.8.0
|
|
6881
|
+
graceful-fs: 4.2.11
|
|
6882
|
+
picomatch: 2.3.1
|
|
6883
|
+
dev: true
|
|
6884
|
+
|
|
6885
|
+
/jest-validate@29.5.0:
|
|
6886
|
+
resolution: {integrity: sha512-pC26etNIi+y3HV8A+tUGr/lph9B18GnzSRAkPaaZJIE1eFdiYm6/CewuiJQ8/RlfHd1u/8Ioi8/sJ+CmbA+zAQ==}
|
|
6887
|
+
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
|
|
6888
|
+
dependencies:
|
|
6889
|
+
'@jest/types': 29.5.0
|
|
6890
|
+
camelcase: 6.3.0
|
|
6891
|
+
chalk: 4.1.2
|
|
6892
|
+
jest-get-type: 29.4.3
|
|
6893
|
+
leven: 3.1.0
|
|
6894
|
+
pretty-format: 29.5.0
|
|
6895
|
+
dev: true
|
|
6896
|
+
|
|
6897
|
+
/jest-watcher@29.5.0:
|
|
6898
|
+
resolution: {integrity: sha512-KmTojKcapuqYrKDpRwfqcQ3zjMlwu27SYext9pt4GlF5FUgB+7XE1mcCnSm6a4uUpFyQIkb6ZhzZvHl+jiBCiA==}
|
|
6899
|
+
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
|
|
6900
|
+
dependencies:
|
|
6901
|
+
'@jest/test-result': 29.5.0
|
|
6902
|
+
'@jest/types': 29.5.0
|
|
6903
|
+
'@types/node': 20.2.1
|
|
6904
|
+
ansi-escapes: 4.3.2
|
|
6905
|
+
chalk: 4.1.2
|
|
6906
|
+
emittery: 0.13.1
|
|
6907
|
+
jest-util: 29.5.0
|
|
6908
|
+
string-length: 4.0.2
|
|
6909
|
+
dev: true
|
|
6910
|
+
|
|
6911
|
+
/jest-worker@29.5.0:
|
|
6912
|
+
resolution: {integrity: sha512-NcrQnevGoSp4b5kg+akIpthoAFHxPBcb5P6mYPY0fUNT+sSvmtu6jlkEle3anczUKIKEbMxFimk9oTP/tpIPgA==}
|
|
6913
|
+
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
|
|
6914
|
+
dependencies:
|
|
6915
|
+
'@types/node': 20.2.1
|
|
6916
|
+
jest-util: 29.5.0
|
|
6917
|
+
merge-stream: 2.0.0
|
|
6918
|
+
supports-color: 8.1.1
|
|
6919
|
+
dev: true
|
|
6920
|
+
|
|
6921
|
+
/jest@29.5.0:
|
|
6922
|
+
resolution: {integrity: sha512-juMg3he2uru1QoXX078zTa7pO85QyB9xajZc6bU+d9yEGwrKX6+vGmJQ3UdVZsvTEUARIdObzH68QItim6OSSQ==}
|
|
6923
|
+
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
|
|
6924
|
+
hasBin: true
|
|
6925
|
+
peerDependencies:
|
|
6926
|
+
node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0
|
|
6927
|
+
peerDependenciesMeta:
|
|
6928
|
+
node-notifier:
|
|
6929
|
+
optional: true
|
|
6930
|
+
dependencies:
|
|
6931
|
+
'@jest/core': 29.5.0
|
|
6932
|
+
'@jest/types': 29.5.0
|
|
6933
|
+
import-local: 3.1.0
|
|
6934
|
+
jest-cli: 29.5.0
|
|
6935
|
+
transitivePeerDependencies:
|
|
6936
|
+
- '@types/node'
|
|
6937
|
+
- supports-color
|
|
6938
|
+
- ts-node
|
|
6939
|
+
dev: true
|
|
6940
|
+
|
|
6941
|
+
/js-sdsl@4.4.0:
|
|
6942
|
+
resolution: {integrity: sha512-FfVSdx6pJ41Oa+CF7RDaFmTnCaFhua+SNYQX74riGOpl96x+2jQCqEfQ2bnXu/5DPCqlRuiqyvTJM0Qjz26IVg==}
|
|
6943
|
+
dev: true
|
|
6944
|
+
|
|
6945
|
+
/js-tokens@4.0.0:
|
|
6946
|
+
resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
|
|
6947
|
+
|
|
6948
|
+
/js-yaml@3.14.1:
|
|
6949
|
+
resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==}
|
|
6950
|
+
hasBin: true
|
|
6951
|
+
dependencies:
|
|
6952
|
+
argparse: 1.0.10
|
|
6953
|
+
esprima: 4.0.1
|
|
6954
|
+
dev: true
|
|
6955
|
+
|
|
6956
|
+
/js-yaml@4.1.0:
|
|
6957
|
+
resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==}
|
|
6958
|
+
hasBin: true
|
|
6959
|
+
dependencies:
|
|
6960
|
+
argparse: 2.0.1
|
|
6961
|
+
dev: true
|
|
6962
|
+
|
|
6963
|
+
/jsesc@0.5.0:
|
|
6964
|
+
resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==}
|
|
6965
|
+
hasBin: true
|
|
6966
|
+
dev: true
|
|
6967
|
+
|
|
6968
|
+
/jsesc@2.5.2:
|
|
6969
|
+
resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==}
|
|
6970
|
+
engines: {node: '>=4'}
|
|
6971
|
+
hasBin: true
|
|
6972
|
+
dev: true
|
|
6973
|
+
|
|
6974
|
+
/json-diff@0.9.0:
|
|
6975
|
+
resolution: {integrity: sha512-cVnggDrVkAAA3OvFfHpFEhOnmcsUpleEKq4d4O8sQWWSH40MBrWstKigVB1kGrgLWzuom+7rRdaCsnBD6VyObQ==}
|
|
6976
|
+
hasBin: true
|
|
6977
|
+
dependencies:
|
|
6978
|
+
cli-color: 2.0.3
|
|
6979
|
+
difflib: 0.2.4
|
|
6980
|
+
dreamopt: 0.8.0
|
|
6981
|
+
dev: true
|
|
6982
|
+
|
|
6983
|
+
/json-parse-even-better-errors@2.3.1:
|
|
6984
|
+
resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==}
|
|
6985
|
+
dev: true
|
|
6986
|
+
|
|
6987
|
+
/json-schema-traverse@0.4.1:
|
|
6988
|
+
resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==}
|
|
6989
|
+
dev: true
|
|
6990
|
+
|
|
6991
|
+
/json-stable-stringify-without-jsonify@1.0.1:
|
|
6992
|
+
resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==}
|
|
6993
|
+
dev: true
|
|
6994
|
+
|
|
6995
|
+
/json5@1.0.2:
|
|
6996
|
+
resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==}
|
|
6997
|
+
hasBin: true
|
|
6998
|
+
dependencies:
|
|
6999
|
+
minimist: 1.2.8
|
|
7000
|
+
dev: true
|
|
7001
|
+
|
|
7002
|
+
/json5@2.2.3:
|
|
7003
|
+
resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==}
|
|
7004
|
+
engines: {node: '>=6'}
|
|
7005
|
+
hasBin: true
|
|
7006
|
+
dev: true
|
|
7007
|
+
|
|
7008
|
+
/jsonfile@6.1.0:
|
|
7009
|
+
resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==}
|
|
7010
|
+
dependencies:
|
|
7011
|
+
universalify: 2.0.0
|
|
7012
|
+
optionalDependencies:
|
|
7013
|
+
graceful-fs: 4.2.11
|
|
7014
|
+
dev: true
|
|
7015
|
+
|
|
7016
|
+
/jsx-ast-utils@3.3.3:
|
|
7017
|
+
resolution: {integrity: sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw==}
|
|
7018
|
+
engines: {node: '>=4.0'}
|
|
7019
|
+
dependencies:
|
|
7020
|
+
array-includes: 3.1.6
|
|
7021
|
+
object.assign: 4.1.4
|
|
7022
|
+
dev: true
|
|
7023
|
+
|
|
7024
|
+
/kleur@3.0.3:
|
|
7025
|
+
resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==}
|
|
7026
|
+
engines: {node: '>=6'}
|
|
7027
|
+
dev: true
|
|
7028
|
+
|
|
7029
|
+
/kleur@4.1.5:
|
|
7030
|
+
resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==}
|
|
7031
|
+
engines: {node: '>=6'}
|
|
7032
|
+
dev: true
|
|
7033
|
+
|
|
7034
|
+
/language-subtag-registry@0.3.22:
|
|
7035
|
+
resolution: {integrity: sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==}
|
|
7036
|
+
dev: true
|
|
7037
|
+
|
|
7038
|
+
/language-tags@1.0.5:
|
|
7039
|
+
resolution: {integrity: sha512-qJhlO9cGXi6hBGKoxEG/sKZDAHD5Hnu9Hs4WbOY3pCWXDhw0N8x1NenNzm2EnNLkLkk7J2SdxAkDSbb6ftT+UQ==}
|
|
7040
|
+
dependencies:
|
|
7041
|
+
language-subtag-registry: 0.3.22
|
|
7042
|
+
dev: true
|
|
7043
|
+
|
|
7044
|
+
/leven@3.1.0:
|
|
7045
|
+
resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==}
|
|
7046
|
+
engines: {node: '>=6'}
|
|
7047
|
+
dev: true
|
|
7048
|
+
|
|
7049
|
+
/levn@0.4.1:
|
|
7050
|
+
resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==}
|
|
7051
|
+
engines: {node: '>= 0.8.0'}
|
|
7052
|
+
dependencies:
|
|
7053
|
+
prelude-ls: 1.2.1
|
|
7054
|
+
type-check: 0.4.0
|
|
7055
|
+
dev: true
|
|
7056
|
+
|
|
7057
|
+
/lines-and-columns@1.2.4:
|
|
7058
|
+
resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
|
|
7059
|
+
dev: true
|
|
7060
|
+
|
|
7061
|
+
/locate-path@5.0.0:
|
|
7062
|
+
resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==}
|
|
7063
|
+
engines: {node: '>=8'}
|
|
7064
|
+
dependencies:
|
|
7065
|
+
p-locate: 4.1.0
|
|
7066
|
+
dev: true
|
|
7067
|
+
|
|
7068
|
+
/locate-path@6.0.0:
|
|
7069
|
+
resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==}
|
|
7070
|
+
engines: {node: '>=10'}
|
|
7071
|
+
dependencies:
|
|
4861
|
-
p-locate:
|
|
7072
|
+
p-locate: 5.0.0
|
|
4862
|
-
dev:
|
|
7073
|
+
dev: true
|
|
4863
7074
|
|
|
4864
7075
|
/lodash.debounce@4.0.8:
|
|
4865
7076
|
resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==}
|
|
@@ -4869,6 +7080,10 @@ packages:
|
|
|
4869
7080
|
resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
|
|
4870
7081
|
dev: true
|
|
4871
7082
|
|
|
7083
|
+
/lodash.throttle@4.1.1:
|
|
7084
|
+
resolution: {integrity: sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==}
|
|
7085
|
+
dev: true
|
|
7086
|
+
|
|
4872
7087
|
/lodash@4.17.21:
|
|
4873
7088
|
resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==}
|
|
4874
7089
|
dev: true
|
|
@@ -4890,40 +7105,69 @@ packages:
|
|
|
4890
7105
|
engines: {node: '>=10'}
|
|
4891
7106
|
dependencies:
|
|
4892
7107
|
yallist: 4.0.0
|
|
7108
|
+
dev: true
|
|
4893
7109
|
|
|
4894
|
-
/lru-
|
|
7110
|
+
/lru-queue@0.1.0:
|
|
4895
|
-
resolution: {integrity: sha512-
|
|
7111
|
+
resolution: {integrity: sha512-BpdYkt9EvGl8OfWHDQPISVpcl5xZthb+XPsbELj5AQXxIC8IriDZIQYjBJPEm5rS420sjZ0TLEzRcq5KdBhYrQ==}
|
|
7112
|
+
dependencies:
|
|
4896
|
-
|
|
7113
|
+
es5-ext: 0.10.62
|
|
4897
|
-
dev:
|
|
7114
|
+
dev: true
|
|
4898
7115
|
|
|
7116
|
+
/magic-string@0.25.9:
|
|
7117
|
+
resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==}
|
|
7118
|
+
dependencies:
|
|
7119
|
+
sourcemap-codec: 1.4.8
|
|
7120
|
+
dev: true
|
|
7121
|
+
|
|
4899
|
-
/
|
|
7122
|
+
/make-dir@3.1.0:
|
|
4900
|
-
resolution: {integrity: sha512-
|
|
7123
|
+
resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==}
|
|
4901
7124
|
engines: {node: '>=8'}
|
|
7125
|
+
dependencies:
|
|
7126
|
+
semver: 6.3.0
|
|
4902
|
-
dev:
|
|
7127
|
+
dev: true
|
|
4903
7128
|
|
|
4904
|
-
/
|
|
7129
|
+
/makeerror@1.0.12:
|
|
4905
|
-
resolution: {integrity: sha512-
|
|
7130
|
+
resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==}
|
|
4906
|
-
engines: {node: '>=16.10'}
|
|
4907
|
-
dependencies:
|
|
7131
|
+
dependencies:
|
|
4908
|
-
'@types/minimist': 1.2.2
|
|
4909
|
-
camelcase-keys: 8.0.2
|
|
4910
|
-
decamelize: 6.0.0
|
|
4911
|
-
decamelize-keys: 2.0.1
|
|
4912
|
-
hard-rejection: 2.1.0
|
|
4913
|
-
minimist-options: 4.1.0
|
|
4914
|
-
normalize-package-data: 5.0.0
|
|
4915
|
-
read-pkg-up: 9.1.0
|
|
4916
|
-
|
|
7132
|
+
tmpl: 1.0.5
|
|
4917
|
-
trim-newlines: 5.0.0
|
|
4918
|
-
type-fest: 3.11.0
|
|
4919
|
-
yargs-parser: 21.1.1
|
|
4920
|
-
dev:
|
|
7133
|
+
dev: true
|
|
7134
|
+
|
|
7135
|
+
/media-typer@0.3.0:
|
|
7136
|
+
resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==}
|
|
7137
|
+
engines: {node: '>= 0.6'}
|
|
7138
|
+
dev: true
|
|
7139
|
+
|
|
7140
|
+
/memoizee@0.4.15:
|
|
7141
|
+
resolution: {integrity: sha512-UBWmJpLZd5STPm7PMUlOw/TSy972M+z8gcyQ5veOnSDRREz/0bmpyTfKt3/51DhEBqCZQn1udM/5flcSPYhkdQ==}
|
|
7142
|
+
dependencies:
|
|
7143
|
+
d: 1.0.1
|
|
7144
|
+
es5-ext: 0.10.62
|
|
7145
|
+
es6-weak-map: 2.0.3
|
|
7146
|
+
event-emitter: 0.3.5
|
|
7147
|
+
is-promise: 2.2.2
|
|
7148
|
+
lru-queue: 0.1.0
|
|
7149
|
+
next-tick: 1.1.0
|
|
7150
|
+
timers-ext: 0.1.7
|
|
7151
|
+
dev: true
|
|
7152
|
+
|
|
7153
|
+
/merge-descriptors@1.0.1:
|
|
7154
|
+
resolution: {integrity: sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==}
|
|
7155
|
+
dev: true
|
|
7156
|
+
|
|
7157
|
+
/merge-stream@2.0.0:
|
|
7158
|
+
resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==}
|
|
7159
|
+
dev: true
|
|
4921
7160
|
|
|
4922
7161
|
/merge2@1.4.1:
|
|
4923
7162
|
resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
|
|
4924
7163
|
engines: {node: '>= 8'}
|
|
4925
7164
|
dev: true
|
|
4926
7165
|
|
|
7166
|
+
/methods@1.1.2:
|
|
7167
|
+
resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==}
|
|
7168
|
+
engines: {node: '>= 0.6'}
|
|
7169
|
+
dev: true
|
|
7170
|
+
|
|
4927
7171
|
/micromatch@4.0.5:
|
|
4928
7172
|
resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==}
|
|
4929
7173
|
engines: {node: '>=8.6'}
|
|
@@ -4935,19 +7179,61 @@ packages:
|
|
|
4935
7179
|
/mime-db@1.52.0:
|
|
4936
7180
|
resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==}
|
|
4937
7181
|
engines: {node: '>= 0.6'}
|
|
4938
|
-
dev:
|
|
7182
|
+
dev: true
|
|
4939
7183
|
|
|
4940
7184
|
/mime-types@2.1.35:
|
|
4941
7185
|
resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==}
|
|
4942
7186
|
engines: {node: '>= 0.6'}
|
|
4943
7187
|
dependencies:
|
|
4944
7188
|
mime-db: 1.52.0
|
|
4945
|
-
dev:
|
|
7189
|
+
dev: true
|
|
4946
7190
|
|
|
4947
|
-
/
|
|
7191
|
+
/mime@1.6.0:
|
|
4948
|
-
resolution: {integrity: sha512-
|
|
7192
|
+
resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==}
|
|
4949
7193
|
engines: {node: '>=4'}
|
|
7194
|
+
hasBin: true
|
|
4950
|
-
dev:
|
|
7195
|
+
dev: true
|
|
7196
|
+
|
|
7197
|
+
/mime@3.0.0:
|
|
7198
|
+
resolution: {integrity: sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==}
|
|
7199
|
+
engines: {node: '>=10.0.0'}
|
|
7200
|
+
hasBin: true
|
|
7201
|
+
dev: true
|
|
7202
|
+
|
|
7203
|
+
/mimic-fn@2.1.0:
|
|
7204
|
+
resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==}
|
|
7205
|
+
engines: {node: '>=6'}
|
|
7206
|
+
dev: true
|
|
7207
|
+
|
|
7208
|
+
/mimic-response@3.1.0:
|
|
7209
|
+
resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==}
|
|
7210
|
+
engines: {node: '>=10'}
|
|
7211
|
+
dev: true
|
|
7212
|
+
|
|
7213
|
+
/miniflare@3.0.1:
|
|
7214
|
+
resolution: {integrity: sha512-aLOB8d26lOTn493GOv1LmpGHVLSxmeT4MixPG/k3Ze10j0wDKnMj8wsFgbZ6Q4cr1N4faf8O3IbNRJuQ+rLoJA==}
|
|
7215
|
+
engines: {node: '>=16.13'}
|
|
7216
|
+
dependencies:
|
|
7217
|
+
acorn: 8.8.2
|
|
7218
|
+
acorn-walk: 8.2.0
|
|
7219
|
+
better-sqlite3: 8.4.0
|
|
7220
|
+
capnp-ts: 0.7.0
|
|
7221
|
+
exit-hook: 2.2.1
|
|
7222
|
+
glob-to-regexp: 0.4.1
|
|
7223
|
+
http-cache-semantics: 4.1.1
|
|
7224
|
+
kleur: 4.1.5
|
|
7225
|
+
source-map-support: 0.5.21
|
|
7226
|
+
stoppable: 1.1.0
|
|
7227
|
+
undici: 5.22.1
|
|
7228
|
+
workerd: 1.20230518.0
|
|
7229
|
+
ws: 8.13.0
|
|
7230
|
+
youch: 3.2.3
|
|
7231
|
+
zod: 3.21.4
|
|
7232
|
+
transitivePeerDependencies:
|
|
7233
|
+
- bufferutil
|
|
7234
|
+
- supports-color
|
|
7235
|
+
- utf-8-validate
|
|
7236
|
+
dev: true
|
|
4951
7237
|
|
|
4952
7238
|
/minimatch@3.1.2:
|
|
4953
7239
|
resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
|
|
@@ -4955,31 +7241,54 @@ packages:
|
|
|
4955
7241
|
brace-expansion: 1.1.11
|
|
4956
7242
|
dev: true
|
|
4957
7243
|
|
|
4958
|
-
/
|
|
7244
|
+
/minimatch@5.1.6:
|
|
4959
|
-
resolution: {integrity: sha512-
|
|
7245
|
+
resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==}
|
|
4960
|
-
engines: {node: '>=
|
|
7246
|
+
engines: {node: '>=10'}
|
|
4961
7247
|
dependencies:
|
|
4962
|
-
arrify: 1.0.1
|
|
4963
|
-
|
|
7248
|
+
brace-expansion: 2.0.1
|
|
4964
|
-
kind-of: 6.0.3
|
|
4965
|
-
dev:
|
|
7249
|
+
dev: true
|
|
7250
|
+
|
|
7251
|
+
/minimatch@7.4.6:
|
|
7252
|
+
resolution: {integrity: sha512-sBz8G/YjVniEz6lKPNpKxXwazJe4c19fEfV2GDMX6AjFz+MX9uDWIZW8XreVhkFW3fkIdTv/gxWr/Kks5FFAVw==}
|
|
7253
|
+
engines: {node: '>=10'}
|
|
7254
|
+
dependencies:
|
|
7255
|
+
brace-expansion: 2.0.1
|
|
7256
|
+
dev: true
|
|
4966
7257
|
|
|
4967
7258
|
/minimist@1.2.8:
|
|
4968
7259
|
resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==}
|
|
4969
7260
|
dev: true
|
|
4970
7261
|
|
|
7262
|
+
/mkdirp-classic@0.5.3:
|
|
7263
|
+
resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==}
|
|
7264
|
+
dev: true
|
|
7265
|
+
|
|
7266
|
+
/ms@2.0.0:
|
|
7267
|
+
resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==}
|
|
7268
|
+
dev: true
|
|
7269
|
+
|
|
4971
7270
|
/ms@2.1.2:
|
|
4972
7271
|
resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
|
|
4973
7272
|
dev: true
|
|
4974
7273
|
|
|
4975
7274
|
/ms@2.1.3:
|
|
4976
7275
|
resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
|
|
7276
|
+
dev: true
|
|
7277
|
+
|
|
7278
|
+
/mustache@4.2.0:
|
|
7279
|
+
resolution: {integrity: sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ==}
|
|
7280
|
+
hasBin: true
|
|
7281
|
+
dev: true
|
|
4977
7282
|
|
|
4978
7283
|
/nanoid@3.3.6:
|
|
4979
7284
|
resolution: {integrity: sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==}
|
|
4980
7285
|
engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
|
|
4981
7286
|
hasBin: true
|
|
4982
|
-
dev:
|
|
7287
|
+
dev: true
|
|
7288
|
+
|
|
7289
|
+
/napi-build-utils@1.0.2:
|
|
7290
|
+
resolution: {integrity: sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==}
|
|
7291
|
+
dev: true
|
|
4983
7292
|
|
|
4984
7293
|
/natural-compare-lite@1.4.0:
|
|
4985
7294
|
resolution: {integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==}
|
|
@@ -4989,37 +7298,56 @@ packages:
|
|
|
4989
7298
|
resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
|
|
4990
7299
|
dev: true
|
|
4991
7300
|
|
|
4992
|
-
/
|
|
7301
|
+
/negotiator@0.6.3:
|
|
7302
|
+
resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==}
|
|
7303
|
+
engines: {node: '>= 0.6'}
|
|
7304
|
+
dev: true
|
|
7305
|
+
|
|
7306
|
+
/next-tick@1.1.0:
|
|
4993
|
-
resolution: {integrity: sha512-
|
|
7307
|
+
resolution: {integrity: sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==}
|
|
7308
|
+
dev: true
|
|
4994
7309
|
|
|
4995
|
-
/
|
|
7310
|
+
/node-abi@3.40.0:
|
|
4996
|
-
resolution: {integrity: sha512-
|
|
7311
|
+
resolution: {integrity: sha512-zNy02qivjjRosswoYmPi8hIKJRr8MpQyeKT6qlcq/OnOgA3Rhoae+IYOqsM9V5+JnHWmxKnWOT2GxvtqdtOCXA==}
|
|
4997
7312
|
engines: {node: '>=10'}
|
|
4998
7313
|
dependencies:
|
|
4999
|
-
hosted-git-info: 4.1.0
|
|
5000
|
-
is-core-module: 2.12.1
|
|
5001
7314
|
semver: 7.5.1
|
|
5002
|
-
validate-npm-package-license: 3.0.4
|
|
5003
|
-
dev:
|
|
7315
|
+
dev: true
|
|
5004
7316
|
|
|
7317
|
+
/node-forge@1.3.1:
|
|
7318
|
+
resolution: {integrity: sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==}
|
|
7319
|
+
engines: {node: '>= 6.13.0'}
|
|
7320
|
+
dev: true
|
|
7321
|
+
|
|
7322
|
+
/node-int64@0.4.0:
|
|
7323
|
+
resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==}
|
|
7324
|
+
dev: true
|
|
7325
|
+
|
|
7326
|
+
/node-releases@2.0.10:
|
|
7327
|
+
resolution: {integrity: sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==}
|
|
7328
|
+
dev: true
|
|
7329
|
+
|
|
7330
|
+
/node-watch@0.7.3:
|
|
7331
|
+
resolution: {integrity: sha512-3l4E8uMPY1HdMMryPRUAl+oIHtXtyiTlIiESNSVSNxcPfzAFzeTbXFQkZfAwBbo0B1qMSG8nUABx+Gd+YrbKrQ==}
|
|
7332
|
+
engines: {node: '>=6'}
|
|
7333
|
+
dev: true
|
|
7334
|
+
|
|
5005
|
-
/normalize-
|
|
7335
|
+
/normalize-path@3.0.0:
|
|
5006
|
-
resolution: {integrity: sha512-
|
|
7336
|
+
resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
|
|
5007
|
-
engines: {node:
|
|
7337
|
+
engines: {node: '>=0.10.0'}
|
|
5008
|
-
dependencies:
|
|
5009
|
-
hosted-git-info: 6.1.1
|
|
5010
|
-
is-core-module: 2.12.1
|
|
5011
|
-
semver: 7.5.1
|
|
5012
|
-
validate-npm-package-license: 3.0.4
|
|
5013
|
-
dev:
|
|
7338
|
+
dev: true
|
|
5014
7339
|
|
|
5015
7340
|
/normalize-range@0.1.2:
|
|
5016
7341
|
resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==}
|
|
5017
7342
|
engines: {node: '>=0.10.0'}
|
|
5018
|
-
dev:
|
|
7343
|
+
dev: true
|
|
5019
7344
|
|
|
5020
|
-
/
|
|
7345
|
+
/npm-run-path@4.0.1:
|
|
5021
|
-
resolution: {integrity: sha512-
|
|
7346
|
+
resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==}
|
|
7347
|
+
engines: {node: '>=8'}
|
|
7348
|
+
dependencies:
|
|
7349
|
+
path-key: 3.1.1
|
|
5022
|
-
dev:
|
|
7350
|
+
dev: true
|
|
5023
7351
|
|
|
5024
7352
|
/object-assign@4.1.1:
|
|
5025
7353
|
resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
|
|
@@ -5086,12 +7414,30 @@ packages:
|
|
|
5086
7414
|
es-abstract: 1.21.2
|
|
5087
7415
|
dev: true
|
|
5088
7416
|
|
|
7417
|
+
/obuf@1.1.2:
|
|
7418
|
+
resolution: {integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==}
|
|
7419
|
+
dev: false
|
|
7420
|
+
|
|
7421
|
+
/on-finished@2.4.1:
|
|
7422
|
+
resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==}
|
|
7423
|
+
engines: {node: '>= 0.8'}
|
|
7424
|
+
dependencies:
|
|
7425
|
+
ee-first: 1.1.1
|
|
7426
|
+
dev: true
|
|
7427
|
+
|
|
5089
7428
|
/once@1.4.0:
|
|
5090
7429
|
resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
|
|
5091
7430
|
dependencies:
|
|
5092
7431
|
wrappy: 1.0.2
|
|
5093
7432
|
dev: true
|
|
5094
7433
|
|
|
7434
|
+
/onetime@5.1.2:
|
|
7435
|
+
resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==}
|
|
7436
|
+
engines: {node: '>=6'}
|
|
7437
|
+
dependencies:
|
|
7438
|
+
mimic-fn: 2.1.0
|
|
7439
|
+
dev: true
|
|
7440
|
+
|
|
5095
7441
|
/optionator@0.9.1:
|
|
5096
7442
|
resolution: {integrity: sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==}
|
|
5097
7443
|
engines: {node: '>= 0.8.0'}
|
|
@@ -5104,6 +7450,13 @@ packages:
|
|
|
5104
7450
|
word-wrap: 1.2.3
|
|
5105
7451
|
dev: true
|
|
5106
7452
|
|
|
7453
|
+
/p-limit@2.3.0:
|
|
7454
|
+
resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==}
|
|
7455
|
+
engines: {node: '>=6'}
|
|
7456
|
+
dependencies:
|
|
7457
|
+
p-try: 2.2.0
|
|
7458
|
+
dev: true
|
|
7459
|
+
|
|
5107
7460
|
/p-limit@3.1.0:
|
|
5108
7461
|
resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==}
|
|
5109
7462
|
engines: {node: '>=10'}
|
|
@@ -5111,12 +7464,12 @@ packages:
|
|
|
5111
7464
|
yocto-queue: 0.1.0
|
|
5112
7465
|
dev: true
|
|
5113
7466
|
|
|
5114
|
-
/p-
|
|
7467
|
+
/p-locate@4.1.0:
|
|
5115
|
-
resolution: {integrity: sha512-
|
|
7468
|
+
resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==}
|
|
5116
|
-
engines: {node:
|
|
7469
|
+
engines: {node: '>=8'}
|
|
5117
7470
|
dependencies:
|
|
5118
|
-
|
|
7471
|
+
p-limit: 2.3.0
|
|
5119
|
-
dev:
|
|
7472
|
+
dev: true
|
|
5120
7473
|
|
|
5121
7474
|
/p-locate@5.0.0:
|
|
5122
7475
|
resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==}
|
|
@@ -5125,12 +7478,10 @@ packages:
|
|
|
5125
7478
|
p-limit: 3.1.0
|
|
5126
7479
|
dev: true
|
|
5127
7480
|
|
|
5128
|
-
/p-
|
|
7481
|
+
/p-try@2.2.0:
|
|
5129
|
-
resolution: {integrity: sha512-
|
|
7482
|
+
resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==}
|
|
5130
|
-
engines: {node:
|
|
7483
|
+
engines: {node: '>=6'}
|
|
5131
|
-
dependencies:
|
|
5132
|
-
p-limit: 4.0.0
|
|
5133
|
-
dev:
|
|
7484
|
+
dev: true
|
|
5134
7485
|
|
|
5135
7486
|
/parent-module@1.0.1:
|
|
5136
7487
|
resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
|
|
@@ -5147,17 +7498,18 @@ packages:
|
|
|
5147
7498
|
error-ex: 1.3.2
|
|
5148
7499
|
json-parse-even-better-errors: 2.3.1
|
|
5149
7500
|
lines-and-columns: 1.2.4
|
|
7501
|
+
dev: true
|
|
7502
|
+
|
|
7503
|
+
/parseurl@1.3.3:
|
|
7504
|
+
resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==}
|
|
7505
|
+
engines: {node: '>= 0.8'}
|
|
7506
|
+
dev: true
|
|
5150
7507
|
|
|
5151
7508
|
/path-exists@4.0.0:
|
|
5152
7509
|
resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==}
|
|
5153
7510
|
engines: {node: '>=8'}
|
|
5154
7511
|
dev: true
|
|
5155
7512
|
|
|
5156
|
-
/path-exists@5.0.0:
|
|
5157
|
-
resolution: {integrity: sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==}
|
|
5158
|
-
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
|
|
5159
|
-
dev: false
|
|
5160
|
-
|
|
5161
7513
|
/path-is-absolute@1.0.1:
|
|
5162
7514
|
resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==}
|
|
5163
7515
|
engines: {node: '>=0.10.0'}
|
|
@@ -5172,19 +7524,67 @@ packages:
|
|
|
5172
7524
|
resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
|
|
5173
7525
|
dev: true
|
|
5174
7526
|
|
|
7527
|
+
/path-to-regexp@0.1.7:
|
|
7528
|
+
resolution: {integrity: sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==}
|
|
7529
|
+
dev: true
|
|
7530
|
+
|
|
7531
|
+
/path-to-regexp@6.2.1:
|
|
7532
|
+
resolution: {integrity: sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw==}
|
|
7533
|
+
dev: true
|
|
7534
|
+
|
|
5175
7535
|
/path-type@4.0.0:
|
|
5176
7536
|
resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==}
|
|
5177
7537
|
engines: {node: '>=8'}
|
|
5178
7538
|
dev: true
|
|
5179
7539
|
|
|
7540
|
+
/pg-int8@1.0.1:
|
|
7541
|
+
resolution: {integrity: sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==}
|
|
7542
|
+
engines: {node: '>=4.0.0'}
|
|
7543
|
+
dev: false
|
|
7544
|
+
|
|
7545
|
+
/pg-numeric@1.0.2:
|
|
7546
|
+
resolution: {integrity: sha512-BM/Thnrw5jm2kKLE5uJkXqqExRUY/toLHda65XgFTBTFYZyopbKjBe29Ii3RbkvlsMoFwD+tHeGaCjjv0gHlyw==}
|
|
7547
|
+
engines: {node: '>=4'}
|
|
7548
|
+
dev: false
|
|
7549
|
+
|
|
7550
|
+
/pg-protocol@1.6.0:
|
|
7551
|
+
resolution: {integrity: sha512-M+PDm637OY5WM307051+bsDia5Xej6d9IR4GwJse1qA1DIhiKlksvrneZOYQq42OM+spubpcNYEo2FcKQrDk+Q==}
|
|
7552
|
+
dev: false
|
|
7553
|
+
|
|
7554
|
+
/pg-types@4.0.1:
|
|
7555
|
+
resolution: {integrity: sha512-hRCSDuLII9/LE3smys1hRHcu5QGcLs9ggT7I/TCs0IE+2Eesxi9+9RWAAwZ0yaGjxoWICF/YHLOEjydGujoJ+g==}
|
|
7556
|
+
engines: {node: '>=10'}
|
|
7557
|
+
dependencies:
|
|
7558
|
+
pg-int8: 1.0.1
|
|
7559
|
+
pg-numeric: 1.0.2
|
|
7560
|
+
postgres-array: 3.0.2
|
|
7561
|
+
postgres-bytea: 3.0.0
|
|
7562
|
+
postgres-date: 2.0.1
|
|
7563
|
+
postgres-interval: 3.0.0
|
|
7564
|
+
postgres-range: 1.1.3
|
|
7565
|
+
dev: false
|
|
7566
|
+
|
|
5180
7567
|
/picocolors@1.0.0:
|
|
5181
7568
|
resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==}
|
|
7569
|
+
dev: true
|
|
5182
7570
|
|
|
5183
7571
|
/picomatch@2.3.1:
|
|
5184
7572
|
resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
|
|
5185
7573
|
engines: {node: '>=8.6'}
|
|
5186
7574
|
dev: true
|
|
5187
7575
|
|
|
7576
|
+
/pirates@4.0.5:
|
|
7577
|
+
resolution: {integrity: sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==}
|
|
7578
|
+
engines: {node: '>= 6'}
|
|
7579
|
+
dev: true
|
|
7580
|
+
|
|
7581
|
+
/pkg-dir@4.2.0:
|
|
7582
|
+
resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==}
|
|
7583
|
+
engines: {node: '>=8'}
|
|
7584
|
+
dependencies:
|
|
7585
|
+
find-up: 4.1.0
|
|
7586
|
+
dev: true
|
|
7587
|
+
|
|
5188
7588
|
/playwright-core@1.31.2:
|
|
5189
7589
|
resolution: {integrity: sha512-a1dFgCNQw4vCsG7bnojZjDnPewZcw7tZUNFN0ZkcLYKj+mPmXvg4MpaaKZ5SgqPsOmqIf2YsVRkgqiRDxD+fDQ==}
|
|
5190
7590
|
engines: {node: '>=14'}
|
|
@@ -5202,7 +7602,7 @@ packages:
|
|
|
5202
7602
|
'@csstools/css-tokenizer': 2.1.1
|
|
5203
7603
|
'@csstools/media-query-list-parser': 2.0.4(@csstools/css-parser-algorithms@2.1.1)(@csstools/css-tokenizer@2.1.1)
|
|
5204
7604
|
postcss: 8.4.21
|
|
5205
|
-
dev:
|
|
7605
|
+
dev: true
|
|
5206
7606
|
|
|
5207
7607
|
/postcss-nesting@11.2.1(postcss@8.4.21):
|
|
5208
7608
|
resolution: {integrity: sha512-E6Jq74Jo/PbRAtZioON54NPhUNJYxVWhwxbweYl1vAoBYuGlDIts5yhtKiZFLvkvwT73e/9nFrW3oMqAtgG+GQ==}
|
|
@@ -5213,7 +7613,7 @@ packages:
|
|
|
5213
7613
|
'@csstools/selector-specificity': 2.2.0(postcss-selector-parser@6.0.13)
|
|
5214
7614
|
postcss: 8.4.21
|
|
5215
7615
|
postcss-selector-parser: 6.0.13
|
|
5216
|
-
dev:
|
|
7616
|
+
dev: true
|
|
5217
7617
|
|
|
5218
7618
|
/postcss-selector-parser@6.0.13:
|
|
5219
7619
|
resolution: {integrity: sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==}
|
|
@@ -5221,11 +7621,11 @@ packages:
|
|
|
5221
7621
|
dependencies:
|
|
5222
7622
|
cssesc: 3.0.0
|
|
5223
7623
|
util-deprecate: 1.0.2
|
|
5224
|
-
dev:
|
|
7624
|
+
dev: true
|
|
5225
7625
|
|
|
5226
7626
|
/postcss-value-parser@4.2.0:
|
|
5227
7627
|
resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==}
|
|
5228
|
-
dev:
|
|
7628
|
+
dev: true
|
|
5229
7629
|
|
|
5230
7630
|
/postcss@8.4.21:
|
|
5231
7631
|
resolution: {integrity: sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==}
|
|
@@ -5234,13 +7634,97 @@ packages:
|
|
|
5234
7634
|
nanoid: 3.3.6
|
|
5235
7635
|
picocolors: 1.0.0
|
|
5236
7636
|
source-map-js: 1.0.2
|
|
7637
|
+
dev: true
|
|
7638
|
+
|
|
7639
|
+
/postcss@8.4.24:
|
|
7640
|
+
resolution: {integrity: sha512-M0RzbcI0sO/XJNucsGjvWU9ERWxb/ytp1w6dKtxTKgixdtQDq4rmx/g8W1hnaheq9jgwL/oyEdH5Bc4WwJKMqg==}
|
|
7641
|
+
engines: {node: ^10 || ^12 || >=14}
|
|
7642
|
+
dependencies:
|
|
7643
|
+
nanoid: 3.3.6
|
|
7644
|
+
picocolors: 1.0.0
|
|
7645
|
+
source-map-js: 1.0.2
|
|
7646
|
+
dev: true
|
|
7647
|
+
|
|
7648
|
+
/postgres-array@3.0.2:
|
|
7649
|
+
resolution: {integrity: sha512-6faShkdFugNQCLwucjPcY5ARoW1SlbnrZjmGl0IrrqewpvxvhSLHimCVzqeuULCbG0fQv7Dtk1yDbG3xv7Veog==}
|
|
7650
|
+
engines: {node: '>=12'}
|
|
7651
|
+
dev: false
|
|
7652
|
+
|
|
7653
|
+
/postgres-bytea@3.0.0:
|
|
7654
|
+
resolution: {integrity: sha512-CNd4jim9RFPkObHSjVHlVrxoVQXz7quwNFpz7RY1okNNme49+sVyiTvTRobiLV548Hx/hb1BG+iE7h9493WzFw==}
|
|
7655
|
+
engines: {node: '>= 6'}
|
|
7656
|
+
dependencies:
|
|
7657
|
+
obuf: 1.1.2
|
|
5237
7658
|
dev: false
|
|
5238
7659
|
|
|
7660
|
+
/postgres-date@2.0.1:
|
|
7661
|
+
resolution: {integrity: sha512-YtMKdsDt5Ojv1wQRvUhnyDJNSr2dGIC96mQVKz7xufp07nfuFONzdaowrMHjlAzY6GDLd4f+LUHHAAM1h4MdUw==}
|
|
7662
|
+
engines: {node: '>=12'}
|
|
7663
|
+
dev: false
|
|
7664
|
+
|
|
7665
|
+
/postgres-interval@3.0.0:
|
|
7666
|
+
resolution: {integrity: sha512-BSNDnbyZCXSxgA+1f5UU2GmwhoI0aU5yMxRGO8CdFEcY2BQF9xm/7MqKnYoM1nJDk8nONNWDk9WeSmePFhQdlw==}
|
|
7667
|
+
engines: {node: '>=12'}
|
|
7668
|
+
dev: false
|
|
7669
|
+
|
|
7670
|
+
/postgres-range@1.1.3:
|
|
7671
|
+
resolution: {integrity: sha512-VdlZoocy5lCP0c/t66xAfclglEapXPCIVhqqJRncYpvbCgImF0w67aPKfbqUMr72tO2k5q0TdTZwCLjPTI6C9g==}
|
|
7672
|
+
dev: false
|
|
7673
|
+
|
|
7674
|
+
/postgres@3.3.4:
|
|
7675
|
+
resolution: {integrity: sha512-XVu0+d/Y56pl2lSaf0c7V19AhAEfpVrhID1IENWN8nf0xch6hFq6dAov5dtUX6ZD46wfr1TxvLhxLtV8WnNsOg==}
|
|
7676
|
+
|
|
7677
|
+
/prebuild-install@7.1.1:
|
|
7678
|
+
resolution: {integrity: sha512-jAXscXWMcCK8GgCoHOfIr0ODh5ai8mj63L2nWrjuAgXE6tDyYGnx4/8o/rCgU+B4JSyZBKbeZqzhtwtC3ovxjw==}
|
|
7679
|
+
engines: {node: '>=10'}
|
|
7680
|
+
hasBin: true
|
|
7681
|
+
dependencies:
|
|
7682
|
+
detect-libc: 2.0.1
|
|
7683
|
+
expand-template: 2.0.3
|
|
7684
|
+
github-from-package: 0.0.0
|
|
7685
|
+
minimist: 1.2.8
|
|
7686
|
+
mkdirp-classic: 0.5.3
|
|
7687
|
+
napi-build-utils: 1.0.2
|
|
7688
|
+
node-abi: 3.40.0
|
|
7689
|
+
pump: 3.0.0
|
|
7690
|
+
rc: 1.2.8
|
|
7691
|
+
simple-get: 4.0.1
|
|
7692
|
+
tar-fs: 2.1.1
|
|
7693
|
+
tunnel-agent: 0.6.0
|
|
7694
|
+
dev: true
|
|
7695
|
+
|
|
5239
7696
|
/prelude-ls@1.2.1:
|
|
5240
7697
|
resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
|
|
5241
7698
|
engines: {node: '>= 0.8.0'}
|
|
5242
7699
|
dev: true
|
|
5243
7700
|
|
|
7701
|
+
/prettier@2.8.8:
|
|
7702
|
+
resolution: {integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==}
|
|
7703
|
+
engines: {node: '>=10.13.0'}
|
|
7704
|
+
hasBin: true
|
|
7705
|
+
dev: true
|
|
7706
|
+
|
|
7707
|
+
/pretty-format@29.5.0:
|
|
7708
|
+
resolution: {integrity: sha512-V2mGkI31qdttvTFX7Mt4efOqHXqJWMu4/r66Xh3Z3BwZaPfPJgp6/gbwoujRpPUtfEF6AUUWx3Jim3GCw5g/Qw==}
|
|
7709
|
+
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
|
|
7710
|
+
dependencies:
|
|
7711
|
+
'@jest/schemas': 29.4.3
|
|
7712
|
+
ansi-styles: 5.2.0
|
|
7713
|
+
react-is: 18.2.0
|
|
7714
|
+
dev: true
|
|
7715
|
+
|
|
7716
|
+
/printable-characters@1.0.42:
|
|
7717
|
+
resolution: {integrity: sha512-dKp+C4iXWK4vVYZmYSd0KBH5F/h1HoZRsbJ82AVKRO3PEo8L4lBS/vLwhVtpwwuYcoIsVY+1JYKR268yn480uQ==}
|
|
7718
|
+
dev: true
|
|
7719
|
+
|
|
7720
|
+
/prompts@2.4.2:
|
|
7721
|
+
resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==}
|
|
7722
|
+
engines: {node: '>= 6'}
|
|
7723
|
+
dependencies:
|
|
7724
|
+
kleur: 3.0.3
|
|
7725
|
+
sisteransi: 1.0.5
|
|
7726
|
+
dev: true
|
|
7727
|
+
|
|
5244
7728
|
/prop-types@15.8.1:
|
|
5245
7729
|
resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==}
|
|
5246
7730
|
dependencies:
|
|
@@ -5248,24 +7732,70 @@ packages:
|
|
|
5248
7732
|
object-assign: 4.1.1
|
|
5249
7733
|
react-is: 16.13.1
|
|
5250
7734
|
|
|
7735
|
+
/proxy-addr@2.0.7:
|
|
7736
|
+
resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==}
|
|
7737
|
+
engines: {node: '>= 0.10'}
|
|
7738
|
+
dependencies:
|
|
7739
|
+
forwarded: 0.2.0
|
|
7740
|
+
ipaddr.js: 1.9.1
|
|
7741
|
+
dev: true
|
|
7742
|
+
|
|
7743
|
+
/pump@3.0.0:
|
|
7744
|
+
resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==}
|
|
7745
|
+
dependencies:
|
|
7746
|
+
end-of-stream: 1.4.4
|
|
7747
|
+
once: 1.4.0
|
|
7748
|
+
dev: true
|
|
7749
|
+
|
|
5251
7750
|
/punycode@2.3.0:
|
|
5252
7751
|
resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==}
|
|
5253
7752
|
engines: {node: '>=6'}
|
|
5254
7753
|
dev: true
|
|
5255
7754
|
|
|
7755
|
+
/pure-rand@6.0.2:
|
|
7756
|
+
resolution: {integrity: sha512-6Yg0ekpKICSjPswYOuC5sku/TSWaRYlA0qsXqJgM/d/4pLPHPuTxK7Nbf7jFKzAeedUhR8C7K9Uv63FBsSo8xQ==}
|
|
7757
|
+
dev: true
|
|
7758
|
+
|
|
7759
|
+
/qs@6.11.0:
|
|
7760
|
+
resolution: {integrity: sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==}
|
|
7761
|
+
engines: {node: '>=0.6'}
|
|
7762
|
+
dependencies:
|
|
7763
|
+
side-channel: 1.0.4
|
|
7764
|
+
dev: true
|
|
7765
|
+
|
|
5256
7766
|
/queue-microtask@1.2.3:
|
|
5257
7767
|
resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
|
|
5258
7768
|
dev: true
|
|
5259
7769
|
|
|
5260
|
-
/quick-lru@6.1.1:
|
|
5261
|
-
resolution: {integrity: sha512-S27GBT+F0NTRiehtbrgaSE1idUAJ5bX8dPAQTdylEyNlrdcH5X4Lz7Edz3DYzecbsCluD5zO8ZNEe04z3D3u6Q==}
|
|
5262
|
-
engines: {node: '>=12'}
|
|
5263
|
-
dev: false
|
|
5264
|
-
|
|
5265
7770
|
/radix3@1.0.0:
|
|
5266
7771
|
resolution: {integrity: sha512-6n3AEXth91ASapMVKiEh2wrbFJmI+NBilrWE0AbiGgfm0xet0QXC8+a3K19r1UVYjUjctUgB053c3V/J6V0kCQ==}
|
|
5267
7772
|
dev: false
|
|
5268
7773
|
|
|
7774
|
+
/range-parser@1.2.1:
|
|
7775
|
+
resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==}
|
|
7776
|
+
engines: {node: '>= 0.6'}
|
|
7777
|
+
dev: true
|
|
7778
|
+
|
|
7779
|
+
/raw-body@2.5.1:
|
|
7780
|
+
resolution: {integrity: sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==}
|
|
7781
|
+
engines: {node: '>= 0.8'}
|
|
7782
|
+
dependencies:
|
|
7783
|
+
bytes: 3.1.2
|
|
7784
|
+
http-errors: 2.0.0
|
|
7785
|
+
iconv-lite: 0.4.24
|
|
7786
|
+
unpipe: 1.0.0
|
|
7787
|
+
dev: true
|
|
7788
|
+
|
|
7789
|
+
/rc@1.2.8:
|
|
7790
|
+
resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==}
|
|
7791
|
+
hasBin: true
|
|
7792
|
+
dependencies:
|
|
7793
|
+
deep-extend: 0.6.0
|
|
7794
|
+
ini: 1.3.8
|
|
7795
|
+
minimist: 1.2.8
|
|
7796
|
+
strip-json-comments: 2.0.1
|
|
7797
|
+
dev: true
|
|
7798
|
+
|
|
5269
7799
|
/react-aria-components@1.0.0-alpha.3(react-dom@18.2.0)(react@18.2.0):
|
|
5270
7800
|
resolution: {integrity: sha512-rhakTyOPsTwk/ylCCcK38/y3yN2SXPWN2wPknNwDQ9wE+P/PQWIrc3WxOlhTFGltLC1/KXAAIvJrkPgPBFTE1g==}
|
|
5271
7801
|
peerDependencies:
|
|
@@ -5382,6 +7912,15 @@ packages:
|
|
|
5382
7912
|
/react-is@16.13.1:
|
|
5383
7913
|
resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==}
|
|
5384
7914
|
|
|
7915
|
+
/react-is@18.2.0:
|
|
7916
|
+
resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==}
|
|
7917
|
+
dev: true
|
|
7918
|
+
|
|
7919
|
+
/react-refresh@0.14.0:
|
|
7920
|
+
resolution: {integrity: sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==}
|
|
7921
|
+
engines: {node: '>=0.10.0'}
|
|
7922
|
+
dev: true
|
|
7923
|
+
|
|
5385
7924
|
/react-stately@3.22.0(react@18.2.0):
|
|
5386
7925
|
resolution: {integrity: sha512-w5itlPtjfUpxy+195LxRbaCNaGN1NVfPHelhYXuoPoKNgUvmy54uKXvP1Ek1ETZ9e55BaXuMs83yXv94wIMdpQ==}
|
|
5387
7926
|
peerDependencies:
|
|
@@ -5419,32 +7958,21 @@ packages:
|
|
|
5419
7958
|
loose-envify: 1.4.0
|
|
5420
7959
|
dev: false
|
|
5421
7960
|
|
|
5422
|
-
/
|
|
7961
|
+
/readable-stream@3.6.2:
|
|
5423
|
-
resolution: {integrity: sha512-vaMRR1AC1nrd5CQM0PhlRsO5oc2AAigqr7cCrZ/MW/Rsaflz4RlgzkpL4qoU/z1F6wrbd85iFv1OQj/y5RdGvg==}
|
|
5424
|
-
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
|
|
5425
|
-
dependencies:
|
|
5426
|
-
find-up: 6.3.0
|
|
5427
|
-
read-pkg: 7.1.0
|
|
5428
|
-
type-fest: 2.19.0
|
|
5429
|
-
dev: false
|
|
5430
|
-
|
|
5431
|
-
/read-pkg@7.1.0:
|
|
5432
|
-
resolution: {integrity: sha512-
|
|
7962
|
+
resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==}
|
|
5433
|
-
engines: {node: '>=
|
|
7963
|
+
engines: {node: '>= 6'}
|
|
5434
7964
|
dependencies:
|
|
5435
|
-
'@types/normalize-package-data': 2.4.1
|
|
5436
|
-
normalize-package-data: 3.0.3
|
|
5437
|
-
parse-json: 5.2.0
|
|
5438
|
-
|
|
7965
|
+
inherits: 2.0.4
|
|
7966
|
+
string_decoder: 1.3.0
|
|
7967
|
+
util-deprecate: 1.0.2
|
|
5439
|
-
dev:
|
|
7968
|
+
dev: true
|
|
5440
7969
|
|
|
5441
|
-
/
|
|
7970
|
+
/readdirp@3.6.0:
|
|
5442
|
-
resolution: {integrity: sha512-
|
|
7971
|
+
resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
|
|
5443
|
-
engines: {node: '>=
|
|
7972
|
+
engines: {node: '>=8.10.0'}
|
|
5444
7973
|
dependencies:
|
|
5445
|
-
indent-string: 5.0.0
|
|
5446
|
-
|
|
7974
|
+
picomatch: 2.3.1
|
|
5447
|
-
dev:
|
|
7975
|
+
dev: true
|
|
5448
7976
|
|
|
5449
7977
|
/regenerate-unicode-properties@10.1.0:
|
|
5450
7978
|
resolution: {integrity: sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==}
|
|
@@ -5492,11 +8020,23 @@ packages:
|
|
|
5492
8020
|
unicode-match-property-value-ecmascript: 2.1.0
|
|
5493
8021
|
dev: true
|
|
5494
8022
|
|
|
5495
|
-
/regjsparser@0.9.1:
|
|
8023
|
+
/regjsparser@0.9.1:
|
|
5496
|
-
resolution: {integrity: sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==}
|
|
8024
|
+
resolution: {integrity: sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==}
|
|
5497
|
-
hasBin: true
|
|
8025
|
+
hasBin: true
|
|
8026
|
+
dependencies:
|
|
8027
|
+
jsesc: 0.5.0
|
|
8028
|
+
dev: true
|
|
8029
|
+
|
|
8030
|
+
/require-directory@2.1.1:
|
|
8031
|
+
resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==}
|
|
8032
|
+
engines: {node: '>=0.10.0'}
|
|
8033
|
+
dev: true
|
|
8034
|
+
|
|
8035
|
+
/resolve-cwd@3.0.0:
|
|
8036
|
+
resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==}
|
|
8037
|
+
engines: {node: '>=8'}
|
|
5498
8038
|
dependencies:
|
|
5499
|
-
|
|
8039
|
+
resolve-from: 5.0.0
|
|
5500
8040
|
dev: true
|
|
5501
8041
|
|
|
5502
8042
|
/resolve-from@4.0.0:
|
|
@@ -5504,6 +8044,16 @@ packages:
|
|
|
5504
8044
|
engines: {node: '>=4'}
|
|
5505
8045
|
dev: true
|
|
5506
8046
|
|
|
8047
|
+
/resolve-from@5.0.0:
|
|
8048
|
+
resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==}
|
|
8049
|
+
engines: {node: '>=8'}
|
|
8050
|
+
dev: true
|
|
8051
|
+
|
|
8052
|
+
/resolve.exports@2.0.2:
|
|
8053
|
+
resolution: {integrity: sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==}
|
|
8054
|
+
engines: {node: '>=10'}
|
|
8055
|
+
dev: true
|
|
8056
|
+
|
|
5507
8057
|
/resolve@1.22.2:
|
|
5508
8058
|
resolution: {integrity: sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==}
|
|
5509
8059
|
hasBin: true
|
|
@@ -5534,12 +8084,45 @@ packages:
|
|
|
5534
8084
|
glob: 7.2.3
|
|
5535
8085
|
dev: true
|
|
5536
8086
|
|
|
8087
|
+
/rollup-plugin-inject@3.0.2:
|
|
8088
|
+
resolution: {integrity: sha512-ptg9PQwzs3orn4jkgXJ74bfs5vYz1NCZlSQMBUA0wKcGp5i5pA1AO3fOUEte8enhGUC+iapTCzEWw2jEFFUO/w==}
|
|
8089
|
+
deprecated: This package has been deprecated and is no longer maintained. Please use @rollup/plugin-inject.
|
|
8090
|
+
dependencies:
|
|
8091
|
+
estree-walker: 0.6.1
|
|
8092
|
+
magic-string: 0.25.9
|
|
8093
|
+
rollup-pluginutils: 2.8.2
|
|
8094
|
+
dev: true
|
|
8095
|
+
|
|
8096
|
+
/rollup-plugin-node-polyfills@0.2.1:
|
|
8097
|
+
resolution: {integrity: sha512-4kCrKPTJ6sK4/gLL/U5QzVT8cxJcofO0OU74tnB19F40cmuAKSzH5/siithxlofFEjwvw1YAhPmbvGNA6jEroA==}
|
|
8098
|
+
dependencies:
|
|
8099
|
+
rollup-plugin-inject: 3.0.2
|
|
8100
|
+
dev: true
|
|
8101
|
+
|
|
8102
|
+
/rollup-pluginutils@2.8.2:
|
|
8103
|
+
resolution: {integrity: sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==}
|
|
8104
|
+
dependencies:
|
|
8105
|
+
estree-walker: 0.6.1
|
|
8106
|
+
dev: true
|
|
8107
|
+
|
|
8108
|
+
/rollup@3.23.0:
|
|
8109
|
+
resolution: {integrity: sha512-h31UlwEi7FHihLe1zbk+3Q7z1k/84rb9BSwmBSr/XjOCEaBJ2YyedQDuM0t/kfOS0IxM+vk1/zI9XxYj9V+NJQ==}
|
|
8110
|
+
engines: {node: '>=14.18.0', npm: '>=8.0.0'}
|
|
8111
|
+
hasBin: true
|
|
8112
|
+
optionalDependencies:
|
|
8113
|
+
fsevents: 2.3.2
|
|
8114
|
+
dev: true
|
|
8115
|
+
|
|
5537
8116
|
/run-parallel@1.2.0:
|
|
5538
8117
|
resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
|
|
5539
8118
|
dependencies:
|
|
5540
8119
|
queue-microtask: 1.2.3
|
|
5541
8120
|
dev: true
|
|
5542
8121
|
|
|
8122
|
+
/safe-buffer@5.2.1:
|
|
8123
|
+
resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==}
|
|
8124
|
+
dev: true
|
|
8125
|
+
|
|
5543
8126
|
/safe-regex-test@1.0.0:
|
|
5544
8127
|
resolution: {integrity: sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==}
|
|
5545
8128
|
dependencies:
|
|
@@ -5548,12 +8131,23 @@ packages:
|
|
|
5548
8131
|
is-regex: 1.1.4
|
|
5549
8132
|
dev: true
|
|
5550
8133
|
|
|
8134
|
+
/safer-buffer@2.1.2:
|
|
8135
|
+
resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==}
|
|
8136
|
+
dev: true
|
|
8137
|
+
|
|
5551
8138
|
/scheduler@0.23.0:
|
|
5552
8139
|
resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==}
|
|
5553
8140
|
dependencies:
|
|
5554
8141
|
loose-envify: 1.4.0
|
|
5555
8142
|
dev: false
|
|
5556
8143
|
|
|
8144
|
+
/selfsigned@2.1.1:
|
|
8145
|
+
resolution: {integrity: sha512-GSL3aowiF7wa/WtSFwnUrludWFoNhftq8bUkH9pkzjpN2XSPOAYEgg6e0sS9s0rZwgJzJiQRPU18A6clnoW5wQ==}
|
|
8146
|
+
engines: {node: '>=10'}
|
|
8147
|
+
dependencies:
|
|
8148
|
+
node-forge: 1.3.1
|
|
8149
|
+
dev: true
|
|
8150
|
+
|
|
5557
8151
|
/semver@6.3.0:
|
|
5558
8152
|
resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==}
|
|
5559
8153
|
hasBin: true
|
|
@@ -5565,6 +8159,44 @@ packages:
|
|
|
5565
8159
|
hasBin: true
|
|
5566
8160
|
dependencies:
|
|
5567
8161
|
lru-cache: 6.0.0
|
|
8162
|
+
dev: true
|
|
8163
|
+
|
|
8164
|
+
/send@0.18.0:
|
|
8165
|
+
resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==}
|
|
8166
|
+
engines: {node: '>= 0.8.0'}
|
|
8167
|
+
dependencies:
|
|
8168
|
+
debug: 2.6.9
|
|
8169
|
+
depd: 2.0.0
|
|
8170
|
+
destroy: 1.2.0
|
|
8171
|
+
encodeurl: 1.0.2
|
|
8172
|
+
escape-html: 1.0.3
|
|
8173
|
+
etag: 1.8.1
|
|
8174
|
+
fresh: 0.5.2
|
|
8175
|
+
http-errors: 2.0.0
|
|
8176
|
+
mime: 1.6.0
|
|
8177
|
+
ms: 2.1.3
|
|
8178
|
+
on-finished: 2.4.1
|
|
8179
|
+
range-parser: 1.2.1
|
|
8180
|
+
statuses: 2.0.1
|
|
8181
|
+
transitivePeerDependencies:
|
|
8182
|
+
- supports-color
|
|
8183
|
+
dev: true
|
|
8184
|
+
|
|
8185
|
+
/serve-static@1.15.0:
|
|
8186
|
+
resolution: {integrity: sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==}
|
|
8187
|
+
engines: {node: '>= 0.8.0'}
|
|
8188
|
+
dependencies:
|
|
8189
|
+
encodeurl: 1.0.2
|
|
8190
|
+
escape-html: 1.0.3
|
|
8191
|
+
parseurl: 1.3.3
|
|
8192
|
+
send: 0.18.0
|
|
8193
|
+
transitivePeerDependencies:
|
|
8194
|
+
- supports-color
|
|
8195
|
+
dev: true
|
|
8196
|
+
|
|
8197
|
+
/setprototypeof@1.2.0:
|
|
8198
|
+
resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==}
|
|
8199
|
+
dev: true
|
|
5568
8200
|
|
|
5569
8201
|
/shallowequal@1.1.0:
|
|
5570
8202
|
resolution: {integrity: sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==}
|
|
@@ -5590,6 +8222,26 @@ packages:
|
|
|
5590
8222
|
object-inspect: 1.12.3
|
|
5591
8223
|
dev: true
|
|
5592
8224
|
|
|
8225
|
+
/signal-exit@3.0.7:
|
|
8226
|
+
resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==}
|
|
8227
|
+
dev: true
|
|
8228
|
+
|
|
8229
|
+
/simple-concat@1.0.1:
|
|
8230
|
+
resolution: {integrity: sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==}
|
|
8231
|
+
dev: true
|
|
8232
|
+
|
|
8233
|
+
/simple-get@4.0.1:
|
|
8234
|
+
resolution: {integrity: sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==}
|
|
8235
|
+
dependencies:
|
|
8236
|
+
decompress-response: 6.0.0
|
|
8237
|
+
once: 1.4.0
|
|
8238
|
+
simple-concat: 1.0.1
|
|
8239
|
+
dev: true
|
|
8240
|
+
|
|
8241
|
+
/sisteransi@1.0.5:
|
|
8242
|
+
resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==}
|
|
8243
|
+
dev: true
|
|
8244
|
+
|
|
5593
8245
|
/slash@3.0.0:
|
|
5594
8246
|
resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==}
|
|
5595
8247
|
engines: {node: '>=8'}
|
|
@@ -5598,35 +8250,65 @@ packages:
|
|
|
5598
8250
|
/source-map-js@1.0.2:
|
|
5599
8251
|
resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==}
|
|
5600
8252
|
engines: {node: '>=0.10.0'}
|
|
5601
|
-
dev:
|
|
8253
|
+
dev: true
|
|
5602
8254
|
|
|
5603
|
-
/
|
|
8255
|
+
/source-map-support@0.5.13:
|
|
5604
|
-
resolution: {integrity: sha512-
|
|
8256
|
+
resolution: {integrity: sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==}
|
|
5605
8257
|
dependencies:
|
|
5606
|
-
|
|
8258
|
+
buffer-from: 1.1.2
|
|
5607
|
-
|
|
8259
|
+
source-map: 0.6.1
|
|
5608
|
-
dev:
|
|
8260
|
+
dev: true
|
|
5609
|
-
|
|
5610
|
-
/spdx-exceptions@2.3.0:
|
|
5611
|
-
resolution: {integrity: sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==}
|
|
5612
|
-
dev: false
|
|
5613
8261
|
|
|
5614
|
-
/
|
|
8262
|
+
/source-map-support@0.5.21:
|
|
5615
|
-
resolution: {integrity: sha512-
|
|
8263
|
+
resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==}
|
|
5616
8264
|
dependencies:
|
|
5617
|
-
|
|
8265
|
+
buffer-from: 1.1.2
|
|
5618
|
-
|
|
8266
|
+
source-map: 0.6.1
|
|
5619
|
-
dev:
|
|
8267
|
+
dev: true
|
|
5620
8268
|
|
|
5621
|
-
/
|
|
8269
|
+
/source-map@0.6.1:
|
|
5622
|
-
resolution: {integrity: sha512-
|
|
8270
|
+
resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==}
|
|
8271
|
+
engines: {node: '>=0.10.0'}
|
|
5623
|
-
dev:
|
|
8272
|
+
dev: true
|
|
8273
|
+
|
|
8274
|
+
/source-map@0.7.4:
|
|
8275
|
+
resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==}
|
|
8276
|
+
engines: {node: '>= 8'}
|
|
8277
|
+
dev: true
|
|
8278
|
+
|
|
8279
|
+
/sourcemap-codec@1.4.8:
|
|
8280
|
+
resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==}
|
|
8281
|
+
deprecated: Please use @jridgewell/sourcemap-codec instead
|
|
8282
|
+
dev: true
|
|
8283
|
+
|
|
8284
|
+
/sprintf-js@1.0.3:
|
|
8285
|
+
resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==}
|
|
8286
|
+
dev: true
|
|
5624
8287
|
|
|
5625
8288
|
/sql-highlight@4.3.2:
|
|
5626
8289
|
resolution: {integrity: sha512-7r6R5QKkiyKdMPMMdoUYwHbFZWdRhjJNxb0vUsFqloSZybGgFRcnM8IDZ9ZQSV2s6MWbtwn6O130+2ySL86oOA==}
|
|
5627
8290
|
engines: {node: '>=14'}
|
|
5628
8291
|
dev: false
|
|
5629
8292
|
|
|
8293
|
+
/stack-utils@2.0.6:
|
|
8294
|
+
resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==}
|
|
8295
|
+
engines: {node: '>=10'}
|
|
8296
|
+
dependencies:
|
|
8297
|
+
escape-string-regexp: 2.0.0
|
|
8298
|
+
dev: true
|
|
8299
|
+
|
|
8300
|
+
/stacktracey@2.1.8:
|
|
8301
|
+
resolution: {integrity: sha512-Kpij9riA+UNg7TnphqjH7/CzctQ/owJGNbFkfEeve4Z4uxT5+JapVLFXcsurIfN34gnTWZNJ/f7NMG0E8JDzTw==}
|
|
8302
|
+
dependencies:
|
|
8303
|
+
as-table: 1.0.55
|
|
8304
|
+
get-source: 2.0.12
|
|
8305
|
+
dev: true
|
|
8306
|
+
|
|
8307
|
+
/statuses@2.0.1:
|
|
8308
|
+
resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==}
|
|
8309
|
+
engines: {node: '>= 0.8'}
|
|
8310
|
+
dev: true
|
|
8311
|
+
|
|
5630
8312
|
/stop-iteration-iterator@1.0.0:
|
|
5631
8313
|
resolution: {integrity: sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==}
|
|
5632
8314
|
engines: {node: '>= 0.4'}
|
|
@@ -5634,10 +8316,37 @@ packages:
|
|
|
5634
8316
|
internal-slot: 1.0.5
|
|
5635
8317
|
dev: true
|
|
5636
8318
|
|
|
8319
|
+
/stoppable@1.1.0:
|
|
8320
|
+
resolution: {integrity: sha512-KXDYZ9dszj6bzvnEMRYvxgeTHU74QBFL54XKtP3nyMuJ81CFYtABZ3bAzL2EdFUaEwJOBOgENyFj3R7oTzDyyw==}
|
|
8321
|
+
engines: {node: '>=4', npm: '>=6'}
|
|
8322
|
+
dev: true
|
|
8323
|
+
|
|
8324
|
+
/streamsearch@1.1.0:
|
|
8325
|
+
resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==}
|
|
8326
|
+
engines: {node: '>=10.0.0'}
|
|
8327
|
+
dev: true
|
|
8328
|
+
|
|
8329
|
+
/string-length@4.0.2:
|
|
8330
|
+
resolution: {integrity: sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==}
|
|
8331
|
+
engines: {node: '>=10'}
|
|
8332
|
+
dependencies:
|
|
8333
|
+
char-regex: 1.0.2
|
|
8334
|
+
strip-ansi: 6.0.1
|
|
8335
|
+
dev: true
|
|
8336
|
+
|
|
5637
8337
|
/string-natural-compare@3.0.1:
|
|
5638
8338
|
resolution: {integrity: sha512-n3sPwynL1nwKi3WJ6AIsClwBMa0zTi54fn2oLU6ndfTSIO05xaznjSf15PcBZU6FNWbmN5Q6cxT4V5hGvB4taw==}
|
|
5639
8339
|
dev: true
|
|
5640
8340
|
|
|
8341
|
+
/string-width@4.2.3:
|
|
8342
|
+
resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==}
|
|
8343
|
+
engines: {node: '>=8'}
|
|
8344
|
+
dependencies:
|
|
8345
|
+
emoji-regex: 8.0.0
|
|
8346
|
+
is-fullwidth-code-point: 3.0.0
|
|
8347
|
+
strip-ansi: 6.0.1
|
|
8348
|
+
dev: true
|
|
8349
|
+
|
|
5641
8350
|
/string.prototype.matchall@4.0.8:
|
|
5642
8351
|
resolution: {integrity: sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==}
|
|
5643
8352
|
dependencies:
|
|
@@ -5676,6 +8385,12 @@ packages:
|
|
|
5676
8385
|
es-abstract: 1.21.2
|
|
5677
8386
|
dev: true
|
|
5678
8387
|
|
|
8388
|
+
/string_decoder@1.3.0:
|
|
8389
|
+
resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==}
|
|
8390
|
+
dependencies:
|
|
8391
|
+
safe-buffer: 5.2.1
|
|
8392
|
+
dev: true
|
|
8393
|
+
|
|
5679
8394
|
/strip-ansi@6.0.1:
|
|
5680
8395
|
resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
|
|
5681
8396
|
engines: {node: '>=8'}
|
|
@@ -5688,12 +8403,20 @@ packages:
|
|
|
5688
8403
|
engines: {node: '>=4'}
|
|
5689
8404
|
dev: true
|
|
5690
8405
|
|
|
5691
|
-
/strip-
|
|
8406
|
+
/strip-bom@4.0.0:
|
|
5692
|
-
resolution: {integrity: sha512-
|
|
8407
|
+
resolution: {integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==}
|
|
5693
|
-
engines: {node: '>=
|
|
8408
|
+
engines: {node: '>=8'}
|
|
5694
|
-
dependencies:
|
|
5695
|
-
min-indent: 1.0.1
|
|
5696
|
-
dev:
|
|
8409
|
+
dev: true
|
|
8410
|
+
|
|
8411
|
+
/strip-final-newline@2.0.0:
|
|
8412
|
+
resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==}
|
|
8413
|
+
engines: {node: '>=6'}
|
|
8414
|
+
dev: true
|
|
8415
|
+
|
|
8416
|
+
/strip-json-comments@2.0.1:
|
|
8417
|
+
resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==}
|
|
8418
|
+
engines: {node: '>=0.10.0'}
|
|
8419
|
+
dev: true
|
|
5697
8420
|
|
|
5698
8421
|
/strip-json-comments@3.1.1:
|
|
5699
8422
|
resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==}
|
|
@@ -5705,6 +8428,7 @@ packages:
|
|
|
5705
8428
|
engines: {node: '>=4'}
|
|
5706
8429
|
dependencies:
|
|
5707
8430
|
has-flag: 3.0.0
|
|
8431
|
+
dev: true
|
|
5708
8432
|
|
|
5709
8433
|
/supports-color@7.2.0:
|
|
5710
8434
|
resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
|
|
@@ -5713,15 +8437,62 @@ packages:
|
|
|
5713
8437
|
has-flag: 4.0.0
|
|
5714
8438
|
dev: true
|
|
5715
8439
|
|
|
8440
|
+
/supports-color@8.1.1:
|
|
8441
|
+
resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==}
|
|
8442
|
+
engines: {node: '>=10'}
|
|
8443
|
+
dependencies:
|
|
8444
|
+
has-flag: 4.0.0
|
|
8445
|
+
dev: true
|
|
8446
|
+
|
|
5716
8447
|
/supports-preserve-symlinks-flag@1.0.0:
|
|
5717
8448
|
resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
|
|
5718
8449
|
engines: {node: '>= 0.4'}
|
|
5719
8450
|
dev: true
|
|
5720
8451
|
|
|
8452
|
+
/tar-fs@2.1.1:
|
|
8453
|
+
resolution: {integrity: sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==}
|
|
8454
|
+
dependencies:
|
|
8455
|
+
chownr: 1.1.4
|
|
8456
|
+
mkdirp-classic: 0.5.3
|
|
8457
|
+
pump: 3.0.0
|
|
8458
|
+
tar-stream: 2.2.0
|
|
8459
|
+
dev: true
|
|
8460
|
+
|
|
8461
|
+
/tar-stream@2.2.0:
|
|
8462
|
+
resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==}
|
|
8463
|
+
engines: {node: '>=6'}
|
|
8464
|
+
dependencies:
|
|
8465
|
+
bl: 4.1.0
|
|
8466
|
+
end-of-stream: 1.4.4
|
|
8467
|
+
fs-constants: 1.0.0
|
|
8468
|
+
inherits: 2.0.4
|
|
8469
|
+
readable-stream: 3.6.2
|
|
8470
|
+
dev: true
|
|
8471
|
+
|
|
8472
|
+
/test-exclude@6.0.0:
|
|
8473
|
+
resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==}
|
|
8474
|
+
engines: {node: '>=8'}
|
|
8475
|
+
dependencies:
|
|
8476
|
+
'@istanbuljs/schema': 0.1.3
|
|
8477
|
+
glob: 7.2.3
|
|
8478
|
+
minimatch: 3.1.2
|
|
8479
|
+
dev: true
|
|
8480
|
+
|
|
5721
8481
|
/text-table@0.2.0:
|
|
5722
8482
|
resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==}
|
|
5723
8483
|
dev: true
|
|
5724
8484
|
|
|
8485
|
+
/timers-ext@0.1.7:
|
|
8486
|
+
resolution: {integrity: sha512-b85NUNzTSdodShTIbky6ZF02e8STtVVfD+fu4aXXShEELpozH+bCpJLYMPZbsABN2wDH7fJpqIoXxJpzbf0NqQ==}
|
|
8487
|
+
dependencies:
|
|
8488
|
+
es5-ext: 0.10.62
|
|
8489
|
+
next-tick: 1.1.0
|
|
8490
|
+
dev: true
|
|
8491
|
+
|
|
8492
|
+
/tmpl@1.0.5:
|
|
8493
|
+
resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==}
|
|
8494
|
+
dev: true
|
|
8495
|
+
|
|
5725
8496
|
/to-fast-properties@2.0.0:
|
|
5726
8497
|
resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==}
|
|
5727
8498
|
engines: {node: '>=4'}
|
|
@@ -5734,10 +8505,10 @@ packages:
|
|
|
5734
8505
|
is-number: 7.0.0
|
|
5735
8506
|
dev: true
|
|
5736
8507
|
|
|
5737
|
-
/
|
|
8508
|
+
/toidentifier@1.0.1:
|
|
5738
|
-
resolution: {integrity: sha512-
|
|
8509
|
+
resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==}
|
|
5739
|
-
engines: {node: '>=
|
|
8510
|
+
engines: {node: '>=0.6'}
|
|
5740
|
-
dev:
|
|
8511
|
+
dev: true
|
|
5741
8512
|
|
|
5742
8513
|
/tsconfig-paths@3.14.2:
|
|
5743
8514
|
resolution: {integrity: sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==}
|
|
@@ -5754,7 +8525,6 @@ packages:
|
|
|
5754
8525
|
|
|
5755
8526
|
/tslib@2.5.2:
|
|
5756
8527
|
resolution: {integrity: sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==}
|
|
5757
|
-
dev: false
|
|
5758
8528
|
|
|
5759
8529
|
/tsutils@3.21.0(typescript@5.0.4):
|
|
5760
8530
|
resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==}
|
|
@@ -5766,6 +8536,12 @@ packages:
|
|
|
5766
8536
|
typescript: 5.0.4
|
|
5767
8537
|
dev: true
|
|
5768
8538
|
|
|
8539
|
+
/tunnel-agent@0.6.0:
|
|
8540
|
+
resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==}
|
|
8541
|
+
dependencies:
|
|
8542
|
+
safe-buffer: 5.2.1
|
|
8543
|
+
dev: true
|
|
8544
|
+
|
|
5769
8545
|
/type-check@0.4.0:
|
|
5770
8546
|
resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==}
|
|
5771
8547
|
engines: {node: '>= 0.8.0'}
|
|
@@ -5773,20 +8549,36 @@ packages:
|
|
|
5773
8549
|
prelude-ls: 1.2.1
|
|
5774
8550
|
dev: true
|
|
5775
8551
|
|
|
8552
|
+
/type-detect@4.0.8:
|
|
8553
|
+
resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==}
|
|
8554
|
+
engines: {node: '>=4'}
|
|
8555
|
+
dev: true
|
|
8556
|
+
|
|
5776
8557
|
/type-fest@0.20.2:
|
|
5777
8558
|
resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==}
|
|
5778
8559
|
engines: {node: '>=10'}
|
|
5779
8560
|
dev: true
|
|
5780
8561
|
|
|
5781
|
-
/type-fest@
|
|
8562
|
+
/type-fest@0.21.3:
|
|
5782
|
-
resolution: {integrity: sha512-
|
|
8563
|
+
resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==}
|
|
5783
|
-
engines: {node: '>=
|
|
8564
|
+
engines: {node: '>=10'}
|
|
5784
|
-
dev:
|
|
8565
|
+
dev: true
|
|
5785
8566
|
|
|
5786
|
-
/type-
|
|
8567
|
+
/type-is@1.6.18:
|
|
5787
|
-
resolution: {integrity: sha512-
|
|
8568
|
+
resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==}
|
|
5788
|
-
engines: {node: '>=
|
|
8569
|
+
engines: {node: '>= 0.6'}
|
|
8570
|
+
dependencies:
|
|
8571
|
+
media-typer: 0.3.0
|
|
8572
|
+
mime-types: 2.1.35
|
|
5789
|
-
dev:
|
|
8573
|
+
dev: true
|
|
8574
|
+
|
|
8575
|
+
/type@1.2.0:
|
|
8576
|
+
resolution: {integrity: sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==}
|
|
8577
|
+
dev: true
|
|
8578
|
+
|
|
8579
|
+
/type@2.7.2:
|
|
8580
|
+
resolution: {integrity: sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==}
|
|
8581
|
+
dev: true
|
|
5790
8582
|
|
|
5791
8583
|
/typed-array-length@1.0.4:
|
|
5792
8584
|
resolution: {integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==}
|
|
@@ -5811,6 +8603,13 @@ packages:
|
|
|
5811
8603
|
which-boxed-primitive: 1.0.2
|
|
5812
8604
|
dev: true
|
|
5813
8605
|
|
|
8606
|
+
/undici@5.22.1:
|
|
8607
|
+
resolution: {integrity: sha512-Ji2IJhFXZY0x/0tVBXeQwgPlLWw13GVzpsWPQ3rV50IFMMof2I55PZZxtm4P6iNq+L5znYN9nSTAq0ZyE6lSJw==}
|
|
8608
|
+
engines: {node: '>=14.0'}
|
|
8609
|
+
dependencies:
|
|
8610
|
+
busboy: 1.6.0
|
|
8611
|
+
dev: true
|
|
8612
|
+
|
|
5814
8613
|
/unicode-canonical-property-names-ecmascript@2.0.0:
|
|
5815
8614
|
resolution: {integrity: sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==}
|
|
5816
8615
|
engines: {node: '>=4'}
|
|
@@ -5834,6 +8633,16 @@ packages:
|
|
|
5834
8633
|
engines: {node: '>=4'}
|
|
5835
8634
|
dev: true
|
|
5836
8635
|
|
|
8636
|
+
/universalify@2.0.0:
|
|
8637
|
+
resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==}
|
|
8638
|
+
engines: {node: '>= 10.0.0'}
|
|
8639
|
+
dev: true
|
|
8640
|
+
|
|
8641
|
+
/unpipe@1.0.0:
|
|
8642
|
+
resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==}
|
|
8643
|
+
engines: {node: '>= 0.8'}
|
|
8644
|
+
dev: true
|
|
8645
|
+
|
|
5837
8646
|
/update-browserslist-db@1.0.11(browserslist@4.21.5):
|
|
5838
8647
|
resolution: {integrity: sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==}
|
|
5839
8648
|
hasBin: true
|
|
@@ -5843,6 +8652,7 @@ packages:
|
|
|
5843
8652
|
browserslist: 4.21.5
|
|
5844
8653
|
escalade: 3.1.1
|
|
5845
8654
|
picocolors: 1.0.0
|
|
8655
|
+
dev: true
|
|
5846
8656
|
|
|
5847
8657
|
/uri-js@4.4.1:
|
|
5848
8658
|
resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
|
|
@@ -5860,19 +8670,69 @@ packages:
|
|
|
5860
8670
|
|
|
5861
8671
|
/util-deprecate@1.0.2:
|
|
5862
8672
|
resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
|
|
5863
|
-
dev:
|
|
8673
|
+
dev: true
|
|
8674
|
+
|
|
8675
|
+
/utils-merge@1.0.1:
|
|
8676
|
+
resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==}
|
|
8677
|
+
engines: {node: '>= 0.4.0'}
|
|
8678
|
+
dev: true
|
|
5864
8679
|
|
|
5865
|
-
/
|
|
8680
|
+
/v8-to-istanbul@9.1.0:
|
|
5866
|
-
resolution: {integrity: sha512-
|
|
8681
|
+
resolution: {integrity: sha512-6z3GW9x8G1gd+JIIgQQQxXuiJtCXeAjp6RaPEPLv62mH3iPHPxV6W3robxtCzNErRo6ZwTmzWhsbNvjyEBKzKA==}
|
|
8682
|
+
engines: {node: '>=10.12.0'}
|
|
5867
8683
|
dependencies:
|
|
8684
|
+
'@jridgewell/trace-mapping': 0.3.18
|
|
8685
|
+
'@types/istanbul-lib-coverage': 2.0.4
|
|
5868
|
-
|
|
8686
|
+
convert-source-map: 1.9.0
|
|
5869
|
-
spdx-expression-parse: 3.0.1
|
|
5870
|
-
dev:
|
|
8687
|
+
dev: true
|
|
8688
|
+
|
|
8689
|
+
/vary@1.1.2:
|
|
8690
|
+
resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==}
|
|
8691
|
+
engines: {node: '>= 0.8'}
|
|
8692
|
+
dev: true
|
|
8693
|
+
|
|
8694
|
+
/vite@4.3.9:
|
|
8695
|
+
resolution: {integrity: sha512-qsTNZjO9NoJNW7KnOrgYwczm0WctJ8m/yqYAMAK9Lxt4SoySUfS5S8ia9K7JHpa3KEeMfyF8LoJ3c5NeBJy6pg==}
|
|
8696
|
+
engines: {node: ^14.18.0 || >=16.0.0}
|
|
8697
|
+
hasBin: true
|
|
8698
|
+
peerDependencies:
|
|
8699
|
+
'@types/node': '>= 14'
|
|
8700
|
+
less: '*'
|
|
8701
|
+
sass: '*'
|
|
8702
|
+
stylus: '*'
|
|
8703
|
+
sugarss: '*'
|
|
8704
|
+
terser: ^5.4.0
|
|
8705
|
+
peerDependenciesMeta:
|
|
8706
|
+
'@types/node':
|
|
8707
|
+
optional: true
|
|
8708
|
+
less:
|
|
8709
|
+
optional: true
|
|
8710
|
+
sass:
|
|
8711
|
+
optional: true
|
|
8712
|
+
stylus:
|
|
8713
|
+
optional: true
|
|
8714
|
+
sugarss:
|
|
8715
|
+
optional: true
|
|
8716
|
+
terser:
|
|
8717
|
+
optional: true
|
|
8718
|
+
dependencies:
|
|
8719
|
+
esbuild: 0.17.19
|
|
8720
|
+
postcss: 8.4.24
|
|
8721
|
+
rollup: 3.23.0
|
|
8722
|
+
optionalDependencies:
|
|
8723
|
+
fsevents: 2.3.2
|
|
8724
|
+
dev: true
|
|
5871
8725
|
|
|
5872
8726
|
/walkdir@0.4.1:
|
|
5873
8727
|
resolution: {integrity: sha512-3eBwRyEln6E1MSzcxcVpQIhRG8Q1jLvEqRmCZqS3dsfXEDR/AhOF4d+jHg1qvDCpYaVRZjENPQyrVxAkQqxPgQ==}
|
|
5874
8728
|
engines: {node: '>=6.0.0'}
|
|
5875
|
-
dev:
|
|
8729
|
+
dev: true
|
|
8730
|
+
|
|
8731
|
+
/walker@1.0.8:
|
|
8732
|
+
resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==}
|
|
8733
|
+
dependencies:
|
|
8734
|
+
makeerror: 1.0.12
|
|
8735
|
+
dev: true
|
|
5876
8736
|
|
|
5877
8737
|
/which-boxed-primitive@1.0.2:
|
|
5878
8738
|
resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==}
|
|
@@ -5918,16 +8778,98 @@ packages:
|
|
|
5918
8778
|
engines: {node: '>=0.10.0'}
|
|
5919
8779
|
dev: true
|
|
5920
8780
|
|
|
8781
|
+
/wordwrap@1.0.0:
|
|
8782
|
+
resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==}
|
|
8783
|
+
dev: true
|
|
8784
|
+
|
|
8785
|
+
/workerd@1.20230518.0:
|
|
8786
|
+
resolution: {integrity: sha512-VNmK0zoNZXrwEEx77O/oQDVUzzyDjf5kKKK8bty+FmKCd5EQJCpqi8NlRKWLGMyyYrKm86MFz0kAsreTEs7HHA==}
|
|
8787
|
+
engines: {node: '>=16'}
|
|
8788
|
+
hasBin: true
|
|
8789
|
+
requiresBuild: true
|
|
8790
|
+
optionalDependencies:
|
|
8791
|
+
'@cloudflare/workerd-darwin-64': 1.20230518.0
|
|
8792
|
+
'@cloudflare/workerd-darwin-arm64': 1.20230518.0
|
|
8793
|
+
'@cloudflare/workerd-linux-64': 1.20230518.0
|
|
8794
|
+
'@cloudflare/workerd-linux-arm64': 1.20230518.0
|
|
8795
|
+
'@cloudflare/workerd-windows-64': 1.20230518.0
|
|
8796
|
+
dev: true
|
|
8797
|
+
|
|
8798
|
+
/wrangler@3.0.1:
|
|
8799
|
+
resolution: {integrity: sha512-YamXlRjkMO/V3Fvq7IC9H9GDWIbNGc4IV3l1Z5q45XYTWxUYbkwXyiTAfpmqhyl5wx+XEPKe3k/ubqmW+r63yQ==}
|
|
8800
|
+
engines: {node: '>=16.13.0'}
|
|
8801
|
+
hasBin: true
|
|
8802
|
+
dependencies:
|
|
8803
|
+
'@cloudflare/kv-asset-handler': 0.2.0
|
|
8804
|
+
'@esbuild-plugins/node-globals-polyfill': 0.1.1(esbuild@0.16.3)
|
|
8805
|
+
'@esbuild-plugins/node-modules-polyfill': 0.1.4(esbuild@0.16.3)
|
|
8806
|
+
blake3-wasm: 2.1.5
|
|
8807
|
+
chokidar: 3.5.3
|
|
8808
|
+
esbuild: 0.16.3
|
|
8809
|
+
miniflare: 3.0.1
|
|
8810
|
+
nanoid: 3.3.6
|
|
8811
|
+
path-to-regexp: 6.2.1
|
|
8812
|
+
selfsigned: 2.1.1
|
|
8813
|
+
source-map: 0.7.4
|
|
8814
|
+
xxhash-wasm: 1.0.2
|
|
8815
|
+
optionalDependencies:
|
|
8816
|
+
fsevents: 2.3.2
|
|
8817
|
+
transitivePeerDependencies:
|
|
8818
|
+
- bufferutil
|
|
8819
|
+
- supports-color
|
|
8820
|
+
- utf-8-validate
|
|
8821
|
+
dev: true
|
|
8822
|
+
|
|
8823
|
+
/wrap-ansi@7.0.0:
|
|
8824
|
+
resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==}
|
|
8825
|
+
engines: {node: '>=10'}
|
|
8826
|
+
dependencies:
|
|
8827
|
+
ansi-styles: 4.3.0
|
|
8828
|
+
string-width: 4.2.3
|
|
8829
|
+
strip-ansi: 6.0.1
|
|
8830
|
+
dev: true
|
|
8831
|
+
|
|
5921
8832
|
/wrappy@1.0.2:
|
|
5922
8833
|
resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
|
|
5923
8834
|
dev: true
|
|
5924
8835
|
|
|
8836
|
+
/write-file-atomic@4.0.2:
|
|
8837
|
+
resolution: {integrity: sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==}
|
|
8838
|
+
engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0}
|
|
8839
|
+
dependencies:
|
|
8840
|
+
imurmurhash: 0.1.4
|
|
8841
|
+
signal-exit: 3.0.7
|
|
8842
|
+
dev: true
|
|
8843
|
+
|
|
8844
|
+
/ws@8.13.0:
|
|
8845
|
+
resolution: {integrity: sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==}
|
|
8846
|
+
engines: {node: '>=10.0.0'}
|
|
8847
|
+
peerDependencies:
|
|
8848
|
+
bufferutil: ^4.0.1
|
|
8849
|
+
utf-8-validate: '>=5.0.2'
|
|
8850
|
+
peerDependenciesMeta:
|
|
8851
|
+
bufferutil:
|
|
8852
|
+
optional: true
|
|
8853
|
+
utf-8-validate:
|
|
8854
|
+
optional: true
|
|
8855
|
+
dev: true
|
|
8856
|
+
|
|
8857
|
+
/xxhash-wasm@1.0.2:
|
|
8858
|
+
resolution: {integrity: sha512-ibF0Or+FivM9lNrg+HGJfVX8WJqgo+kCLDc4vx6xMeTce7Aj+DLttKbxxRR/gNLSAelRc1omAPlJ77N/Jem07A==}
|
|
8859
|
+
dev: true
|
|
8860
|
+
|
|
8861
|
+
/y18n@5.0.8:
|
|
8862
|
+
resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==}
|
|
8863
|
+
engines: {node: '>=10'}
|
|
8864
|
+
dev: true
|
|
8865
|
+
|
|
5925
8866
|
/yallist@3.1.1:
|
|
5926
8867
|
resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==}
|
|
5927
8868
|
dev: true
|
|
5928
8869
|
|
|
5929
8870
|
/yallist@4.0.0:
|
|
5930
8871
|
resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==}
|
|
8872
|
+
dev: true
|
|
5931
8873
|
|
|
5932
8874
|
/yaml@1.10.2:
|
|
5933
8875
|
resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==}
|
|
@@ -5937,18 +8879,33 @@ packages:
|
|
|
5937
8879
|
/yargs-parser@21.1.1:
|
|
5938
8880
|
resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==}
|
|
5939
8881
|
engines: {node: '>=12'}
|
|
5940
|
-
dev:
|
|
8882
|
+
dev: true
|
|
8883
|
+
|
|
8884
|
+
/yargs@17.7.2:
|
|
8885
|
+
resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==}
|
|
8886
|
+
engines: {node: '>=12'}
|
|
8887
|
+
dependencies:
|
|
8888
|
+
cliui: 8.0.1
|
|
8889
|
+
escalade: 3.1.1
|
|
8890
|
+
get-caller-file: 2.0.5
|
|
8891
|
+
require-directory: 2.1.1
|
|
8892
|
+
string-width: 4.2.3
|
|
8893
|
+
y18n: 5.0.8
|
|
8894
|
+
yargs-parser: 21.1.1
|
|
8895
|
+
dev: true
|
|
5941
8896
|
|
|
5942
8897
|
/yocto-queue@0.1.0:
|
|
5943
8898
|
resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
|
|
5944
8899
|
engines: {node: '>=10'}
|
|
5945
8900
|
dev: true
|
|
5946
8901
|
|
|
5947
|
-
/
|
|
8902
|
+
/youch@3.2.3:
|
|
5948
|
-
resolution: {integrity: sha512-
|
|
8903
|
+
resolution: {integrity: sha512-ZBcWz/uzZaQVdCvfV4uk616Bbpf2ee+F/AvuKDR5EwX/Y4v06xWdtMluqTD7+KlZdM93lLm9gMZYo0sKBS0pgw==}
|
|
8904
|
+
dependencies:
|
|
8905
|
+
cookie: 0.5.0
|
|
5949
|
-
|
|
8906
|
+
mustache: 4.2.0
|
|
8907
|
+
stacktracey: 2.1.8
|
|
5950
|
-
dev:
|
|
8908
|
+
dev: true
|
|
5951
8909
|
|
|
5952
8910
|
/zod@3.21.4:
|
|
5953
8911
|
resolution: {integrity: sha512-m46AKbrzKVzOzs/DZgVnG5H55N1sv1M8qZU3A8RIKbs3mrACDNeIOeilDymVb2HdmP8uwshOCF4uJ8uM9rCqJw==}
|
|
5954
|
-
dev: false
|
pnpm-workspace.yaml
CHANGED
|
@@ -1,2 +1,4 @@
|
|
|
1
1
|
packages:
|
|
2
|
+
- "lib"
|
|
2
|
-
-
|
|
3
|
+
- "example"
|
|
4
|
+
- "docs"
|
readme.md
CHANGED
|
@@ -1,20 +1,50 @@
|
|
|
1
|
-
|
|
1
|
+
<img src="https://github.com/pyrossh/edge-city/assets/1687946/29f61137-d467-4730-9368-29ffb259c192" width="200px">
|
|
2
2
|
|
|
3
|
+
# edge-city
|
|
4
|
+
|
|
3
|
-
|
|
5
|
+
edge-city is a next level meta-framework for react that runs only on edge runtimes.
|
|
4
|
-
It uses bun as its bundler/transpiler and development mode as its quick and fast.
|
|
5
|
-
It uses
|
|
6
|
+
It uses file system routing with streaming SSR + CSR to render pages.
|
|
6
7
|
It is very opionated and has set of idiomatic ways of doing things.
|
|
7
8
|
It has an inbuilt rpc mechanism to access server resources instead of a typical REST API.
|
|
9
|
+
It aims to have almost the same router api as nextjs router for ease of use.
|
|
10
|
+
|
|
11
|
+
During development each request for a page is executed in a separate edge-runtime (miniflare/vercel) vm.
|
|
12
|
+
During production each page is packaged to an esm function adapted to the platform of your choice.
|
|
13
|
+
|
|
14
|
+
## Why?
|
|
15
|
+
* Its really hard to have a streaming SSR + CSR with automatic data rehydration setup in nextjs 13.
|
|
16
|
+
* There is no meta-framework which runs your code in an edge simulated environment during development.
|
|
17
|
+
|
|
18
|
+
## Requirements
|
|
19
|
+
1. `node >= v20`
|
|
20
|
+
2. `wrangler` for deploying to cloudflare page functions
|
|
21
|
+
3. `vercel` for deploying to vercel edge runtime
|
|
22
|
+
|
|
23
|
+
## DB access
|
|
24
|
+
Since it runs only on edge runtimes which run in a constrained browser environment, you have to use database drivers
|
|
25
|
+
which can run in the browser, basically utilize Ajax/Fetch/Websocket. Here is a list of some of them,
|
|
8
26
|
|
|
9
|
-
|
|
27
|
+
* [NeonDB serverless driver](https://github.com/neondatabase/serverless) - postgres
|
|
28
|
+
* [Platnetscale serverless driver](https://planetscale.com/docs/tutorials/planetscale-serverless-driver) - mysql
|
|
10
|
-
|
|
29
|
+
* [Mongo Http](https://github.com/patrick-kw-chiu/mongo-http.js) - mongodb
|
|
11
30
|
|
|
12
|
-
### Todo
|
|
13
|
-
1. Hydrate rpc cache
|
|
14
|
-
2. Build a docs website using parotta
|
|
15
31
|
|
|
16
32
|
### Supported platforms
|
|
17
33
|
1. [Cloudflare page functions](https://developers.cloudflare.com/pages/platform/functions/routing/)
|
|
18
|
-
2. [Vercel edge functions](https://vercel.com/docs/concepts/functions/edge-functions)
|
|
34
|
+
2. [TODO][Vercel edge functions](https://vercel.com/docs/concepts/functions/edge-functions)
|
|
19
|
-
3. [Netlify edge functions](https://docs.netlify.com/edge-functions/overview/)
|
|
35
|
+
3. [TODO][Netlify edge functions](https://docs.netlify.com/edge-functions/overview/)
|
|
36
|
+
|
|
37
|
+
## Developing
|
|
38
|
+
|
|
39
|
+
1. `node >= v20.2.0`
|
|
40
|
+
2. `pnpm >= v8.5.1`
|
|
41
|
+
|
|
42
|
+
### Todo[General]
|
|
43
|
+
1. Build a docs website
|
|
44
|
+
2. Add tests for bot
|
|
45
|
+
3. Add tests for runtime
|
|
46
|
+
4. Add E2E tests for example
|
|
20
|
-
|
|
47
|
+
5. Maybe move to vite for HMR goodness
|
|
48
|
+
|
|
49
|
+
### Todo[Cloudflare]
|
|
50
|
+
1. Fix 404 pages not routing on server
|