mirror of
https://github.com/gitbutlerapp/gitbutler.git
synced 2024-11-23 03:26:36 +03:00
cleanup terminal
This commit is contained in:
parent
5fb947421a
commit
9b2ea25a7a
39
package.json
39
package.json
@ -38,44 +38,34 @@
|
||||
"@lezer/lr": "^1.3.3",
|
||||
"@replit/codemirror-lang-svelte": "^6.0.0",
|
||||
"@square/svelte-store": "^1.0.14",
|
||||
"@tauri-apps/api": "^1.2.0",
|
||||
"date-fns": "^2.29.3",
|
||||
"diff-match-patch": "^1.0.5",
|
||||
"inter-ui": "^3.19.3",
|
||||
"nanoid": "^4.0.1",
|
||||
"posthog-js": "^1.46.1",
|
||||
"svelte-french-toast": "^1.0.3",
|
||||
"svelte-resize-observer": "^2.0.0",
|
||||
"tauri-plugin-log-api": "github:tauri-apps/tauri-plugin-log",
|
||||
"tinykeys": "^1.4.0",
|
||||
"xterm": "^5.1.0",
|
||||
"xterm-addon-canvas": "^0.3.0",
|
||||
"xterm-addon-fit": "^0.7.0",
|
||||
"xterm-addon-ligatures": "^0.6.0",
|
||||
"xterm-addon-unicode11": "^0.5.0",
|
||||
"xterm-addon-webgl": "^0.14.0",
|
||||
"@storybook/addon-essentials": "next",
|
||||
"@storybook/addon-interactions": "next",
|
||||
"@storybook/addon-links": "next",
|
||||
"@storybook/addon-svelte-csf": "next",
|
||||
"@storybook/blocks": "next",
|
||||
"@storybook/theming": "next",
|
||||
"@storybook/sveltekit": "next",
|
||||
"@storybook/svelte": "next",
|
||||
"@storybook/sveltekit": "next",
|
||||
"@storybook/testing-library": "next",
|
||||
"@storybook/theming": "next",
|
||||
"@sveltejs/adapter-static": "^2.0.0",
|
||||
"@sveltejs/kit": "^1.15.0",
|
||||
"@tauri-apps/api": "^1.2.0",
|
||||
"@tauri-apps/cli": "^1.2.2",
|
||||
"@types/diff": "^5.0.2",
|
||||
"@types/diff-match-patch": "^1.0.32",
|
||||
"@typescript-eslint/eslint-plugin": "^5.45.0",
|
||||
"@typescript-eslint/parser": "^5.45.0",
|
||||
"autoprefixer": "^10.4.7",
|
||||
"date-fns": "^2.29.3",
|
||||
"diff-match-patch": "^1.0.5",
|
||||
"eslint": "^8.28.0",
|
||||
"eslint-config-prettier": "^8.5.0",
|
||||
"eslint-plugin-svelte3": "^4.0.0",
|
||||
"inter-ui": "^3.19.3",
|
||||
"nanoid": "^4.0.1",
|
||||
"postcss": "^8.4.14",
|
||||
"postcss-load-config": "^4.0.1",
|
||||
"posthog-js": "^1.46.1",
|
||||
"prettier": "^2.8.0",
|
||||
"prettier-plugin-svelte": "^2.8.1",
|
||||
"prettier-plugin-tailwindcss": "^0.2.4",
|
||||
@ -85,9 +75,20 @@
|
||||
"svelte": "^3.55.1",
|
||||
"svelte-check": "^3.0.1",
|
||||
"svelte-floating-ui": "^1.5.2",
|
||||
"svelte-french-toast": "^1.0.3",
|
||||
"svelte-resize-observer": "^2.0.0",
|
||||
"tailwindcss": "^3.1.5",
|
||||
"tauri-plugin-log-api": "github:tauri-apps/tauri-plugin-log",
|
||||
"tauri-plugin-websocket-api": "github:tauri-apps/tauri-plugin-websocket",
|
||||
"tinykeys": "^1.4.0",
|
||||
"tslib": "^2.4.1",
|
||||
"typescript": "^4.8.4",
|
||||
"vite": "^4.0.0"
|
||||
"vite": "^4.0.0",
|
||||
"xterm": "^5.1.0",
|
||||
"xterm-addon-canvas": "^0.3.0",
|
||||
"xterm-addon-fit": "^0.7.0",
|
||||
"xterm-addon-ligatures": "^0.6.0",
|
||||
"xterm-addon-unicode11": "^0.5.0",
|
||||
"xterm-addon-webgl": "^0.14.0"
|
||||
}
|
||||
}
|
||||
|
578
pnpm-lock.yaml
578
pnpm-lock.yaml
@ -65,6 +65,7 @@ specifiers:
|
||||
svelte-resize-observer: ^2.0.0
|
||||
tailwindcss: ^3.1.5
|
||||
tauri-plugin-log-api: github:tauri-apps/tauri-plugin-log
|
||||
tauri-plugin-websocket-api: github:tauri-apps/tauri-plugin-websocket
|
||||
tinykeys: ^1.4.0
|
||||
tslib: ^2.4.1
|
||||
typescript: ^4.8.4
|
||||
@ -100,15 +101,15 @@ devDependencies:
|
||||
'@lezer/lr': 1.3.3
|
||||
'@replit/codemirror-lang-svelte': 6.0.0_ybny7xhlf2ysg4majw54z4nkly
|
||||
'@square/svelte-store': 1.0.14
|
||||
'@storybook/addon-essentials': 7.0.1_biqbaboplfbrettd7655fr4n2y
|
||||
'@storybook/addon-interactions': 7.0.1_biqbaboplfbrettd7655fr4n2y
|
||||
'@storybook/addon-links': 7.0.1_biqbaboplfbrettd7655fr4n2y
|
||||
'@storybook/addon-svelte-csf': 3.0.0-next.5_hymqig7j7e5z76m3f25pxzkueu
|
||||
'@storybook/blocks': 7.0.1_biqbaboplfbrettd7655fr4n2y
|
||||
'@storybook/svelte': 7.0.1_svelte@3.55.1
|
||||
'@storybook/sveltekit': 7.0.1_hcl52ejjmh2zpx2q5wi2i43hma
|
||||
'@storybook/addon-essentials': 7.1.0-alpha.0_biqbaboplfbrettd7655fr4n2y
|
||||
'@storybook/addon-interactions': 7.1.0-alpha.0_biqbaboplfbrettd7655fr4n2y
|
||||
'@storybook/addon-links': 7.1.0-alpha.0_biqbaboplfbrettd7655fr4n2y
|
||||
'@storybook/addon-svelte-csf': 3.0.0-next.5_q6a7aji4t3j4im2thdo2rd7iga
|
||||
'@storybook/blocks': 7.1.0-alpha.0_biqbaboplfbrettd7655fr4n2y
|
||||
'@storybook/svelte': 7.1.0-alpha.0_svelte@3.55.1
|
||||
'@storybook/sveltekit': 7.1.0-alpha.0_hcl52ejjmh2zpx2q5wi2i43hma
|
||||
'@storybook/testing-library': 0.0.14-next.2
|
||||
'@storybook/theming': 7.0.1_biqbaboplfbrettd7655fr4n2y
|
||||
'@storybook/theming': 7.1.0-alpha.0_biqbaboplfbrettd7655fr4n2y
|
||||
'@sveltejs/adapter-static': 2.0.1_@sveltejs+kit@1.15.0
|
||||
'@sveltejs/kit': 1.15.0_svelte@3.55.1+vite@4.0.4
|
||||
'@tauri-apps/api': 1.2.0
|
||||
@ -133,7 +134,7 @@ devDependencies:
|
||||
prettier-plugin-tailwindcss: 0.2.4_yjdjpc7im5hvpskij45owfsns4
|
||||
react: 18.2.0
|
||||
react-dom: 18.2.0_react@18.2.0
|
||||
storybook: 7.0.1
|
||||
storybook: 7.1.0-alpha.0
|
||||
svelte: 3.55.1
|
||||
svelte-check: 3.0.3_gqx7lw3sljhsd4bstor5m2aa2u
|
||||
svelte-floating-ui: 1.5.2
|
||||
@ -141,6 +142,7 @@ devDependencies:
|
||||
svelte-resize-observer: 2.0.0
|
||||
tailwindcss: 3.2.4_postcss@8.4.21
|
||||
tauri-plugin-log-api: github.com/tauri-apps/tauri-plugin-log/05a9bfd9edb9b5f4ab95412bb607691708b65a25
|
||||
tauri-plugin-websocket-api: github.com/tauri-apps/tauri-plugin-websocket/ee8a3465278043d8bfa09f5d79fd9f23bf2a5aa9
|
||||
tinykeys: 1.4.0
|
||||
tslib: 2.5.0
|
||||
typescript: 4.9.5
|
||||
@ -2365,8 +2367,8 @@ packages:
|
||||
svelte: 3.55.1
|
||||
dev: true
|
||||
|
||||
/@storybook/addon-actions/7.0.1_biqbaboplfbrettd7655fr4n2y:
|
||||
resolution: {integrity: sha512-XAIOZ0z8ogsYRoq5UgV0LG0nxulGicQCcIym4omV0nhvPiG1EfNkuALFyMazPlz4DA+MQUznlr1xpNkpMWGcBA==}
|
||||
/@storybook/addon-actions/7.1.0-alpha.0_biqbaboplfbrettd7655fr4n2y:
|
||||
resolution: {integrity: sha512-aLvgK4NZLh+LsZ5HynYfpRJywd/zNSa5cbxdqq+xPtDWVdbLwVFyNtlOZ+RQoFlgq53+Yt0+Usx/NsOZYEQp8A==}
|
||||
peerDependencies:
|
||||
react: ^16.8.0 || ^17.0.0 || ^18.0.0
|
||||
react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
|
||||
@ -2376,14 +2378,14 @@ packages:
|
||||
react-dom:
|
||||
optional: true
|
||||
dependencies:
|
||||
'@storybook/client-logger': 7.0.1
|
||||
'@storybook/components': 7.0.1_biqbaboplfbrettd7655fr4n2y
|
||||
'@storybook/core-events': 7.0.1
|
||||
'@storybook/client-logger': 7.1.0-alpha.0
|
||||
'@storybook/components': 7.1.0-alpha.0_biqbaboplfbrettd7655fr4n2y
|
||||
'@storybook/core-events': 7.1.0-alpha.0
|
||||
'@storybook/global': 5.0.0
|
||||
'@storybook/manager-api': 7.0.1_biqbaboplfbrettd7655fr4n2y
|
||||
'@storybook/preview-api': 7.0.1
|
||||
'@storybook/theming': 7.0.1_biqbaboplfbrettd7655fr4n2y
|
||||
'@storybook/types': 7.0.1
|
||||
'@storybook/manager-api': 7.1.0-alpha.0_biqbaboplfbrettd7655fr4n2y
|
||||
'@storybook/preview-api': 7.1.0-alpha.0
|
||||
'@storybook/theming': 7.1.0-alpha.0_biqbaboplfbrettd7655fr4n2y
|
||||
'@storybook/types': 7.1.0-alpha.0
|
||||
dequal: 2.0.3
|
||||
lodash: 4.17.21
|
||||
polished: 4.2.2
|
||||
@ -2396,8 +2398,8 @@ packages:
|
||||
uuid-browser: 3.1.0
|
||||
dev: true
|
||||
|
||||
/@storybook/addon-backgrounds/7.0.1_biqbaboplfbrettd7655fr4n2y:
|
||||
resolution: {integrity: sha512-R+jo39If61q/SUyA8XlUzIbIgNn7GCENMw5RXhDddfQn1pf307rKcS2ng5jO5OXShLBekpoFhsNcuDhejowbsQ==}
|
||||
/@storybook/addon-backgrounds/7.1.0-alpha.0_biqbaboplfbrettd7655fr4n2y:
|
||||
resolution: {integrity: sha512-MjP19uJwnt4Jnawi1iP1QpTubv6SP0DCOtgwU1qvZxNWXx6LbkaVl3X6kzu9mOS0UOpSlNZNx/+ch6IXfe+FHQ==}
|
||||
peerDependencies:
|
||||
react: ^16.8.0 || ^17.0.0 || ^18.0.0
|
||||
react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
|
||||
@ -2407,22 +2409,22 @@ packages:
|
||||
react-dom:
|
||||
optional: true
|
||||
dependencies:
|
||||
'@storybook/client-logger': 7.0.1
|
||||
'@storybook/components': 7.0.1_biqbaboplfbrettd7655fr4n2y
|
||||
'@storybook/core-events': 7.0.1
|
||||
'@storybook/client-logger': 7.1.0-alpha.0
|
||||
'@storybook/components': 7.1.0-alpha.0_biqbaboplfbrettd7655fr4n2y
|
||||
'@storybook/core-events': 7.1.0-alpha.0
|
||||
'@storybook/global': 5.0.0
|
||||
'@storybook/manager-api': 7.0.1_biqbaboplfbrettd7655fr4n2y
|
||||
'@storybook/preview-api': 7.0.1
|
||||
'@storybook/theming': 7.0.1_biqbaboplfbrettd7655fr4n2y
|
||||
'@storybook/types': 7.0.1
|
||||
'@storybook/manager-api': 7.1.0-alpha.0_biqbaboplfbrettd7655fr4n2y
|
||||
'@storybook/preview-api': 7.1.0-alpha.0
|
||||
'@storybook/theming': 7.1.0-alpha.0_biqbaboplfbrettd7655fr4n2y
|
||||
'@storybook/types': 7.1.0-alpha.0
|
||||
memoizerific: 1.11.3
|
||||
react: 18.2.0
|
||||
react-dom: 18.2.0_react@18.2.0
|
||||
ts-dedent: 2.2.0
|
||||
dev: true
|
||||
|
||||
/@storybook/addon-controls/7.0.1_biqbaboplfbrettd7655fr4n2y:
|
||||
resolution: {integrity: sha512-Jzrtw5qU0jCdPrXNoCCrUMmOYOq25or0vL0cWqi1DuriEimVqEB6pe1oSfvE6qLzkTYuyOFCz7Navh7UmwZV/w==}
|
||||
/@storybook/addon-controls/7.1.0-alpha.0_biqbaboplfbrettd7655fr4n2y:
|
||||
resolution: {integrity: sha512-9KyPMfAoHKbFiRyW9sO7Zq4LUc4L8PTcBoOqLrVxoQ72YG1/uqbMx1Tc7tJMH9nyaabZeoJwSEeLJbXr0Jxlcw==}
|
||||
peerDependencies:
|
||||
react: ^16.8.0 || ^17.0.0 || ^18.0.0
|
||||
react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
|
||||
@ -2432,15 +2434,15 @@ packages:
|
||||
react-dom:
|
||||
optional: true
|
||||
dependencies:
|
||||
'@storybook/blocks': 7.0.1_biqbaboplfbrettd7655fr4n2y
|
||||
'@storybook/client-logger': 7.0.1
|
||||
'@storybook/components': 7.0.1_biqbaboplfbrettd7655fr4n2y
|
||||
'@storybook/core-common': 7.0.1
|
||||
'@storybook/manager-api': 7.0.1_biqbaboplfbrettd7655fr4n2y
|
||||
'@storybook/node-logger': 7.0.1
|
||||
'@storybook/preview-api': 7.0.1
|
||||
'@storybook/theming': 7.0.1_biqbaboplfbrettd7655fr4n2y
|
||||
'@storybook/types': 7.0.1
|
||||
'@storybook/blocks': 7.1.0-alpha.0_biqbaboplfbrettd7655fr4n2y
|
||||
'@storybook/client-logger': 7.1.0-alpha.0
|
||||
'@storybook/components': 7.1.0-alpha.0_biqbaboplfbrettd7655fr4n2y
|
||||
'@storybook/core-common': 7.1.0-alpha.0
|
||||
'@storybook/manager-api': 7.1.0-alpha.0_biqbaboplfbrettd7655fr4n2y
|
||||
'@storybook/node-logger': 7.1.0-alpha.0
|
||||
'@storybook/preview-api': 7.1.0-alpha.0
|
||||
'@storybook/theming': 7.1.0-alpha.0_biqbaboplfbrettd7655fr4n2y
|
||||
'@storybook/types': 7.1.0-alpha.0
|
||||
lodash: 4.17.21
|
||||
react: 18.2.0
|
||||
react-dom: 18.2.0_react@18.2.0
|
||||
@ -2449,8 +2451,8 @@ packages:
|
||||
- supports-color
|
||||
dev: true
|
||||
|
||||
/@storybook/addon-docs/7.0.1_biqbaboplfbrettd7655fr4n2y:
|
||||
resolution: {integrity: sha512-qC0dnhYQlrsrTHUftedb643f9W435yeEOzpfqLDfhSExz2w1dCiTA5KwfbZPdZu0JIjQKR8wqLSIQLzhQLbYYQ==}
|
||||
/@storybook/addon-docs/7.1.0-alpha.0_biqbaboplfbrettd7655fr4n2y:
|
||||
resolution: {integrity: sha512-Qo0DUgtYZQN7Tbw5871blq5p8YZM/2K+0wAri5HJ+WimBcuvZoDL97ULnX2pddj/+V5NzoflEiv7kYVvKr2xyA==}
|
||||
peerDependencies:
|
||||
'@storybook/mdx1-csf': '>=1.0.0-0'
|
||||
react: ^16.8.0 || ^17.0.0 || ^18.0.0
|
||||
@ -2463,19 +2465,19 @@ packages:
|
||||
'@babel/plugin-transform-react-jsx': 7.21.0_@babel+core@7.21.3
|
||||
'@jest/transform': 29.5.0
|
||||
'@mdx-js/react': 2.3.0_react@18.2.0
|
||||
'@storybook/blocks': 7.0.1_biqbaboplfbrettd7655fr4n2y
|
||||
'@storybook/client-logger': 7.0.1
|
||||
'@storybook/components': 7.0.1_biqbaboplfbrettd7655fr4n2y
|
||||
'@storybook/csf-plugin': 7.0.1
|
||||
'@storybook/csf-tools': 7.0.1
|
||||
'@storybook/blocks': 7.1.0-alpha.0_biqbaboplfbrettd7655fr4n2y
|
||||
'@storybook/client-logger': 7.1.0-alpha.0
|
||||
'@storybook/components': 7.1.0-alpha.0_biqbaboplfbrettd7655fr4n2y
|
||||
'@storybook/csf-plugin': 7.1.0-alpha.0
|
||||
'@storybook/csf-tools': 7.1.0-alpha.0
|
||||
'@storybook/global': 5.0.0
|
||||
'@storybook/mdx2-csf': 1.0.0
|
||||
'@storybook/node-logger': 7.0.1
|
||||
'@storybook/postinstall': 7.0.1
|
||||
'@storybook/preview-api': 7.0.1
|
||||
'@storybook/react-dom-shim': 7.0.1_biqbaboplfbrettd7655fr4n2y
|
||||
'@storybook/theming': 7.0.1_biqbaboplfbrettd7655fr4n2y
|
||||
'@storybook/types': 7.0.1
|
||||
'@storybook/node-logger': 7.1.0-alpha.0
|
||||
'@storybook/postinstall': 7.1.0-alpha.0
|
||||
'@storybook/preview-api': 7.1.0-alpha.0
|
||||
'@storybook/react-dom-shim': 7.1.0-alpha.0_biqbaboplfbrettd7655fr4n2y
|
||||
'@storybook/theming': 7.1.0-alpha.0_biqbaboplfbrettd7655fr4n2y
|
||||
'@storybook/types': 7.1.0-alpha.0
|
||||
fs-extra: 11.1.1
|
||||
react: 18.2.0
|
||||
react-dom: 18.2.0_react@18.2.0
|
||||
@ -2486,25 +2488,25 @@ packages:
|
||||
- supports-color
|
||||
dev: true
|
||||
|
||||
/@storybook/addon-essentials/7.0.1_biqbaboplfbrettd7655fr4n2y:
|
||||
resolution: {integrity: sha512-AiBGPFir4OeJl0vRCNM5AWDSZFGlN7Dfsxbuh0TA3O1i8jlG3v0EbtRzuRoZq5qyK4o/KlSmwjzlhZfQLbqUOg==}
|
||||
/@storybook/addon-essentials/7.1.0-alpha.0_biqbaboplfbrettd7655fr4n2y:
|
||||
resolution: {integrity: sha512-7CzzYL3EkWwMjdh9iFUlz+YazO24DAiR8yINjQF8K/2OkMDGEr9UsIbuBqNpImvpPYBp2rodG1G2CC5Te5chqQ==}
|
||||
peerDependencies:
|
||||
react: ^16.8.0 || ^17.0.0 || ^18.0.0
|
||||
react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
|
||||
dependencies:
|
||||
'@storybook/addon-actions': 7.0.1_biqbaboplfbrettd7655fr4n2y
|
||||
'@storybook/addon-backgrounds': 7.0.1_biqbaboplfbrettd7655fr4n2y
|
||||
'@storybook/addon-controls': 7.0.1_biqbaboplfbrettd7655fr4n2y
|
||||
'@storybook/addon-docs': 7.0.1_biqbaboplfbrettd7655fr4n2y
|
||||
'@storybook/addon-highlight': 7.0.1
|
||||
'@storybook/addon-measure': 7.0.1_biqbaboplfbrettd7655fr4n2y
|
||||
'@storybook/addon-outline': 7.0.1_biqbaboplfbrettd7655fr4n2y
|
||||
'@storybook/addon-toolbars': 7.0.1_biqbaboplfbrettd7655fr4n2y
|
||||
'@storybook/addon-viewport': 7.0.1_biqbaboplfbrettd7655fr4n2y
|
||||
'@storybook/core-common': 7.0.1
|
||||
'@storybook/manager-api': 7.0.1_biqbaboplfbrettd7655fr4n2y
|
||||
'@storybook/node-logger': 7.0.1
|
||||
'@storybook/preview-api': 7.0.1
|
||||
'@storybook/addon-actions': 7.1.0-alpha.0_biqbaboplfbrettd7655fr4n2y
|
||||
'@storybook/addon-backgrounds': 7.1.0-alpha.0_biqbaboplfbrettd7655fr4n2y
|
||||
'@storybook/addon-controls': 7.1.0-alpha.0_biqbaboplfbrettd7655fr4n2y
|
||||
'@storybook/addon-docs': 7.1.0-alpha.0_biqbaboplfbrettd7655fr4n2y
|
||||
'@storybook/addon-highlight': 7.1.0-alpha.0
|
||||
'@storybook/addon-measure': 7.1.0-alpha.0_biqbaboplfbrettd7655fr4n2y
|
||||
'@storybook/addon-outline': 7.1.0-alpha.0_biqbaboplfbrettd7655fr4n2y
|
||||
'@storybook/addon-toolbars': 7.1.0-alpha.0_biqbaboplfbrettd7655fr4n2y
|
||||
'@storybook/addon-viewport': 7.1.0-alpha.0_biqbaboplfbrettd7655fr4n2y
|
||||
'@storybook/core-common': 7.1.0-alpha.0
|
||||
'@storybook/manager-api': 7.1.0-alpha.0_biqbaboplfbrettd7655fr4n2y
|
||||
'@storybook/node-logger': 7.1.0-alpha.0
|
||||
'@storybook/preview-api': 7.1.0-alpha.0
|
||||
react: 18.2.0
|
||||
react-dom: 18.2.0_react@18.2.0
|
||||
ts-dedent: 2.2.0
|
||||
@ -2513,16 +2515,16 @@ packages:
|
||||
- supports-color
|
||||
dev: true
|
||||
|
||||
/@storybook/addon-highlight/7.0.1:
|
||||
resolution: {integrity: sha512-megyiaGt83836iFrfTPSII4irxE3w6Ut2UenGrAFmW9yYq50eOvRa5/g7MUaYw7xLSt7ph0hZfOgFYM5Dcucpg==}
|
||||
/@storybook/addon-highlight/7.1.0-alpha.0:
|
||||
resolution: {integrity: sha512-Vg7Fiv59ER9Hj5YzLZc6NTdAyijSpSWiUCUqxYhoyfirD8PBfLhC6jywB5VaIbj0TSaSac2WemJ1apND4XOHCg==}
|
||||
dependencies:
|
||||
'@storybook/core-events': 7.0.1
|
||||
'@storybook/core-events': 7.1.0-alpha.0
|
||||
'@storybook/global': 5.0.0
|
||||
'@storybook/preview-api': 7.0.1
|
||||
'@storybook/preview-api': 7.1.0-alpha.0
|
||||
dev: true
|
||||
|
||||
/@storybook/addon-interactions/7.0.1_biqbaboplfbrettd7655fr4n2y:
|
||||
resolution: {integrity: sha512-WJxhg8/CDt2wj8/lWotQaMNtJt3DOlBbZmYIrOscc6KCYYT6/oDjtJwfC70nPOa+xzKTTXQVjtd9ptPYXmYnUA==}
|
||||
/@storybook/addon-interactions/7.1.0-alpha.0_biqbaboplfbrettd7655fr4n2y:
|
||||
resolution: {integrity: sha512-kq/ouMhlWniJCkfAhFxfc9TyeeMcG1oJj+2wIqoWcXWkSGfuaXFcLz2dCJsXVCdgDRqAqTiOq7mjy7amizNrEg==}
|
||||
peerDependencies:
|
||||
react: ^16.8.0 || ^17.0.0 || ^18.0.0
|
||||
react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
|
||||
@ -2532,16 +2534,16 @@ packages:
|
||||
react-dom:
|
||||
optional: true
|
||||
dependencies:
|
||||
'@storybook/client-logger': 7.0.1
|
||||
'@storybook/components': 7.0.1_biqbaboplfbrettd7655fr4n2y
|
||||
'@storybook/core-common': 7.0.1
|
||||
'@storybook/core-events': 7.0.1
|
||||
'@storybook/client-logger': 7.1.0-alpha.0
|
||||
'@storybook/components': 7.1.0-alpha.0_biqbaboplfbrettd7655fr4n2y
|
||||
'@storybook/core-common': 7.1.0-alpha.0
|
||||
'@storybook/core-events': 7.1.0-alpha.0
|
||||
'@storybook/global': 5.0.0
|
||||
'@storybook/instrumenter': 7.0.1
|
||||
'@storybook/manager-api': 7.0.1_biqbaboplfbrettd7655fr4n2y
|
||||
'@storybook/preview-api': 7.0.1
|
||||
'@storybook/theming': 7.0.1_biqbaboplfbrettd7655fr4n2y
|
||||
'@storybook/types': 7.0.1
|
||||
'@storybook/instrumenter': 7.1.0-alpha.0
|
||||
'@storybook/manager-api': 7.1.0-alpha.0_biqbaboplfbrettd7655fr4n2y
|
||||
'@storybook/preview-api': 7.1.0-alpha.0
|
||||
'@storybook/theming': 7.1.0-alpha.0_biqbaboplfbrettd7655fr4n2y
|
||||
'@storybook/types': 7.1.0-alpha.0
|
||||
jest-mock: 27.5.1
|
||||
polished: 4.2.2
|
||||
react: 18.2.0
|
||||
@ -2551,8 +2553,8 @@ packages:
|
||||
- supports-color
|
||||
dev: true
|
||||
|
||||
/@storybook/addon-links/7.0.1_biqbaboplfbrettd7655fr4n2y:
|
||||
resolution: {integrity: sha512-ZKDfpLXPgMt8iopZw3FNCWgfKGSeblAAzOgS/pMdW9Sh6wocvEzcg5ysTqngtXWlBJWiRo1GmpuwhY9srrLaeA==}
|
||||
/@storybook/addon-links/7.1.0-alpha.0_biqbaboplfbrettd7655fr4n2y:
|
||||
resolution: {integrity: sha512-qx105KbSCSgZSyvBtlw8zjX5lJc76cI2BiRZZGp75ioa9xtfHqrsg/6pC6m5uqQXTBjxvPImsr7ZEsWKdQ1Rmw==}
|
||||
peerDependencies:
|
||||
react: ^16.8.0 || ^17.0.0 || ^18.0.0
|
||||
react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
|
||||
@ -2562,22 +2564,22 @@ packages:
|
||||
react-dom:
|
||||
optional: true
|
||||
dependencies:
|
||||
'@storybook/client-logger': 7.0.1
|
||||
'@storybook/core-events': 7.0.1
|
||||
'@storybook/client-logger': 7.1.0-alpha.0
|
||||
'@storybook/core-events': 7.1.0-alpha.0
|
||||
'@storybook/csf': 0.1.0
|
||||
'@storybook/global': 5.0.0
|
||||
'@storybook/manager-api': 7.0.1_biqbaboplfbrettd7655fr4n2y
|
||||
'@storybook/preview-api': 7.0.1
|
||||
'@storybook/router': 7.0.1_biqbaboplfbrettd7655fr4n2y
|
||||
'@storybook/types': 7.0.1
|
||||
'@storybook/manager-api': 7.1.0-alpha.0_biqbaboplfbrettd7655fr4n2y
|
||||
'@storybook/preview-api': 7.1.0-alpha.0
|
||||
'@storybook/router': 7.1.0-alpha.0_biqbaboplfbrettd7655fr4n2y
|
||||
'@storybook/types': 7.1.0-alpha.0
|
||||
prop-types: 15.8.1
|
||||
react: 18.2.0
|
||||
react-dom: 18.2.0_react@18.2.0
|
||||
ts-dedent: 2.2.0
|
||||
dev: true
|
||||
|
||||
/@storybook/addon-measure/7.0.1_biqbaboplfbrettd7655fr4n2y:
|
||||
resolution: {integrity: sha512-TAlNblxm/XOtuNuQl32h7uaKlAiMCQ2Ce+FgIINI4ck63gjN7cePctkafyFkIg4JC5iMCROzzv8JUCxhDIw0aQ==}
|
||||
/@storybook/addon-measure/7.1.0-alpha.0_biqbaboplfbrettd7655fr4n2y:
|
||||
resolution: {integrity: sha512-GeLUJwyFyAQALfukVxDkBNcNMZx8t4OP/MlvPCN50iq60m+77pu9ax+7qURG8e7GJCftCn7eeY1l1DiCtAURWA==}
|
||||
peerDependencies:
|
||||
react: ^16.8.0 || ^17.0.0 || ^18.0.0
|
||||
react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
|
||||
@ -2587,19 +2589,19 @@ packages:
|
||||
react-dom:
|
||||
optional: true
|
||||
dependencies:
|
||||
'@storybook/client-logger': 7.0.1
|
||||
'@storybook/components': 7.0.1_biqbaboplfbrettd7655fr4n2y
|
||||
'@storybook/core-events': 7.0.1
|
||||
'@storybook/client-logger': 7.1.0-alpha.0
|
||||
'@storybook/components': 7.1.0-alpha.0_biqbaboplfbrettd7655fr4n2y
|
||||
'@storybook/core-events': 7.1.0-alpha.0
|
||||
'@storybook/global': 5.0.0
|
||||
'@storybook/manager-api': 7.0.1_biqbaboplfbrettd7655fr4n2y
|
||||
'@storybook/preview-api': 7.0.1
|
||||
'@storybook/types': 7.0.1
|
||||
'@storybook/manager-api': 7.1.0-alpha.0_biqbaboplfbrettd7655fr4n2y
|
||||
'@storybook/preview-api': 7.1.0-alpha.0
|
||||
'@storybook/types': 7.1.0-alpha.0
|
||||
react: 18.2.0
|
||||
react-dom: 18.2.0_react@18.2.0
|
||||
dev: true
|
||||
|
||||
/@storybook/addon-outline/7.0.1_biqbaboplfbrettd7655fr4n2y:
|
||||
resolution: {integrity: sha512-IwnjblSh1DNUtcFsYYX2GUems+2ueW2MLJz29x1/djgOAiDiM2oMygb/ee29yr0F+J2rQnwiTx2Ja9Gtp+0m9Q==}
|
||||
/@storybook/addon-outline/7.1.0-alpha.0_biqbaboplfbrettd7655fr4n2y:
|
||||
resolution: {integrity: sha512-gSZjfIcwsBDhpRPOtTPocZnsN07d01dkIEh2xOk8ARYc3fHrlAoCEvJ0iBnOOJH4MtnNUBJpTb1qy+CsHpYbFQ==}
|
||||
peerDependencies:
|
||||
react: ^16.8.0 || ^17.0.0 || ^18.0.0
|
||||
react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
|
||||
@ -2609,19 +2611,19 @@ packages:
|
||||
react-dom:
|
||||
optional: true
|
||||
dependencies:
|
||||
'@storybook/client-logger': 7.0.1
|
||||
'@storybook/components': 7.0.1_biqbaboplfbrettd7655fr4n2y
|
||||
'@storybook/core-events': 7.0.1
|
||||
'@storybook/client-logger': 7.1.0-alpha.0
|
||||
'@storybook/components': 7.1.0-alpha.0_biqbaboplfbrettd7655fr4n2y
|
||||
'@storybook/core-events': 7.1.0-alpha.0
|
||||
'@storybook/global': 5.0.0
|
||||
'@storybook/manager-api': 7.0.1_biqbaboplfbrettd7655fr4n2y
|
||||
'@storybook/preview-api': 7.0.1
|
||||
'@storybook/types': 7.0.1
|
||||
'@storybook/manager-api': 7.1.0-alpha.0_biqbaboplfbrettd7655fr4n2y
|
||||
'@storybook/preview-api': 7.1.0-alpha.0
|
||||
'@storybook/types': 7.1.0-alpha.0
|
||||
react: 18.2.0
|
||||
react-dom: 18.2.0_react@18.2.0
|
||||
ts-dedent: 2.2.0
|
||||
dev: true
|
||||
|
||||
/@storybook/addon-svelte-csf/3.0.0-next.5_hymqig7j7e5z76m3f25pxzkueu:
|
||||
/@storybook/addon-svelte-csf/3.0.0-next.5_q6a7aji4t3j4im2thdo2rd7iga:
|
||||
resolution: {integrity: sha512-rGXjQqAxPbk9/NNBpLpWduNryuUbLSd0L/BD4TmtoeCG6YkwnPxSOzIkGg9DN94OhBSleSJZucz4e/LpeUqSmw==}
|
||||
peerDependencies:
|
||||
'@storybook/svelte': ^7.0.0-beta.0 || ^7.0.0-rc.0 || ^7.0.0
|
||||
@ -2639,8 +2641,8 @@ packages:
|
||||
optional: true
|
||||
dependencies:
|
||||
'@babel/runtime': 7.21.0
|
||||
'@storybook/svelte': 7.0.1_svelte@3.55.1
|
||||
'@storybook/theming': 7.0.1_biqbaboplfbrettd7655fr4n2y
|
||||
'@storybook/svelte': 7.1.0-alpha.0_svelte@3.55.1
|
||||
'@storybook/theming': 7.1.0-alpha.0_biqbaboplfbrettd7655fr4n2y
|
||||
fs-extra: 11.1.1
|
||||
magic-string: 0.30.0
|
||||
svelte: 3.55.1
|
||||
@ -2648,8 +2650,8 @@ packages:
|
||||
vite: 4.0.4
|
||||
dev: true
|
||||
|
||||
/@storybook/addon-toolbars/7.0.1_biqbaboplfbrettd7655fr4n2y:
|
||||
resolution: {integrity: sha512-tcYb9I4YDlQJcZXK8H2l8F/04lDpzzSj2Vzi/dQJquWNsQjXSEsPik9ZVb87zZ4uZ8pVf0t0INhiwTR6dUWzpA==}
|
||||
/@storybook/addon-toolbars/7.1.0-alpha.0_biqbaboplfbrettd7655fr4n2y:
|
||||
resolution: {integrity: sha512-HhNX53rFtnA8+hZ9kYP9uR7P/dvwQKWy1c1L1Z5Twe0Kw2585dJbtXA3VJ8oIoD6R6e/AHTFWujJJrT3NrHr8w==}
|
||||
peerDependencies:
|
||||
react: ^16.8.0 || ^17.0.0 || ^18.0.0
|
||||
react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
|
||||
@ -2659,17 +2661,17 @@ packages:
|
||||
react-dom:
|
||||
optional: true
|
||||
dependencies:
|
||||
'@storybook/client-logger': 7.0.1
|
||||
'@storybook/components': 7.0.1_biqbaboplfbrettd7655fr4n2y
|
||||
'@storybook/manager-api': 7.0.1_biqbaboplfbrettd7655fr4n2y
|
||||
'@storybook/preview-api': 7.0.1
|
||||
'@storybook/theming': 7.0.1_biqbaboplfbrettd7655fr4n2y
|
||||
'@storybook/client-logger': 7.1.0-alpha.0
|
||||
'@storybook/components': 7.1.0-alpha.0_biqbaboplfbrettd7655fr4n2y
|
||||
'@storybook/manager-api': 7.1.0-alpha.0_biqbaboplfbrettd7655fr4n2y
|
||||
'@storybook/preview-api': 7.1.0-alpha.0
|
||||
'@storybook/theming': 7.1.0-alpha.0_biqbaboplfbrettd7655fr4n2y
|
||||
react: 18.2.0
|
||||
react-dom: 18.2.0_react@18.2.0
|
||||
dev: true
|
||||
|
||||
/@storybook/addon-viewport/7.0.1_biqbaboplfbrettd7655fr4n2y:
|
||||
resolution: {integrity: sha512-qgIVtC0FFcbQU7B17L8IH6naWWvQG0LtGhLC6A1z1xSsioeF6+W6vACBKRa4OnpdXjSbx4SLd0nIzEbekUfyLg==}
|
||||
/@storybook/addon-viewport/7.1.0-alpha.0_biqbaboplfbrettd7655fr4n2y:
|
||||
resolution: {integrity: sha512-4MoaFCq8hGhQbdSBqckTTiqgq299c2jhdsoHSMOhNT7QnY54kE6pod6w5VCZD7JH5ltzThEJD764Q+WBqqgfpw==}
|
||||
peerDependencies:
|
||||
react: ^16.8.0 || ^17.0.0 || ^18.0.0
|
||||
react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
|
||||
@ -2679,36 +2681,36 @@ packages:
|
||||
react-dom:
|
||||
optional: true
|
||||
dependencies:
|
||||
'@storybook/client-logger': 7.0.1
|
||||
'@storybook/components': 7.0.1_biqbaboplfbrettd7655fr4n2y
|
||||
'@storybook/core-events': 7.0.1
|
||||
'@storybook/client-logger': 7.1.0-alpha.0
|
||||
'@storybook/components': 7.1.0-alpha.0_biqbaboplfbrettd7655fr4n2y
|
||||
'@storybook/core-events': 7.1.0-alpha.0
|
||||
'@storybook/global': 5.0.0
|
||||
'@storybook/manager-api': 7.0.1_biqbaboplfbrettd7655fr4n2y
|
||||
'@storybook/preview-api': 7.0.1
|
||||
'@storybook/theming': 7.0.1_biqbaboplfbrettd7655fr4n2y
|
||||
'@storybook/manager-api': 7.1.0-alpha.0_biqbaboplfbrettd7655fr4n2y
|
||||
'@storybook/preview-api': 7.1.0-alpha.0
|
||||
'@storybook/theming': 7.1.0-alpha.0_biqbaboplfbrettd7655fr4n2y
|
||||
memoizerific: 1.11.3
|
||||
prop-types: 15.8.1
|
||||
react: 18.2.0
|
||||
react-dom: 18.2.0_react@18.2.0
|
||||
dev: true
|
||||
|
||||
/@storybook/blocks/7.0.1_biqbaboplfbrettd7655fr4n2y:
|
||||
resolution: {integrity: sha512-w3n4ddIP2arB+gyZux2wPYCEV7li+SLFV2MhWVtUQwgoeXmiQpMCgIXpG29EjQf+oi9mhRqTWjKLHblU/WukmQ==}
|
||||
/@storybook/blocks/7.1.0-alpha.0_biqbaboplfbrettd7655fr4n2y:
|
||||
resolution: {integrity: sha512-tEFK4UOCsFbrSa6R3rOwUjBbEYOLUScF6hjtza9bsLW6tUcYG4qZdZi/nOpVdzkGfoRkmXJRoD11aRi8I9KJ+g==}
|
||||
peerDependencies:
|
||||
react: ^16.8.0 || ^17.0.0 || ^18.0.0
|
||||
react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
|
||||
dependencies:
|
||||
'@storybook/channels': 7.0.1
|
||||
'@storybook/client-logger': 7.0.1
|
||||
'@storybook/components': 7.0.1_biqbaboplfbrettd7655fr4n2y
|
||||
'@storybook/core-events': 7.0.1
|
||||
'@storybook/channels': 7.1.0-alpha.0
|
||||
'@storybook/client-logger': 7.1.0-alpha.0
|
||||
'@storybook/components': 7.1.0-alpha.0_biqbaboplfbrettd7655fr4n2y
|
||||
'@storybook/core-events': 7.1.0-alpha.0
|
||||
'@storybook/csf': 0.1.0
|
||||
'@storybook/docs-tools': 7.0.1
|
||||
'@storybook/docs-tools': 7.1.0-alpha.0
|
||||
'@storybook/global': 5.0.0
|
||||
'@storybook/manager-api': 7.0.1_biqbaboplfbrettd7655fr4n2y
|
||||
'@storybook/preview-api': 7.0.1
|
||||
'@storybook/theming': 7.0.1_biqbaboplfbrettd7655fr4n2y
|
||||
'@storybook/types': 7.0.1
|
||||
'@storybook/manager-api': 7.1.0-alpha.0_biqbaboplfbrettd7655fr4n2y
|
||||
'@storybook/preview-api': 7.1.0-alpha.0
|
||||
'@storybook/theming': 7.1.0-alpha.0_biqbaboplfbrettd7655fr4n2y
|
||||
'@storybook/types': 7.1.0-alpha.0
|
||||
'@types/lodash': 4.14.191
|
||||
color-convert: 2.0.1
|
||||
dequal: 2.0.3
|
||||
@ -2726,13 +2728,13 @@ packages:
|
||||
- supports-color
|
||||
dev: true
|
||||
|
||||
/@storybook/builder-manager/7.0.1:
|
||||
resolution: {integrity: sha512-fOyYEW9mSCHM8KL7mVX1bSjTzpyCMap/ZC356NY981qO4kihp9wGCIOFOEwyb1t8WxZVu/zSTr2o+/1Un8CrOg==}
|
||||
/@storybook/builder-manager/7.1.0-alpha.0:
|
||||
resolution: {integrity: sha512-d3WiL/1lXhubAdBblRYLD/s/3Lmf2op9eXysFAv2iUQIB6TtgdOG3auPZRoOx54P1jua3iz2nCfMsZlzwW791g==}
|
||||
dependencies:
|
||||
'@fal-works/esbuild-plugin-global-externals': 2.1.2
|
||||
'@storybook/core-common': 7.0.1
|
||||
'@storybook/manager': 7.0.1
|
||||
'@storybook/node-logger': 7.0.1
|
||||
'@storybook/core-common': 7.1.0-alpha.0
|
||||
'@storybook/manager': 7.1.0-alpha.0
|
||||
'@storybook/node-logger': 7.1.0-alpha.0
|
||||
'@types/ejs': 3.1.2
|
||||
'@types/find-cache-dir': 3.2.1
|
||||
'@yarnpkg/esbuild-plugin-pnp': 3.0.0-rc.15_esbuild@0.17.14
|
||||
@ -2749,8 +2751,8 @@ packages:
|
||||
- supports-color
|
||||
dev: true
|
||||
|
||||
/@storybook/builder-vite/7.0.1_egung5nfepmolqa7uavvqho3gq:
|
||||
resolution: {integrity: sha512-IXAIKB6Lt66RrONNXIaoq0CsyoSZMo6QFbeJLezvCU8UarXvME/XVGkyTm6nVaGxnF/HW0rhknNMRZ1JFSNULA==}
|
||||
/@storybook/builder-vite/7.1.0-alpha.0_egung5nfepmolqa7uavvqho3gq:
|
||||
resolution: {integrity: sha512-9N+voTydxZ4Dyy/ZK+TYgu31W/ERKvTokzl2DVDCSgNA98Y92rxsExA2+ipsdjMMfDqSVUrU6njH2A5vAzl9fg==}
|
||||
peerDependencies:
|
||||
'@preact/preset-vite': '*'
|
||||
'@storybook/mdx1-csf': '>=1.0.0-next.1'
|
||||
@ -2767,16 +2769,16 @@ packages:
|
||||
vite-plugin-glimmerx:
|
||||
optional: true
|
||||
dependencies:
|
||||
'@storybook/channel-postmessage': 7.0.1
|
||||
'@storybook/channel-websocket': 7.0.1
|
||||
'@storybook/client-logger': 7.0.1
|
||||
'@storybook/core-common': 7.0.1
|
||||
'@storybook/csf-plugin': 7.0.1
|
||||
'@storybook/channel-postmessage': 7.1.0-alpha.0
|
||||
'@storybook/channel-websocket': 7.1.0-alpha.0
|
||||
'@storybook/client-logger': 7.1.0-alpha.0
|
||||
'@storybook/core-common': 7.1.0-alpha.0
|
||||
'@storybook/csf-plugin': 7.1.0-alpha.0
|
||||
'@storybook/mdx2-csf': 1.0.0
|
||||
'@storybook/node-logger': 7.0.1
|
||||
'@storybook/preview': 7.0.1
|
||||
'@storybook/preview-api': 7.0.1
|
||||
'@storybook/types': 7.0.1
|
||||
'@storybook/node-logger': 7.1.0-alpha.0
|
||||
'@storybook/preview': 7.1.0-alpha.0
|
||||
'@storybook/preview-api': 7.1.0-alpha.0
|
||||
'@storybook/types': 7.1.0-alpha.0
|
||||
browser-assert: 1.2.1
|
||||
es-module-lexer: 0.9.3
|
||||
express: 4.18.2
|
||||
@ -2804,11 +2806,22 @@ packages:
|
||||
telejson: 7.0.4
|
||||
dev: true
|
||||
|
||||
/@storybook/channel-websocket/7.0.1:
|
||||
resolution: {integrity: sha512-WJM9xkh9YnDS7zAw25GhbptTSxWBtkOdm5Kkp1vZEZOD19L288ZsJ8g0HfAYMBsthZzG6U8thiIiTICDGXvx7w==}
|
||||
/@storybook/channel-postmessage/7.1.0-alpha.0:
|
||||
resolution: {integrity: sha512-uNt2+hsf31DT2c/QkwjZFIJ/tE4BLe/JQss721/9xR91WsCestdcJfDhUHLcC+d2q2qoLq29rWrWW2TK+kojKw==}
|
||||
dependencies:
|
||||
'@storybook/channels': 7.0.1
|
||||
'@storybook/client-logger': 7.0.1
|
||||
'@storybook/channels': 7.1.0-alpha.0
|
||||
'@storybook/client-logger': 7.1.0-alpha.0
|
||||
'@storybook/core-events': 7.1.0-alpha.0
|
||||
'@storybook/global': 5.0.0
|
||||
qs: 6.11.1
|
||||
telejson: 7.0.4
|
||||
dev: true
|
||||
|
||||
/@storybook/channel-websocket/7.1.0-alpha.0:
|
||||
resolution: {integrity: sha512-JOALMW+TSFV/eZitV+ijiklEBnu1gvoY1J19ki7uYCEUkA/Ty6ZxbcLmXxDCmEZpd25//FnDUrum4lyzgLvUkA==}
|
||||
dependencies:
|
||||
'@storybook/channels': 7.1.0-alpha.0
|
||||
'@storybook/client-logger': 7.1.0-alpha.0
|
||||
'@storybook/global': 5.0.0
|
||||
telejson: 7.0.4
|
||||
dev: true
|
||||
@ -2817,20 +2830,24 @@ packages:
|
||||
resolution: {integrity: sha512-Hm/vrCkpxvZRIIjs9vwLDvK4TVINj8E3xRBPq29qUs/kdpf3f8+NiYd/gRXN+JNH7Ov1NC4L5khlR1rXh5AUNQ==}
|
||||
dev: true
|
||||
|
||||
/@storybook/cli/7.0.1:
|
||||
resolution: {integrity: sha512-ul8tbEeGjmp2TbLh54lnJrcqg3r9R/sqzp7WyjFEX5ZM8OZ+Lx89LHjE6XidIF1uERYPxg522NGXwIjir4UGrg==}
|
||||
/@storybook/channels/7.1.0-alpha.0:
|
||||
resolution: {integrity: sha512-9FGJaJU7FdrsF4O8JmvJe/8L3VoriNFssMGH+zkl4Amk0lpEQ/zB9FnHTaALV2hP5DUdtHhyO81u3YXQrmgOUQ==}
|
||||
dev: true
|
||||
|
||||
/@storybook/cli/7.1.0-alpha.0:
|
||||
resolution: {integrity: sha512-6ogRZ3B1QXd4AVl21QeSIYVqEzSQZdeg79BNx+85cYdpzskX3PDrcWVM0rXFKXoXeVd0LyJ0uOh6ZxN2pMM6Tw==}
|
||||
hasBin: true
|
||||
dependencies:
|
||||
'@babel/core': 7.21.3
|
||||
'@babel/preset-env': 7.21.4_@babel+core@7.21.3
|
||||
'@ndelangen/get-tarball': 3.0.7
|
||||
'@storybook/codemod': 7.0.1
|
||||
'@storybook/core-common': 7.0.1
|
||||
'@storybook/core-server': 7.0.1
|
||||
'@storybook/csf-tools': 7.0.1
|
||||
'@storybook/node-logger': 7.0.1
|
||||
'@storybook/telemetry': 7.0.1
|
||||
'@storybook/types': 7.0.1
|
||||
'@storybook/codemod': 7.1.0-alpha.0
|
||||
'@storybook/core-common': 7.1.0-alpha.0
|
||||
'@storybook/core-server': 7.1.0-alpha.0
|
||||
'@storybook/csf-tools': 7.1.0-alpha.0
|
||||
'@storybook/node-logger': 7.1.0-alpha.0
|
||||
'@storybook/telemetry': 7.1.0-alpha.0
|
||||
'@storybook/types': 7.1.0-alpha.0
|
||||
'@types/semver': 7.3.13
|
||||
boxen: 5.1.2
|
||||
chalk: 4.1.2
|
||||
@ -2872,16 +2889,22 @@ packages:
|
||||
'@storybook/global': 5.0.0
|
||||
dev: true
|
||||
|
||||
/@storybook/codemod/7.0.1:
|
||||
resolution: {integrity: sha512-I46DbqVdtlOSZ3nnf6f/cRrkRb0fAC3hTkb3+lw4gESv9bK5IS9IrG/QWDXDqtQxLgw9uNu7Jgn5lUX+kg3IDA==}
|
||||
/@storybook/client-logger/7.1.0-alpha.0:
|
||||
resolution: {integrity: sha512-NFIFFeKgZxSXvDnd0nTG1MehTw1j7tMCg8rbK4lJ/R5waQkygJ/9QDVXZlZjC9+FU/Gj175iSIf5LNCHQjylAQ==}
|
||||
dependencies:
|
||||
'@storybook/global': 5.0.0
|
||||
dev: true
|
||||
|
||||
/@storybook/codemod/7.1.0-alpha.0:
|
||||
resolution: {integrity: sha512-fEXyW8d7YAfphXCceBdtV2C3Qeh9cNAQUIGGn3+KCuiSlRikH1opvIvCaxe1XA1jJ018LqKp0pAQtaHci8OYqQ==}
|
||||
dependencies:
|
||||
'@babel/core': 7.21.3
|
||||
'@babel/preset-env': 7.21.4_@babel+core@7.21.3
|
||||
'@babel/types': 7.21.4
|
||||
'@storybook/csf': 0.1.0
|
||||
'@storybook/csf-tools': 7.0.1
|
||||
'@storybook/node-logger': 7.0.1
|
||||
'@storybook/types': 7.0.1
|
||||
'@storybook/csf-tools': 7.1.0-alpha.0
|
||||
'@storybook/node-logger': 7.1.0-alpha.0
|
||||
'@storybook/types': 7.1.0-alpha.0
|
||||
cross-spawn: 7.0.3
|
||||
globby: 11.1.0
|
||||
jscodeshift: 0.14.0_@babel+preset-env@7.21.4
|
||||
@ -2892,17 +2915,17 @@ packages:
|
||||
- supports-color
|
||||
dev: true
|
||||
|
||||
/@storybook/components/7.0.1_biqbaboplfbrettd7655fr4n2y:
|
||||
resolution: {integrity: sha512-AqIJMBVlBkBl41IaltQluWoHkvuZMpf0ncDZpS6445SexdLLSJfOh6tLZe44JMmxmmb5zdI0ZiMYgqpNst6SUw==}
|
||||
/@storybook/components/7.1.0-alpha.0_biqbaboplfbrettd7655fr4n2y:
|
||||
resolution: {integrity: sha512-cJjiGDusSg9XCrTwnp6S13LmuHByumlvbvUsooCaWbLL5CsQbhHaXjj/04sxxQFuNz8vl+cUGG5RRUTJtEZbRQ==}
|
||||
peerDependencies:
|
||||
react: ^16.8.0 || ^17.0.0 || ^18.0.0
|
||||
react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
|
||||
dependencies:
|
||||
'@storybook/client-logger': 7.0.1
|
||||
'@storybook/client-logger': 7.1.0-alpha.0
|
||||
'@storybook/csf': 0.1.0
|
||||
'@storybook/global': 5.0.0
|
||||
'@storybook/theming': 7.0.1_biqbaboplfbrettd7655fr4n2y
|
||||
'@storybook/types': 7.0.1
|
||||
'@storybook/theming': 7.1.0-alpha.0_biqbaboplfbrettd7655fr4n2y
|
||||
'@storybook/types': 7.1.0-alpha.0
|
||||
memoizerific: 1.11.3
|
||||
react: 18.2.0
|
||||
react-dom: 18.2.0_react@18.2.0
|
||||
@ -2910,18 +2933,18 @@ packages:
|
||||
util-deprecate: 1.0.2
|
||||
dev: true
|
||||
|
||||
/@storybook/core-client/7.0.1:
|
||||
resolution: {integrity: sha512-x/nn4RCzAhDXdC+6t4ugrOJ/ZBw7sthqKJ/LcJDaAaOZ/srmeN8agobb6Gw2Q7U69yWTwwuYYgZWZh2Y4+TLdA==}
|
||||
/@storybook/core-client/7.1.0-alpha.0:
|
||||
resolution: {integrity: sha512-iLHJFlWkT3OA73U03yN+D2ZNFfngWPjwCd8q2Q0+jG3TdegUnmUDVHIs9BeDVaH4cnqbDiBfY8Fwy+DmwT+WMw==}
|
||||
dependencies:
|
||||
'@storybook/client-logger': 7.0.1
|
||||
'@storybook/preview-api': 7.0.1
|
||||
'@storybook/client-logger': 7.1.0-alpha.0
|
||||
'@storybook/preview-api': 7.1.0-alpha.0
|
||||
dev: true
|
||||
|
||||
/@storybook/core-common/7.0.1:
|
||||
resolution: {integrity: sha512-QXVc31IZ6Zd0TPGpidpIPbkWUoAuI1WPu88JVu3q/l+ryFuMPOwAGAc8Pl2z3Nb3wK0kH+YRh+5Fbfh1g7TamA==}
|
||||
/@storybook/core-common/7.1.0-alpha.0:
|
||||
resolution: {integrity: sha512-83EiqRptheyzKXJuQniar3IXNJEL7ezfyPWNwXqdcLDiT6i7Bu/20HFluVvh5atulHHDCunPu1dEWmcsmFf4nw==}
|
||||
dependencies:
|
||||
'@storybook/node-logger': 7.0.1
|
||||
'@storybook/types': 7.0.1
|
||||
'@storybook/node-logger': 7.1.0-alpha.0
|
||||
'@storybook/types': 7.1.0-alpha.0
|
||||
'@types/node': 16.18.21
|
||||
'@types/pretty-hrtime': 1.0.1
|
||||
chalk: 4.1.2
|
||||
@ -2947,23 +2970,27 @@ packages:
|
||||
resolution: {integrity: sha512-Q3wBHoahO5d7Zm0S0zvXIqnG/fuf02RNMjTiAMYG55MlPZEmu3ll4VzDtroeku4Zwo9xbHGxgVQH5LFScQncEQ==}
|
||||
dev: true
|
||||
|
||||
/@storybook/core-server/7.0.1:
|
||||
resolution: {integrity: sha512-blDkMUWuwwXwAFmvr/08LJVKWBbWlhVtux/CNM0CEQWmMXRe82E4T75JLLNIZLesxtfsFjnjY0WNpebFuXasMA==}
|
||||
/@storybook/core-events/7.1.0-alpha.0:
|
||||
resolution: {integrity: sha512-GckKwXy5rcbeLym9yvwziT3KiryLr3uvh2hF9F3Tde1iKvi822Acytg8viVQIUahzdBvlnaRZIIBxhAFPIAu5g==}
|
||||
dev: true
|
||||
|
||||
/@storybook/core-server/7.1.0-alpha.0:
|
||||
resolution: {integrity: sha512-/R9rbv3lRAkXbLxe24d9yNS8B3u0dD2wmYRwy4wKFFmJQ6rSy+2OEUSkdGXLI7Dez7jGL7TgMT5XbD4ILrDiqg==}
|
||||
dependencies:
|
||||
'@aw-web-design/x-default-browser': 1.4.88
|
||||
'@discoveryjs/json-ext': 0.5.7
|
||||
'@storybook/builder-manager': 7.0.1
|
||||
'@storybook/core-common': 7.0.1
|
||||
'@storybook/core-events': 7.0.1
|
||||
'@storybook/builder-manager': 7.1.0-alpha.0
|
||||
'@storybook/core-common': 7.1.0-alpha.0
|
||||
'@storybook/core-events': 7.1.0-alpha.0
|
||||
'@storybook/csf': 0.1.0
|
||||
'@storybook/csf-tools': 7.0.1
|
||||
'@storybook/csf-tools': 7.1.0-alpha.0
|
||||
'@storybook/docs-mdx': 0.1.0
|
||||
'@storybook/global': 5.0.0
|
||||
'@storybook/manager': 7.0.1
|
||||
'@storybook/node-logger': 7.0.1
|
||||
'@storybook/preview-api': 7.0.1
|
||||
'@storybook/telemetry': 7.0.1
|
||||
'@storybook/types': 7.0.1
|
||||
'@storybook/manager': 7.1.0-alpha.0
|
||||
'@storybook/node-logger': 7.1.0-alpha.0
|
||||
'@storybook/preview-api': 7.1.0-alpha.0
|
||||
'@storybook/telemetry': 7.1.0-alpha.0
|
||||
'@storybook/types': 7.1.0-alpha.0
|
||||
'@types/detect-port': 1.3.2
|
||||
'@types/node': 16.18.21
|
||||
'@types/node-fetch': 2.6.2
|
||||
@ -2999,24 +3026,24 @@ packages:
|
||||
- utf-8-validate
|
||||
dev: true
|
||||
|
||||
/@storybook/csf-plugin/7.0.1:
|
||||
resolution: {integrity: sha512-YRNQUUMAzioucBNEs8ZHDqLAn1s5ZAAdbC3WnxYyd5sjCFjCXv7Ilkp25FodFTPwW0VR7Jt6VbWHx0JMvjlKPQ==}
|
||||
/@storybook/csf-plugin/7.1.0-alpha.0:
|
||||
resolution: {integrity: sha512-4VT3xVb2cOPUbDChOTIEoW7Jq1TpBplpoutFxxbEWbMxI0dTQh7Tq1hdOvGe4D6Tg2xCtEdbRLYHFmT99r2JKg==}
|
||||
dependencies:
|
||||
'@storybook/csf-tools': 7.0.1
|
||||
'@storybook/csf-tools': 7.1.0-alpha.0
|
||||
unplugin: 0.10.2
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
dev: true
|
||||
|
||||
/@storybook/csf-tools/7.0.1:
|
||||
resolution: {integrity: sha512-sqqqjWnF+JTWawf6lmcgZTKVasex6OtoXnLCYESrIm0Wfln5Sd+CjEh2hq4pYJWRAK/USCQREvbcZnblXa+fcg==}
|
||||
/@storybook/csf-tools/7.1.0-alpha.0:
|
||||
resolution: {integrity: sha512-Xh7/qV7CGWFow3iCbPvKJ6LHUD+cwybMJF440xZzDldMdCIP8UpbgI8GaQkAzAtDQnZhYmyrHEAXSHDdJkVC/g==}
|
||||
dependencies:
|
||||
'@babel/generator': 7.21.3
|
||||
'@babel/parser': 7.21.3
|
||||
'@babel/traverse': 7.21.3
|
||||
'@babel/types': 7.21.4
|
||||
'@storybook/csf': 0.1.0
|
||||
'@storybook/types': 7.0.1
|
||||
'@storybook/types': 7.1.0-alpha.0
|
||||
fs-extra: 11.1.1
|
||||
recast: 0.23.1
|
||||
ts-dedent: 2.2.0
|
||||
@ -3034,13 +3061,13 @@ packages:
|
||||
resolution: {integrity: sha512-JDaBR9lwVY4eSH5W8EGHrhODjygPd6QImRbwjAuJNEnY0Vw4ie3bPkeGfnacB3OBW6u/agqPv2aRlR46JcAQLg==}
|
||||
dev: true
|
||||
|
||||
/@storybook/docs-tools/7.0.1:
|
||||
resolution: {integrity: sha512-tx7QugGJtmdmiNlfiTvffnMlA5uDKr580nvAmGEq6ZhjhxpnUIlNnYGYPotsRyOiLN9+sV6qb160F10nf5zk+g==}
|
||||
/@storybook/docs-tools/7.1.0-alpha.0:
|
||||
resolution: {integrity: sha512-LDthzWCd9Lq7+3yNektx5WQrV41ltsnHhuaimFsDA1yVmceouyKG4j2eWBP5TI96+1vpe2aE5ts9JCc7/pUKMg==}
|
||||
dependencies:
|
||||
'@babel/core': 7.21.3
|
||||
'@storybook/core-common': 7.0.1
|
||||
'@storybook/preview-api': 7.0.1
|
||||
'@storybook/types': 7.0.1
|
||||
'@storybook/core-common': 7.1.0-alpha.0
|
||||
'@storybook/preview-api': 7.1.0-alpha.0
|
||||
'@storybook/types': 7.1.0-alpha.0
|
||||
'@types/doctrine': 0.0.3
|
||||
doctrine: 3.0.0
|
||||
lodash: 4.17.21
|
||||
@ -3062,20 +3089,30 @@ packages:
|
||||
'@storybook/preview-api': 7.0.1
|
||||
dev: true
|
||||
|
||||
/@storybook/manager-api/7.0.1_biqbaboplfbrettd7655fr4n2y:
|
||||
resolution: {integrity: sha512-nUAdxCzYuJ8sv8NlOSYchVznwZhWxhNjx6MpIQkG1vTrApvbPaehYbhIR2BeHWCrFQWPAjBgP5gPHr6m/6eSYg==}
|
||||
/@storybook/instrumenter/7.1.0-alpha.0:
|
||||
resolution: {integrity: sha512-ySi6SXRAKoY202QZaUQqsdBXV3YhlcIfIkfdrcOOa8+abwxQABrZJeRQi41gGWIiqXDWTfx2BZDlaRU39Kyw5Q==}
|
||||
dependencies:
|
||||
'@storybook/channels': 7.1.0-alpha.0
|
||||
'@storybook/client-logger': 7.1.0-alpha.0
|
||||
'@storybook/core-events': 7.1.0-alpha.0
|
||||
'@storybook/global': 5.0.0
|
||||
'@storybook/preview-api': 7.1.0-alpha.0
|
||||
dev: true
|
||||
|
||||
/@storybook/manager-api/7.1.0-alpha.0_biqbaboplfbrettd7655fr4n2y:
|
||||
resolution: {integrity: sha512-hykc2La8h9Xb7s6wgbGDFt95ANZ4drmT59KorQyTym7ADmSot+8iwFSCNiZS2qxNJP14nSIzV/39fvPAxCD2YA==}
|
||||
peerDependencies:
|
||||
react: ^16.8.0 || ^17.0.0 || ^18.0.0
|
||||
react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
|
||||
dependencies:
|
||||
'@storybook/channels': 7.0.1
|
||||
'@storybook/client-logger': 7.0.1
|
||||
'@storybook/core-events': 7.0.1
|
||||
'@storybook/channels': 7.1.0-alpha.0
|
||||
'@storybook/client-logger': 7.1.0-alpha.0
|
||||
'@storybook/core-events': 7.1.0-alpha.0
|
||||
'@storybook/csf': 0.1.0
|
||||
'@storybook/global': 5.0.0
|
||||
'@storybook/router': 7.0.1_biqbaboplfbrettd7655fr4n2y
|
||||
'@storybook/theming': 7.0.1_biqbaboplfbrettd7655fr4n2y
|
||||
'@storybook/types': 7.0.1
|
||||
'@storybook/router': 7.1.0-alpha.0_biqbaboplfbrettd7655fr4n2y
|
||||
'@storybook/theming': 7.1.0-alpha.0_biqbaboplfbrettd7655fr4n2y
|
||||
'@storybook/types': 7.1.0-alpha.0
|
||||
dequal: 2.0.3
|
||||
lodash: 4.17.21
|
||||
memoizerific: 1.11.3
|
||||
@ -3087,16 +3124,16 @@ packages:
|
||||
ts-dedent: 2.2.0
|
||||
dev: true
|
||||
|
||||
/@storybook/manager/7.0.1:
|
||||
resolution: {integrity: sha512-FNiG3ka5LszBhunKu2sa406Rz2xBXk8xIfYQyCoNouVi23hInjNi04O1tOPLvi+bVQq4Zeo7zR47aXMESAP3oA==}
|
||||
/@storybook/manager/7.1.0-alpha.0:
|
||||
resolution: {integrity: sha512-TnkZYTtcWc95NqwrSLkFo5HM8d5NI8POlPnhh7S+yjWkZKFO6fgjSsa2nVZb8ZR2t56AyVGNFAn2r385F1P+dQ==}
|
||||
dev: true
|
||||
|
||||
/@storybook/mdx2-csf/1.0.0:
|
||||
resolution: {integrity: sha512-dBAnEL4HfxxJmv7LdEYUoZlQbWj9APZNIbOaq0tgF8XkxiIbzqvgB0jhL/9UOrysSDbQWBiCRTu2wOVxedGfmw==}
|
||||
dev: true
|
||||
|
||||
/@storybook/node-logger/7.0.1:
|
||||
resolution: {integrity: sha512-a2WNMOHLWEuFMVuObujQXLDSBSzLdqiC7KMt2VDU6T3DjkR/ga1J+ky+39PbrmY8qR3Ju8kvRsDIm902wltF6Q==}
|
||||
/@storybook/node-logger/7.1.0-alpha.0:
|
||||
resolution: {integrity: sha512-+HaMHMs3+PA1l1P3ODSQqKta/J5/SwUIx8oX9feCXsXUI7JC9HBP33vxG1buTlJXmREgnOazG9Efi9/H/c+TZQ==}
|
||||
dependencies:
|
||||
'@types/npmlog': 4.1.4
|
||||
chalk: 4.1.2
|
||||
@ -3104,8 +3141,8 @@ packages:
|
||||
pretty-hrtime: 1.0.3
|
||||
dev: true
|
||||
|
||||
/@storybook/postinstall/7.0.1:
|
||||
resolution: {integrity: sha512-qt9ZTxqX0X1n3p8CNtbI81kQUTtdY6JLVpMqYISez240IgN90+/I59QyZy/CszB5k9OiJBFdzNqILo23Yy++/A==}
|
||||
/@storybook/postinstall/7.1.0-alpha.0:
|
||||
resolution: {integrity: sha512-CWEIgn+fOseShHxjU147aU03FBcWbEb/+7G1Pue4NX064fOmIoUMa6hUoMAfTA+NDIs71ndQGy3Ba56aNsSh2Q==}
|
||||
dev: true
|
||||
|
||||
/@storybook/preview-api/7.0.1:
|
||||
@ -3128,12 +3165,32 @@ packages:
|
||||
util-deprecate: 1.0.2
|
||||
dev: true
|
||||
|
||||
/@storybook/preview/7.0.1:
|
||||
resolution: {integrity: sha512-mqX0zFeB/Gn1CzaMr3LkuimpVnCQBifKKTsPjUPs3v3Xj7l+cF2vIyFCDPJ4vsWkSWDx+M0kuYC0+e6JwmdFnQ==}
|
||||
/@storybook/preview-api/7.1.0-alpha.0:
|
||||
resolution: {integrity: sha512-wZCEFCpxqjjSGdJKtVYd/ck/Fg/dsU3cPEbjPhUyLQqKnUA/MsR8vVzDtkmugWwupviChfjARvwLdNN8u45OXw==}
|
||||
dependencies:
|
||||
'@storybook/channel-postmessage': 7.1.0-alpha.0
|
||||
'@storybook/channels': 7.1.0-alpha.0
|
||||
'@storybook/client-logger': 7.1.0-alpha.0
|
||||
'@storybook/core-events': 7.1.0-alpha.0
|
||||
'@storybook/csf': 0.1.0
|
||||
'@storybook/global': 5.0.0
|
||||
'@storybook/types': 7.1.0-alpha.0
|
||||
'@types/qs': 6.9.7
|
||||
dequal: 2.0.3
|
||||
lodash: 4.17.21
|
||||
memoizerific: 1.11.3
|
||||
qs: 6.11.1
|
||||
synchronous-promise: 2.0.17
|
||||
ts-dedent: 2.2.0
|
||||
util-deprecate: 1.0.2
|
||||
dev: true
|
||||
|
||||
/@storybook/react-dom-shim/7.0.1_biqbaboplfbrettd7655fr4n2y:
|
||||
resolution: {integrity: sha512-Kz1VuuXSqMcDEjYLiyoUNsIpz9acOsbCnZD2SXei4o63r5RgBtjc3/BOvQldL0an9XhoVH43DKN01nKkZsmEWw==}
|
||||
/@storybook/preview/7.1.0-alpha.0:
|
||||
resolution: {integrity: sha512-5agB4CKIeeLBacHdDcphCxcOSBsSyzKOZrflgLah9PhDXKlzPdPyHoZqO4VedDO7moGFc3mFlThagBNVVSI+uQ==}
|
||||
dev: true
|
||||
|
||||
/@storybook/react-dom-shim/7.1.0-alpha.0_biqbaboplfbrettd7655fr4n2y:
|
||||
resolution: {integrity: sha512-DbZ/nD5zFyOQ9sNB2fusArRCBJlTWCyKdmV9E3y5ztXIsQyiWEeHdMhBKqxUTG3eZjqJmMizQ+hCTcVr2V3xKQ==}
|
||||
peerDependencies:
|
||||
react: ^16.8.0 || ^17.0.0 || ^18.0.0
|
||||
react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
|
||||
@ -3142,30 +3199,30 @@ packages:
|
||||
react-dom: 18.2.0_react@18.2.0
|
||||
dev: true
|
||||
|
||||
/@storybook/router/7.0.1_biqbaboplfbrettd7655fr4n2y:
|
||||
resolution: {integrity: sha512-1897KLV4BeQN2f+f06AFMkreIksO61ni09EkW3ZKDXA1XaZNQsfLLeGFExNUZ2CFifCM46ulUS8XC/tzq00vgA==}
|
||||
/@storybook/router/7.1.0-alpha.0_biqbaboplfbrettd7655fr4n2y:
|
||||
resolution: {integrity: sha512-qq3J2Y6ZLQhcGiXEIhjZKt2U4S/jbtireekMJW4D+TIQIM1VNrfchMF6yqwiitg6D3C2YfbksDdr4zff1YbzWw==}
|
||||
peerDependencies:
|
||||
react: ^16.8.0 || ^17.0.0 || ^18.0.0
|
||||
react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
|
||||
dependencies:
|
||||
'@storybook/client-logger': 7.0.1
|
||||
'@storybook/client-logger': 7.1.0-alpha.0
|
||||
memoizerific: 1.11.3
|
||||
qs: 6.11.1
|
||||
react: 18.2.0
|
||||
react-dom: 18.2.0_react@18.2.0
|
||||
dev: true
|
||||
|
||||
/@storybook/svelte-vite/7.0.1_3rgppvbkzeavxpnueqngpbpqhu:
|
||||
resolution: {integrity: sha512-TLcbkvhkoRTimShS6UiOPFJBkTEwKRr04ccU/9CozUv8s4Rv5ixoJy5dXM4QLVvISB+AthoPk19jeROcRpys+A==}
|
||||
/@storybook/svelte-vite/7.1.0-alpha.0_3rgppvbkzeavxpnueqngpbpqhu:
|
||||
resolution: {integrity: sha512-REv7B/m4XQdiaLcdlv84BwrBIADARkMBR7j7CW51zscroCdOzh3KntnSOy4D9vzcQZiHTIH5NlnO87I6KF5+hA==}
|
||||
engines: {node: ^14.18 || >=16}
|
||||
peerDependencies:
|
||||
react: ^16.8.0 || ^17.0.0 || ^18.0.0
|
||||
react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
|
||||
vite: ^3.0.0 || ^4.0.0
|
||||
dependencies:
|
||||
'@storybook/builder-vite': 7.0.1_egung5nfepmolqa7uavvqho3gq
|
||||
'@storybook/node-logger': 7.0.1
|
||||
'@storybook/svelte': 7.0.1_svelte@3.55.1
|
||||
'@storybook/builder-vite': 7.1.0-alpha.0_egung5nfepmolqa7uavvqho3gq
|
||||
'@storybook/node-logger': 7.1.0-alpha.0
|
||||
'@storybook/svelte': 7.1.0-alpha.0_svelte@3.55.1
|
||||
'@sveltejs/vite-plugin-svelte': 2.0.2_svelte@3.55.1+vite@4.0.4
|
||||
magic-string: 0.27.0
|
||||
react: 18.2.0
|
||||
@ -3182,19 +3239,19 @@ packages:
|
||||
- vite-plugin-glimmerx
|
||||
dev: true
|
||||
|
||||
/@storybook/svelte/7.0.1_svelte@3.55.1:
|
||||
resolution: {integrity: sha512-OLcJc+u247omEyxBJUAGItEslxa3QCL7d6Vtvvb6dWfsgzgcTCXSGX8QSLvwES2AdeYyr0UwZkrY85oPJKc/qg==}
|
||||
/@storybook/svelte/7.1.0-alpha.0_svelte@3.55.1:
|
||||
resolution: {integrity: sha512-0mdMJAcpW4du2crK9yTp+RGg1y/RfwLBL90SB6svAXBoejjJK1Ah0GyjvywcauAYcI+M0IMtrm/KXgWDbBMQJA==}
|
||||
engines: {node: '>=16.0.0'}
|
||||
peerDependencies:
|
||||
svelte: ^3.1.0
|
||||
dependencies:
|
||||
'@storybook/client-logger': 7.0.1
|
||||
'@storybook/core-client': 7.0.1
|
||||
'@storybook/core-events': 7.0.1
|
||||
'@storybook/docs-tools': 7.0.1
|
||||
'@storybook/client-logger': 7.1.0-alpha.0
|
||||
'@storybook/core-client': 7.1.0-alpha.0
|
||||
'@storybook/core-events': 7.1.0-alpha.0
|
||||
'@storybook/docs-tools': 7.1.0-alpha.0
|
||||
'@storybook/global': 5.0.0
|
||||
'@storybook/preview-api': 7.0.1
|
||||
'@storybook/types': 7.0.1
|
||||
'@storybook/preview-api': 7.1.0-alpha.0
|
||||
'@storybook/types': 7.1.0-alpha.0
|
||||
svelte: 3.55.1
|
||||
sveltedoc-parser: 4.2.1
|
||||
type-fest: 2.19.0
|
||||
@ -3202,15 +3259,15 @@ packages:
|
||||
- supports-color
|
||||
dev: true
|
||||
|
||||
/@storybook/sveltekit/7.0.1_hcl52ejjmh2zpx2q5wi2i43hma:
|
||||
resolution: {integrity: sha512-/svvaGKtUEY/xaHxLV5YAfnVSWes5f/pKeoiCicwaMNH0TmCyu5ZgIwj2Dr/DCzpBHMJuj9ncNcnZ11Im6oPwA==}
|
||||
/@storybook/sveltekit/7.1.0-alpha.0_hcl52ejjmh2zpx2q5wi2i43hma:
|
||||
resolution: {integrity: sha512-yynGSEBwsd8Fkr7uAn32RC8GMqPjmuRzFrAfEJkSgRjF9x1AWX6eg7tmcKvk5yMYX+GyDUuZyWOBSfvlgmwZOQ==}
|
||||
engines: {node: ^14.18 || >=16}
|
||||
peerDependencies:
|
||||
vite: ^4.0.0
|
||||
dependencies:
|
||||
'@storybook/builder-vite': 7.0.1_egung5nfepmolqa7uavvqho3gq
|
||||
'@storybook/svelte': 7.0.1_svelte@3.55.1
|
||||
'@storybook/svelte-vite': 7.0.1_3rgppvbkzeavxpnueqngpbpqhu
|
||||
'@storybook/builder-vite': 7.1.0-alpha.0_egung5nfepmolqa7uavvqho3gq
|
||||
'@storybook/svelte': 7.1.0-alpha.0_svelte@3.55.1
|
||||
'@storybook/svelte-vite': 7.1.0-alpha.0_3rgppvbkzeavxpnueqngpbpqhu
|
||||
vite: 4.0.4
|
||||
transitivePeerDependencies:
|
||||
- '@preact/preset-vite'
|
||||
@ -3223,11 +3280,11 @@ packages:
|
||||
- vite-plugin-glimmerx
|
||||
dev: true
|
||||
|
||||
/@storybook/telemetry/7.0.1:
|
||||
resolution: {integrity: sha512-YNFGMnXscymLB2BLtQ1t9mU3eVB+KlR4GOw49GlStNQKsBCManOkM2SpekJDh64VITWJ2ByyQM3lvB38NKcrhg==}
|
||||
/@storybook/telemetry/7.1.0-alpha.0:
|
||||
resolution: {integrity: sha512-LKuRtzJGzIvXIqWZx+PmEnBgANU2NSKL+9vr92OIcqXnc1saSlvVuYRBa8ibNyJAa+XkC56VfHDszhP3MNc94g==}
|
||||
dependencies:
|
||||
'@storybook/client-logger': 7.0.1
|
||||
'@storybook/core-common': 7.0.1
|
||||
'@storybook/client-logger': 7.1.0-alpha.0
|
||||
'@storybook/core-common': 7.1.0-alpha.0
|
||||
chalk: 4.1.2
|
||||
detect-package-manager: 2.0.1
|
||||
fetch-retry: 5.0.4
|
||||
@ -3250,14 +3307,14 @@ packages:
|
||||
ts-dedent: 2.2.0
|
||||
dev: true
|
||||
|
||||
/@storybook/theming/7.0.1_biqbaboplfbrettd7655fr4n2y:
|
||||
resolution: {integrity: sha512-E8ZCidh34gLEjEdpzYvb4I9d2frotT4hIdDWrPcR8Med0gjlLuamGPHrZPfiavBENKRiSBANFpBmtmYMXmpXOg==}
|
||||
/@storybook/theming/7.1.0-alpha.0_biqbaboplfbrettd7655fr4n2y:
|
||||
resolution: {integrity: sha512-ysnXjL8gRM2T6ACuIzGWKrcVjBvPaMGrcogG2vDAqb8qA7XB4DQGAdBbTVxm1uJ6s2HTQq34F1ssgQBEq9gHvg==}
|
||||
peerDependencies:
|
||||
react: ^16.8.0 || ^17.0.0 || ^18.0.0
|
||||
react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
|
||||
dependencies:
|
||||
'@emotion/use-insertion-effect-with-fallbacks': 1.0.0_react@18.2.0
|
||||
'@storybook/client-logger': 7.0.1
|
||||
'@storybook/client-logger': 7.1.0-alpha.0
|
||||
'@storybook/global': 5.0.0
|
||||
memoizerific: 1.11.3
|
||||
react: 18.2.0
|
||||
@ -3273,6 +3330,15 @@ packages:
|
||||
file-system-cache: 2.0.2
|
||||
dev: true
|
||||
|
||||
/@storybook/types/7.1.0-alpha.0:
|
||||
resolution: {integrity: sha512-84VOCC/NEH6B5puWgK9VGjigmAfTU1iJJmly+OaF2lJv6LeHRb4/UOPSeg8fA8uHh3E32jSRKA2B8sUnxCCQrg==}
|
||||
dependencies:
|
||||
'@storybook/channels': 7.1.0-alpha.0
|
||||
'@types/babel__core': 7.20.0
|
||||
'@types/express': 4.17.17
|
||||
file-system-cache: 2.0.2
|
||||
dev: true
|
||||
|
||||
/@sveltejs/adapter-static/2.0.1_@sveltejs+kit@1.15.0:
|
||||
resolution: {integrity: sha512-o5/q3YwD/ErxYCFlK1v3ydvldyNKk1lh3oeyxn4mhz+Pkbx/uuxhzmbOpytTlp5aVqNHDVsb04xadUzOFCDDzw==}
|
||||
peerDependencies:
|
||||
@ -7771,11 +7837,11 @@ packages:
|
||||
resolution: {integrity: sha512-siT1RiqlfQnGqgT/YzXVUNsom9S0H1OX+dpdGN1xkyYATo4I6sep5NmsRD/40s3IIOvlCq6akxkqG82urIZW1w==}
|
||||
dev: true
|
||||
|
||||
/storybook/7.0.1:
|
||||
resolution: {integrity: sha512-EBM6BJlH4IkB0x1EnqRkpHmLFKR9FuVApsdprKgHZ5OQyygZ0D5+YyTiJYrCG52uujjgu1DpVHAXpgufZkSX4Q==}
|
||||
/storybook/7.1.0-alpha.0:
|
||||
resolution: {integrity: sha512-C+ctQQ1p8783iZgHx7Lq8m6tAQIUEy2zXj4wvSibzYc/LHsbuvcSLuLZL/2XHYwcA51ug2FeGDDvgwgaBZSUhw==}
|
||||
hasBin: true
|
||||
dependencies:
|
||||
'@storybook/cli': 7.0.1
|
||||
'@storybook/cli': 7.1.0-alpha.0
|
||||
transitivePeerDependencies:
|
||||
- bufferutil
|
||||
- encoding
|
||||
@ -8682,3 +8748,11 @@ packages:
|
||||
dependencies:
|
||||
'@tauri-apps/api': 1.2.0
|
||||
dev: true
|
||||
|
||||
github.com/tauri-apps/tauri-plugin-websocket/ee8a3465278043d8bfa09f5d79fd9f23bf2a5aa9:
|
||||
resolution: {tarball: https://codeload.github.com/tauri-apps/tauri-plugin-websocket/tar.gz/ee8a3465278043d8bfa09f5d79fd9f23bf2a5aa9}
|
||||
name: tauri-plugin-websocket-api
|
||||
version: 0.0.0
|
||||
dependencies:
|
||||
'@tauri-apps/api': 1.2.0
|
||||
dev: true
|
||||
|
197
src-tauri/Cargo.lock
generated
197
src-tauri/Cargo.lock
generated
@ -52,15 +52,6 @@ dependencies = [
|
||||
"alloc-no-stdlib",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "android_system_properties"
|
||||
version = "0.1.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311"
|
||||
dependencies = [
|
||||
"libc",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "anyhow"
|
||||
version = "1.0.70"
|
||||
@ -374,21 +365,6 @@ version = "1.0.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
|
||||
|
||||
[[package]]
|
||||
name = "chrono"
|
||||
version = "0.4.24"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "4e3c5919066adf22df73762e50cffcde3a758f2a848b113b586d1f86728b673b"
|
||||
dependencies = [
|
||||
"iana-time-zone",
|
||||
"js-sys",
|
||||
"num-integer",
|
||||
"num-traits 0.2.15",
|
||||
"time 0.1.45",
|
||||
"wasm-bindgen",
|
||||
"winapi",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "cocoa"
|
||||
version = "0.24.1"
|
||||
@ -420,16 +396,6 @@ dependencies = [
|
||||
"objc",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "codespan-reporting"
|
||||
version = "0.11.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "3538270d33cc669650c4b093848450d380def10c331d38c768e34cac80576e6e"
|
||||
dependencies = [
|
||||
"termcolor",
|
||||
"unicode-width",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "color_quant"
|
||||
version = "1.1.0"
|
||||
@ -679,50 +645,6 @@ dependencies = [
|
||||
"syn 1.0.109",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "cxx"
|
||||
version = "1.0.93"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a9c00419335c41018365ddf7e4d5f1c12ee3659ddcf3e01974650ba1de73d038"
|
||||
dependencies = [
|
||||
"cc",
|
||||
"cxxbridge-flags",
|
||||
"cxxbridge-macro",
|
||||
"link-cplusplus",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "cxx-build"
|
||||
version = "1.0.93"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "fb8307ad413a98fff033c8545ecf133e3257747b3bae935e7602aab8aa92d4ca"
|
||||
dependencies = [
|
||||
"cc",
|
||||
"codespan-reporting",
|
||||
"once_cell",
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"scratch",
|
||||
"syn 2.0.8",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "cxxbridge-flags"
|
||||
version = "1.0.93"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "edc52e2eb08915cb12596d29d55f0b5384f00d697a646dbd269b6ecb0fbd9d31"
|
||||
|
||||
[[package]]
|
||||
name = "cxxbridge-macro"
|
||||
version = "1.0.93"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "631569015d0d8d54e6c241733f944042623ab6df7bc3be7466874b05fcdb1c5f"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.8",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "darling"
|
||||
version = "0.10.2"
|
||||
@ -1376,7 +1298,6 @@ dependencies = [
|
||||
"git2",
|
||||
"log",
|
||||
"md5",
|
||||
"mt_logger",
|
||||
"notify",
|
||||
"portable-pty",
|
||||
"reqwest",
|
||||
@ -1390,6 +1311,7 @@ dependencies = [
|
||||
"tauri",
|
||||
"tauri-build",
|
||||
"tauri-plugin-log",
|
||||
"tauri-plugin-websocket",
|
||||
"tauri-plugin-window-state",
|
||||
"tempfile",
|
||||
"thiserror",
|
||||
@ -1738,30 +1660,6 @@ dependencies = [
|
||||
"tokio-native-tls",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "iana-time-zone"
|
||||
version = "0.1.54"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "0c17cc76786e99f8d2f055c11159e7f0091c42474dcc3189fbab96072e873e6d"
|
||||
dependencies = [
|
||||
"android_system_properties",
|
||||
"core-foundation-sys",
|
||||
"iana-time-zone-haiku",
|
||||
"js-sys",
|
||||
"wasm-bindgen",
|
||||
"windows 0.46.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "iana-time-zone-haiku"
|
||||
version = "0.1.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "0703ae284fc167426161c2e3f1da3ea71d94b21bedbcc9494e92b28e334e3dca"
|
||||
dependencies = [
|
||||
"cxx",
|
||||
"cxx-build",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "ico"
|
||||
version = "0.2.0"
|
||||
@ -2122,15 +2020,6 @@ dependencies = [
|
||||
"safemem",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "link-cplusplus"
|
||||
version = "1.0.8"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ecd207c9c713c34f95a097a5b029ac2ce6010530c7b49d7fea24d977dede04f5"
|
||||
dependencies = [
|
||||
"cc",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "linux-raw-sys"
|
||||
version = "0.1.4"
|
||||
@ -2380,16 +2269,6 @@ dependencies = [
|
||||
"windows-sys 0.45.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "mt_logger"
|
||||
version = "3.0.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "2c268d3423e270b204b82cf8245ec3eeebb1208a49e250a04f175a874459bc91"
|
||||
dependencies = [
|
||||
"chrono",
|
||||
"once_cell",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "murmurhash32"
|
||||
version = "0.2.0"
|
||||
@ -2931,7 +2810,7 @@ dependencies = [
|
||||
"line-wrap",
|
||||
"quick-xml",
|
||||
"serde",
|
||||
"time 0.3.20",
|
||||
"time",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@ -3423,12 +3302,6 @@ version = "1.1.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"
|
||||
|
||||
[[package]]
|
||||
name = "scratch"
|
||||
version = "1.0.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1792db035ce95be60c3f8853017b3999209281c24e2ba5bc8e59bf97a0c590c1"
|
||||
|
||||
[[package]]
|
||||
name = "scroll"
|
||||
version = "0.11.0"
|
||||
@ -3603,7 +3476,7 @@ dependencies = [
|
||||
"serde",
|
||||
"serde_json",
|
||||
"thiserror",
|
||||
"time 0.3.20",
|
||||
"time",
|
||||
"url",
|
||||
"uuid 1.3.0",
|
||||
]
|
||||
@ -4038,7 +3911,7 @@ dependencies = [
|
||||
"tantivy-query-grammar",
|
||||
"tempfile",
|
||||
"thiserror",
|
||||
"time 0.3.20",
|
||||
"time",
|
||||
"uuid 1.3.0",
|
||||
"winapi",
|
||||
]
|
||||
@ -4225,7 +4098,7 @@ dependencies = [
|
||||
"sha2",
|
||||
"tauri-utils",
|
||||
"thiserror",
|
||||
"time 0.3.20",
|
||||
"time",
|
||||
"uuid 1.3.0",
|
||||
"walkdir",
|
||||
]
|
||||
@ -4247,7 +4120,7 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "tauri-plugin-log"
|
||||
version = "0.1.0"
|
||||
source = "git+https://github.com/tauri-apps/plugins-workspace?branch=dev#5a6abd3203dc94c38f96d0c4bf7ecbef399f8c25"
|
||||
source = "git+https://github.com/tauri-apps/plugins-workspace?branch=dev#cea1d4f7b54b94354e8100daf804b810c680efd7"
|
||||
dependencies = [
|
||||
"byte-unit",
|
||||
"fern",
|
||||
@ -4256,13 +4129,29 @@ dependencies = [
|
||||
"serde_json",
|
||||
"serde_repr",
|
||||
"tauri",
|
||||
"time 0.3.20",
|
||||
"time",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tauri-plugin-websocket"
|
||||
version = "0.1.0"
|
||||
source = "git+https://github.com/tauri-apps/plugins-workspace?branch=dev#cea1d4f7b54b94354e8100daf804b810c680efd7"
|
||||
dependencies = [
|
||||
"futures-util",
|
||||
"log",
|
||||
"rand 0.8.5",
|
||||
"serde",
|
||||
"serde_json",
|
||||
"tauri",
|
||||
"thiserror",
|
||||
"tokio",
|
||||
"tokio-tungstenite",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tauri-plugin-window-state"
|
||||
version = "0.1.0"
|
||||
source = "git+https://github.com/tauri-apps/plugins-workspace?branch=dev#5a6abd3203dc94c38f96d0c4bf7ecbef399f8c25"
|
||||
source = "git+https://github.com/tauri-apps/plugins-workspace?branch=dev#cea1d4f7b54b94354e8100daf804b810c680efd7"
|
||||
dependencies = [
|
||||
"bincode",
|
||||
"bitflags 2.0.2",
|
||||
@ -4376,15 +4265,6 @@ dependencies = [
|
||||
"winapi",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "termcolor"
|
||||
version = "1.2.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6"
|
||||
dependencies = [
|
||||
"winapi-util",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "termios"
|
||||
version = "0.2.2"
|
||||
@ -4430,17 +4310,6 @@ dependencies = [
|
||||
"once_cell",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "time"
|
||||
version = "0.1.45"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1b797afad3f312d1c66a56d11d0316f916356d11bd158fbc6ca6389ff6bf805a"
|
||||
dependencies = [
|
||||
"libc",
|
||||
"wasi 0.10.0+wasi-snapshot-preview1",
|
||||
"winapi",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "time"
|
||||
version = "0.3.20"
|
||||
@ -4558,7 +4427,9 @@ checksum = "54319c93411147bced34cb5609a80e0a8e44c5999c93903a81cd866630ec0bfd"
|
||||
dependencies = [
|
||||
"futures-util",
|
||||
"log",
|
||||
"native-tls",
|
||||
"tokio",
|
||||
"tokio-native-tls",
|
||||
"tungstenite",
|
||||
]
|
||||
|
||||
@ -4698,6 +4569,7 @@ dependencies = [
|
||||
"http",
|
||||
"httparse",
|
||||
"log",
|
||||
"native-tls",
|
||||
"rand 0.8.5",
|
||||
"sha1",
|
||||
"thiserror",
|
||||
@ -4880,12 +4752,6 @@ version = "0.9.0+wasi-snapshot-preview1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519"
|
||||
|
||||
[[package]]
|
||||
name = "wasi"
|
||||
version = "0.10.0+wasi-snapshot-preview1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f"
|
||||
|
||||
[[package]]
|
||||
name = "wasi"
|
||||
version = "0.11.0+wasi-snapshot-preview1"
|
||||
@ -5120,15 +4986,6 @@ dependencies = [
|
||||
"windows-targets",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "windows"
|
||||
version = "0.46.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "cdacb41e6a96a052c6cb63a144f24900236121c6f63f4f8219fef5977ecb0c25"
|
||||
dependencies = [
|
||||
"windows-targets",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "windows-bindgen"
|
||||
version = "0.39.0"
|
||||
|
@ -17,6 +17,7 @@ tauri-build = { version = "1.2", features = [] }
|
||||
serde = { version = "1.0", features = ["derive"] }
|
||||
tauri = { version = "1.2", features = ["dialog-open", "path-all", "protocol-asset", "shell-open", "system-tray", "window-start-dragging"] }
|
||||
tauri-plugin-window-state = { git = "https://github.com/tauri-apps/plugins-workspace", branch = "dev" }
|
||||
tauri-plugin-websocket = { git = "https://github.com/tauri-apps/plugins-workspace", branch = "dev" }
|
||||
tauri-plugin-log = { git = "https://github.com/tauri-apps/plugins-workspace", branch = "dev", features = ["colored"] }
|
||||
log = "0.4.17"
|
||||
notify = "5.1.0"
|
||||
@ -40,7 +41,6 @@ fslock = "0.2.1"
|
||||
tokio = { version = "1.26.0", features = ["full", "sync"] }
|
||||
tokio-tungstenite = "0.18.0"
|
||||
portable-pty = "0.8.0"
|
||||
mt_logger = "3.0.2"
|
||||
bytes = "1.1.0"
|
||||
futures = "0.3"
|
||||
futures-util = "0.3.8"
|
||||
|
@ -17,7 +17,6 @@ extern crate log;
|
||||
use anyhow::{Context, Result};
|
||||
use deltas::Delta;
|
||||
use git::activity;
|
||||
use pty::ws_server::pty_serve;
|
||||
use serde::{ser::SerializeMap, Serialize};
|
||||
use std::{collections::HashMap, ops::Range, path::Path, sync::Mutex};
|
||||
use storage::Storage;
|
||||
@ -602,6 +601,7 @@ fn main() {
|
||||
|
||||
Ok(())
|
||||
})
|
||||
.plugin(tauri_plugin_websocket::init())
|
||||
.plugin(tauri_plugin_window_state::Builder::default().build())
|
||||
.plugin({
|
||||
let targets = [
|
||||
@ -727,10 +727,7 @@ fn init(app_handle: tauri::AppHandle) -> Result<()> {
|
||||
}
|
||||
}
|
||||
|
||||
tauri::async_runtime::spawn(async move {
|
||||
println!("starting pty server");
|
||||
pty_serve().await;
|
||||
});
|
||||
tauri::async_runtime::spawn(pty::start_server());
|
||||
|
||||
watch_events(app_handle, rx);
|
||||
|
||||
|
@ -1,19 +1,16 @@
|
||||
use std::env;
|
||||
use std::fs::OpenOptions;
|
||||
use std::io::{Read, Write};
|
||||
use std::path::PathBuf;
|
||||
|
||||
use anyhow::Result;
|
||||
use bytes::BytesMut;
|
||||
use futures::{SinkExt, StreamExt};
|
||||
use mt_logger::*;
|
||||
use portable_pty::{native_pty_system, CommandBuilder, PtySize};
|
||||
use serde::Deserialize;
|
||||
use serde_json::{json, Value};
|
||||
use tokio::net::{TcpListener, TcpStream};
|
||||
use std::env;
|
||||
use std::io::{Read, Write};
|
||||
use std::path::PathBuf;
|
||||
use tokio::net;
|
||||
use tokio_tungstenite::accept_async;
|
||||
use tokio_tungstenite::tungstenite::Message;
|
||||
|
||||
const PTY_SERVER_ADDRESS: &str = "127.0.0.1:7703";
|
||||
const TERM: &str = "xterm-256color";
|
||||
|
||||
#[derive(Deserialize, Debug)]
|
||||
@ -30,24 +27,22 @@ struct WindowSize {
|
||||
pub pixel_height: u16,
|
||||
}
|
||||
|
||||
async fn handle_client(stream: TcpStream) {
|
||||
let ws_stream = accept_async(stream).await.expect("Failed to accept");
|
||||
pub async fn accept_connection(stream: net::TcpStream) -> Result<()> {
|
||||
let ws_stream = accept_async(stream).await?;
|
||||
let (mut ws_sender, mut ws_receiver) = ws_stream.split();
|
||||
|
||||
let pty_system = native_pty_system();
|
||||
let pty_pair = pty_system
|
||||
.openpty(PtySize {
|
||||
rows: 24,
|
||||
cols: 80,
|
||||
// Not all systems support pixel_width, pixel_height,
|
||||
// but it is good practice to set it to something
|
||||
// that matches the size of the selected font. That
|
||||
// is more complex than can be shown here in this
|
||||
// brief example though!
|
||||
pixel_width: 0,
|
||||
pixel_height: 0,
|
||||
})
|
||||
.unwrap();
|
||||
let pty_pair = pty_system.openpty(PtySize {
|
||||
rows: 24,
|
||||
cols: 80,
|
||||
// Not all systems support pixel_width, pixel_height,
|
||||
// but it is good practice to set it to something
|
||||
// that matches the size of the selected font. That
|
||||
// is more complex than can be shown here in this
|
||||
// brief example though!
|
||||
pixel_width: 0,
|
||||
pixel_height: 0,
|
||||
})?;
|
||||
|
||||
let cmd = if cfg!(target_os = "windows") {
|
||||
// CommandBuilder::new(r"powershell")
|
||||
@ -64,9 +59,9 @@ async fn handle_client(stream: TcpStream) {
|
||||
|
||||
cmd
|
||||
} else {
|
||||
let user_default_shell = env::var("SHELL").unwrap();
|
||||
let user_default_shell = env::var("SHELL")?;
|
||||
|
||||
mt_log!(Level::Info, "user_default_shell={}", user_default_shell);
|
||||
log::info!("user_default_shell={}", user_default_shell);
|
||||
|
||||
let user_scripts = &Value::Null;
|
||||
|
||||
@ -75,9 +70,9 @@ async fn handle_client(stream: TcpStream) {
|
||||
"user_scripts": user_scripts
|
||||
});
|
||||
let scripts = scripts.to_string();
|
||||
let scripts_str = serde_json::to_string(&scripts).unwrap();
|
||||
let scripts_str = serde_json::to_string(&scripts)?;
|
||||
|
||||
mt_log!(Level::Info, "scripts={}", scripts_str);
|
||||
log::info!("scripts={}", scripts_str);
|
||||
|
||||
let prompt_command_scripts = format!(r#"echo -en "\033]0; [manter] "{}" \a""#, scripts_str);
|
||||
|
||||
@ -94,42 +89,39 @@ async fn handle_client(stream: TcpStream) {
|
||||
let mut pty_writer = pty_pair.master.take_writer().unwrap();
|
||||
|
||||
// set to cwd
|
||||
std::thread::spawn(move || {
|
||||
let rt = tokio::runtime::Runtime::new().unwrap();
|
||||
rt.block_on(async {
|
||||
let mut buffer = BytesMut::with_capacity(1024);
|
||||
buffer.resize(1024, 0u8);
|
||||
loop {
|
||||
buffer[0] = 0u8;
|
||||
let mut tail = &mut buffer[1..];
|
||||
tauri::async_runtime::spawn(async move {
|
||||
let mut buffer = BytesMut::with_capacity(1024);
|
||||
buffer.resize(1024, 0u8);
|
||||
loop {
|
||||
buffer[0] = 0u8;
|
||||
let mut tail = &mut buffer[1..];
|
||||
|
||||
match pty_reader.read(&mut tail) {
|
||||
Ok(0) => {
|
||||
// EOF
|
||||
mt_log!(Level::Info, "0 bytes read from pty. EOF.");
|
||||
break;
|
||||
}
|
||||
Ok(n) => {
|
||||
if n == 0 {
|
||||
// this may be redundant because of Ok(0), but not sure
|
||||
break;
|
||||
}
|
||||
let mut data_to_send = Vec::with_capacity(n + 1);
|
||||
data_to_send.extend_from_slice(&buffer[..n + 1]);
|
||||
record_data(&data_to_send);
|
||||
let message = Message::Binary(data_to_send);
|
||||
ws_sender.send(message).await.unwrap();
|
||||
}
|
||||
Err(e) => {
|
||||
mt_log!(Level::Error, "Error reading from pty: {}", e);
|
||||
mt_log!(Level::Error, "PTY child process may be closed.");
|
||||
match pty_reader.read(&mut tail) {
|
||||
Ok(0) => {
|
||||
// EOF
|
||||
log::info!("0 bytes read from pty. EOF.");
|
||||
break;
|
||||
}
|
||||
Ok(n) => {
|
||||
if n == 0 {
|
||||
// this may be redundant because of Ok(0), but not sure
|
||||
break;
|
||||
}
|
||||
let mut data_to_send = Vec::with_capacity(n + 1);
|
||||
data_to_send.extend_from_slice(&buffer[..n + 1]);
|
||||
record_data(&data_to_send);
|
||||
let message = Message::Binary(data_to_send);
|
||||
ws_sender.send(message).await.unwrap();
|
||||
}
|
||||
Err(e) => {
|
||||
log::info!("Error reading from pty: {}", e);
|
||||
log::info!("PTY child process may be closed.");
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
mt_log!(Level::Info, "PTY child process killed.");
|
||||
})
|
||||
log::info!("PTY child process killed.");
|
||||
});
|
||||
|
||||
while let Some(message) = ws_receiver.next().await {
|
||||
@ -161,29 +153,26 @@ async fn handle_client(stream: TcpStream) {
|
||||
// convert bytes to string
|
||||
let command = String::from_utf8_lossy(&msg_bytes[1..]);
|
||||
let project_path = PathBuf::from(command.as_ref());
|
||||
println!("Recording to {:?}", project_path);
|
||||
}
|
||||
}
|
||||
_ => mt_log!(Level::Error, "Unknown command {}", msg_bytes[0]),
|
||||
_ => log::error!("Unknown command {}", msg_bytes[0]),
|
||||
}
|
||||
}
|
||||
Message::Close(_) => {
|
||||
mt_log!(Level::Info, "Closing the websocket connection...");
|
||||
log::info!("Closing the websocket connection...");
|
||||
|
||||
mt_log!(Level::Info, "Killing PTY child process...");
|
||||
log::info!("Killing PTY child process...");
|
||||
pty_child_process.kill().unwrap();
|
||||
|
||||
mt_log!(Level::Info, "Breakes the loop. This will terminate the ws socket thread and the ws will close");
|
||||
log::info!("Breakes the loop. This will terminate the ws socket thread and the ws will close");
|
||||
break;
|
||||
}
|
||||
_ => mt_log!(Level::Error, "Unknown received data type"),
|
||||
_ => log::error!("Unknown received data type"),
|
||||
}
|
||||
}
|
||||
|
||||
mt_log!(
|
||||
Level::Info,
|
||||
"The Websocket was closed and the thread for WS listening will end soon."
|
||||
);
|
||||
log::info!("The Websocket was closed and the thread for WS listening will end soon.");
|
||||
Ok(())
|
||||
}
|
||||
|
||||
// this sort of works, but it's not how we want to do it
|
||||
@ -193,7 +182,7 @@ async fn handle_client(stream: TcpStream) {
|
||||
// I also can't seem to send data to the pty on opening a new one, so I can't
|
||||
// easily initialize the cwd, which is where we want to write this data (under .git)
|
||||
// HELP
|
||||
fn record_data(data: &Vec<u8>) {
|
||||
fn record_data(_data: &Vec<u8>) {
|
||||
/*
|
||||
// A little too aggressive:
|
||||
let mut file = OpenOptions::new()
|
||||
@ -205,23 +194,3 @@ fn record_data(data: &Vec<u8>) {
|
||||
file.write_all(data).unwrap();
|
||||
*/
|
||||
}
|
||||
|
||||
pub async fn pty_serve() {
|
||||
let listener = TcpListener::bind(PTY_SERVER_ADDRESS)
|
||||
.await
|
||||
.expect("Can't listen");
|
||||
|
||||
while let Ok((stream, _)) = listener.accept().await {
|
||||
let peer = stream
|
||||
.peer_addr()
|
||||
.expect("connected streams should have a peer address");
|
||||
mt_log!(Level::Info, "Peer address: {}", peer);
|
||||
|
||||
std::thread::spawn(|| {
|
||||
let rt = tokio::runtime::Runtime::new().unwrap();
|
||||
rt.block_on(async {
|
||||
handle_client(stream).await;
|
||||
});
|
||||
});
|
||||
}
|
||||
}
|
@ -1 +1,4 @@
|
||||
pub mod ws_server;
|
||||
mod connection;
|
||||
mod server;
|
||||
|
||||
pub use server::start_server;
|
||||
|
20
src-tauri/src/pty/server.rs
Normal file
20
src-tauri/src/pty/server.rs
Normal file
@ -0,0 +1,20 @@
|
||||
use crate::pty::connection;
|
||||
use anyhow::{Context, Result};
|
||||
use tokio::net;
|
||||
|
||||
const PTY_WS_ADDRESS: &str = "127.0.0.1:7703";
|
||||
|
||||
pub async fn start_server() -> Result<()> {
|
||||
let listener = net::TcpListener::bind(&PTY_WS_ADDRESS)
|
||||
.await
|
||||
.with_context(|| format!("failed to bind to {}", PTY_WS_ADDRESS))?;
|
||||
|
||||
while let Ok((stream, _)) = listener.accept().await {
|
||||
let peer = stream.peer_addr()?;
|
||||
log::info!("peer address: {}", peer);
|
||||
|
||||
tauri::async_runtime::spawn(connection::accept_connection(stream));
|
||||
}
|
||||
|
||||
Ok(())
|
||||
}
|
@ -1,48 +0,0 @@
|
||||
<script lang="ts">
|
||||
import 'xterm/css/xterm.css';
|
||||
import ResizeObserver from 'svelte-resize-observer';
|
||||
import * as terminals from '$lib/terminals';
|
||||
import { onMount } from 'svelte';
|
||||
|
||||
export let session: terminals.TerminalSession;
|
||||
|
||||
onMount(() => {
|
||||
if (session.element) {
|
||||
session.controller?.open(session.element);
|
||||
}
|
||||
});
|
||||
|
||||
function handleTermResize() {
|
||||
terminals.fitSession(session);
|
||||
}
|
||||
|
||||
export const runCommand = (command: string): void => {
|
||||
if (session.pty) {
|
||||
command = command + '\r';
|
||||
console.log('command input', command);
|
||||
const encodedData = new TextEncoder().encode('\x00' + command);
|
||||
session.pty.send(encodedData);
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<!-- Actual terminal -->
|
||||
<div class="terminal-component flex h-full w-full flex-row">
|
||||
<div
|
||||
id="terminal"
|
||||
class="h-full w-full"
|
||||
bind:this={session.element}
|
||||
on:click={focus}
|
||||
on:keydown={focus}
|
||||
/>
|
||||
<ResizeObserver on:resize={handleTermResize} />
|
||||
</div>
|
||||
|
||||
<style>
|
||||
.terminal-component {
|
||||
@apply flex h-full w-full flex-row;
|
||||
}
|
||||
.terminal-component #terminal {
|
||||
@apply h-full w-full;
|
||||
}
|
||||
</style>
|
@ -1,165 +0,0 @@
|
||||
import { writable } from 'svelte/store';
|
||||
import type { Terminal } from 'xterm';
|
||||
import type { FitAddon } from 'xterm-addon-fit';
|
||||
|
||||
import * as xterm from 'xterm';
|
||||
import * as fit from 'xterm-addon-fit';
|
||||
import { CanvasAddon } from 'xterm-addon-canvas';
|
||||
import { Unicode11Addon } from 'xterm-addon-unicode11';
|
||||
|
||||
const PTY_WS_ADDRESS = 'ws://127.0.0.1:7703';
|
||||
|
||||
export type TerminalSession = {
|
||||
projectId: string;
|
||||
path: string;
|
||||
element: HTMLElement | null;
|
||||
controller: Terminal | null;
|
||||
fit: FitAddon | null;
|
||||
pty: WebSocket | null;
|
||||
};
|
||||
|
||||
export const terminals = writable<Record<string, TerminalSession>>({});
|
||||
|
||||
export const getTerminalSession = (projectId: string, projectPath: string) => {
|
||||
let object: TerminalSession | undefined;
|
||||
|
||||
terminals.subscribe((terms) => {
|
||||
object = terms[projectId];
|
||||
});
|
||||
|
||||
if (!object) {
|
||||
object = {
|
||||
projectId: projectId,
|
||||
path: projectPath,
|
||||
element: null,
|
||||
controller: null,
|
||||
fit: null,
|
||||
pty: null
|
||||
} as TerminalSession;
|
||||
newTerminalSession(object);
|
||||
updateStore(object);
|
||||
}
|
||||
return object;
|
||||
};
|
||||
|
||||
function updateStore(session: TerminalSession) {
|
||||
terminals.update((terms) => {
|
||||
terms[session.projectId] = session;
|
||||
return terms;
|
||||
});
|
||||
}
|
||||
|
||||
export const newTerminalSession = async (session: TerminalSession) => {
|
||||
session.pty = new WebSocket(PTY_WS_ADDRESS);
|
||||
session.pty.binaryType = 'arraybuffer';
|
||||
session.pty.onmessage = (evt) => writePtyIncomingToTermInterface(evt, session);
|
||||
session.pty.onclose = (evt) => handlePtyWsClose(evt, session);
|
||||
session.pty.onerror = (evt) => handlePtyWsError(evt, session);
|
||||
session.pty.onopen = async (_evt) => initalizeXterm(session);
|
||||
};
|
||||
|
||||
export function focus(session: TerminalSession) {
|
||||
console.log('focus');
|
||||
//session.controller.focus();
|
||||
}
|
||||
|
||||
function initalizeXterm(session: TerminalSession) {
|
||||
console.log('initalizeXterm');
|
||||
session.controller = new xterm.Terminal({
|
||||
cursorBlink: false,
|
||||
cursorStyle: 'block',
|
||||
fontSize: 13,
|
||||
rows: 24,
|
||||
cols: 80,
|
||||
allowProposedApi: true
|
||||
});
|
||||
|
||||
session.controller.loadAddon(new Unicode11Addon());
|
||||
session.controller.unicode.activeVersion = '11';
|
||||
|
||||
session.fit = new fit.FitAddon();
|
||||
session.controller.loadAddon(session.fit);
|
||||
session.controller.loadAddon(new CanvasAddon());
|
||||
if (session.element) {
|
||||
session.controller.open(session.element);
|
||||
}
|
||||
fitSession(session);
|
||||
session.controller.onData((data) => termInterfaceHandleUserInputData(data, session));
|
||||
sendPathToPty(session);
|
||||
updateStore(session);
|
||||
focus(session);
|
||||
}
|
||||
|
||||
const writePtyIncomingToTermInterface = (evt: MessageEvent, session: TerminalSession) => {
|
||||
if (!(evt.data instanceof ArrayBuffer)) {
|
||||
alert('unknown data type ' + evt.data);
|
||||
return;
|
||||
}
|
||||
//console.log('terminal input', evt.data);
|
||||
const dataString: string = arrayBufferToString(evt.data.slice(1));
|
||||
//console.log('terminal input string', dataString);
|
||||
if (session.controller) {
|
||||
session.controller.write(dataString);
|
||||
}
|
||||
return dataString;
|
||||
};
|
||||
|
||||
const termInterfaceHandleUserInputData = (data: string, session: TerminalSession) => {
|
||||
console.log('user input', data);
|
||||
const encodedData = new TextEncoder().encode('\x00' + data);
|
||||
if (session.pty) {
|
||||
session.pty.send(encodedData);
|
||||
}
|
||||
};
|
||||
|
||||
export const fitSession = (session: TerminalSession) => {
|
||||
if (session.fit) {
|
||||
session.fit.fit();
|
||||
}
|
||||
sendProposedSizeToPty(session);
|
||||
};
|
||||
|
||||
const sendProposedSizeToPty = (session: TerminalSession) => {
|
||||
if (session.fit && session.pty) {
|
||||
const proposedSize = session.fit.proposeDimensions();
|
||||
if (!proposedSize) return;
|
||||
const resizeData = {
|
||||
cols: proposedSize.cols,
|
||||
rows: proposedSize.rows,
|
||||
pixel_width: 0,
|
||||
pixel_height: 0
|
||||
};
|
||||
session.pty.send(new TextEncoder().encode('\x01' + JSON.stringify(resizeData)));
|
||||
}
|
||||
};
|
||||
|
||||
// this is a pretty stupid cheat, but it works on unix systems
|
||||
const sendPathToPty = (session: TerminalSession) => {
|
||||
if (!session.pty) return;
|
||||
|
||||
// send the path so th pty knows where to record data
|
||||
const encodedPath = new TextEncoder().encode('\x02' + session.path);
|
||||
session.pty.send(encodedPath);
|
||||
|
||||
// send a command to change the directory and clear the screen
|
||||
const encodedData = new TextEncoder().encode('\x00' + 'cd ' + session.path + ';clear\n');
|
||||
session.pty.send(encodedData);
|
||||
};
|
||||
|
||||
const arrayBufferToString = (buf: ArrayBuffer) => {
|
||||
return String.fromCharCode.apply(null, Array.from(new Uint8Array(buf)));
|
||||
};
|
||||
|
||||
const handlePtyWsClose = (evt: Event, session: TerminalSession) => {
|
||||
if (session.controller) {
|
||||
session.controller.write('Terminal session terminated');
|
||||
session.controller.dispose();
|
||||
console.log('websocket closes from backend side');
|
||||
}
|
||||
};
|
||||
|
||||
const handlePtyWsError = (evt: Event, session: TerminalSession) => {
|
||||
if (typeof console.log == 'function') {
|
||||
console.log('ws error', evt);
|
||||
}
|
||||
};
|
@ -1,34 +1,44 @@
|
||||
<script lang="ts">
|
||||
import { collapsable } from '$lib/paths';
|
||||
import type { LayoutData } from '../$types';
|
||||
import Terminal from '$lib/components/Terminal.svelte';
|
||||
import * as terminals from '$lib/terminals';
|
||||
import Button from '$lib/components/Button/Button.svelte';
|
||||
import ResizeObserver from 'svelte-resize-observer';
|
||||
import setupTerminal from './terminal';
|
||||
import 'xterm/css/xterm.css';
|
||||
import type { Project } from '$lib/projects';
|
||||
import { debounce } from '$lib/utils';
|
||||
import { Button } from '$lib/components';
|
||||
|
||||
export let data: LayoutData;
|
||||
const { project, statuses } = data;
|
||||
|
||||
let terminal: Terminal;
|
||||
let terminalSession: terminals.TerminalSession;
|
||||
type Unpromisify<T> = T extends Promise<infer U> ? U : T;
|
||||
let term: Unpromisify<ReturnType<typeof setupTerminal>> | undefined;
|
||||
|
||||
$: if ($project) {
|
||||
console.log($project);
|
||||
terminalSession = terminals.getTerminalSession($project.id, $project.path);
|
||||
console.log('session', terminalSession);
|
||||
}
|
||||
const handleTerminalResize = debounce(() => term?.resize(), 5);
|
||||
const runCommand = (command: string) => term?.run(command);
|
||||
|
||||
function runCommand(command: string) {
|
||||
terminal.runCommand(command);
|
||||
}
|
||||
const terminal = (target: HTMLElement, params: { project: Project }) => {
|
||||
let setupPromise = setupTerminal(target, params);
|
||||
setupPromise.then((terminal) => (term = terminal));
|
||||
return {
|
||||
update: (params: { project: Project }) => {
|
||||
setupPromise.then((term) => term.destroy());
|
||||
setupPromise = setupTerminal(target, params);
|
||||
setupPromise.then((terminal) => (term = terminal));
|
||||
},
|
||||
destroy: () => setupPromise.then((term) => term.destroy())
|
||||
};
|
||||
};
|
||||
</script>
|
||||
|
||||
<!-- Actual terminal -->
|
||||
<div class="terminal-page flex flex h-full w-full flex-row">
|
||||
<div class="main-content h-full w-2/3">
|
||||
{#if terminalSession}
|
||||
<Terminal session={terminalSession} bind:this={terminal} />
|
||||
{/if}
|
||||
<div class="flex h-full w-full flex-row">
|
||||
<div class="h-full w-full" use:terminal={{ project: $project }} />
|
||||
<ResizeObserver on:resize={handleTerminalResize} />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="right-panel h-full w-1/3 p-2">
|
||||
<h2 class="p-2 pb-4 text-lg font-bold text-zinc-300">Git Status</h2>
|
||||
{#if $statuses.length == 0}
|
||||
@ -51,10 +61,9 @@
|
||||
{/if}
|
||||
<div class="mt-4 p-2 font-bold">Commands</div>
|
||||
<ul class="px-2 ">
|
||||
<!-- svelte-ignore a11y-click-events-have-key-events -->
|
||||
<Button role="primary" width="full-width" on:click={() => runCommand('git push')}
|
||||
>Push Commit</Button
|
||||
>
|
||||
<Button role="primary" width="full-width" on:click={() => runCommand('git push')}>
|
||||
Push Commit
|
||||
</Button>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -1,25 +0,0 @@
|
||||
import { readable } from 'svelte/store';
|
||||
import type { Status } from '$lib/git/statuses';
|
||||
import { building } from '$app/environment';
|
||||
import type { PageLoad } from './$types';
|
||||
|
||||
export const load: PageLoad = async ({ parent, params }) => {
|
||||
const statuses = building
|
||||
? readable<Status[]>([])
|
||||
: await import('$lib/git/statuses').then((m) => m.default({ projectId: params.projectId }));
|
||||
const user = building
|
||||
? {
|
||||
...readable<undefined>(undefined),
|
||||
set: () => {
|
||||
throw new Error('not implemented');
|
||||
},
|
||||
delete: () => {
|
||||
throw new Error('not implemented');
|
||||
}
|
||||
}
|
||||
: await (await import('$lib/users')).default();
|
||||
return {
|
||||
user,
|
||||
statuses
|
||||
};
|
||||
};
|
116
src/routes/projects/[projectId]/terminal/terminal.ts
Normal file
116
src/routes/projects/[projectId]/terminal/terminal.ts
Normal file
@ -0,0 +1,116 @@
|
||||
import type { Project } from '$lib/projects';
|
||||
import { Terminal } from 'xterm';
|
||||
import { CanvasAddon } from 'xterm-addon-canvas';
|
||||
import { WebglAddon } from 'xterm-addon-webgl';
|
||||
import { FitAddon } from 'xterm-addon-fit';
|
||||
import { Unicode11Addon } from 'xterm-addon-unicode11';
|
||||
import WebSocket, { type Message } from 'tauri-plugin-websocket-api';
|
||||
import { log } from '$lib';
|
||||
|
||||
const isWebgl2Supported = (() => {
|
||||
let isSupported = window.WebGL2RenderingContext ? undefined : false;
|
||||
return () => {
|
||||
if (isSupported === undefined) {
|
||||
const canvas = document.createElement('canvas');
|
||||
const gl = canvas.getContext('webgl2', { depth: false, antialias: false });
|
||||
isSupported = gl instanceof window.WebGL2RenderingContext;
|
||||
}
|
||||
return isSupported;
|
||||
};
|
||||
})();
|
||||
|
||||
const uint8ArrayToNumbers = (array: Uint8Array) => {
|
||||
const numbers = [];
|
||||
for (let i = 0; i < array.length; i++) {
|
||||
numbers.push(array[i]);
|
||||
}
|
||||
return numbers;
|
||||
};
|
||||
|
||||
const encodeString = (msg: string): Message => ({
|
||||
type: 'Binary',
|
||||
data: uint8ArrayToNumbers(new TextEncoder().encode(msg))
|
||||
});
|
||||
|
||||
const userInputMessage = (data: string) => encodeString(`\x00${data}`);
|
||||
|
||||
const resizeMessage = (size: {
|
||||
rows: number;
|
||||
cols: number;
|
||||
pixel_width: number;
|
||||
pixel_height: number;
|
||||
}) => encodeString(`\x01${JSON.stringify(size)}`);
|
||||
|
||||
const pathMessage = (path: string) => encodeString(`\x02${path}`);
|
||||
|
||||
export default (target: HTMLElement, params: { project: Project }) =>
|
||||
WebSocket.connect('ws://127.0.0.1:7703').then((conn) => {
|
||||
const { project } = params;
|
||||
|
||||
const sendMessage = (message: Message) => {
|
||||
conn.send(message).catch((e: any) => {
|
||||
log.error(`failed to send message to terminal: ${e}`);
|
||||
});
|
||||
};
|
||||
|
||||
const term = new Terminal({
|
||||
cursorBlink: false,
|
||||
cursorStyle: 'block',
|
||||
fontSize: 13,
|
||||
rows: 24,
|
||||
cols: 80,
|
||||
allowProposedApi: true
|
||||
});
|
||||
const fitAddon = new FitAddon();
|
||||
|
||||
term.loadAddon(new Unicode11Addon());
|
||||
term.loadAddon(fitAddon);
|
||||
if (isWebgl2Supported()) {
|
||||
term.loadAddon(new WebglAddon());
|
||||
} else {
|
||||
term.loadAddon(new CanvasAddon());
|
||||
}
|
||||
|
||||
term.unicode.activeVersion = '11';
|
||||
term.open(target);
|
||||
fitAddon.fit();
|
||||
term.focus();
|
||||
|
||||
const inputListener = term.onData((data: string) => sendMessage(userInputMessage(data)));
|
||||
|
||||
conn.addListener((message) => {
|
||||
if (message.type === 'Binary') {
|
||||
term.write(new Uint8Array(message.data));
|
||||
}
|
||||
});
|
||||
|
||||
sendMessage(pathMessage(project.path));
|
||||
sendMessage(userInputMessage(`cd ${project.path}; clear\n`));
|
||||
|
||||
conn.addListener((message) => {
|
||||
message.type === 'Close' && term.dispose();
|
||||
});
|
||||
|
||||
return {
|
||||
resize: () => {
|
||||
fitAddon.fit();
|
||||
const size = fitAddon.proposeDimensions();
|
||||
if (!size) return;
|
||||
sendMessage(
|
||||
resizeMessage({
|
||||
cols: size.cols,
|
||||
rows: size.rows,
|
||||
pixel_width: 0,
|
||||
pixel_height: 0
|
||||
})
|
||||
);
|
||||
},
|
||||
destroy: () => {
|
||||
inputListener.dispose();
|
||||
conn.disconnect();
|
||||
},
|
||||
run: (command: string) => {
|
||||
sendMessage(userInputMessage(`${command}\n`));
|
||||
}
|
||||
};
|
||||
});
|
Loading…
Reference in New Issue
Block a user