├── src-tauri
├── build.rs
├── icons
│ ├── icon.ico
│ ├── icon.png
│ ├── 32x32.png
│ ├── icon.icns
│ ├── 128x128.png
│ ├── StoreLogo.png
│ ├── 128x128@2x.png
│ ├── Square30x30Logo.png
│ ├── Square44x44Logo.png
│ ├── Square71x71Logo.png
│ ├── Square89x89Logo.png
│ ├── Square107x107Logo.png
│ ├── Square142x142Logo.png
│ ├── Square150x150Logo.png
│ ├── Square284x284Logo.png
│ └── Square310x310Logo.png
├── .gitignore
├── Cargo.toml
├── tauri.conf.json
├── src
│ └── main.rs
└── Cargo.lock
├── src
├── hooks
│ ├── index.ts
│ └── useIntersectionObserver.ts
├── constants
│ └── API.ts
├── svg
│ ├── vercel-logo.svg
│ ├── check.svg
│ ├── arrow-left.svg
│ ├── commit.svg
│ ├── open-in-new-window.svg
│ ├── check-circled.svg
│ ├── clock.svg
│ ├── archive.svg
│ ├── cross-circled.svg
│ ├── update.svg
│ ├── branch.svg
│ └── gear.svg
├── components
│ ├── layout
│ │ └── Main.tsx
│ ├── common
│ │ ├── Header.tsx
│ │ ├── Slider.tsx
│ │ ├── RadioGroup.tsx
│ │ ├── Popover.tsx
│ │ ├── AlertDialog.tsx
│ │ └── Dropdown.tsx
│ ├── ProjectsDropdown.tsx
│ ├── TokenRegistration.tsx
│ └── Deployments
│ │ ├── index.tsx
│ │ └── Card.tsx
├── pages
│ ├── _document.tsx
│ ├── _app.tsx
│ ├── index.tsx
│ ├── dashboard.tsx
│ └── settings.tsx
├── helpers
│ └── fetcher.ts
├── types
│ └── index.d.ts
└── styles
│ └── globals.css
├── assets
└── Display.png
├── .vscode
└── extensions.json
├── postcss.config.js
├── public
└── fonts
│ └── karla
│ ├── karla-v23-latin-500.woff
│ ├── karla-v23-latin-500.woff2
│ ├── karla-v23-latin-600.woff
│ ├── karla-v23-latin-600.woff2
│ ├── karla-v23-latin-700.woff
│ ├── karla-v23-latin-700.woff2
│ ├── karla-v23-latin-italic.woff
│ ├── karla-v23-latin-500italic.woff
│ ├── karla-v23-latin-700italic.woff
│ ├── karla-v23-latin-italic.woff2
│ ├── karla-v23-latin-regular.woff
│ ├── karla-v23-latin-regular.woff2
│ ├── karla-v23-latin-500italic.woff2
│ └── karla-v23-latin-700italic.woff2
├── vercel.json
├── next-env.d.ts
├── .gitignore
├── tailwind.config.js
├── next.config.js
├── tsconfig.json
├── package.json
├── README.md
└── .github
└── workflows
└── release.yml
/src-tauri/build.rs:
--------------------------------------------------------------------------------
1 | fn main() {
2 | tauri_build::build()
3 | }
4 |
--------------------------------------------------------------------------------
/src/hooks/index.ts:
--------------------------------------------------------------------------------
1 | export * from "./useIntersectionObserver";
2 |
--------------------------------------------------------------------------------
/assets/Display.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rajatkulkarni95/buildlog/HEAD/assets/Display.png
--------------------------------------------------------------------------------
/src-tauri/icons/icon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rajatkulkarni95/buildlog/HEAD/src-tauri/icons/icon.ico
--------------------------------------------------------------------------------
/src-tauri/icons/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rajatkulkarni95/buildlog/HEAD/src-tauri/icons/icon.png
--------------------------------------------------------------------------------
/src-tauri/.gitignore:
--------------------------------------------------------------------------------
1 | # Generated by Cargo
2 | # will have compiled files and executables
3 | /target/
4 |
5 |
--------------------------------------------------------------------------------
/src-tauri/icons/32x32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rajatkulkarni95/buildlog/HEAD/src-tauri/icons/32x32.png
--------------------------------------------------------------------------------
/src-tauri/icons/icon.icns:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rajatkulkarni95/buildlog/HEAD/src-tauri/icons/icon.icns
--------------------------------------------------------------------------------
/.vscode/extensions.json:
--------------------------------------------------------------------------------
1 | {
2 | "recommendations": ["tauri-apps.tauri-vscode", "rust-lang.rust-analyzer"]
3 | }
4 |
--------------------------------------------------------------------------------
/src-tauri/icons/128x128.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rajatkulkarni95/buildlog/HEAD/src-tauri/icons/128x128.png
--------------------------------------------------------------------------------
/src-tauri/icons/StoreLogo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rajatkulkarni95/buildlog/HEAD/src-tauri/icons/StoreLogo.png
--------------------------------------------------------------------------------
/postcss.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | plugins: {
3 | tailwindcss: {},
4 | autoprefixer: {},
5 | },
6 | }
7 |
--------------------------------------------------------------------------------
/src-tauri/icons/128x128@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rajatkulkarni95/buildlog/HEAD/src-tauri/icons/128x128@2x.png
--------------------------------------------------------------------------------
/src-tauri/icons/Square30x30Logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rajatkulkarni95/buildlog/HEAD/src-tauri/icons/Square30x30Logo.png
--------------------------------------------------------------------------------
/src-tauri/icons/Square44x44Logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rajatkulkarni95/buildlog/HEAD/src-tauri/icons/Square44x44Logo.png
--------------------------------------------------------------------------------
/src-tauri/icons/Square71x71Logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rajatkulkarni95/buildlog/HEAD/src-tauri/icons/Square71x71Logo.png
--------------------------------------------------------------------------------
/src-tauri/icons/Square89x89Logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rajatkulkarni95/buildlog/HEAD/src-tauri/icons/Square89x89Logo.png
--------------------------------------------------------------------------------
/src-tauri/icons/Square107x107Logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rajatkulkarni95/buildlog/HEAD/src-tauri/icons/Square107x107Logo.png
--------------------------------------------------------------------------------
/src-tauri/icons/Square142x142Logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rajatkulkarni95/buildlog/HEAD/src-tauri/icons/Square142x142Logo.png
--------------------------------------------------------------------------------
/src-tauri/icons/Square150x150Logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rajatkulkarni95/buildlog/HEAD/src-tauri/icons/Square150x150Logo.png
--------------------------------------------------------------------------------
/src-tauri/icons/Square284x284Logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rajatkulkarni95/buildlog/HEAD/src-tauri/icons/Square284x284Logo.png
--------------------------------------------------------------------------------
/src-tauri/icons/Square310x310Logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rajatkulkarni95/buildlog/HEAD/src-tauri/icons/Square310x310Logo.png
--------------------------------------------------------------------------------
/public/fonts/karla/karla-v23-latin-500.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rajatkulkarni95/buildlog/HEAD/public/fonts/karla/karla-v23-latin-500.woff
--------------------------------------------------------------------------------
/public/fonts/karla/karla-v23-latin-500.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rajatkulkarni95/buildlog/HEAD/public/fonts/karla/karla-v23-latin-500.woff2
--------------------------------------------------------------------------------
/public/fonts/karla/karla-v23-latin-600.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rajatkulkarni95/buildlog/HEAD/public/fonts/karla/karla-v23-latin-600.woff
--------------------------------------------------------------------------------
/public/fonts/karla/karla-v23-latin-600.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rajatkulkarni95/buildlog/HEAD/public/fonts/karla/karla-v23-latin-600.woff2
--------------------------------------------------------------------------------
/public/fonts/karla/karla-v23-latin-700.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rajatkulkarni95/buildlog/HEAD/public/fonts/karla/karla-v23-latin-700.woff
--------------------------------------------------------------------------------
/public/fonts/karla/karla-v23-latin-700.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rajatkulkarni95/buildlog/HEAD/public/fonts/karla/karla-v23-latin-700.woff2
--------------------------------------------------------------------------------
/public/fonts/karla/karla-v23-latin-italic.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rajatkulkarni95/buildlog/HEAD/public/fonts/karla/karla-v23-latin-italic.woff
--------------------------------------------------------------------------------
/public/fonts/karla/karla-v23-latin-500italic.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rajatkulkarni95/buildlog/HEAD/public/fonts/karla/karla-v23-latin-500italic.woff
--------------------------------------------------------------------------------
/public/fonts/karla/karla-v23-latin-700italic.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rajatkulkarni95/buildlog/HEAD/public/fonts/karla/karla-v23-latin-700italic.woff
--------------------------------------------------------------------------------
/public/fonts/karla/karla-v23-latin-italic.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rajatkulkarni95/buildlog/HEAD/public/fonts/karla/karla-v23-latin-italic.woff2
--------------------------------------------------------------------------------
/public/fonts/karla/karla-v23-latin-regular.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rajatkulkarni95/buildlog/HEAD/public/fonts/karla/karla-v23-latin-regular.woff
--------------------------------------------------------------------------------
/public/fonts/karla/karla-v23-latin-regular.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rajatkulkarni95/buildlog/HEAD/public/fonts/karla/karla-v23-latin-regular.woff2
--------------------------------------------------------------------------------
/public/fonts/karla/karla-v23-latin-500italic.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rajatkulkarni95/buildlog/HEAD/public/fonts/karla/karla-v23-latin-500italic.woff2
--------------------------------------------------------------------------------
/public/fonts/karla/karla-v23-latin-700italic.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rajatkulkarni95/buildlog/HEAD/public/fonts/karla/karla-v23-latin-700italic.woff2
--------------------------------------------------------------------------------
/vercel.json:
--------------------------------------------------------------------------------
1 | {
2 | "redirects": [
3 | {
4 | "source": "/",
5 | "destination": "https://github.com/rajatkulkarni95/buildlog",
6 | "permanent": true
7 | }
8 | ]
9 | }
10 |
--------------------------------------------------------------------------------
/src/constants/API.ts:
--------------------------------------------------------------------------------
1 | export const API_ENDPOINTS = {
2 | user: "https://api.vercel.com/v2/user",
3 | deployments: "https://api.vercel.com/v6/deployments",
4 | projects: "https://api.vercel.com/v9/projects",
5 | };
6 |
--------------------------------------------------------------------------------
/next-env.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | ///
3 |
4 | // NOTE: This file should not be edited
5 | // see https://nextjs.org/docs/basic-features/typescript for more information.
6 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # Logs
2 | logs
3 | *.log
4 | npm-debug.log*
5 | yarn-debug.log*
6 | yarn-error.log*
7 | pnpm-debug.log*
8 | lerna-debug.log*
9 |
10 | node_modules
11 | dist
12 | dist-ssr
13 | *.local
14 | .next
15 |
16 | # Editor directories and files
17 | .vscode/*
18 | !.vscode/extensions.json
19 | .idea
20 | .DS_Store
21 | *.suo
22 | *.ntvs*
23 | *.njsproj
24 | *.sln
25 | *.sw?
26 |
--------------------------------------------------------------------------------
/src/svg/vercel-logo.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/tailwind.config.js:
--------------------------------------------------------------------------------
1 | const defaultTheme = require("tailwindcss/defaultTheme");
2 |
3 | /** @type {import('tailwindcss').Config} */
4 | module.exports = {
5 | darkMode: "class",
6 | content: ["./src/**/*.{js,ts,jsx,tsx}"],
7 | theme: {
8 | extend: {
9 | fontFamily: {
10 | sans: ["Karla", ...defaultTheme.fontFamily.sans],
11 | },
12 | },
13 | },
14 | plugins: [],
15 | };
16 |
--------------------------------------------------------------------------------
/next.config.js:
--------------------------------------------------------------------------------
1 | /** @type {import('next').NextConfig} */
2 |
3 | const nextConfig = {
4 | reactStrictMode: true,
5 | swcMinify: true,
6 | images: {
7 | unoptimized: true,
8 | },
9 | webpack(config) {
10 | config.module.rules.push({
11 | test: /\.svg$/,
12 | use: ["@svgr/webpack"],
13 | });
14 |
15 | return config;
16 | },
17 | };
18 |
19 | module.exports = nextConfig;
20 |
--------------------------------------------------------------------------------
/src/components/layout/Main.tsx:
--------------------------------------------------------------------------------
1 | interface IMainFrameProps {
2 | children: React.ReactNode;
3 | }
4 |
5 | const MainFrame = ({ children }: IMainFrameProps) => {
6 | return (
7 |
8 | {children}
9 |
10 | );
11 | };
12 |
13 | export default MainFrame;
14 |
--------------------------------------------------------------------------------
/src/components/common/Header.tsx:
--------------------------------------------------------------------------------
1 | interface IHeaderProps {
2 | children: React.ReactNode;
3 | classes?: string;
4 | }
5 |
6 | const Header = ({ children, classes }: IHeaderProps) => {
7 | return (
8 |
13 | );
14 | };
15 |
16 | export default Header;
17 |
--------------------------------------------------------------------------------
/src/pages/_document.tsx:
--------------------------------------------------------------------------------
1 | import React from "react";
2 | import Document, { Html, Head, Main, NextScript } from "next/document";
3 |
4 | class SpecialDocument extends Document {
5 | render() {
6 | return (
7 |
8 |
10 |
11 |
12 |
13 |
14 | );
15 | }
16 | }
17 |
18 | export default SpecialDocument;
19 |
--------------------------------------------------------------------------------
/src/pages/_app.tsx:
--------------------------------------------------------------------------------
1 | import type { AppProps } from "next/app";
2 | import MainFrame from "~/components/layout/Main";
3 | import "~/styles/globals.css";
4 | import { ThemeProvider } from "next-themes";
5 |
6 | export default function App({ Component, pageProps }: AppProps) {
7 | return (
8 |
9 |
10 |
11 |
12 |
13 | );
14 | }
15 |
--------------------------------------------------------------------------------
/src/helpers/fetcher.ts:
--------------------------------------------------------------------------------
1 | export default async function fetcher(
2 | input: RequestInfo,
3 | init?: RequestInit
4 | ): Promise {
5 | const bearerToken = localStorage.getItem("token");
6 |
7 | if (!bearerToken) {
8 | throw new Error("No token found");
9 | }
10 |
11 | const res = await fetch(input, {
12 | headers: { Authorization: `Bearer ${bearerToken}` },
13 | });
14 |
15 | if (!res.ok) {
16 | throw new Error("Not authenticated");
17 | }
18 |
19 | return res.json();
20 | }
21 |
--------------------------------------------------------------------------------
/src/svg/check.svg:
--------------------------------------------------------------------------------
1 |
9 |
--------------------------------------------------------------------------------
/src/svg/arrow-left.svg:
--------------------------------------------------------------------------------
1 |
9 |
--------------------------------------------------------------------------------
/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es5",
4 | "lib": ["dom", "dom.iterable", "esnext"],
5 | "baseUrl": ".",
6 | "allowJs": true,
7 | "skipLibCheck": true,
8 | "strict": true,
9 | "forceConsistentCasingInFileNames": true,
10 | "noEmit": true,
11 | "esModuleInterop": true,
12 | "module": "esnext",
13 | "moduleResolution": "node",
14 | "resolveJsonModule": true,
15 | "isolatedModules": true,
16 | "jsx": "preserve",
17 | "incremental": true,
18 | "paths": {
19 | "~/*": ["src/*"]
20 | }
21 | },
22 | "include": [
23 | "next-env.d.ts",
24 | "**/*.ts",
25 | "**/*.tsx",
26 | "prettier.config.js",
27 | "src"
28 | ],
29 | "exclude": ["node_modules"]
30 | }
31 |
--------------------------------------------------------------------------------
/src/svg/commit.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/src/svg/open-in-new-window.svg:
--------------------------------------------------------------------------------
1 |
6 |
--------------------------------------------------------------------------------
/src-tauri/Cargo.toml:
--------------------------------------------------------------------------------
1 | [package]
2 | name = "BuildLog"
3 | version = "0.0.0"
4 | description = "A Tauri App"
5 | authors = ["you"]
6 | license = ""
7 | repository = ""
8 | edition = "2021"
9 | rust-version = "1.57"
10 |
11 | # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
12 |
13 | [build-dependencies]
14 | tauri-build = { version = "1.2", features = [] }
15 |
16 | [dependencies]
17 | serde_json = "1.0"
18 | cocoa = "0.24.1"
19 | objc = "0.2.7"
20 | serde = { version = "1.0", features = ["derive"] }
21 | tauri = { version = "1.2", features = ["notification-all", "shell-open", "system-tray"] }
22 |
23 | [features]
24 | # by default Tauri runs in production mode
25 | # when `tauri dev` runs it is executed with `cargo run --no-default-features` if `devPath` is an URL
26 | default = ["custom-protocol"]
27 | # this feature is used used for production builds where `devPath` points to the filesystem
28 | # DO NOT remove this
29 | custom-protocol = ["tauri/custom-protocol"]
30 |
--------------------------------------------------------------------------------
/src/svg/check-circled.svg:
--------------------------------------------------------------------------------
1 |
9 |
--------------------------------------------------------------------------------
/src/pages/index.tsx:
--------------------------------------------------------------------------------
1 | import { useRouter } from "next/router";
2 | import { Fragment, useEffect } from "react";
3 | import useSWR from "swr";
4 | import Header from "~/components/common/Header";
5 | import TokenRegistration from "~/components/TokenRegistration";
6 |
7 | function Index() {
8 | const router = useRouter();
9 |
10 | useEffect(() => {
11 | const token = localStorage.getItem("token");
12 |
13 | if (token) {
14 | router.push("/dashboard");
15 | }
16 | }, []);
17 |
18 | return (
19 |
20 |
29 |
30 |
31 | );
32 | }
33 |
34 | export default Index;
35 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "buildlog",
3 | "private": true,
4 | "version": "0.2.0",
5 | "scripts": {
6 | "dev": "next dev -p 1420",
7 | "build": "next build && next export -o dist",
8 | "tauri": "tauri"
9 | },
10 | "dependencies": {
11 | "@radix-ui/react-alert-dialog": "^1.0.2",
12 | "@radix-ui/react-dropdown-menu": "^2.0.2",
13 | "@radix-ui/react-popover": "^1.0.3",
14 | "@radix-ui/react-radio-group": "^1.1.1",
15 | "@radix-ui/react-slider": "^1.1.0",
16 | "@tauri-apps/api": "^1.2.0",
17 | "dayjs": "^1.11.7",
18 | "next": "^13.0.0",
19 | "next-themes": "^0.2.1",
20 | "react": "^18.2.0",
21 | "react-dom": "^18.2.0",
22 | "swr": "^2.0.3"
23 | },
24 | "devDependencies": {
25 | "@svgr/webpack": "^6.5.1",
26 | "@tauri-apps/cli": "^1.2.2",
27 | "@types/node": "^18.7.11",
28 | "@types/react": "^18.0.17",
29 | "@types/react-dom": "^18.0.6",
30 | "autoprefixer": "^10.4.13",
31 | "postcss": "^8.4.21",
32 | "tailwindcss": "^3.2.4",
33 | "typescript": "^4.7.4"
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/src/svg/clock.svg:
--------------------------------------------------------------------------------
1 |
11 |
--------------------------------------------------------------------------------
/src/svg/archive.svg:
--------------------------------------------------------------------------------
1 |
11 |
--------------------------------------------------------------------------------
/src/svg/cross-circled.svg:
--------------------------------------------------------------------------------
1 |
9 |
--------------------------------------------------------------------------------
/src/types/index.d.ts:
--------------------------------------------------------------------------------
1 | export interface IUser {
2 | user: {
3 | id: string;
4 | email: string;
5 | name: string;
6 | username: string;
7 | avatar: string;
8 | };
9 | }
10 |
11 | export interface IProject {
12 | projects: {
13 | id: string;
14 | name: string;
15 | }[];
16 | pagination: IPagination;
17 | }
18 |
19 | export interface IDeploymentResponse {
20 | deployments: IDeployment[];
21 | pagination: IPagination;
22 | }
23 |
24 | export interface IDeployment {
25 | uid: string;
26 | name: string;
27 | url: string;
28 | state?:
29 | | "BUILDING"
30 | | "ERROR"
31 | | "INITIALIZING"
32 | | "QUEUED"
33 | | "READY"
34 | | "CANCELED";
35 | creator: {
36 | uid: string;
37 | email: string;
38 | username: string;
39 | };
40 | inspectorUrl: string;
41 | meta: {
42 | githubCommitOrg: string;
43 | githubCommitRepo: string;
44 | githubCommitRef: string;
45 | githubCommitSha: string;
46 | githubCommitMessage: string;
47 | };
48 | createdAt: number;
49 | buildingAt: number;
50 | ready: number;
51 | }
52 |
53 | export interface IPagination {
54 | count: number;
55 | next: number;
56 | prev: number;
57 | }
58 |
--------------------------------------------------------------------------------
/src/components/common/Slider.tsx:
--------------------------------------------------------------------------------
1 | import React from "react";
2 | import * as RadixSlider from "@radix-ui/react-slider";
3 |
4 | interface ISliderProps {
5 | step: number;
6 | min: number;
7 | max: number;
8 | value: number[];
9 | label: string;
10 | handleChange: (value: number[]) => void;
11 | }
12 |
13 | const Slider = ({
14 | step,
15 | min,
16 | max,
17 | label,
18 | value,
19 | handleChange,
20 | }: ISliderProps) => (
21 |
30 |
31 |
32 |
33 |
34 |
35 | {value} secs
36 |
37 |
38 | );
39 |
40 | export default Slider;
41 |
--------------------------------------------------------------------------------
/src/hooks/useIntersectionObserver.ts:
--------------------------------------------------------------------------------
1 | import { RefObject, useEffect, useState } from "react";
2 |
3 | interface Args extends IntersectionObserverInit {
4 | freezeOnceVisible?: boolean;
5 | }
6 |
7 | export function useIntersectionObserver(
8 | elementRef: RefObject,
9 | {
10 | threshold = 0,
11 | root = null,
12 | rootMargin = "0%",
13 | freezeOnceVisible = false,
14 | }: Args
15 | ): IntersectionObserverEntry | undefined {
16 | const [entry, setEntry] = useState();
17 |
18 | const frozen = entry?.isIntersecting && freezeOnceVisible;
19 |
20 | const updateEntry = ([entry]: IntersectionObserverEntry[]): void => {
21 | setEntry(entry);
22 | };
23 |
24 | useEffect(() => {
25 | const node = elementRef?.current; // DOM Ref
26 | const hasIOSupport = !!window.IntersectionObserver;
27 |
28 | if (!hasIOSupport || frozen || !node) return;
29 |
30 | const observerParams = { threshold, root, rootMargin };
31 | const observer = new IntersectionObserver(updateEntry, observerParams);
32 |
33 | observer.observe(node);
34 |
35 | return () => observer.disconnect();
36 |
37 | // eslint-disable-next-line react-hooks/exhaustive-deps
38 | }, [
39 | elementRef?.current,
40 | JSON.stringify(threshold),
41 | root,
42 | rootMargin,
43 | frozen,
44 | ]);
45 |
46 | return entry;
47 | }
48 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # BuildLog
2 |
3 | Quickly look at your Vercel Deployments in you menu bar!
4 |
5 | 
6 |
7 | https://user-images.githubusercontent.com/57321156/216831177-3bf14c0c-fd03-469a-b1ce-fe3aecf89fc9.mov
8 |
9 |
10 |
11 | ## Building
12 |
13 | The app uses Tauri for bundling and creating the tray, while the frontend is written with Nextjs and Typescript.
14 |
15 | `yarn dev`
16 |
17 | Runs just the Frontend Nextjs site, so you should be able to see it in the browser
18 |
19 | `yarn tauri dev`
20 |
21 | Makes it into a system tray
22 |
23 | `yarn build` and `yarn tauri build`
24 |
25 | Build the app for browser and desktop respectively
26 |
27 | ## FAQs
28 |
29 | 1. Where do I get the Personal Access Token?
30 |
31 | Steps for creating a Personal Access Token are listed here https://vercel.com/docs/rest-api#introduction/api-basics/authentication/creating-an-access-token
32 |
33 | 2. What does BuildLog do with the Personal Access Token?
34 |
35 | Vercel requires the token to be part of the Authorization Header (to authenticate every request I make). As for what I do with it - **Nothing** (well apart from using it for making said requests). The token is **stored on your device** at all times, and **never leaves it** (I also don't have a server, so don't worry about it)
36 |
37 | ## Contributing
38 |
39 | I'll be more than happy to improve on the app, so feel free to write in issues/improvements that you might want
40 |
--------------------------------------------------------------------------------
/src/components/common/RadioGroup.tsx:
--------------------------------------------------------------------------------
1 | import React from "react";
2 | import * as RadixRadioGroup from "@radix-ui/react-radio-group";
3 |
4 | interface IRadioGroupProps {
5 | label: string;
6 | value?: string;
7 | items: {
8 | value: string;
9 | label: string;
10 | renderer: React.ReactNode | string;
11 | }[];
12 | handleChange?: (value: string) => void;
13 | }
14 |
15 | const RadioGroup = ({
16 | label,
17 | items,
18 | value,
19 | handleChange,
20 | }: IRadioGroupProps) => (
21 |
27 | {items.map((item) => {
28 | return (
29 |
35 | {item.renderer}
36 |
37 | );
38 | })}
39 |
40 | );
41 |
42 | export default RadioGroup;
43 |
--------------------------------------------------------------------------------
/src/components/common/Popover.tsx:
--------------------------------------------------------------------------------
1 | import React from "react";
2 | import * as RadixPopover from "@radix-ui/react-popover";
3 |
4 | type TProps = {
5 | triggerLabel: string;
6 | children: React.ReactNode;
7 | icon: React.ReactNode;
8 | panelWidth?: string;
9 | defaultPadding?: boolean;
10 | side?: "top" | "right" | "bottom" | "left";
11 | title?: string;
12 | };
13 |
14 | const Popover = ({
15 | triggerLabel,
16 | icon,
17 | children,
18 | panelWidth,
19 | title,
20 | side = "bottom",
21 | }: TProps) => (
22 |
23 |
24 |
30 |
31 |
32 |
38 | {title && (
39 |
40 | {title}
41 |
42 | )}
43 | {children}
44 |
45 |
46 |
47 | );
48 |
49 | export default Popover;
50 |
--------------------------------------------------------------------------------
/.github/workflows/release.yml:
--------------------------------------------------------------------------------
1 | name: "Create Release"
2 | on: workflow_dispatch
3 |
4 | jobs:
5 | publish-tauri:
6 | strategy:
7 | fail-fast: false
8 | matrix:
9 | platform: [macos-latest]
10 |
11 | runs-on: ${{ matrix.platform }}
12 | steps:
13 | - uses: actions/checkout@v2
14 | - name: Node.js setup
15 | uses: actions/setup-node@v1
16 | with:
17 | node-version: 16
18 |
19 | - name: Rust setup
20 | uses: actions-rs/toolchain@v1
21 | with:
22 | toolchain: stable
23 |
24 | - name: Install app dependencies
25 | run: yarn
26 |
27 | - name: Rust cache
28 | uses: swatinem/rust-cache@v2
29 | with:
30 | workspaces: src-tauri
31 |
32 | - name: Build the app
33 | uses: tauri-apps/tauri-action@dev
34 | env:
35 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
36 | ENABLE_CODE_SIGNING: ${{ secrets.APPLE_CERTIFICATE }}
37 | APPLE_CERTIFICATE: ${{ secrets.APPLE_CERTIFICATE }}
38 | APPLE_CERTIFICATE_PASSWORD: ${{ secrets.APPLE_CERTIFICATE_PASSWORD }}
39 | APPLE_SIGNING_IDENTITY: ${{ secrets.APPLE_SIGNING_IDENTITY }}
40 | APPLE_ID: ${{ secrets.APPLE_ID }}
41 | APPLE_PASSWORD: ${{ secrets.APPLE_PASSWORD }}
42 | with:
43 | tagName: buildlog-v__VERSION__
44 | releaseName: "BuildLog v__VERSION__"
45 | releaseBody: "Vercel Deployments in the Menu Bar"
46 | releaseDraft: false
47 | prerelease: false
48 | args: "--verbose"
49 |
--------------------------------------------------------------------------------
/src/svg/update.svg:
--------------------------------------------------------------------------------
1 |
9 |
--------------------------------------------------------------------------------
/src-tauri/tauri.conf.json:
--------------------------------------------------------------------------------
1 | {
2 | "build": {
3 | "beforeDevCommand": "yarn dev",
4 | "beforeBuildCommand": "yarn build",
5 | "devPath": "http://localhost:1420",
6 | "distDir": "../dist",
7 | "withGlobalTauri": false
8 | },
9 | "package": {
10 | "productName": "buildlog",
11 | "version": "../package.json"
12 | },
13 | "tauri": {
14 | "systemTray": {
15 | "iconPath": "icons/icon.png",
16 | "iconAsTemplate": true
17 | },
18 | "allowlist": {
19 | "all": false,
20 | "shell": {
21 | "all": false,
22 | "open": true
23 | },
24 | "notification": {
25 | "all": true
26 | }
27 | },
28 | "bundle": {
29 | "active": true,
30 | "category": "DeveloperTool",
31 | "copyright": "",
32 | "deb": {
33 | "depends": []
34 | },
35 | "externalBin": [],
36 | "icon": [
37 | "icons/32x32.png",
38 | "icons/128x128.png",
39 | "icons/128x128@2x.png",
40 | "icons/icon.icns",
41 | "icons/icon.ico"
42 | ],
43 | "identifier": "rajatkulkarni.dev",
44 | "longDescription": "",
45 | "macOS": {
46 | "entitlements": null,
47 | "exceptionDomain": "",
48 | "frameworks": [],
49 | "providerShortName": null,
50 | "signingIdentity": null
51 | },
52 | "resources": [],
53 | "shortDescription": "",
54 | "targets": "all",
55 | "windows": {
56 | "certificateThumbprint": null,
57 | "digestAlgorithm": "sha256",
58 | "timestampUrl": ""
59 | }
60 | },
61 | "security": {
62 | "csp": null
63 | },
64 | "updater": {
65 | "active": false
66 | },
67 | "windows": [
68 | {
69 | "fullscreen": false,
70 | "height": 640,
71 | "resizable": true,
72 | "title": "BuildLog",
73 | "width": 480,
74 | "decorations": false
75 | }
76 | ]
77 | }
78 | }
79 |
--------------------------------------------------------------------------------
/src/components/ProjectsDropdown.tsx:
--------------------------------------------------------------------------------
1 | import { useEffect, useRef } from "react";
2 | import useSWRInfinite from "swr/infinite";
3 | import { API_ENDPOINTS } from "~/constants/API";
4 | import fetcher from "~/helpers/fetcher";
5 | import { useIntersectionObserver } from "~/hooks";
6 | import { IProject } from "~/types";
7 |
8 | import Dropdown from "./common/Dropdown";
9 |
10 | interface IProjectDropdownProps {
11 | handleProjectChange: (id: string) => void;
12 | selectedProject: string;
13 | }
14 |
15 | const getKey = (pageIndex: number, previousPageData: IProject) => {
16 | // reached the end
17 | if (previousPageData && !previousPageData.projects.length) return null;
18 |
19 | if (pageIndex === 0) return API_ENDPOINTS.projects;
20 |
21 | return `${API_ENDPOINTS.projects}?until=${previousPageData.pagination.next}`;
22 | };
23 |
24 | const ProjectsDropdown = ({
25 | handleProjectChange,
26 | selectedProject,
27 | }: IProjectDropdownProps) => {
28 | const { data, error, isLoading, isValidating, setSize, size } =
29 | useSWRInfinite(getKey, fetcher, {
30 | revalidateOnFocus: false,
31 | });
32 |
33 | if (error) {
34 | return Oops!
;
35 | }
36 |
37 | const availableProjects = data
38 | ?.map((page) =>
39 | page.projects.map((project) => ({
40 | label: project.name,
41 | id: project.id,
42 | }))
43 | )
44 | .flat();
45 |
46 | availableProjects?.splice(0, 0, {
47 | label: "All Projects",
48 | id: "",
49 | });
50 |
51 | const scrollRef = useRef(null);
52 | const entry = useIntersectionObserver(scrollRef, {});
53 |
54 | const isVisible = !!entry?.isIntersecting;
55 |
56 | useEffect(() => {
57 | if (isVisible && !isLoading && !isValidating) {
58 | setSize(size + 1);
59 | }
60 | }, [isVisible]);
61 |
62 | return (
63 | project.id === selectedProject)
66 | ?.label
67 | }
68 | items={availableProjects}
69 | selectedId={selectedProject}
70 | handleOnClick={handleProjectChange}
71 | scrollRef={scrollRef}
72 | isLoading={isLoading}
73 | />
74 | );
75 | };
76 |
77 | export default ProjectsDropdown;
78 |
--------------------------------------------------------------------------------
/src/components/common/AlertDialog.tsx:
--------------------------------------------------------------------------------
1 | import React from "react";
2 | import * as RadixAlertDialog from "@radix-ui/react-alert-dialog";
3 |
4 | interface IAlertDialog {
5 | triggerLabel?: string;
6 | title?: string;
7 | description?: string;
8 | confirmLabel?: string;
9 | handleTriggerClick?: () => void;
10 | show?: boolean;
11 | handleConfirm?: () => void;
12 | }
13 |
14 | const AlertDialog = ({
15 | triggerLabel,
16 | title,
17 | description,
18 | confirmLabel,
19 | handleTriggerClick,
20 | show,
21 | handleConfirm,
22 | }: IAlertDialog) => (
23 |
24 |
25 |
31 |
32 | {show && (
33 |
34 |
35 |
36 |
37 | {title}
38 |
39 |
40 | {description}
41 |
42 |
43 |
44 |
47 |
48 |
49 |
52 |
53 |
54 |
55 |
56 | )}
57 |
58 | );
59 |
60 | export default AlertDialog;
61 |
--------------------------------------------------------------------------------
/src/pages/dashboard.tsx:
--------------------------------------------------------------------------------
1 | import Image from "next/image";
2 | import { useRouter } from "next/router";
3 | import { Fragment, useState } from "react";
4 | import useSWR from "swr";
5 | import Header from "~/components/common/Header";
6 | import Deployments from "~/components/Deployments";
7 | import ProjectsDropdown from "~/components/ProjectsDropdown";
8 | import GearIcon from "~/svg/gear.svg";
9 | import { API_ENDPOINTS } from "~/constants/API";
10 | import fetcher from "~/helpers/fetcher";
11 | import { IUser } from "~/types";
12 | import Link from "next/link";
13 |
14 | const Dashboard = () => {
15 | const { data, error } = useSWR(API_ENDPOINTS.user, fetcher);
16 | const router = useRouter();
17 | const [selectedProject, setSelectedProject] = useState("");
18 |
19 | if (
20 | error?.message === "No token found" ||
21 | error?.message === "Not authenticated"
22 | ) {
23 | router.push("/");
24 | }
25 |
26 | const handleProjectChange = (id: string) => {
27 | setSelectedProject(id);
28 | };
29 |
30 | if (!data) return;
31 |
32 | return (
33 |
34 |
35 |
36 |
43 |
44 |
45 | {data?.user.name}
46 |
47 |
48 | {data?.user.username}
49 |
50 |
51 |
52 |
53 |
57 |
58 |
61 |
62 |
63 |
64 |
65 |
66 | );
67 | };
68 |
69 | export default Dashboard;
70 |
--------------------------------------------------------------------------------
/src/components/common/Dropdown.tsx:
--------------------------------------------------------------------------------
1 | import React from "react";
2 | import * as DropdownMenu from "@radix-ui/react-dropdown-menu";
3 | import CheckIcon from "~/svg/check.svg";
4 | import UpdateIcon from "~/svg/update.svg";
5 |
6 | interface IDropdown {
7 | triggerLabel?: string;
8 | isLoading?: boolean;
9 | items?: {
10 | label: string;
11 | id: string;
12 | }[];
13 | selectedId?: string;
14 | handleOnClick: (id: string) => void;
15 | scrollRef?: React.RefObject;
16 | }
17 |
18 | const Dropdown = ({
19 | triggerLabel,
20 | items,
21 | selectedId,
22 | handleOnClick,
23 | scrollRef,
24 | isLoading,
25 | }: IDropdown) => {
26 | return (
27 |
28 |
29 | {isLoading ? (
30 |
31 | ) : (
32 |
38 | )}
39 |
40 |
41 |
42 |
47 | {items?.map((item) => (
48 | handleOnClick(item.id)}
56 | >
57 | {item.label}{" "}
58 | {selectedId === item.id && (
59 |
60 | )}
61 |
62 | ))}
63 |
64 |
65 |
66 |
67 | );
68 | };
69 |
70 | export default Dropdown;
71 |
--------------------------------------------------------------------------------
/src/svg/branch.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/src/svg/gear.svg:
--------------------------------------------------------------------------------
1 |
9 |
--------------------------------------------------------------------------------
/src/styles/globals.css:
--------------------------------------------------------------------------------
1 | @tailwind base;
2 | @tailwind components;
3 | @tailwind utilities;
4 |
5 | .hide_scrollbar::-webkit-scrollbar {
6 | display: none !important;
7 | }
8 |
9 | /* Karla */
10 |
11 | /* karla-regular - latin */
12 | @font-face {
13 | font-family: "Karla";
14 | font-style: normal;
15 | font-weight: 400;
16 | src: local(""),
17 | url("/fonts/karla/karla-v23-latin-regular.woff2") format("woff2"),
18 | /* Chrome 26+, Opera 23+, Firefox 39+ */
19 | url("/fonts/karla/karla-v23-latin-regular.woff") format("woff"); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
20 | }
21 |
22 | /* karla-500 - latin */
23 | @font-face {
24 | font-family: "Karla";
25 | font-style: normal;
26 | font-weight: 500;
27 | src: local(""), url("/fonts/karla/karla-v23-latin-500.woff2") format("woff2"),
28 | /* Chrome 26+, Opera 23+, Firefox 39+ */
29 | url("/fonts/karla/karla-v23-latin-500.woff") format("woff"); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
30 | }
31 |
32 | /* karla-600 - latin */
33 | @font-face {
34 | font-family: "Karla";
35 | font-style: normal;
36 | font-weight: 600;
37 | src: local(""), url("/fonts/karla/karla-v23-latin-600.woff2") format("woff2"),
38 | /* Chrome 26+, Opera 23+, Firefox 39+ */
39 | url("/fonts/karla/karla-v23-latin-600.woff") format("woff"); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
40 | }
41 |
42 | /* karla-700 - latin */
43 | @font-face {
44 | font-family: "Karla";
45 | font-style: normal;
46 | font-weight: 700;
47 | src: local(""), url("/fonts/karla/karla-v23-latin-700.woff2") format("woff2"),
48 | /* Chrome 26+, Opera 23+, Firefox 39+ */
49 | url("/fonts/karla/karla-v23-latin-700.woff") format("woff"); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
50 | }
51 |
52 | /* karla-italic - latin */
53 | @font-face {
54 | font-family: "Karla";
55 | font-style: italic;
56 | font-weight: 400;
57 | src: local(""),
58 | url("/fonts/karla/karla-v23-latin-italic.woff2") format("woff2"),
59 | /* Chrome 26+, Opera 23+, Firefox 39+ */
60 | url("/fonts/karla/karla-v23-latin-italic.woff") format("woff"); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
61 | }
62 |
63 | /* karla-500italic - latin */
64 | @font-face {
65 | font-family: "Karla";
66 | font-style: italic;
67 | font-weight: 500;
68 | src: local(""),
69 | url("/fonts/karla/karla-v23-latin-500italic.woff2") format("woff2"),
70 | /* Chrome 26+, Opera 23+, Firefox 39+ */
71 | url("/fonts/karla/karla-v23-latin-500italic.woff") format("woff"); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
72 | }
73 |
74 | /* karla-700italic - latin */
75 | @font-face {
76 | font-family: "Karla";
77 | font-style: italic;
78 | font-weight: 700;
79 | src: local(""),
80 | url("/fonts/karla/karla-v23-latin-700italic.woff2") format("woff2"),
81 | /* Chrome 26+, Opera 23+, Firefox 39+ */
82 | url("/fonts/karla/karla-v23-latin-700italic.woff") format("woff"); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
83 | }
84 |
--------------------------------------------------------------------------------
/src/components/TokenRegistration.tsx:
--------------------------------------------------------------------------------
1 | import { useRouter } from "next/router";
2 | import { useState } from "react";
3 | import { API_ENDPOINTS } from "~/constants/API";
4 | import fetcher from "~/helpers/fetcher";
5 | import UpdateIcon from "~/svg/update.svg";
6 |
7 | const TokenRegistration = () => {
8 | const [token, setToken] = useState("");
9 | const [isSubmitting, setIsSubmitting] = useState(false);
10 | const [error, setError] = useState("");
11 | const router = useRouter();
12 |
13 | const handleSubmit = async (e: React.FormEvent) => {
14 | e.preventDefault();
15 | setIsSubmitting(true);
16 | setError("");
17 | localStorage.setItem("token", token);
18 | try {
19 | await fetcher(API_ENDPOINTS.user);
20 | router.push("/dashboard");
21 | } catch (error) {
22 | setError("Invalid token");
23 | localStorage.removeItem("token");
24 | } finally {
25 | setIsSubmitting(false);
26 | }
27 | };
28 |
29 | return (
30 |
31 |
71 |
72 |
73 | Steps for creating a Personal Access Token are listed{" "}
74 |
80 | here
81 |
82 |
83 |
84 | );
85 | };
86 |
87 | export default TokenRegistration;
88 |
--------------------------------------------------------------------------------
/src/components/Deployments/index.tsx:
--------------------------------------------------------------------------------
1 | import React, { useEffect, useRef } from "react";
2 | import useSWRInfinite from "swr/infinite";
3 | import { API_ENDPOINTS } from "~/constants/API";
4 | import fetcher from "~/helpers/fetcher";
5 | import { IDeployment, IDeploymentResponse } from "~/types";
6 | import UpdateIcon from "~/svg/update.svg";
7 | import DeploymentCard from "./Card";
8 | import { useIntersectionObserver } from "~/hooks";
9 | import { sendNotification } from "@tauri-apps/api/notification";
10 |
11 | interface IDeploymentsProps {
12 | selectedProject: string;
13 | }
14 |
15 | interface IInprogressDeployments {
16 | [key: string]: IDeployment;
17 | }
18 |
19 | const inProgressDeployments: IInprogressDeployments = {};
20 |
21 | const Deployments = ({ selectedProject }: IDeploymentsProps) => {
22 | const getKey = (pageIndex: number, previousPageData: IDeploymentResponse) => {
23 | // reached the end
24 | if (previousPageData && !previousPageData.deployments.length) return null;
25 |
26 | if (selectedProject === "") {
27 | if (pageIndex === 0) return API_ENDPOINTS.deployments;
28 |
29 | return `${API_ENDPOINTS.deployments}?until=${previousPageData.pagination.next}`;
30 | } else {
31 | if (pageIndex === 0)
32 | return `${API_ENDPOINTS.deployments}?projectId=${selectedProject}`;
33 |
34 | return `${API_ENDPOINTS.deployments}?projectId=${selectedProject}&until=${previousPageData.pagination.next}`;
35 | }
36 | };
37 |
38 | const showNotifications =
39 | window.localStorage.getItem("notifications") === "yes" ? true : false;
40 |
41 | const frequency = parseInt(window.localStorage.getItem("frequency") || "15");
42 |
43 | const { data, error, setSize, size, isLoading, isValidating } =
44 | useSWRInfinite(getKey, fetcher, {
45 | refreshInterval: frequency * 1000,
46 | revalidateOnFocus: false,
47 | refreshWhenHidden: showNotifications,
48 | });
49 |
50 | const totalDeployments = data
51 | ?.map((page) => page.deployments)
52 | .flat() as IDeployment[];
53 |
54 | const ref = useRef(null);
55 | const entry = useIntersectionObserver(ref, {});
56 |
57 | const isVisible = !!entry?.isIntersecting;
58 |
59 | const isDeploymentBuilding = () => {
60 | totalDeployments?.forEach((deployment) => {
61 | if (
62 | deployment.state === "BUILDING" &&
63 | !inProgressDeployments.hasOwnProperty(deployment.uid)
64 | ) {
65 | inProgressDeployments[deployment.uid] = deployment;
66 | sendNotification({
67 | title: "BuildLog",
68 | body: `${deployment.name} - Deployment started`,
69 | });
70 | } else if (
71 | deployment.state === "READY" &&
72 | inProgressDeployments.hasOwnProperty(deployment.uid)
73 | ) {
74 | let state = "";
75 | if (deployment.state === "READY") {
76 | state = "🎉 Deployed";
77 | } else if (deployment.state === "ERROR") {
78 | state = "❌ Failed";
79 | }
80 | sendNotification({
81 | title: "BuildLog",
82 | body: `${deployment.name} - ${state}`,
83 | });
84 | delete inProgressDeployments[deployment.uid];
85 | }
86 | });
87 | };
88 |
89 | useEffect(() => {
90 | if (showNotifications) {
91 | isDeploymentBuilding();
92 | }
93 | }, [totalDeployments]);
94 |
95 | useEffect(() => {
96 | if (isVisible && !isLoading && !isValidating) {
97 | setSize(size + 1);
98 | }
99 | }, [isVisible]);
100 |
101 | if (error) {
102 | return (
103 |
104 | Something broke! Yeah that wasn't supposed to happen.
105 |
106 | );
107 | }
108 |
109 | return (
110 |
111 |
112 |
113 | Deployments
114 |
115 | {(isLoading || isValidating) && (
116 |
117 | )}
118 |
119 |
120 | {totalDeployments?.map((deployment) => (
121 |
122 | ))}
123 |
124 | {isLoading && (
125 |
126 | )}
127 |
128 |
129 | );
130 | };
131 |
132 | export default Deployments;
133 |
--------------------------------------------------------------------------------
/src/components/Deployments/Card.tsx:
--------------------------------------------------------------------------------
1 | import { Fragment } from "react";
2 | import dayjs from "dayjs";
3 | import relativeTime from "dayjs/plugin/relativeTime";
4 | import { IDeployment } from "~/types";
5 | import CommitIcon from "~/svg/commit.svg";
6 | import ProjectIcon from "~/svg/archive.svg";
7 | import ClockIcon from "~/svg/clock.svg";
8 | import BranchIcon from "~/svg/branch.svg";
9 | import CheckCircledIcon from "~/svg/check-circled.svg";
10 | import CrossCircledIcon from "~/svg/cross-circled.svg";
11 | import VercelIcon from "~/svg/vercel-logo.svg";
12 | import UpdateIcon from "~/svg/update.svg";
13 |
14 | dayjs.extend(relativeTime);
15 |
16 | interface IDeploymentCardProps {
17 | deployment: IDeployment;
18 | }
19 |
20 | const DeploymentCard = ({ deployment }: IDeploymentCardProps) => {
21 | const { meta, name, url, ready, creator, state, createdAt, inspectorUrl } =
22 | deployment;
23 |
24 | const renderIcon = () => {
25 | switch (state) {
26 | case "READY":
27 | return (
28 |
29 | );
30 | case "ERROR":
31 | return (
32 |
33 | );
34 | case "BUILDING":
35 | return (
36 |
37 | );
38 | default:
39 | break;
40 | }
41 | };
42 |
43 | const renderCompletionTime = () => {
44 | const completionSeconds = dayjs(ready).diff(dayjs(createdAt), "s");
45 |
46 | if (completionSeconds < 60) {
47 | return `${completionSeconds}s`;
48 | } else {
49 | const minutes = Math.floor(completionSeconds / 60);
50 | const seconds = completionSeconds % 60;
51 |
52 | return `${minutes}m ${seconds}s`;
53 | }
54 | };
55 |
56 | return (
57 |
58 |
59 | {renderIcon()}{" "}
60 | {" "}
61 |
62 |
63 |
{" "}
64 |
65 | {name}
66 |
67 |
68 |
81 |
92 |
124 |
125 |
126 | );
127 | };
128 |
129 | export default DeploymentCard;
130 |
--------------------------------------------------------------------------------
/src/pages/settings.tsx:
--------------------------------------------------------------------------------
1 | import { useTheme } from "next-themes";
2 | import Link from "next/link";
3 | import { useRouter } from "next/router";
4 | import { Fragment, useEffect, useState } from "react";
5 | import AlertDialog from "~/components/common/AlertDialog";
6 | import Header from "~/components/common/Header";
7 | import RadioGroup from "~/components/common/RadioGroup";
8 | import Slider from "~/components/common/Slider";
9 | import LeftArrow from "~/svg/arrow-left.svg";
10 |
11 | const THEMES = [
12 | {
13 | label: "System",
14 | value: "system",
15 | renderer: "System",
16 | },
17 | {
18 | label: "Light",
19 | value: "light",
20 | renderer: "Light",
21 | },
22 | {
23 | label: "Dark",
24 | value: "dark",
25 | renderer: "Dark",
26 | },
27 | ];
28 |
29 | const NOTIFICATIONS = [
30 | {
31 | label: "Yes",
32 | value: "yes",
33 | renderer: "Yes",
34 | },
35 | {
36 | label: "No",
37 | value: "no",
38 | renderer: "No",
39 | },
40 | ];
41 |
42 | const SettingsPage = () => {
43 | const [mounted, setMounted] = useState(false);
44 | const { theme, setTheme } = useTheme();
45 | const router = useRouter();
46 | const [showConfirmModal, setShowConfirmModal] = useState(false);
47 | const [notificationSetting, setNotificationSetting] = useState("no");
48 | const [frequency, setFrequency] = useState([15]);
49 |
50 | // When mounted on client, now we can show the UI
51 | useEffect(() => {
52 | setMounted(true);
53 | setNotificationSetting(
54 | window.localStorage.getItem("notifications") || "no"
55 | );
56 | setFrequency([parseInt(window.localStorage.getItem("frequency") || "15")]);
57 | }, []);
58 |
59 | if (!mounted) return null;
60 |
61 | const handleSetNotification = (value: string) => {
62 | setNotificationSetting(value);
63 | window.localStorage.setItem("notifications", value);
64 | };
65 |
66 | const handleFrequencyChange = (value: number[]) => {
67 | setFrequency(value);
68 | window.localStorage.setItem("frequency", value[0].toString());
69 | };
70 |
71 | const handleClickLogout = () => {
72 | setShowConfirmModal(true);
73 | };
74 |
75 | return (
76 |
77 |
78 |
79 |
82 |
83 |
84 | Settings
85 |
86 |
87 |
88 |
89 |
90 |
91 | Theme
92 |
93 |
94 | How would you like BuildLog to look?
95 |
96 |
97 | setTheme(val)}
102 | />
103 |
104 |
105 |
106 |
107 | Send Notifications
108 |
109 |
110 | Send system messages when deployment starts and ends.
111 |
112 |
113 | handleSetNotification(val)}
118 | />
119 |
120 |
121 |
122 |
123 | Request Interval
124 |
125 |
126 | How frequently should BuildLog check for new deployments?
127 |
128 |
129 |
137 |
138 |
139 |
140 |
141 | Log Out?
142 |
143 |
144 | Log out of BuildLog and erase saved access token.
145 |
146 |
147 | {
155 | localStorage.removeItem("token");
156 | setTimeout(() => {
157 | router.push("/");
158 | }, 1);
159 | }}
160 | />
161 |
162 |
163 |
164 | );
165 | };
166 |
167 | export default SettingsPage;
168 |
--------------------------------------------------------------------------------
/src-tauri/src/main.rs:
--------------------------------------------------------------------------------
1 | #![cfg_attr(
2 | all(not(debug_assertions), target_os = "windows"),
3 | windows_subsystem = "windows"
4 | )]
5 |
6 | use tauri::Manager;
7 | use tauri::{CustomMenuItem, PhysicalPosition, SystemTray, SystemTrayEvent, SystemTrayMenu};
8 |
9 | #[cfg(target_os = "macos")]
10 | use cocoa::appkit::{NSWindow, NSWindowButton, NSWindowStyleMask, NSWindowTitleVisibility};
11 |
12 | #[cfg(target_os = "macos")]
13 | use objc::runtime::YES;
14 |
15 | use tauri::{Runtime, Window};
16 |
17 | #[cfg(target_os = "macos")]
18 | #[macro_use]
19 | extern crate objc;
20 |
21 | pub trait WindowExt {
22 | #[cfg(target_os = "macos")]
23 | fn set_transparent_titlebar(&self, title_transparent: bool, remove_toolbar: bool);
24 | }
25 |
26 | impl WindowExt for Window {
27 | #[cfg(target_os = "macos")]
28 | fn set_transparent_titlebar(&self, title_transparent: bool, remove_tool_bar: bool) {
29 | unsafe {
30 | let id = self.ns_window().unwrap() as cocoa::base::id;
31 | NSWindow::setTitlebarAppearsTransparent_(id, cocoa::base::YES);
32 | let mut style_mask = id.styleMask();
33 | style_mask.set(
34 | NSWindowStyleMask::NSFullSizeContentViewWindowMask,
35 | title_transparent,
36 | );
37 |
38 | id.setStyleMask_(style_mask);
39 |
40 | if remove_tool_bar {
41 | let close_button = id.standardWindowButton_(NSWindowButton::NSWindowCloseButton);
42 | let _: () = msg_send![close_button, setHidden: YES];
43 | let min_button =
44 | id.standardWindowButton_(NSWindowButton::NSWindowMiniaturizeButton);
45 | let _: () = msg_send![min_button, setHidden: YES];
46 | let zoom_button = id.standardWindowButton_(NSWindowButton::NSWindowZoomButton);
47 | let _: () = msg_send![zoom_button, setHidden: YES];
48 | }
49 |
50 | id.setTitleVisibility_(if title_transparent {
51 | NSWindowTitleVisibility::NSWindowTitleHidden
52 | } else {
53 | NSWindowTitleVisibility::NSWindowTitleVisible
54 | });
55 |
56 | id.setTitlebarAppearsTransparent_(if title_transparent {
57 | cocoa::base::YES
58 | } else {
59 | cocoa::base::NO
60 | });
61 | }
62 | }
63 | }
64 |
65 | #[tauri::command]
66 | fn set_review_count(app_handle: tauri::AppHandle, count: &str) {
67 | let mut rev_count = count.to_string();
68 | rev_count.insert_str(0, " ");
69 | #[cfg(target_os = "macos")]
70 | app_handle.tray_handle().set_title(&rev_count).unwrap();
71 | }
72 |
73 | fn main() {
74 | let quit = CustomMenuItem::new("quit".to_string(), "Quit BuildLog");
75 | let tray_menu = SystemTrayMenu::new().add_item(quit);
76 | let system_tray = SystemTray::new()
77 | .with_menu(tray_menu)
78 | .with_menu_on_left_click(false);
79 |
80 | tauri::Builder::default()
81 | .system_tray(system_tray)
82 | .on_system_tray_event(move |app, event| match event {
83 | SystemTrayEvent::LeftClick { position, size, .. } => {
84 | let w = app.get_window("main").unwrap();
85 | let visible = w.is_visible().unwrap();
86 | if visible {
87 | w.hide().unwrap();
88 | } else {
89 | let window_size = w.outer_size().unwrap();
90 | let physical_pos = PhysicalPosition {
91 | x: position.x as i32 + (size.width as i32 / 2)
92 | - (window_size.width as i32 / 2),
93 | y: position.y as i32 - window_size.height as i32,
94 | };
95 |
96 | let _ = w.set_position(tauri::Position::Physical(physical_pos));
97 | w.show().unwrap();
98 | w.set_focus().unwrap();
99 | }
100 | }
101 | SystemTrayEvent::RightClick {
102 | position: _,
103 | size: _,
104 | ..
105 | } => {
106 | println!("system tray received a right click");
107 | }
108 | SystemTrayEvent::DoubleClick {
109 | position: _,
110 | size: _,
111 | ..
112 | } => {
113 | println!("system tray received a double click");
114 | }
115 | SystemTrayEvent::MenuItemClick { id, .. } => match id.as_str() {
116 | "quit" => {
117 | std::process::exit(0);
118 | }
119 | _ => {}
120 | },
121 | _ => {}
122 | })
123 | .on_window_event(|event| match event.event() {
124 | tauri::WindowEvent::CloseRequested { api, .. } => {
125 | // don't kill the app when the user clicks close.
126 | event.window().hide().unwrap();
127 | api.prevent_close();
128 | }
129 | tauri::WindowEvent::Focused(false) => {
130 | event.window().hide().unwrap();
131 | }
132 | _ => {}
133 | })
134 | .invoke_handler(tauri::generate_handler![set_review_count])
135 | .setup(|app| {
136 | #[cfg(target_os = "macos")]
137 | // don't show on the taskbar/springboard
138 | app.set_activation_policy(tauri::ActivationPolicy::Accessory);
139 |
140 | let window = app.get_window("main").unwrap();
141 | #[cfg(target_os = "macos")]
142 | window.set_transparent_titlebar(true, true);
143 |
144 | window.set_always_on_top(true).unwrap();
145 |
146 | Ok(())
147 | })
148 | .build(tauri::generate_context!())
149 | .expect("error while running tauri application")
150 | .run(|_app_handle, event| match event {
151 | tauri::RunEvent::ExitRequested { api, .. } => {
152 | api.prevent_exit();
153 | }
154 | _ => {}
155 | })
156 | }
157 |
--------------------------------------------------------------------------------
/src-tauri/Cargo.lock:
--------------------------------------------------------------------------------
1 | # This file is automatically @generated by Cargo.
2 | # It is not intended for manual editing.
3 | version = 3
4 |
5 | [[package]]
6 | name = "BuildLog"
7 | version = "0.0.0"
8 | dependencies = [
9 | "cocoa",
10 | "objc",
11 | "serde",
12 | "serde_json",
13 | "tauri",
14 | "tauri-build",
15 | ]
16 |
17 | [[package]]
18 | name = "adler"
19 | version = "1.0.2"
20 | source = "registry+https://github.com/rust-lang/crates.io-index"
21 | checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
22 |
23 | [[package]]
24 | name = "aho-corasick"
25 | version = "0.7.20"
26 | source = "registry+https://github.com/rust-lang/crates.io-index"
27 | checksum = "cc936419f96fa211c1b9166887b38e5e40b19958e5b895be7c1f93adec7071ac"
28 | dependencies = [
29 | "memchr",
30 | ]
31 |
32 | [[package]]
33 | name = "alloc-no-stdlib"
34 | version = "2.0.4"
35 | source = "registry+https://github.com/rust-lang/crates.io-index"
36 | checksum = "cc7bb162ec39d46ab1ca8c77bf72e890535becd1751bb45f64c597edb4c8c6b3"
37 |
38 | [[package]]
39 | name = "alloc-stdlib"
40 | version = "0.2.2"
41 | source = "registry+https://github.com/rust-lang/crates.io-index"
42 | checksum = "94fb8275041c72129eb51b7d0322c29b8387a0386127718b096429201a5d6ece"
43 | dependencies = [
44 | "alloc-no-stdlib",
45 | ]
46 |
47 | [[package]]
48 | name = "anyhow"
49 | version = "1.0.68"
50 | source = "registry+https://github.com/rust-lang/crates.io-index"
51 | checksum = "2cb2f989d18dd141ab8ae82f64d1a8cdd37e0840f73a406896cf5e99502fab61"
52 |
53 | [[package]]
54 | name = "atk"
55 | version = "0.15.1"
56 | source = "registry+https://github.com/rust-lang/crates.io-index"
57 | checksum = "2c3d816ce6f0e2909a96830d6911c2aff044370b1ef92d7f267b43bae5addedd"
58 | dependencies = [
59 | "atk-sys",
60 | "bitflags",
61 | "glib",
62 | "libc",
63 | ]
64 |
65 | [[package]]
66 | name = "atk-sys"
67 | version = "0.15.1"
68 | source = "registry+https://github.com/rust-lang/crates.io-index"
69 | checksum = "58aeb089fb698e06db8089971c7ee317ab9644bade33383f63631437b03aafb6"
70 | dependencies = [
71 | "glib-sys",
72 | "gobject-sys",
73 | "libc",
74 | "system-deps 6.0.3",
75 | ]
76 |
77 | [[package]]
78 | name = "autocfg"
79 | version = "1.1.0"
80 | source = "registry+https://github.com/rust-lang/crates.io-index"
81 | checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
82 |
83 | [[package]]
84 | name = "base64"
85 | version = "0.13.1"
86 | source = "registry+https://github.com/rust-lang/crates.io-index"
87 | checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8"
88 |
89 | [[package]]
90 | name = "bitflags"
91 | version = "1.3.2"
92 | source = "registry+https://github.com/rust-lang/crates.io-index"
93 | checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
94 |
95 | [[package]]
96 | name = "block"
97 | version = "0.1.6"
98 | source = "registry+https://github.com/rust-lang/crates.io-index"
99 | checksum = "0d8c1fef690941d3e7788d328517591fecc684c084084702d6ff1641e993699a"
100 |
101 | [[package]]
102 | name = "block-buffer"
103 | version = "0.10.3"
104 | source = "registry+https://github.com/rust-lang/crates.io-index"
105 | checksum = "69cce20737498f97b993470a6e536b8523f0af7892a4f928cceb1ac5e52ebe7e"
106 | dependencies = [
107 | "generic-array",
108 | ]
109 |
110 | [[package]]
111 | name = "brotli"
112 | version = "3.3.4"
113 | source = "registry+https://github.com/rust-lang/crates.io-index"
114 | checksum = "a1a0b1dbcc8ae29329621f8d4f0d835787c1c38bb1401979b49d13b0b305ff68"
115 | dependencies = [
116 | "alloc-no-stdlib",
117 | "alloc-stdlib",
118 | "brotli-decompressor",
119 | ]
120 |
121 | [[package]]
122 | name = "brotli-decompressor"
123 | version = "2.3.4"
124 | source = "registry+https://github.com/rust-lang/crates.io-index"
125 | checksum = "4b6561fd3f895a11e8f72af2cb7d22e08366bebc2b6b57f7744c4bda27034744"
126 | dependencies = [
127 | "alloc-no-stdlib",
128 | "alloc-stdlib",
129 | ]
130 |
131 | [[package]]
132 | name = "bstr"
133 | version = "1.2.0"
134 | source = "registry+https://github.com/rust-lang/crates.io-index"
135 | checksum = "b7f0778972c64420fdedc63f09919c8a88bda7b25135357fd25a5d9f3257e832"
136 | dependencies = [
137 | "memchr",
138 | "serde",
139 | ]
140 |
141 | [[package]]
142 | name = "bumpalo"
143 | version = "3.12.0"
144 | source = "registry+https://github.com/rust-lang/crates.io-index"
145 | checksum = "0d261e256854913907f67ed06efbc3338dfe6179796deefc1ff763fc1aee5535"
146 |
147 | [[package]]
148 | name = "bytemuck"
149 | version = "1.13.0"
150 | source = "registry+https://github.com/rust-lang/crates.io-index"
151 | checksum = "c041d3eab048880cb0b86b256447da3f18859a163c3b8d8893f4e6368abe6393"
152 |
153 | [[package]]
154 | name = "byteorder"
155 | version = "1.4.3"
156 | source = "registry+https://github.com/rust-lang/crates.io-index"
157 | checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610"
158 |
159 | [[package]]
160 | name = "bytes"
161 | version = "1.4.0"
162 | source = "registry+https://github.com/rust-lang/crates.io-index"
163 | checksum = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be"
164 |
165 | [[package]]
166 | name = "cairo-rs"
167 | version = "0.15.12"
168 | source = "registry+https://github.com/rust-lang/crates.io-index"
169 | checksum = "c76ee391b03d35510d9fa917357c7f1855bd9a6659c95a1b392e33f49b3369bc"
170 | dependencies = [
171 | "bitflags",
172 | "cairo-sys-rs",
173 | "glib",
174 | "libc",
175 | "thiserror",
176 | ]
177 |
178 | [[package]]
179 | name = "cairo-sys-rs"
180 | version = "0.15.1"
181 | source = "registry+https://github.com/rust-lang/crates.io-index"
182 | checksum = "3c55d429bef56ac9172d25fecb85dc8068307d17acd74b377866b7a1ef25d3c8"
183 | dependencies = [
184 | "glib-sys",
185 | "libc",
186 | "system-deps 6.0.3",
187 | ]
188 |
189 | [[package]]
190 | name = "cargo_toml"
191 | version = "0.13.3"
192 | source = "registry+https://github.com/rust-lang/crates.io-index"
193 | checksum = "497049e9477329f8f6a559972ee42e117487d01d1e8c2cc9f836ea6fa23a9e1a"
194 | dependencies = [
195 | "serde",
196 | "toml",
197 | ]
198 |
199 | [[package]]
200 | name = "cc"
201 | version = "1.0.79"
202 | source = "registry+https://github.com/rust-lang/crates.io-index"
203 | checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f"
204 |
205 | [[package]]
206 | name = "cesu8"
207 | version = "1.1.0"
208 | source = "registry+https://github.com/rust-lang/crates.io-index"
209 | checksum = "6d43a04d8753f35258c91f8ec639f792891f748a1edbd759cf1dcea3382ad83c"
210 |
211 | [[package]]
212 | name = "cfb"
213 | version = "0.6.1"
214 | source = "registry+https://github.com/rust-lang/crates.io-index"
215 | checksum = "74f89d248799e3f15f91b70917f65381062a01bb8e222700ea0e5a7ff9785f9c"
216 | dependencies = [
217 | "byteorder",
218 | "uuid 0.8.2",
219 | ]
220 |
221 | [[package]]
222 | name = "cfg-expr"
223 | version = "0.9.1"
224 | source = "registry+https://github.com/rust-lang/crates.io-index"
225 | checksum = "3431df59f28accaf4cb4eed4a9acc66bea3f3c3753aa6cdc2f024174ef232af7"
226 | dependencies = [
227 | "smallvec",
228 | ]
229 |
230 | [[package]]
231 | name = "cfg-expr"
232 | version = "0.11.0"
233 | source = "registry+https://github.com/rust-lang/crates.io-index"
234 | checksum = "b0357a6402b295ca3a86bc148e84df46c02e41f41fef186bda662557ef6328aa"
235 | dependencies = [
236 | "smallvec",
237 | ]
238 |
239 | [[package]]
240 | name = "cfg-if"
241 | version = "1.0.0"
242 | source = "registry+https://github.com/rust-lang/crates.io-index"
243 | checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
244 |
245 | [[package]]
246 | name = "cocoa"
247 | version = "0.24.1"
248 | source = "registry+https://github.com/rust-lang/crates.io-index"
249 | checksum = "f425db7937052c684daec3bd6375c8abe2d146dca4b8b143d6db777c39138f3a"
250 | dependencies = [
251 | "bitflags",
252 | "block",
253 | "cocoa-foundation",
254 | "core-foundation",
255 | "core-graphics",
256 | "foreign-types",
257 | "libc",
258 | "objc",
259 | ]
260 |
261 | [[package]]
262 | name = "cocoa-foundation"
263 | version = "0.1.0"
264 | source = "registry+https://github.com/rust-lang/crates.io-index"
265 | checksum = "7ade49b65d560ca58c403a479bb396592b155c0185eada742ee323d1d68d6318"
266 | dependencies = [
267 | "bitflags",
268 | "block",
269 | "core-foundation",
270 | "core-graphics-types",
271 | "foreign-types",
272 | "libc",
273 | "objc",
274 | ]
275 |
276 | [[package]]
277 | name = "color_quant"
278 | version = "1.1.0"
279 | source = "registry+https://github.com/rust-lang/crates.io-index"
280 | checksum = "3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b"
281 |
282 | [[package]]
283 | name = "combine"
284 | version = "4.6.6"
285 | source = "registry+https://github.com/rust-lang/crates.io-index"
286 | checksum = "35ed6e9d84f0b51a7f52daf1c7d71dd136fd7a3f41a8462b8cdb8c78d920fad4"
287 | dependencies = [
288 | "bytes",
289 | "memchr",
290 | ]
291 |
292 | [[package]]
293 | name = "convert_case"
294 | version = "0.4.0"
295 | source = "registry+https://github.com/rust-lang/crates.io-index"
296 | checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e"
297 |
298 | [[package]]
299 | name = "core-foundation"
300 | version = "0.9.3"
301 | source = "registry+https://github.com/rust-lang/crates.io-index"
302 | checksum = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146"
303 | dependencies = [
304 | "core-foundation-sys",
305 | "libc",
306 | ]
307 |
308 | [[package]]
309 | name = "core-foundation-sys"
310 | version = "0.8.3"
311 | source = "registry+https://github.com/rust-lang/crates.io-index"
312 | checksum = "5827cebf4670468b8772dd191856768aedcb1b0278a04f989f7766351917b9dc"
313 |
314 | [[package]]
315 | name = "core-graphics"
316 | version = "0.22.3"
317 | source = "registry+https://github.com/rust-lang/crates.io-index"
318 | checksum = "2581bbab3b8ffc6fcbd550bf46c355135d16e9ff2a6ea032ad6b9bf1d7efe4fb"
319 | dependencies = [
320 | "bitflags",
321 | "core-foundation",
322 | "core-graphics-types",
323 | "foreign-types",
324 | "libc",
325 | ]
326 |
327 | [[package]]
328 | name = "core-graphics-types"
329 | version = "0.1.1"
330 | source = "registry+https://github.com/rust-lang/crates.io-index"
331 | checksum = "3a68b68b3446082644c91ac778bf50cd4104bfb002b5a6a7c44cca5a2c70788b"
332 | dependencies = [
333 | "bitflags",
334 | "core-foundation",
335 | "foreign-types",
336 | "libc",
337 | ]
338 |
339 | [[package]]
340 | name = "cpufeatures"
341 | version = "0.2.5"
342 | source = "registry+https://github.com/rust-lang/crates.io-index"
343 | checksum = "28d997bd5e24a5928dd43e46dc529867e207907fe0b239c3477d924f7f2ca320"
344 | dependencies = [
345 | "libc",
346 | ]
347 |
348 | [[package]]
349 | name = "crc32fast"
350 | version = "1.3.2"
351 | source = "registry+https://github.com/rust-lang/crates.io-index"
352 | checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d"
353 | dependencies = [
354 | "cfg-if",
355 | ]
356 |
357 | [[package]]
358 | name = "crossbeam-channel"
359 | version = "0.5.6"
360 | source = "registry+https://github.com/rust-lang/crates.io-index"
361 | checksum = "c2dd04ddaf88237dc3b8d8f9a3c1004b506b54b3313403944054d23c0870c521"
362 | dependencies = [
363 | "cfg-if",
364 | "crossbeam-utils",
365 | ]
366 |
367 | [[package]]
368 | name = "crossbeam-utils"
369 | version = "0.8.14"
370 | source = "registry+https://github.com/rust-lang/crates.io-index"
371 | checksum = "4fb766fa798726286dbbb842f174001dab8abc7b627a1dd86e0b7222a95d929f"
372 | dependencies = [
373 | "cfg-if",
374 | ]
375 |
376 | [[package]]
377 | name = "crypto-common"
378 | version = "0.1.6"
379 | source = "registry+https://github.com/rust-lang/crates.io-index"
380 | checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3"
381 | dependencies = [
382 | "generic-array",
383 | "typenum",
384 | ]
385 |
386 | [[package]]
387 | name = "cssparser"
388 | version = "0.27.2"
389 | source = "registry+https://github.com/rust-lang/crates.io-index"
390 | checksum = "754b69d351cdc2d8ee09ae203db831e005560fc6030da058f86ad60c92a9cb0a"
391 | dependencies = [
392 | "cssparser-macros",
393 | "dtoa-short",
394 | "itoa 0.4.8",
395 | "matches",
396 | "phf 0.8.0",
397 | "proc-macro2",
398 | "quote",
399 | "smallvec",
400 | "syn",
401 | ]
402 |
403 | [[package]]
404 | name = "cssparser-macros"
405 | version = "0.6.0"
406 | source = "registry+https://github.com/rust-lang/crates.io-index"
407 | checksum = "dfae75de57f2b2e85e8768c3ea840fd159c8f33e2b6522c7835b7abac81be16e"
408 | dependencies = [
409 | "quote",
410 | "syn",
411 | ]
412 |
413 | [[package]]
414 | name = "ctor"
415 | version = "0.1.26"
416 | source = "registry+https://github.com/rust-lang/crates.io-index"
417 | checksum = "6d2301688392eb071b0bf1a37be05c469d3cc4dbbd95df672fe28ab021e6a096"
418 | dependencies = [
419 | "quote",
420 | "syn",
421 | ]
422 |
423 | [[package]]
424 | name = "cty"
425 | version = "0.2.2"
426 | source = "registry+https://github.com/rust-lang/crates.io-index"
427 | checksum = "b365fabc795046672053e29c954733ec3b05e4be654ab130fe8f1f94d7051f35"
428 |
429 | [[package]]
430 | name = "darling"
431 | version = "0.13.4"
432 | source = "registry+https://github.com/rust-lang/crates.io-index"
433 | checksum = "a01d95850c592940db9b8194bc39f4bc0e89dee5c4265e4b1807c34a9aba453c"
434 | dependencies = [
435 | "darling_core",
436 | "darling_macro",
437 | ]
438 |
439 | [[package]]
440 | name = "darling_core"
441 | version = "0.13.4"
442 | source = "registry+https://github.com/rust-lang/crates.io-index"
443 | checksum = "859d65a907b6852c9361e3185c862aae7fafd2887876799fa55f5f99dc40d610"
444 | dependencies = [
445 | "fnv",
446 | "ident_case",
447 | "proc-macro2",
448 | "quote",
449 | "strsim",
450 | "syn",
451 | ]
452 |
453 | [[package]]
454 | name = "darling_macro"
455 | version = "0.13.4"
456 | source = "registry+https://github.com/rust-lang/crates.io-index"
457 | checksum = "9c972679f83bdf9c42bd905396b6c3588a843a17f0f16dfcfa3e2c5d57441835"
458 | dependencies = [
459 | "darling_core",
460 | "quote",
461 | "syn",
462 | ]
463 |
464 | [[package]]
465 | name = "dbus"
466 | version = "0.9.7"
467 | source = "registry+https://github.com/rust-lang/crates.io-index"
468 | checksum = "1bb21987b9fb1613058ba3843121dd18b163b254d8a6e797e144cbac14d96d1b"
469 | dependencies = [
470 | "libc",
471 | "libdbus-sys",
472 | "winapi",
473 | ]
474 |
475 | [[package]]
476 | name = "derive_more"
477 | version = "0.99.17"
478 | source = "registry+https://github.com/rust-lang/crates.io-index"
479 | checksum = "4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321"
480 | dependencies = [
481 | "convert_case",
482 | "proc-macro2",
483 | "quote",
484 | "rustc_version 0.4.0",
485 | "syn",
486 | ]
487 |
488 | [[package]]
489 | name = "digest"
490 | version = "0.10.6"
491 | source = "registry+https://github.com/rust-lang/crates.io-index"
492 | checksum = "8168378f4e5023e7218c89c891c0fd8ecdb5e5e4f18cb78f38cf245dd021e76f"
493 | dependencies = [
494 | "block-buffer",
495 | "crypto-common",
496 | ]
497 |
498 | [[package]]
499 | name = "dirs-next"
500 | version = "2.0.0"
501 | source = "registry+https://github.com/rust-lang/crates.io-index"
502 | checksum = "b98cf8ebf19c3d1b223e151f99a4f9f0690dca41414773390fc824184ac833e1"
503 | dependencies = [
504 | "cfg-if",
505 | "dirs-sys-next",
506 | ]
507 |
508 | [[package]]
509 | name = "dirs-sys-next"
510 | version = "0.1.2"
511 | source = "registry+https://github.com/rust-lang/crates.io-index"
512 | checksum = "4ebda144c4fe02d1f7ea1a7d9641b6fc6b580adcfa024ae48797ecdeb6825b4d"
513 | dependencies = [
514 | "libc",
515 | "redox_users",
516 | "winapi",
517 | ]
518 |
519 | [[package]]
520 | name = "dispatch"
521 | version = "0.2.0"
522 | source = "registry+https://github.com/rust-lang/crates.io-index"
523 | checksum = "bd0c93bb4b0c6d9b77f4435b0ae98c24d17f1c45b2ff844c6151a07256ca923b"
524 |
525 | [[package]]
526 | name = "dtoa"
527 | version = "0.4.8"
528 | source = "registry+https://github.com/rust-lang/crates.io-index"
529 | checksum = "56899898ce76aaf4a0f24d914c97ea6ed976d42fec6ad33fcbb0a1103e07b2b0"
530 |
531 | [[package]]
532 | name = "dtoa-short"
533 | version = "0.3.3"
534 | source = "registry+https://github.com/rust-lang/crates.io-index"
535 | checksum = "bde03329ae10e79ede66c9ce4dc930aa8599043b0743008548680f25b91502d6"
536 | dependencies = [
537 | "dtoa",
538 | ]
539 |
540 | [[package]]
541 | name = "dunce"
542 | version = "1.0.3"
543 | source = "registry+https://github.com/rust-lang/crates.io-index"
544 | checksum = "0bd4b30a6560bbd9b4620f4de34c3f14f60848e58a9b7216801afcb4c7b31c3c"
545 |
546 | [[package]]
547 | name = "embed_plist"
548 | version = "1.2.2"
549 | source = "registry+https://github.com/rust-lang/crates.io-index"
550 | checksum = "4ef6b89e5b37196644d8796de5268852ff179b44e96276cf4290264843743bb7"
551 |
552 | [[package]]
553 | name = "encoding_rs"
554 | version = "0.8.32"
555 | source = "registry+https://github.com/rust-lang/crates.io-index"
556 | checksum = "071a31f4ee85403370b58aca746f01041ede6f0da2730960ad001edc2b71b394"
557 | dependencies = [
558 | "cfg-if",
559 | ]
560 |
561 | [[package]]
562 | name = "fastrand"
563 | version = "1.8.0"
564 | source = "registry+https://github.com/rust-lang/crates.io-index"
565 | checksum = "a7a407cfaa3385c4ae6b23e84623d48c2798d06e3e6a1878f7f59f17b3f86499"
566 | dependencies = [
567 | "instant",
568 | ]
569 |
570 | [[package]]
571 | name = "field-offset"
572 | version = "0.3.4"
573 | source = "registry+https://github.com/rust-lang/crates.io-index"
574 | checksum = "1e1c54951450cbd39f3dbcf1005ac413b49487dabf18a720ad2383eccfeffb92"
575 | dependencies = [
576 | "memoffset",
577 | "rustc_version 0.3.3",
578 | ]
579 |
580 | [[package]]
581 | name = "filetime"
582 | version = "0.2.19"
583 | source = "registry+https://github.com/rust-lang/crates.io-index"
584 | checksum = "4e884668cd0c7480504233e951174ddc3b382f7c2666e3b7310b5c4e7b0c37f9"
585 | dependencies = [
586 | "cfg-if",
587 | "libc",
588 | "redox_syscall",
589 | "windows-sys 0.42.0",
590 | ]
591 |
592 | [[package]]
593 | name = "flate2"
594 | version = "1.0.25"
595 | source = "registry+https://github.com/rust-lang/crates.io-index"
596 | checksum = "a8a2db397cb1c8772f31494cb8917e48cd1e64f0fa7efac59fbd741a0a8ce841"
597 | dependencies = [
598 | "crc32fast",
599 | "miniz_oxide",
600 | ]
601 |
602 | [[package]]
603 | name = "fnv"
604 | version = "1.0.7"
605 | source = "registry+https://github.com/rust-lang/crates.io-index"
606 | checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
607 |
608 | [[package]]
609 | name = "foreign-types"
610 | version = "0.3.2"
611 | source = "registry+https://github.com/rust-lang/crates.io-index"
612 | checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1"
613 | dependencies = [
614 | "foreign-types-shared",
615 | ]
616 |
617 | [[package]]
618 | name = "foreign-types-shared"
619 | version = "0.1.1"
620 | source = "registry+https://github.com/rust-lang/crates.io-index"
621 | checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b"
622 |
623 | [[package]]
624 | name = "form_urlencoded"
625 | version = "1.1.0"
626 | source = "registry+https://github.com/rust-lang/crates.io-index"
627 | checksum = "a9c384f161156f5260c24a097c56119f9be8c798586aecc13afbcbe7b7e26bf8"
628 | dependencies = [
629 | "percent-encoding",
630 | ]
631 |
632 | [[package]]
633 | name = "futf"
634 | version = "0.1.5"
635 | source = "registry+https://github.com/rust-lang/crates.io-index"
636 | checksum = "df420e2e84819663797d1ec6544b13c5be84629e7bb00dc960d6917db2987843"
637 | dependencies = [
638 | "mac",
639 | "new_debug_unreachable",
640 | ]
641 |
642 | [[package]]
643 | name = "futures-channel"
644 | version = "0.3.26"
645 | source = "registry+https://github.com/rust-lang/crates.io-index"
646 | checksum = "2e5317663a9089767a1ec00a487df42e0ca174b61b4483213ac24448e4664df5"
647 | dependencies = [
648 | "futures-core",
649 | ]
650 |
651 | [[package]]
652 | name = "futures-core"
653 | version = "0.3.26"
654 | source = "registry+https://github.com/rust-lang/crates.io-index"
655 | checksum = "ec90ff4d0fe1f57d600049061dc6bb68ed03c7d2fbd697274c41805dcb3f8608"
656 |
657 | [[package]]
658 | name = "futures-executor"
659 | version = "0.3.26"
660 | source = "registry+https://github.com/rust-lang/crates.io-index"
661 | checksum = "e8de0a35a6ab97ec8869e32a2473f4b1324459e14c29275d14b10cb1fd19b50e"
662 | dependencies = [
663 | "futures-core",
664 | "futures-task",
665 | "futures-util",
666 | ]
667 |
668 | [[package]]
669 | name = "futures-io"
670 | version = "0.3.26"
671 | source = "registry+https://github.com/rust-lang/crates.io-index"
672 | checksum = "bfb8371b6fb2aeb2d280374607aeabfc99d95c72edfe51692e42d3d7f0d08531"
673 |
674 | [[package]]
675 | name = "futures-macro"
676 | version = "0.3.26"
677 | source = "registry+https://github.com/rust-lang/crates.io-index"
678 | checksum = "95a73af87da33b5acf53acfebdc339fe592ecf5357ac7c0a7734ab9d8c876a70"
679 | dependencies = [
680 | "proc-macro2",
681 | "quote",
682 | "syn",
683 | ]
684 |
685 | [[package]]
686 | name = "futures-task"
687 | version = "0.3.26"
688 | source = "registry+https://github.com/rust-lang/crates.io-index"
689 | checksum = "dcf79a1bf610b10f42aea489289c5a2c478a786509693b80cd39c44ccd936366"
690 |
691 | [[package]]
692 | name = "futures-util"
693 | version = "0.3.26"
694 | source = "registry+https://github.com/rust-lang/crates.io-index"
695 | checksum = "9c1d6de3acfef38d2be4b1f543f553131788603495be83da675e180c8d6b7bd1"
696 | dependencies = [
697 | "futures-core",
698 | "futures-macro",
699 | "futures-task",
700 | "pin-project-lite",
701 | "pin-utils",
702 | "slab",
703 | ]
704 |
705 | [[package]]
706 | name = "fxhash"
707 | version = "0.2.1"
708 | source = "registry+https://github.com/rust-lang/crates.io-index"
709 | checksum = "c31b6d751ae2c7f11320402d34e41349dd1016f8d5d45e48c4312bc8625af50c"
710 | dependencies = [
711 | "byteorder",
712 | ]
713 |
714 | [[package]]
715 | name = "gdk"
716 | version = "0.15.4"
717 | source = "registry+https://github.com/rust-lang/crates.io-index"
718 | checksum = "a6e05c1f572ab0e1f15be94217f0dc29088c248b14f792a5ff0af0d84bcda9e8"
719 | dependencies = [
720 | "bitflags",
721 | "cairo-rs",
722 | "gdk-pixbuf",
723 | "gdk-sys",
724 | "gio",
725 | "glib",
726 | "libc",
727 | "pango",
728 | ]
729 |
730 | [[package]]
731 | name = "gdk-pixbuf"
732 | version = "0.15.11"
733 | source = "registry+https://github.com/rust-lang/crates.io-index"
734 | checksum = "ad38dd9cc8b099cceecdf41375bb6d481b1b5a7cd5cd603e10a69a9383f8619a"
735 | dependencies = [
736 | "bitflags",
737 | "gdk-pixbuf-sys",
738 | "gio",
739 | "glib",
740 | "libc",
741 | ]
742 |
743 | [[package]]
744 | name = "gdk-pixbuf-sys"
745 | version = "0.15.10"
746 | source = "registry+https://github.com/rust-lang/crates.io-index"
747 | checksum = "140b2f5378256527150350a8346dbdb08fadc13453a7a2d73aecd5fab3c402a7"
748 | dependencies = [
749 | "gio-sys",
750 | "glib-sys",
751 | "gobject-sys",
752 | "libc",
753 | "system-deps 6.0.3",
754 | ]
755 |
756 | [[package]]
757 | name = "gdk-sys"
758 | version = "0.15.1"
759 | source = "registry+https://github.com/rust-lang/crates.io-index"
760 | checksum = "32e7a08c1e8f06f4177fb7e51a777b8c1689f743a7bc11ea91d44d2226073a88"
761 | dependencies = [
762 | "cairo-sys-rs",
763 | "gdk-pixbuf-sys",
764 | "gio-sys",
765 | "glib-sys",
766 | "gobject-sys",
767 | "libc",
768 | "pango-sys",
769 | "pkg-config",
770 | "system-deps 6.0.3",
771 | ]
772 |
773 | [[package]]
774 | name = "gdkx11-sys"
775 | version = "0.15.1"
776 | source = "registry+https://github.com/rust-lang/crates.io-index"
777 | checksum = "b4b7f8c7a84b407aa9b143877e267e848ff34106578b64d1e0a24bf550716178"
778 | dependencies = [
779 | "gdk-sys",
780 | "glib-sys",
781 | "libc",
782 | "system-deps 6.0.3",
783 | "x11",
784 | ]
785 |
786 | [[package]]
787 | name = "generator"
788 | version = "0.7.2"
789 | source = "registry+https://github.com/rust-lang/crates.io-index"
790 | checksum = "d266041a359dfa931b370ef684cceb84b166beb14f7f0421f4a6a3d0c446d12e"
791 | dependencies = [
792 | "cc",
793 | "libc",
794 | "log",
795 | "rustversion",
796 | "windows 0.39.0",
797 | ]
798 |
799 | [[package]]
800 | name = "generic-array"
801 | version = "0.14.6"
802 | source = "registry+https://github.com/rust-lang/crates.io-index"
803 | checksum = "bff49e947297f3312447abdca79f45f4738097cc82b06e72054d2223f601f1b9"
804 | dependencies = [
805 | "typenum",
806 | "version_check",
807 | ]
808 |
809 | [[package]]
810 | name = "getrandom"
811 | version = "0.1.16"
812 | source = "registry+https://github.com/rust-lang/crates.io-index"
813 | checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce"
814 | dependencies = [
815 | "cfg-if",
816 | "libc",
817 | "wasi 0.9.0+wasi-snapshot-preview1",
818 | ]
819 |
820 | [[package]]
821 | name = "getrandom"
822 | version = "0.2.8"
823 | source = "registry+https://github.com/rust-lang/crates.io-index"
824 | checksum = "c05aeb6a22b8f62540c194aac980f2115af067bfe15a0734d7277a768d396b31"
825 | dependencies = [
826 | "cfg-if",
827 | "libc",
828 | "wasi 0.11.0+wasi-snapshot-preview1",
829 | ]
830 |
831 | [[package]]
832 | name = "gio"
833 | version = "0.15.12"
834 | source = "registry+https://github.com/rust-lang/crates.io-index"
835 | checksum = "68fdbc90312d462781a395f7a16d96a2b379bb6ef8cd6310a2df272771c4283b"
836 | dependencies = [
837 | "bitflags",
838 | "futures-channel",
839 | "futures-core",
840 | "futures-io",
841 | "gio-sys",
842 | "glib",
843 | "libc",
844 | "once_cell",
845 | "thiserror",
846 | ]
847 |
848 | [[package]]
849 | name = "gio-sys"
850 | version = "0.15.10"
851 | source = "registry+https://github.com/rust-lang/crates.io-index"
852 | checksum = "32157a475271e2c4a023382e9cab31c4584ee30a97da41d3c4e9fdd605abcf8d"
853 | dependencies = [
854 | "glib-sys",
855 | "gobject-sys",
856 | "libc",
857 | "system-deps 6.0.3",
858 | "winapi",
859 | ]
860 |
861 | [[package]]
862 | name = "glib"
863 | version = "0.15.12"
864 | source = "registry+https://github.com/rust-lang/crates.io-index"
865 | checksum = "edb0306fbad0ab5428b0ca674a23893db909a98582969c9b537be4ced78c505d"
866 | dependencies = [
867 | "bitflags",
868 | "futures-channel",
869 | "futures-core",
870 | "futures-executor",
871 | "futures-task",
872 | "glib-macros",
873 | "glib-sys",
874 | "gobject-sys",
875 | "libc",
876 | "once_cell",
877 | "smallvec",
878 | "thiserror",
879 | ]
880 |
881 | [[package]]
882 | name = "glib-macros"
883 | version = "0.15.11"
884 | source = "registry+https://github.com/rust-lang/crates.io-index"
885 | checksum = "25a68131a662b04931e71891fb14aaf65ee4b44d08e8abc10f49e77418c86c64"
886 | dependencies = [
887 | "anyhow",
888 | "heck 0.4.1",
889 | "proc-macro-crate",
890 | "proc-macro-error",
891 | "proc-macro2",
892 | "quote",
893 | "syn",
894 | ]
895 |
896 | [[package]]
897 | name = "glib-sys"
898 | version = "0.15.10"
899 | source = "registry+https://github.com/rust-lang/crates.io-index"
900 | checksum = "ef4b192f8e65e9cf76cbf4ea71fa8e3be4a0e18ffe3d68b8da6836974cc5bad4"
901 | dependencies = [
902 | "libc",
903 | "system-deps 6.0.3",
904 | ]
905 |
906 | [[package]]
907 | name = "glob"
908 | version = "0.3.1"
909 | source = "registry+https://github.com/rust-lang/crates.io-index"
910 | checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b"
911 |
912 | [[package]]
913 | name = "globset"
914 | version = "0.4.10"
915 | source = "registry+https://github.com/rust-lang/crates.io-index"
916 | checksum = "029d74589adefde59de1a0c4f4732695c32805624aec7b68d91503d4dba79afc"
917 | dependencies = [
918 | "aho-corasick",
919 | "bstr",
920 | "fnv",
921 | "log",
922 | "regex",
923 | ]
924 |
925 | [[package]]
926 | name = "gobject-sys"
927 | version = "0.15.10"
928 | source = "registry+https://github.com/rust-lang/crates.io-index"
929 | checksum = "0d57ce44246becd17153bd035ab4d32cfee096a657fc01f2231c9278378d1e0a"
930 | dependencies = [
931 | "glib-sys",
932 | "libc",
933 | "system-deps 6.0.3",
934 | ]
935 |
936 | [[package]]
937 | name = "gtk"
938 | version = "0.15.5"
939 | source = "registry+https://github.com/rust-lang/crates.io-index"
940 | checksum = "92e3004a2d5d6d8b5057d2b57b3712c9529b62e82c77f25c1fecde1fd5c23bd0"
941 | dependencies = [
942 | "atk",
943 | "bitflags",
944 | "cairo-rs",
945 | "field-offset",
946 | "futures-channel",
947 | "gdk",
948 | "gdk-pixbuf",
949 | "gio",
950 | "glib",
951 | "gtk-sys",
952 | "gtk3-macros",
953 | "libc",
954 | "once_cell",
955 | "pango",
956 | "pkg-config",
957 | ]
958 |
959 | [[package]]
960 | name = "gtk-sys"
961 | version = "0.15.3"
962 | source = "registry+https://github.com/rust-lang/crates.io-index"
963 | checksum = "d5bc2f0587cba247f60246a0ca11fe25fb733eabc3de12d1965fc07efab87c84"
964 | dependencies = [
965 | "atk-sys",
966 | "cairo-sys-rs",
967 | "gdk-pixbuf-sys",
968 | "gdk-sys",
969 | "gio-sys",
970 | "glib-sys",
971 | "gobject-sys",
972 | "libc",
973 | "pango-sys",
974 | "system-deps 6.0.3",
975 | ]
976 |
977 | [[package]]
978 | name = "gtk3-macros"
979 | version = "0.15.4"
980 | source = "registry+https://github.com/rust-lang/crates.io-index"
981 | checksum = "24f518afe90c23fba585b2d7697856f9e6a7bbc62f65588035e66f6afb01a2e9"
982 | dependencies = [
983 | "anyhow",
984 | "proc-macro-crate",
985 | "proc-macro-error",
986 | "proc-macro2",
987 | "quote",
988 | "syn",
989 | ]
990 |
991 | [[package]]
992 | name = "hashbrown"
993 | version = "0.12.3"
994 | source = "registry+https://github.com/rust-lang/crates.io-index"
995 | checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
996 |
997 | [[package]]
998 | name = "heck"
999 | version = "0.3.3"
1000 | source = "registry+https://github.com/rust-lang/crates.io-index"
1001 | checksum = "6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c"
1002 | dependencies = [
1003 | "unicode-segmentation",
1004 | ]
1005 |
1006 | [[package]]
1007 | name = "heck"
1008 | version = "0.4.1"
1009 | source = "registry+https://github.com/rust-lang/crates.io-index"
1010 | checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
1011 |
1012 | [[package]]
1013 | name = "hermit-abi"
1014 | version = "0.2.6"
1015 | source = "registry+https://github.com/rust-lang/crates.io-index"
1016 | checksum = "ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7"
1017 | dependencies = [
1018 | "libc",
1019 | ]
1020 |
1021 | [[package]]
1022 | name = "html5ever"
1023 | version = "0.25.2"
1024 | source = "registry+https://github.com/rust-lang/crates.io-index"
1025 | checksum = "e5c13fb08e5d4dfc151ee5e88bae63f7773d61852f3bdc73c9f4b9e1bde03148"
1026 | dependencies = [
1027 | "log",
1028 | "mac",
1029 | "markup5ever",
1030 | "proc-macro2",
1031 | "quote",
1032 | "syn",
1033 | ]
1034 |
1035 | [[package]]
1036 | name = "http"
1037 | version = "0.2.8"
1038 | source = "registry+https://github.com/rust-lang/crates.io-index"
1039 | checksum = "75f43d41e26995c17e71ee126451dd3941010b0514a81a9d11f3b341debc2399"
1040 | dependencies = [
1041 | "bytes",
1042 | "fnv",
1043 | "itoa 1.0.5",
1044 | ]
1045 |
1046 | [[package]]
1047 | name = "http-range"
1048 | version = "0.1.5"
1049 | source = "registry+https://github.com/rust-lang/crates.io-index"
1050 | checksum = "21dec9db110f5f872ed9699c3ecf50cf16f423502706ba5c72462e28d3157573"
1051 |
1052 | [[package]]
1053 | name = "ico"
1054 | version = "0.2.0"
1055 | source = "registry+https://github.com/rust-lang/crates.io-index"
1056 | checksum = "031530fe562d8c8d71c0635013d6d155bbfe8ba0aa4b4d2d24ce8af6b71047bd"
1057 | dependencies = [
1058 | "byteorder",
1059 | "png",
1060 | ]
1061 |
1062 | [[package]]
1063 | name = "ident_case"
1064 | version = "1.0.1"
1065 | source = "registry+https://github.com/rust-lang/crates.io-index"
1066 | checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39"
1067 |
1068 | [[package]]
1069 | name = "idna"
1070 | version = "0.3.0"
1071 | source = "registry+https://github.com/rust-lang/crates.io-index"
1072 | checksum = "e14ddfc70884202db2244c223200c204c2bda1bc6e0998d11b5e024d657209e6"
1073 | dependencies = [
1074 | "unicode-bidi",
1075 | "unicode-normalization",
1076 | ]
1077 |
1078 | [[package]]
1079 | name = "ignore"
1080 | version = "0.4.18"
1081 | source = "registry+https://github.com/rust-lang/crates.io-index"
1082 | checksum = "713f1b139373f96a2e0ce3ac931cd01ee973c3c5dd7c40c0c2efe96ad2b6751d"
1083 | dependencies = [
1084 | "crossbeam-utils",
1085 | "globset",
1086 | "lazy_static",
1087 | "log",
1088 | "memchr",
1089 | "regex",
1090 | "same-file",
1091 | "thread_local",
1092 | "walkdir",
1093 | "winapi-util",
1094 | ]
1095 |
1096 | [[package]]
1097 | name = "image"
1098 | version = "0.24.5"
1099 | source = "registry+https://github.com/rust-lang/crates.io-index"
1100 | checksum = "69b7ea949b537b0fd0af141fff8c77690f2ce96f4f41f042ccb6c69c6c965945"
1101 | dependencies = [
1102 | "bytemuck",
1103 | "byteorder",
1104 | "color_quant",
1105 | "num-rational",
1106 | "num-traits",
1107 | ]
1108 |
1109 | [[package]]
1110 | name = "indexmap"
1111 | version = "1.9.2"
1112 | source = "registry+https://github.com/rust-lang/crates.io-index"
1113 | checksum = "1885e79c1fc4b10f0e172c475f458b7f7b93061064d98c3293e98c5ba0c8b399"
1114 | dependencies = [
1115 | "autocfg",
1116 | "hashbrown",
1117 | ]
1118 |
1119 | [[package]]
1120 | name = "infer"
1121 | version = "0.7.0"
1122 | source = "registry+https://github.com/rust-lang/crates.io-index"
1123 | checksum = "20b2b533137b9cad970793453d4f921c2e91312a6d88b1085c07bc15fc51bb3b"
1124 | dependencies = [
1125 | "cfb",
1126 | ]
1127 |
1128 | [[package]]
1129 | name = "instant"
1130 | version = "0.1.12"
1131 | source = "registry+https://github.com/rust-lang/crates.io-index"
1132 | checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c"
1133 | dependencies = [
1134 | "cfg-if",
1135 | ]
1136 |
1137 | [[package]]
1138 | name = "itoa"
1139 | version = "0.4.8"
1140 | source = "registry+https://github.com/rust-lang/crates.io-index"
1141 | checksum = "b71991ff56294aa922b450139ee08b3bfc70982c6b2c7562771375cf73542dd4"
1142 |
1143 | [[package]]
1144 | name = "itoa"
1145 | version = "1.0.5"
1146 | source = "registry+https://github.com/rust-lang/crates.io-index"
1147 | checksum = "fad582f4b9e86b6caa621cabeb0963332d92eea04729ab12892c2533951e6440"
1148 |
1149 | [[package]]
1150 | name = "javascriptcore-rs"
1151 | version = "0.16.0"
1152 | source = "registry+https://github.com/rust-lang/crates.io-index"
1153 | checksum = "bf053e7843f2812ff03ef5afe34bb9c06ffee120385caad4f6b9967fcd37d41c"
1154 | dependencies = [
1155 | "bitflags",
1156 | "glib",
1157 | "javascriptcore-rs-sys",
1158 | ]
1159 |
1160 | [[package]]
1161 | name = "javascriptcore-rs-sys"
1162 | version = "0.4.0"
1163 | source = "registry+https://github.com/rust-lang/crates.io-index"
1164 | checksum = "905fbb87419c5cde6e3269537e4ea7d46431f3008c5d057e915ef3f115e7793c"
1165 | dependencies = [
1166 | "glib-sys",
1167 | "gobject-sys",
1168 | "libc",
1169 | "system-deps 5.0.0",
1170 | ]
1171 |
1172 | [[package]]
1173 | name = "jni"
1174 | version = "0.20.0"
1175 | source = "registry+https://github.com/rust-lang/crates.io-index"
1176 | checksum = "039022cdf4d7b1cf548d31f60ae783138e5fd42013f6271049d7df7afadef96c"
1177 | dependencies = [
1178 | "cesu8",
1179 | "combine",
1180 | "jni-sys",
1181 | "log",
1182 | "thiserror",
1183 | "walkdir",
1184 | ]
1185 |
1186 | [[package]]
1187 | name = "jni-sys"
1188 | version = "0.3.0"
1189 | source = "registry+https://github.com/rust-lang/crates.io-index"
1190 | checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130"
1191 |
1192 | [[package]]
1193 | name = "js-sys"
1194 | version = "0.3.61"
1195 | source = "registry+https://github.com/rust-lang/crates.io-index"
1196 | checksum = "445dde2150c55e483f3d8416706b97ec8e8237c307e5b7b4b8dd15e6af2a0730"
1197 | dependencies = [
1198 | "wasm-bindgen",
1199 | ]
1200 |
1201 | [[package]]
1202 | name = "json-patch"
1203 | version = "0.2.7"
1204 | source = "registry+https://github.com/rust-lang/crates.io-index"
1205 | checksum = "eb3fa5a61630976fc4c353c70297f2e93f1930e3ccee574d59d618ccbd5154ce"
1206 | dependencies = [
1207 | "serde",
1208 | "serde_json",
1209 | "treediff",
1210 | ]
1211 |
1212 | [[package]]
1213 | name = "kuchiki"
1214 | version = "0.8.1"
1215 | source = "registry+https://github.com/rust-lang/crates.io-index"
1216 | checksum = "1ea8e9c6e031377cff82ee3001dc8026cdf431ed4e2e6b51f98ab8c73484a358"
1217 | dependencies = [
1218 | "cssparser",
1219 | "html5ever",
1220 | "matches",
1221 | "selectors",
1222 | ]
1223 |
1224 | [[package]]
1225 | name = "lazy_static"
1226 | version = "1.4.0"
1227 | source = "registry+https://github.com/rust-lang/crates.io-index"
1228 | checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
1229 |
1230 | [[package]]
1231 | name = "libappindicator"
1232 | version = "0.7.1"
1233 | source = "registry+https://github.com/rust-lang/crates.io-index"
1234 | checksum = "db2d3cb96d092b4824cb306c9e544c856a4cb6210c1081945187f7f1924b47e8"
1235 | dependencies = [
1236 | "glib",
1237 | "gtk",
1238 | "gtk-sys",
1239 | "libappindicator-sys",
1240 | "log",
1241 | ]
1242 |
1243 | [[package]]
1244 | name = "libappindicator-sys"
1245 | version = "0.7.3"
1246 | source = "registry+https://github.com/rust-lang/crates.io-index"
1247 | checksum = "f1b3b6681973cea8cc3bce7391e6d7d5502720b80a581c9a95c9cbaf592826aa"
1248 | dependencies = [
1249 | "gtk-sys",
1250 | "libloading",
1251 | "once_cell",
1252 | ]
1253 |
1254 | [[package]]
1255 | name = "libc"
1256 | version = "0.2.139"
1257 | source = "registry+https://github.com/rust-lang/crates.io-index"
1258 | checksum = "201de327520df007757c1f0adce6e827fe8562fbc28bfd9c15571c66ca1f5f79"
1259 |
1260 | [[package]]
1261 | name = "libdbus-sys"
1262 | version = "0.2.3"
1263 | source = "registry+https://github.com/rust-lang/crates.io-index"
1264 | checksum = "2264f9d90a9b4e60a2dc722ad899ea0374f03c2e96e755fe22a8f551d4d5fb3c"
1265 | dependencies = [
1266 | "pkg-config",
1267 | ]
1268 |
1269 | [[package]]
1270 | name = "libloading"
1271 | version = "0.7.4"
1272 | source = "registry+https://github.com/rust-lang/crates.io-index"
1273 | checksum = "b67380fd3b2fbe7527a606e18729d21c6f3951633d0500574c4dc22d2d638b9f"
1274 | dependencies = [
1275 | "cfg-if",
1276 | "winapi",
1277 | ]
1278 |
1279 | [[package]]
1280 | name = "line-wrap"
1281 | version = "0.1.1"
1282 | source = "registry+https://github.com/rust-lang/crates.io-index"
1283 | checksum = "f30344350a2a51da54c1d53be93fade8a237e545dbcc4bdbe635413f2117cab9"
1284 | dependencies = [
1285 | "safemem",
1286 | ]
1287 |
1288 | [[package]]
1289 | name = "lock_api"
1290 | version = "0.4.9"
1291 | source = "registry+https://github.com/rust-lang/crates.io-index"
1292 | checksum = "435011366fe56583b16cf956f9df0095b405b82d76425bc8981c0e22e60ec4df"
1293 | dependencies = [
1294 | "autocfg",
1295 | "scopeguard",
1296 | ]
1297 |
1298 | [[package]]
1299 | name = "log"
1300 | version = "0.4.17"
1301 | source = "registry+https://github.com/rust-lang/crates.io-index"
1302 | checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e"
1303 | dependencies = [
1304 | "cfg-if",
1305 | ]
1306 |
1307 | [[package]]
1308 | name = "loom"
1309 | version = "0.5.6"
1310 | source = "registry+https://github.com/rust-lang/crates.io-index"
1311 | checksum = "ff50ecb28bb86013e935fb6683ab1f6d3a20016f123c76fd4c27470076ac30f5"
1312 | dependencies = [
1313 | "cfg-if",
1314 | "generator",
1315 | "scoped-tls",
1316 | "serde",
1317 | "serde_json",
1318 | "tracing",
1319 | "tracing-subscriber",
1320 | ]
1321 |
1322 | [[package]]
1323 | name = "mac"
1324 | version = "0.1.1"
1325 | source = "registry+https://github.com/rust-lang/crates.io-index"
1326 | checksum = "c41e0c4fef86961ac6d6f8a82609f55f31b05e4fce149ac5710e439df7619ba4"
1327 |
1328 | [[package]]
1329 | name = "mac-notification-sys"
1330 | version = "0.5.6"
1331 | source = "registry+https://github.com/rust-lang/crates.io-index"
1332 | checksum = "3e72d50edb17756489e79d52eb146927bec8eba9dd48faadf9ef08bca3791ad5"
1333 | dependencies = [
1334 | "cc",
1335 | "dirs-next",
1336 | "objc-foundation",
1337 | "objc_id",
1338 | "time",
1339 | ]
1340 |
1341 | [[package]]
1342 | name = "malloc_buf"
1343 | version = "0.0.6"
1344 | source = "registry+https://github.com/rust-lang/crates.io-index"
1345 | checksum = "62bb907fe88d54d8d9ce32a3cceab4218ed2f6b7d35617cafe9adf84e43919cb"
1346 | dependencies = [
1347 | "libc",
1348 | ]
1349 |
1350 | [[package]]
1351 | name = "markup5ever"
1352 | version = "0.10.1"
1353 | source = "registry+https://github.com/rust-lang/crates.io-index"
1354 | checksum = "a24f40fb03852d1cdd84330cddcaf98e9ec08a7b7768e952fad3b4cf048ec8fd"
1355 | dependencies = [
1356 | "log",
1357 | "phf 0.8.0",
1358 | "phf_codegen",
1359 | "string_cache",
1360 | "string_cache_codegen",
1361 | "tendril",
1362 | ]
1363 |
1364 | [[package]]
1365 | name = "matchers"
1366 | version = "0.1.0"
1367 | source = "registry+https://github.com/rust-lang/crates.io-index"
1368 | checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558"
1369 | dependencies = [
1370 | "regex-automata",
1371 | ]
1372 |
1373 | [[package]]
1374 | name = "matches"
1375 | version = "0.1.10"
1376 | source = "registry+https://github.com/rust-lang/crates.io-index"
1377 | checksum = "2532096657941c2fea9c289d370a250971c689d4f143798ff67113ec042024a5"
1378 |
1379 | [[package]]
1380 | name = "memchr"
1381 | version = "2.5.0"
1382 | source = "registry+https://github.com/rust-lang/crates.io-index"
1383 | checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
1384 |
1385 | [[package]]
1386 | name = "memoffset"
1387 | version = "0.6.5"
1388 | source = "registry+https://github.com/rust-lang/crates.io-index"
1389 | checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce"
1390 | dependencies = [
1391 | "autocfg",
1392 | ]
1393 |
1394 | [[package]]
1395 | name = "miniz_oxide"
1396 | version = "0.6.2"
1397 | source = "registry+https://github.com/rust-lang/crates.io-index"
1398 | checksum = "b275950c28b37e794e8c55d88aeb5e139d0ce23fdbbeda68f8d7174abdf9e8fa"
1399 | dependencies = [
1400 | "adler",
1401 | ]
1402 |
1403 | [[package]]
1404 | name = "ndk"
1405 | version = "0.6.0"
1406 | source = "registry+https://github.com/rust-lang/crates.io-index"
1407 | checksum = "2032c77e030ddee34a6787a64166008da93f6a352b629261d0fee232b8742dd4"
1408 | dependencies = [
1409 | "bitflags",
1410 | "jni-sys",
1411 | "ndk-sys",
1412 | "num_enum",
1413 | "thiserror",
1414 | ]
1415 |
1416 | [[package]]
1417 | name = "ndk-context"
1418 | version = "0.1.1"
1419 | source = "registry+https://github.com/rust-lang/crates.io-index"
1420 | checksum = "27b02d87554356db9e9a873add8782d4ea6e3e58ea071a9adb9a2e8ddb884a8b"
1421 |
1422 | [[package]]
1423 | name = "ndk-sys"
1424 | version = "0.3.0"
1425 | source = "registry+https://github.com/rust-lang/crates.io-index"
1426 | checksum = "6e5a6ae77c8ee183dcbbba6150e2e6b9f3f4196a7666c02a715a95692ec1fa97"
1427 | dependencies = [
1428 | "jni-sys",
1429 | ]
1430 |
1431 | [[package]]
1432 | name = "new_debug_unreachable"
1433 | version = "1.0.4"
1434 | source = "registry+https://github.com/rust-lang/crates.io-index"
1435 | checksum = "e4a24736216ec316047a1fc4252e27dabb04218aa4a3f37c6e7ddbf1f9782b54"
1436 |
1437 | [[package]]
1438 | name = "nodrop"
1439 | version = "0.1.14"
1440 | source = "registry+https://github.com/rust-lang/crates.io-index"
1441 | checksum = "72ef4a56884ca558e5ddb05a1d1e7e1bfd9a68d9ed024c21704cc98872dae1bb"
1442 |
1443 | [[package]]
1444 | name = "nom8"
1445 | version = "0.2.0"
1446 | source = "registry+https://github.com/rust-lang/crates.io-index"
1447 | checksum = "ae01545c9c7fc4486ab7debaf2aad7003ac19431791868fb2e8066df97fad2f8"
1448 | dependencies = [
1449 | "memchr",
1450 | ]
1451 |
1452 | [[package]]
1453 | name = "notify-rust"
1454 | version = "4.7.0"
1455 | source = "registry+https://github.com/rust-lang/crates.io-index"
1456 | checksum = "3ce656bb6d22a93ae276a23de52d1aec5ba4db3ece3c0eb79dfd5add7384db6a"
1457 | dependencies = [
1458 | "dbus",
1459 | "mac-notification-sys",
1460 | "tauri-winrt-notification",
1461 | ]
1462 |
1463 | [[package]]
1464 | name = "nu-ansi-term"
1465 | version = "0.46.0"
1466 | source = "registry+https://github.com/rust-lang/crates.io-index"
1467 | checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84"
1468 | dependencies = [
1469 | "overload",
1470 | "winapi",
1471 | ]
1472 |
1473 | [[package]]
1474 | name = "num-integer"
1475 | version = "0.1.45"
1476 | source = "registry+https://github.com/rust-lang/crates.io-index"
1477 | checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9"
1478 | dependencies = [
1479 | "autocfg",
1480 | "num-traits",
1481 | ]
1482 |
1483 | [[package]]
1484 | name = "num-rational"
1485 | version = "0.4.1"
1486 | source = "registry+https://github.com/rust-lang/crates.io-index"
1487 | checksum = "0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0"
1488 | dependencies = [
1489 | "autocfg",
1490 | "num-integer",
1491 | "num-traits",
1492 | ]
1493 |
1494 | [[package]]
1495 | name = "num-traits"
1496 | version = "0.2.15"
1497 | source = "registry+https://github.com/rust-lang/crates.io-index"
1498 | checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd"
1499 | dependencies = [
1500 | "autocfg",
1501 | ]
1502 |
1503 | [[package]]
1504 | name = "num_cpus"
1505 | version = "1.15.0"
1506 | source = "registry+https://github.com/rust-lang/crates.io-index"
1507 | checksum = "0fac9e2da13b5eb447a6ce3d392f23a29d8694bff781bf03a16cd9ac8697593b"
1508 | dependencies = [
1509 | "hermit-abi",
1510 | "libc",
1511 | ]
1512 |
1513 | [[package]]
1514 | name = "num_enum"
1515 | version = "0.5.9"
1516 | source = "registry+https://github.com/rust-lang/crates.io-index"
1517 | checksum = "8d829733185c1ca374f17e52b762f24f535ec625d2cc1f070e34c8a9068f341b"
1518 | dependencies = [
1519 | "num_enum_derive",
1520 | ]
1521 |
1522 | [[package]]
1523 | name = "num_enum_derive"
1524 | version = "0.5.9"
1525 | source = "registry+https://github.com/rust-lang/crates.io-index"
1526 | checksum = "2be1598bf1c313dcdd12092e3f1920f463462525a21b7b4e11b4168353d0123e"
1527 | dependencies = [
1528 | "proc-macro-crate",
1529 | "proc-macro2",
1530 | "quote",
1531 | "syn",
1532 | ]
1533 |
1534 | [[package]]
1535 | name = "objc"
1536 | version = "0.2.7"
1537 | source = "registry+https://github.com/rust-lang/crates.io-index"
1538 | checksum = "915b1b472bc21c53464d6c8461c9d3af805ba1ef837e1cac254428f4a77177b1"
1539 | dependencies = [
1540 | "malloc_buf",
1541 | "objc_exception",
1542 | ]
1543 |
1544 | [[package]]
1545 | name = "objc-foundation"
1546 | version = "0.1.1"
1547 | source = "registry+https://github.com/rust-lang/crates.io-index"
1548 | checksum = "1add1b659e36c9607c7aab864a76c7a4c2760cd0cd2e120f3fb8b952c7e22bf9"
1549 | dependencies = [
1550 | "block",
1551 | "objc",
1552 | "objc_id",
1553 | ]
1554 |
1555 | [[package]]
1556 | name = "objc_exception"
1557 | version = "0.1.2"
1558 | source = "registry+https://github.com/rust-lang/crates.io-index"
1559 | checksum = "ad970fb455818ad6cba4c122ad012fae53ae8b4795f86378bce65e4f6bab2ca4"
1560 | dependencies = [
1561 | "cc",
1562 | ]
1563 |
1564 | [[package]]
1565 | name = "objc_id"
1566 | version = "0.1.1"
1567 | source = "registry+https://github.com/rust-lang/crates.io-index"
1568 | checksum = "c92d4ddb4bd7b50d730c215ff871754d0da6b2178849f8a2a2ab69712d0c073b"
1569 | dependencies = [
1570 | "objc",
1571 | ]
1572 |
1573 | [[package]]
1574 | name = "once_cell"
1575 | version = "1.17.0"
1576 | source = "registry+https://github.com/rust-lang/crates.io-index"
1577 | checksum = "6f61fba1741ea2b3d6a1e3178721804bb716a68a6aeba1149b5d52e3d464ea66"
1578 |
1579 | [[package]]
1580 | name = "open"
1581 | version = "3.2.0"
1582 | source = "registry+https://github.com/rust-lang/crates.io-index"
1583 | checksum = "2078c0039e6a54a0c42c28faa984e115fb4c2d5bf2208f77d1961002df8576f8"
1584 | dependencies = [
1585 | "pathdiff",
1586 | "windows-sys 0.42.0",
1587 | ]
1588 |
1589 | [[package]]
1590 | name = "overload"
1591 | version = "0.1.1"
1592 | source = "registry+https://github.com/rust-lang/crates.io-index"
1593 | checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39"
1594 |
1595 | [[package]]
1596 | name = "pango"
1597 | version = "0.15.10"
1598 | source = "registry+https://github.com/rust-lang/crates.io-index"
1599 | checksum = "22e4045548659aee5313bde6c582b0d83a627b7904dd20dc2d9ef0895d414e4f"
1600 | dependencies = [
1601 | "bitflags",
1602 | "glib",
1603 | "libc",
1604 | "once_cell",
1605 | "pango-sys",
1606 | ]
1607 |
1608 | [[package]]
1609 | name = "pango-sys"
1610 | version = "0.15.10"
1611 | source = "registry+https://github.com/rust-lang/crates.io-index"
1612 | checksum = "d2a00081cde4661982ed91d80ef437c20eacaf6aa1a5962c0279ae194662c3aa"
1613 | dependencies = [
1614 | "glib-sys",
1615 | "gobject-sys",
1616 | "libc",
1617 | "system-deps 6.0.3",
1618 | ]
1619 |
1620 | [[package]]
1621 | name = "parking_lot"
1622 | version = "0.12.1"
1623 | source = "registry+https://github.com/rust-lang/crates.io-index"
1624 | checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f"
1625 | dependencies = [
1626 | "lock_api",
1627 | "parking_lot_core",
1628 | ]
1629 |
1630 | [[package]]
1631 | name = "parking_lot_core"
1632 | version = "0.9.7"
1633 | source = "registry+https://github.com/rust-lang/crates.io-index"
1634 | checksum = "9069cbb9f99e3a5083476ccb29ceb1de18b9118cafa53e90c9551235de2b9521"
1635 | dependencies = [
1636 | "cfg-if",
1637 | "libc",
1638 | "redox_syscall",
1639 | "smallvec",
1640 | "windows-sys 0.45.0",
1641 | ]
1642 |
1643 | [[package]]
1644 | name = "paste"
1645 | version = "1.0.11"
1646 | source = "registry+https://github.com/rust-lang/crates.io-index"
1647 | checksum = "d01a5bd0424d00070b0098dd17ebca6f961a959dead1dbcbbbc1d1cd8d3deeba"
1648 |
1649 | [[package]]
1650 | name = "pathdiff"
1651 | version = "0.2.1"
1652 | source = "registry+https://github.com/rust-lang/crates.io-index"
1653 | checksum = "8835116a5c179084a830efb3adc117ab007512b535bc1a21c991d3b32a6b44dd"
1654 |
1655 | [[package]]
1656 | name = "percent-encoding"
1657 | version = "2.2.0"
1658 | source = "registry+https://github.com/rust-lang/crates.io-index"
1659 | checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e"
1660 |
1661 | [[package]]
1662 | name = "pest"
1663 | version = "2.5.4"
1664 | source = "registry+https://github.com/rust-lang/crates.io-index"
1665 | checksum = "4ab62d2fa33726dbe6321cc97ef96d8cde531e3eeaf858a058de53a8a6d40d8f"
1666 | dependencies = [
1667 | "thiserror",
1668 | "ucd-trie",
1669 | ]
1670 |
1671 | [[package]]
1672 | name = "phf"
1673 | version = "0.8.0"
1674 | source = "registry+https://github.com/rust-lang/crates.io-index"
1675 | checksum = "3dfb61232e34fcb633f43d12c58f83c1df82962dcdfa565a4e866ffc17dafe12"
1676 | dependencies = [
1677 | "phf_macros 0.8.0",
1678 | "phf_shared 0.8.0",
1679 | "proc-macro-hack",
1680 | ]
1681 |
1682 | [[package]]
1683 | name = "phf"
1684 | version = "0.10.1"
1685 | source = "registry+https://github.com/rust-lang/crates.io-index"
1686 | checksum = "fabbf1ead8a5bcbc20f5f8b939ee3f5b0f6f281b6ad3468b84656b658b455259"
1687 | dependencies = [
1688 | "phf_macros 0.10.0",
1689 | "phf_shared 0.10.0",
1690 | "proc-macro-hack",
1691 | ]
1692 |
1693 | [[package]]
1694 | name = "phf_codegen"
1695 | version = "0.8.0"
1696 | source = "registry+https://github.com/rust-lang/crates.io-index"
1697 | checksum = "cbffee61585b0411840d3ece935cce9cb6321f01c45477d30066498cd5e1a815"
1698 | dependencies = [
1699 | "phf_generator 0.8.0",
1700 | "phf_shared 0.8.0",
1701 | ]
1702 |
1703 | [[package]]
1704 | name = "phf_generator"
1705 | version = "0.8.0"
1706 | source = "registry+https://github.com/rust-lang/crates.io-index"
1707 | checksum = "17367f0cc86f2d25802b2c26ee58a7b23faeccf78a396094c13dced0d0182526"
1708 | dependencies = [
1709 | "phf_shared 0.8.0",
1710 | "rand 0.7.3",
1711 | ]
1712 |
1713 | [[package]]
1714 | name = "phf_generator"
1715 | version = "0.10.0"
1716 | source = "registry+https://github.com/rust-lang/crates.io-index"
1717 | checksum = "5d5285893bb5eb82e6aaf5d59ee909a06a16737a8970984dd7746ba9283498d6"
1718 | dependencies = [
1719 | "phf_shared 0.10.0",
1720 | "rand 0.8.5",
1721 | ]
1722 |
1723 | [[package]]
1724 | name = "phf_macros"
1725 | version = "0.8.0"
1726 | source = "registry+https://github.com/rust-lang/crates.io-index"
1727 | checksum = "7f6fde18ff429ffc8fe78e2bf7f8b7a5a5a6e2a8b58bc5a9ac69198bbda9189c"
1728 | dependencies = [
1729 | "phf_generator 0.8.0",
1730 | "phf_shared 0.8.0",
1731 | "proc-macro-hack",
1732 | "proc-macro2",
1733 | "quote",
1734 | "syn",
1735 | ]
1736 |
1737 | [[package]]
1738 | name = "phf_macros"
1739 | version = "0.10.0"
1740 | source = "registry+https://github.com/rust-lang/crates.io-index"
1741 | checksum = "58fdf3184dd560f160dd73922bea2d5cd6e8f064bf4b13110abd81b03697b4e0"
1742 | dependencies = [
1743 | "phf_generator 0.10.0",
1744 | "phf_shared 0.10.0",
1745 | "proc-macro-hack",
1746 | "proc-macro2",
1747 | "quote",
1748 | "syn",
1749 | ]
1750 |
1751 | [[package]]
1752 | name = "phf_shared"
1753 | version = "0.8.0"
1754 | source = "registry+https://github.com/rust-lang/crates.io-index"
1755 | checksum = "c00cf8b9eafe68dde5e9eaa2cef8ee84a9336a47d566ec55ca16589633b65af7"
1756 | dependencies = [
1757 | "siphasher",
1758 | ]
1759 |
1760 | [[package]]
1761 | name = "phf_shared"
1762 | version = "0.10.0"
1763 | source = "registry+https://github.com/rust-lang/crates.io-index"
1764 | checksum = "b6796ad771acdc0123d2a88dc428b5e38ef24456743ddb1744ed628f9815c096"
1765 | dependencies = [
1766 | "siphasher",
1767 | ]
1768 |
1769 | [[package]]
1770 | name = "pin-project-lite"
1771 | version = "0.2.9"
1772 | source = "registry+https://github.com/rust-lang/crates.io-index"
1773 | checksum = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116"
1774 |
1775 | [[package]]
1776 | name = "pin-utils"
1777 | version = "0.1.0"
1778 | source = "registry+https://github.com/rust-lang/crates.io-index"
1779 | checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
1780 |
1781 | [[package]]
1782 | name = "pkg-config"
1783 | version = "0.3.26"
1784 | source = "registry+https://github.com/rust-lang/crates.io-index"
1785 | checksum = "6ac9a59f73473f1b8d852421e59e64809f025994837ef743615c6d0c5b305160"
1786 |
1787 | [[package]]
1788 | name = "plist"
1789 | version = "1.4.0"
1790 | source = "registry+https://github.com/rust-lang/crates.io-index"
1791 | checksum = "5329b8f106a176ab0dce4aae5da86bfcb139bb74fb00882859e03745011f3635"
1792 | dependencies = [
1793 | "base64",
1794 | "indexmap",
1795 | "line-wrap",
1796 | "quick-xml 0.26.0",
1797 | "serde",
1798 | "time",
1799 | ]
1800 |
1801 | [[package]]
1802 | name = "png"
1803 | version = "0.17.7"
1804 | source = "registry+https://github.com/rust-lang/crates.io-index"
1805 | checksum = "5d708eaf860a19b19ce538740d2b4bdeeb8337fa53f7738455e706623ad5c638"
1806 | dependencies = [
1807 | "bitflags",
1808 | "crc32fast",
1809 | "flate2",
1810 | "miniz_oxide",
1811 | ]
1812 |
1813 | [[package]]
1814 | name = "ppv-lite86"
1815 | version = "0.2.17"
1816 | source = "registry+https://github.com/rust-lang/crates.io-index"
1817 | checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de"
1818 |
1819 | [[package]]
1820 | name = "precomputed-hash"
1821 | version = "0.1.1"
1822 | source = "registry+https://github.com/rust-lang/crates.io-index"
1823 | checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c"
1824 |
1825 | [[package]]
1826 | name = "proc-macro-crate"
1827 | version = "1.3.0"
1828 | source = "registry+https://github.com/rust-lang/crates.io-index"
1829 | checksum = "66618389e4ec1c7afe67d51a9bf34ff9236480f8d51e7489b7d5ab0303c13f34"
1830 | dependencies = [
1831 | "once_cell",
1832 | "toml_edit",
1833 | ]
1834 |
1835 | [[package]]
1836 | name = "proc-macro-error"
1837 | version = "1.0.4"
1838 | source = "registry+https://github.com/rust-lang/crates.io-index"
1839 | checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c"
1840 | dependencies = [
1841 | "proc-macro-error-attr",
1842 | "proc-macro2",
1843 | "quote",
1844 | "syn",
1845 | "version_check",
1846 | ]
1847 |
1848 | [[package]]
1849 | name = "proc-macro-error-attr"
1850 | version = "1.0.4"
1851 | source = "registry+https://github.com/rust-lang/crates.io-index"
1852 | checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869"
1853 | dependencies = [
1854 | "proc-macro2",
1855 | "quote",
1856 | "version_check",
1857 | ]
1858 |
1859 | [[package]]
1860 | name = "proc-macro-hack"
1861 | version = "0.5.20+deprecated"
1862 | source = "registry+https://github.com/rust-lang/crates.io-index"
1863 | checksum = "dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068"
1864 |
1865 | [[package]]
1866 | name = "proc-macro2"
1867 | version = "1.0.50"
1868 | source = "registry+https://github.com/rust-lang/crates.io-index"
1869 | checksum = "6ef7d57beacfaf2d8aee5937dab7b7f28de3cb8b1828479bb5de2a7106f2bae2"
1870 | dependencies = [
1871 | "unicode-ident",
1872 | ]
1873 |
1874 | [[package]]
1875 | name = "quick-xml"
1876 | version = "0.23.1"
1877 | source = "registry+https://github.com/rust-lang/crates.io-index"
1878 | checksum = "11bafc859c6815fbaffbbbf4229ecb767ac913fecb27f9ad4343662e9ef099ea"
1879 | dependencies = [
1880 | "memchr",
1881 | ]
1882 |
1883 | [[package]]
1884 | name = "quick-xml"
1885 | version = "0.26.0"
1886 | source = "registry+https://github.com/rust-lang/crates.io-index"
1887 | checksum = "7f50b1c63b38611e7d4d7f68b82d3ad0cc71a2ad2e7f61fc10f1328d917c93cd"
1888 | dependencies = [
1889 | "memchr",
1890 | ]
1891 |
1892 | [[package]]
1893 | name = "quote"
1894 | version = "1.0.23"
1895 | source = "registry+https://github.com/rust-lang/crates.io-index"
1896 | checksum = "8856d8364d252a14d474036ea1358d63c9e6965c8e5c1885c18f73d70bff9c7b"
1897 | dependencies = [
1898 | "proc-macro2",
1899 | ]
1900 |
1901 | [[package]]
1902 | name = "rand"
1903 | version = "0.7.3"
1904 | source = "registry+https://github.com/rust-lang/crates.io-index"
1905 | checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03"
1906 | dependencies = [
1907 | "getrandom 0.1.16",
1908 | "libc",
1909 | "rand_chacha 0.2.2",
1910 | "rand_core 0.5.1",
1911 | "rand_hc",
1912 | "rand_pcg",
1913 | ]
1914 |
1915 | [[package]]
1916 | name = "rand"
1917 | version = "0.8.5"
1918 | source = "registry+https://github.com/rust-lang/crates.io-index"
1919 | checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404"
1920 | dependencies = [
1921 | "libc",
1922 | "rand_chacha 0.3.1",
1923 | "rand_core 0.6.4",
1924 | ]
1925 |
1926 | [[package]]
1927 | name = "rand_chacha"
1928 | version = "0.2.2"
1929 | source = "registry+https://github.com/rust-lang/crates.io-index"
1930 | checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402"
1931 | dependencies = [
1932 | "ppv-lite86",
1933 | "rand_core 0.5.1",
1934 | ]
1935 |
1936 | [[package]]
1937 | name = "rand_chacha"
1938 | version = "0.3.1"
1939 | source = "registry+https://github.com/rust-lang/crates.io-index"
1940 | checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"
1941 | dependencies = [
1942 | "ppv-lite86",
1943 | "rand_core 0.6.4",
1944 | ]
1945 |
1946 | [[package]]
1947 | name = "rand_core"
1948 | version = "0.5.1"
1949 | source = "registry+https://github.com/rust-lang/crates.io-index"
1950 | checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19"
1951 | dependencies = [
1952 | "getrandom 0.1.16",
1953 | ]
1954 |
1955 | [[package]]
1956 | name = "rand_core"
1957 | version = "0.6.4"
1958 | source = "registry+https://github.com/rust-lang/crates.io-index"
1959 | checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
1960 | dependencies = [
1961 | "getrandom 0.2.8",
1962 | ]
1963 |
1964 | [[package]]
1965 | name = "rand_hc"
1966 | version = "0.2.0"
1967 | source = "registry+https://github.com/rust-lang/crates.io-index"
1968 | checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c"
1969 | dependencies = [
1970 | "rand_core 0.5.1",
1971 | ]
1972 |
1973 | [[package]]
1974 | name = "rand_pcg"
1975 | version = "0.2.1"
1976 | source = "registry+https://github.com/rust-lang/crates.io-index"
1977 | checksum = "16abd0c1b639e9eb4d7c50c0b8100b0d0f849be2349829c740fe8e6eb4816429"
1978 | dependencies = [
1979 | "rand_core 0.5.1",
1980 | ]
1981 |
1982 | [[package]]
1983 | name = "raw-window-handle"
1984 | version = "0.5.0"
1985 | source = "registry+https://github.com/rust-lang/crates.io-index"
1986 | checksum = "ed7e3d950b66e19e0c372f3fa3fbbcf85b1746b571f74e0c2af6042a5c93420a"
1987 | dependencies = [
1988 | "cty",
1989 | ]
1990 |
1991 | [[package]]
1992 | name = "redox_syscall"
1993 | version = "0.2.16"
1994 | source = "registry+https://github.com/rust-lang/crates.io-index"
1995 | checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a"
1996 | dependencies = [
1997 | "bitflags",
1998 | ]
1999 |
2000 | [[package]]
2001 | name = "redox_users"
2002 | version = "0.4.3"
2003 | source = "registry+https://github.com/rust-lang/crates.io-index"
2004 | checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b"
2005 | dependencies = [
2006 | "getrandom 0.2.8",
2007 | "redox_syscall",
2008 | "thiserror",
2009 | ]
2010 |
2011 | [[package]]
2012 | name = "regex"
2013 | version = "1.7.1"
2014 | source = "registry+https://github.com/rust-lang/crates.io-index"
2015 | checksum = "48aaa5748ba571fb95cd2c85c09f629215d3a6ece942baa100950af03a34f733"
2016 | dependencies = [
2017 | "aho-corasick",
2018 | "memchr",
2019 | "regex-syntax",
2020 | ]
2021 |
2022 | [[package]]
2023 | name = "regex-automata"
2024 | version = "0.1.10"
2025 | source = "registry+https://github.com/rust-lang/crates.io-index"
2026 | checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132"
2027 | dependencies = [
2028 | "regex-syntax",
2029 | ]
2030 |
2031 | [[package]]
2032 | name = "regex-syntax"
2033 | version = "0.6.28"
2034 | source = "registry+https://github.com/rust-lang/crates.io-index"
2035 | checksum = "456c603be3e8d448b072f410900c09faf164fbce2d480456f50eea6e25f9c848"
2036 |
2037 | [[package]]
2038 | name = "remove_dir_all"
2039 | version = "0.5.3"
2040 | source = "registry+https://github.com/rust-lang/crates.io-index"
2041 | checksum = "3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7"
2042 | dependencies = [
2043 | "winapi",
2044 | ]
2045 |
2046 | [[package]]
2047 | name = "rfd"
2048 | version = "0.10.0"
2049 | source = "registry+https://github.com/rust-lang/crates.io-index"
2050 | checksum = "0149778bd99b6959285b0933288206090c50e2327f47a9c463bfdbf45c8823ea"
2051 | dependencies = [
2052 | "block",
2053 | "dispatch",
2054 | "glib-sys",
2055 | "gobject-sys",
2056 | "gtk-sys",
2057 | "js-sys",
2058 | "lazy_static",
2059 | "log",
2060 | "objc",
2061 | "objc-foundation",
2062 | "objc_id",
2063 | "raw-window-handle",
2064 | "wasm-bindgen",
2065 | "wasm-bindgen-futures",
2066 | "web-sys",
2067 | "windows 0.37.0",
2068 | ]
2069 |
2070 | [[package]]
2071 | name = "rustc_version"
2072 | version = "0.3.3"
2073 | source = "registry+https://github.com/rust-lang/crates.io-index"
2074 | checksum = "f0dfe2087c51c460008730de8b57e6a320782fbfb312e1f4d520e6c6fae155ee"
2075 | dependencies = [
2076 | "semver 0.11.0",
2077 | ]
2078 |
2079 | [[package]]
2080 | name = "rustc_version"
2081 | version = "0.4.0"
2082 | source = "registry+https://github.com/rust-lang/crates.io-index"
2083 | checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366"
2084 | dependencies = [
2085 | "semver 1.0.16",
2086 | ]
2087 |
2088 | [[package]]
2089 | name = "rustversion"
2090 | version = "1.0.11"
2091 | source = "registry+https://github.com/rust-lang/crates.io-index"
2092 | checksum = "5583e89e108996506031660fe09baa5011b9dd0341b89029313006d1fb508d70"
2093 |
2094 | [[package]]
2095 | name = "ryu"
2096 | version = "1.0.12"
2097 | source = "registry+https://github.com/rust-lang/crates.io-index"
2098 | checksum = "7b4b9743ed687d4b4bcedf9ff5eaa7398495ae14e61cba0a295704edbc7decde"
2099 |
2100 | [[package]]
2101 | name = "safemem"
2102 | version = "0.3.3"
2103 | source = "registry+https://github.com/rust-lang/crates.io-index"
2104 | checksum = "ef703b7cb59335eae2eb93ceb664c0eb7ea6bf567079d843e09420219668e072"
2105 |
2106 | [[package]]
2107 | name = "same-file"
2108 | version = "1.0.6"
2109 | source = "registry+https://github.com/rust-lang/crates.io-index"
2110 | checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502"
2111 | dependencies = [
2112 | "winapi-util",
2113 | ]
2114 |
2115 | [[package]]
2116 | name = "scoped-tls"
2117 | version = "1.0.1"
2118 | source = "registry+https://github.com/rust-lang/crates.io-index"
2119 | checksum = "e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294"
2120 |
2121 | [[package]]
2122 | name = "scopeguard"
2123 | version = "1.1.0"
2124 | source = "registry+https://github.com/rust-lang/crates.io-index"
2125 | checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"
2126 |
2127 | [[package]]
2128 | name = "selectors"
2129 | version = "0.22.0"
2130 | source = "registry+https://github.com/rust-lang/crates.io-index"
2131 | checksum = "df320f1889ac4ba6bc0cdc9c9af7af4bd64bb927bccdf32d81140dc1f9be12fe"
2132 | dependencies = [
2133 | "bitflags",
2134 | "cssparser",
2135 | "derive_more",
2136 | "fxhash",
2137 | "log",
2138 | "matches",
2139 | "phf 0.8.0",
2140 | "phf_codegen",
2141 | "precomputed-hash",
2142 | "servo_arc",
2143 | "smallvec",
2144 | "thin-slice",
2145 | ]
2146 |
2147 | [[package]]
2148 | name = "semver"
2149 | version = "0.11.0"
2150 | source = "registry+https://github.com/rust-lang/crates.io-index"
2151 | checksum = "f301af10236f6df4160f7c3f04eec6dbc70ace82d23326abad5edee88801c6b6"
2152 | dependencies = [
2153 | "semver-parser",
2154 | ]
2155 |
2156 | [[package]]
2157 | name = "semver"
2158 | version = "1.0.16"
2159 | source = "registry+https://github.com/rust-lang/crates.io-index"
2160 | checksum = "58bc9567378fc7690d6b2addae4e60ac2eeea07becb2c64b9f218b53865cba2a"
2161 | dependencies = [
2162 | "serde",
2163 | ]
2164 |
2165 | [[package]]
2166 | name = "semver-parser"
2167 | version = "0.10.2"
2168 | source = "registry+https://github.com/rust-lang/crates.io-index"
2169 | checksum = "00b0bef5b7f9e0df16536d3961cfb6e84331c065b4066afb39768d0e319411f7"
2170 | dependencies = [
2171 | "pest",
2172 | ]
2173 |
2174 | [[package]]
2175 | name = "serde"
2176 | version = "1.0.152"
2177 | source = "registry+https://github.com/rust-lang/crates.io-index"
2178 | checksum = "bb7d1f0d3021d347a83e556fc4683dea2ea09d87bccdf88ff5c12545d89d5efb"
2179 | dependencies = [
2180 | "serde_derive",
2181 | ]
2182 |
2183 | [[package]]
2184 | name = "serde_derive"
2185 | version = "1.0.152"
2186 | source = "registry+https://github.com/rust-lang/crates.io-index"
2187 | checksum = "af487d118eecd09402d70a5d72551860e788df87b464af30e5ea6a38c75c541e"
2188 | dependencies = [
2189 | "proc-macro2",
2190 | "quote",
2191 | "syn",
2192 | ]
2193 |
2194 | [[package]]
2195 | name = "serde_json"
2196 | version = "1.0.91"
2197 | source = "registry+https://github.com/rust-lang/crates.io-index"
2198 | checksum = "877c235533714907a8c2464236f5c4b2a17262ef1bd71f38f35ea592c8da6883"
2199 | dependencies = [
2200 | "itoa 1.0.5",
2201 | "ryu",
2202 | "serde",
2203 | ]
2204 |
2205 | [[package]]
2206 | name = "serde_repr"
2207 | version = "0.1.10"
2208 | source = "registry+https://github.com/rust-lang/crates.io-index"
2209 | checksum = "9a5ec9fa74a20ebbe5d9ac23dac1fc96ba0ecfe9f50f2843b52e537b10fbcb4e"
2210 | dependencies = [
2211 | "proc-macro2",
2212 | "quote",
2213 | "syn",
2214 | ]
2215 |
2216 | [[package]]
2217 | name = "serde_with"
2218 | version = "1.14.0"
2219 | source = "registry+https://github.com/rust-lang/crates.io-index"
2220 | checksum = "678b5a069e50bf00ecd22d0cd8ddf7c236f68581b03db652061ed5eb13a312ff"
2221 | dependencies = [
2222 | "serde",
2223 | "serde_with_macros",
2224 | ]
2225 |
2226 | [[package]]
2227 | name = "serde_with_macros"
2228 | version = "1.5.2"
2229 | source = "registry+https://github.com/rust-lang/crates.io-index"
2230 | checksum = "e182d6ec6f05393cc0e5ed1bf81ad6db3a8feedf8ee515ecdd369809bcce8082"
2231 | dependencies = [
2232 | "darling",
2233 | "proc-macro2",
2234 | "quote",
2235 | "syn",
2236 | ]
2237 |
2238 | [[package]]
2239 | name = "serialize-to-javascript"
2240 | version = "0.1.1"
2241 | source = "registry+https://github.com/rust-lang/crates.io-index"
2242 | checksum = "c9823f2d3b6a81d98228151fdeaf848206a7855a7a042bbf9bf870449a66cafb"
2243 | dependencies = [
2244 | "serde",
2245 | "serde_json",
2246 | "serialize-to-javascript-impl",
2247 | ]
2248 |
2249 | [[package]]
2250 | name = "serialize-to-javascript-impl"
2251 | version = "0.1.1"
2252 | source = "registry+https://github.com/rust-lang/crates.io-index"
2253 | checksum = "74064874e9f6a15f04c1f3cb627902d0e6b410abbf36668afa873c61889f1763"
2254 | dependencies = [
2255 | "proc-macro2",
2256 | "quote",
2257 | "syn",
2258 | ]
2259 |
2260 | [[package]]
2261 | name = "servo_arc"
2262 | version = "0.1.1"
2263 | source = "registry+https://github.com/rust-lang/crates.io-index"
2264 | checksum = "d98238b800e0d1576d8b6e3de32827c2d74bee68bb97748dcf5071fb53965432"
2265 | dependencies = [
2266 | "nodrop",
2267 | "stable_deref_trait",
2268 | ]
2269 |
2270 | [[package]]
2271 | name = "sha2"
2272 | version = "0.10.6"
2273 | source = "registry+https://github.com/rust-lang/crates.io-index"
2274 | checksum = "82e6b795fe2e3b1e845bafcb27aa35405c4d47cdfc92af5fc8d3002f76cebdc0"
2275 | dependencies = [
2276 | "cfg-if",
2277 | "cpufeatures",
2278 | "digest",
2279 | ]
2280 |
2281 | [[package]]
2282 | name = "sharded-slab"
2283 | version = "0.1.4"
2284 | source = "registry+https://github.com/rust-lang/crates.io-index"
2285 | checksum = "900fba806f70c630b0a382d0d825e17a0f19fcd059a2ade1ff237bcddf446b31"
2286 | dependencies = [
2287 | "lazy_static",
2288 | ]
2289 |
2290 | [[package]]
2291 | name = "siphasher"
2292 | version = "0.3.10"
2293 | source = "registry+https://github.com/rust-lang/crates.io-index"
2294 | checksum = "7bd3e3206899af3f8b12af284fafc038cc1dc2b41d1b89dd17297221c5d225de"
2295 |
2296 | [[package]]
2297 | name = "slab"
2298 | version = "0.4.7"
2299 | source = "registry+https://github.com/rust-lang/crates.io-index"
2300 | checksum = "4614a76b2a8be0058caa9dbbaf66d988527d86d003c11a94fbd335d7661edcef"
2301 | dependencies = [
2302 | "autocfg",
2303 | ]
2304 |
2305 | [[package]]
2306 | name = "smallvec"
2307 | version = "1.10.0"
2308 | source = "registry+https://github.com/rust-lang/crates.io-index"
2309 | checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0"
2310 |
2311 | [[package]]
2312 | name = "soup2"
2313 | version = "0.2.1"
2314 | source = "registry+https://github.com/rust-lang/crates.io-index"
2315 | checksum = "b2b4d76501d8ba387cf0fefbe055c3e0a59891d09f0f995ae4e4b16f6b60f3c0"
2316 | dependencies = [
2317 | "bitflags",
2318 | "gio",
2319 | "glib",
2320 | "libc",
2321 | "once_cell",
2322 | "soup2-sys",
2323 | ]
2324 |
2325 | [[package]]
2326 | name = "soup2-sys"
2327 | version = "0.2.0"
2328 | source = "registry+https://github.com/rust-lang/crates.io-index"
2329 | checksum = "009ef427103fcb17f802871647a7fa6c60cbb654b4c4e4c0ac60a31c5f6dc9cf"
2330 | dependencies = [
2331 | "bitflags",
2332 | "gio-sys",
2333 | "glib-sys",
2334 | "gobject-sys",
2335 | "libc",
2336 | "system-deps 5.0.0",
2337 | ]
2338 |
2339 | [[package]]
2340 | name = "stable_deref_trait"
2341 | version = "1.2.0"
2342 | source = "registry+https://github.com/rust-lang/crates.io-index"
2343 | checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3"
2344 |
2345 | [[package]]
2346 | name = "state"
2347 | version = "0.5.3"
2348 | source = "registry+https://github.com/rust-lang/crates.io-index"
2349 | checksum = "dbe866e1e51e8260c9eed836a042a5e7f6726bb2b411dffeaa712e19c388f23b"
2350 | dependencies = [
2351 | "loom",
2352 | ]
2353 |
2354 | [[package]]
2355 | name = "string_cache"
2356 | version = "0.8.4"
2357 | source = "registry+https://github.com/rust-lang/crates.io-index"
2358 | checksum = "213494b7a2b503146286049378ce02b482200519accc31872ee8be91fa820a08"
2359 | dependencies = [
2360 | "new_debug_unreachable",
2361 | "once_cell",
2362 | "parking_lot",
2363 | "phf_shared 0.10.0",
2364 | "precomputed-hash",
2365 | "serde",
2366 | ]
2367 |
2368 | [[package]]
2369 | name = "string_cache_codegen"
2370 | version = "0.5.2"
2371 | source = "registry+https://github.com/rust-lang/crates.io-index"
2372 | checksum = "6bb30289b722be4ff74a408c3cc27edeaad656e06cb1fe8fa9231fa59c728988"
2373 | dependencies = [
2374 | "phf_generator 0.10.0",
2375 | "phf_shared 0.10.0",
2376 | "proc-macro2",
2377 | "quote",
2378 | ]
2379 |
2380 | [[package]]
2381 | name = "strsim"
2382 | version = "0.10.0"
2383 | source = "registry+https://github.com/rust-lang/crates.io-index"
2384 | checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
2385 |
2386 | [[package]]
2387 | name = "strum"
2388 | version = "0.22.0"
2389 | source = "registry+https://github.com/rust-lang/crates.io-index"
2390 | checksum = "f7ac893c7d471c8a21f31cfe213ec4f6d9afeed25537c772e08ef3f005f8729e"
2391 | dependencies = [
2392 | "strum_macros",
2393 | ]
2394 |
2395 | [[package]]
2396 | name = "strum_macros"
2397 | version = "0.22.0"
2398 | source = "registry+https://github.com/rust-lang/crates.io-index"
2399 | checksum = "339f799d8b549e3744c7ac7feb216383e4005d94bdb22561b3ab8f3b808ae9fb"
2400 | dependencies = [
2401 | "heck 0.3.3",
2402 | "proc-macro2",
2403 | "quote",
2404 | "syn",
2405 | ]
2406 |
2407 | [[package]]
2408 | name = "syn"
2409 | version = "1.0.107"
2410 | source = "registry+https://github.com/rust-lang/crates.io-index"
2411 | checksum = "1f4064b5b16e03ae50984a5a8ed5d4f8803e6bc1fd170a3cda91a1be4b18e3f5"
2412 | dependencies = [
2413 | "proc-macro2",
2414 | "quote",
2415 | "unicode-ident",
2416 | ]
2417 |
2418 | [[package]]
2419 | name = "system-deps"
2420 | version = "5.0.0"
2421 | source = "registry+https://github.com/rust-lang/crates.io-index"
2422 | checksum = "18db855554db7bd0e73e06cf7ba3df39f97812cb11d3f75e71c39bf45171797e"
2423 | dependencies = [
2424 | "cfg-expr 0.9.1",
2425 | "heck 0.3.3",
2426 | "pkg-config",
2427 | "toml",
2428 | "version-compare 0.0.11",
2429 | ]
2430 |
2431 | [[package]]
2432 | name = "system-deps"
2433 | version = "6.0.3"
2434 | source = "registry+https://github.com/rust-lang/crates.io-index"
2435 | checksum = "2955b1fe31e1fa2fbd1976b71cc69a606d7d4da16f6de3333d0c92d51419aeff"
2436 | dependencies = [
2437 | "cfg-expr 0.11.0",
2438 | "heck 0.4.1",
2439 | "pkg-config",
2440 | "toml",
2441 | "version-compare 0.1.1",
2442 | ]
2443 |
2444 | [[package]]
2445 | name = "tao"
2446 | version = "0.15.8"
2447 | source = "registry+https://github.com/rust-lang/crates.io-index"
2448 | checksum = "ac8e6399427c8494f9849b58694754d7cc741293348a6836b6c8d2c5aa82d8e6"
2449 | dependencies = [
2450 | "bitflags",
2451 | "cairo-rs",
2452 | "cc",
2453 | "cocoa",
2454 | "core-foundation",
2455 | "core-graphics",
2456 | "crossbeam-channel",
2457 | "dirs-next",
2458 | "dispatch",
2459 | "gdk",
2460 | "gdk-pixbuf",
2461 | "gdk-sys",
2462 | "gdkx11-sys",
2463 | "gio",
2464 | "glib",
2465 | "glib-sys",
2466 | "gtk",
2467 | "image",
2468 | "instant",
2469 | "jni",
2470 | "lazy_static",
2471 | "libappindicator",
2472 | "libc",
2473 | "log",
2474 | "ndk",
2475 | "ndk-context",
2476 | "ndk-sys",
2477 | "objc",
2478 | "once_cell",
2479 | "parking_lot",
2480 | "paste",
2481 | "png",
2482 | "raw-window-handle",
2483 | "scopeguard",
2484 | "serde",
2485 | "unicode-segmentation",
2486 | "uuid 1.3.0",
2487 | "windows 0.39.0",
2488 | "windows-implement",
2489 | "x11-dl",
2490 | ]
2491 |
2492 | [[package]]
2493 | name = "tar"
2494 | version = "0.4.38"
2495 | source = "registry+https://github.com/rust-lang/crates.io-index"
2496 | checksum = "4b55807c0344e1e6c04d7c965f5289c39a8d94ae23ed5c0b57aabac549f871c6"
2497 | dependencies = [
2498 | "filetime",
2499 | "libc",
2500 | "xattr",
2501 | ]
2502 |
2503 | [[package]]
2504 | name = "tauri"
2505 | version = "1.2.4"
2506 | source = "registry+https://github.com/rust-lang/crates.io-index"
2507 | checksum = "fe7e0f1d535e7cbbbab43c82be4fc992b84f9156c16c160955617e0260ebc449"
2508 | dependencies = [
2509 | "anyhow",
2510 | "cocoa",
2511 | "dirs-next",
2512 | "embed_plist",
2513 | "encoding_rs",
2514 | "flate2",
2515 | "futures-util",
2516 | "glib",
2517 | "glob",
2518 | "gtk",
2519 | "heck 0.4.1",
2520 | "http",
2521 | "ignore",
2522 | "notify-rust",
2523 | "objc",
2524 | "once_cell",
2525 | "open",
2526 | "percent-encoding",
2527 | "rand 0.8.5",
2528 | "raw-window-handle",
2529 | "regex",
2530 | "rfd",
2531 | "semver 1.0.16",
2532 | "serde",
2533 | "serde_json",
2534 | "serde_repr",
2535 | "serialize-to-javascript",
2536 | "state",
2537 | "tar",
2538 | "tauri-macros",
2539 | "tauri-runtime",
2540 | "tauri-runtime-wry",
2541 | "tauri-utils",
2542 | "tempfile",
2543 | "thiserror",
2544 | "tokio",
2545 | "url",
2546 | "uuid 1.3.0",
2547 | "webkit2gtk",
2548 | "webview2-com",
2549 | "windows 0.39.0",
2550 | ]
2551 |
2552 | [[package]]
2553 | name = "tauri-build"
2554 | version = "1.2.1"
2555 | source = "registry+https://github.com/rust-lang/crates.io-index"
2556 | checksum = "8807c85d656b2b93927c19fe5a5f1f1f348f96c2de8b90763b3c2d561511f9b4"
2557 | dependencies = [
2558 | "anyhow",
2559 | "cargo_toml",
2560 | "heck 0.4.1",
2561 | "json-patch",
2562 | "semver 1.0.16",
2563 | "serde_json",
2564 | "tauri-utils",
2565 | "winres",
2566 | ]
2567 |
2568 | [[package]]
2569 | name = "tauri-codegen"
2570 | version = "1.2.1"
2571 | source = "registry+https://github.com/rust-lang/crates.io-index"
2572 | checksum = "14388d484b6b1b5dc0f6a7d6cc6433b3b230bec85eaa576adcdf3f9fafa49251"
2573 | dependencies = [
2574 | "base64",
2575 | "brotli",
2576 | "ico",
2577 | "json-patch",
2578 | "plist",
2579 | "png",
2580 | "proc-macro2",
2581 | "quote",
2582 | "regex",
2583 | "semver 1.0.16",
2584 | "serde",
2585 | "serde_json",
2586 | "sha2",
2587 | "tauri-utils",
2588 | "thiserror",
2589 | "time",
2590 | "uuid 1.3.0",
2591 | "walkdir",
2592 | ]
2593 |
2594 | [[package]]
2595 | name = "tauri-macros"
2596 | version = "1.2.1"
2597 | source = "registry+https://github.com/rust-lang/crates.io-index"
2598 | checksum = "069319e5ecbe653a799b94b0690d9f9bf5d00f7b1d3989aa331c524d4e354075"
2599 | dependencies = [
2600 | "heck 0.4.1",
2601 | "proc-macro2",
2602 | "quote",
2603 | "syn",
2604 | "tauri-codegen",
2605 | "tauri-utils",
2606 | ]
2607 |
2608 | [[package]]
2609 | name = "tauri-runtime"
2610 | version = "0.12.1"
2611 | source = "registry+https://github.com/rust-lang/crates.io-index"
2612 | checksum = "c507d954d08ac8705d235bc70ec6975b9054fb95ff7823af72dbb04186596f3b"
2613 | dependencies = [
2614 | "gtk",
2615 | "http",
2616 | "http-range",
2617 | "rand 0.8.5",
2618 | "raw-window-handle",
2619 | "serde",
2620 | "serde_json",
2621 | "tauri-utils",
2622 | "thiserror",
2623 | "uuid 1.3.0",
2624 | "webview2-com",
2625 | "windows 0.39.0",
2626 | ]
2627 |
2628 | [[package]]
2629 | name = "tauri-runtime-wry"
2630 | version = "0.12.2"
2631 | source = "registry+https://github.com/rust-lang/crates.io-index"
2632 | checksum = "36b1c5764a41a13176a4599b5b7bd0881bea7d94dfe45e1e755f789b98317e30"
2633 | dependencies = [
2634 | "cocoa",
2635 | "gtk",
2636 | "percent-encoding",
2637 | "rand 0.8.5",
2638 | "raw-window-handle",
2639 | "tauri-runtime",
2640 | "tauri-utils",
2641 | "uuid 1.3.0",
2642 | "webkit2gtk",
2643 | "webview2-com",
2644 | "windows 0.39.0",
2645 | "wry",
2646 | ]
2647 |
2648 | [[package]]
2649 | name = "tauri-utils"
2650 | version = "1.2.1"
2651 | source = "registry+https://github.com/rust-lang/crates.io-index"
2652 | checksum = "5abbc109a6eb45127956ffcc26ef0e875d160150ac16cfa45d26a6b2871686f1"
2653 | dependencies = [
2654 | "brotli",
2655 | "ctor",
2656 | "glob",
2657 | "heck 0.4.1",
2658 | "html5ever",
2659 | "infer",
2660 | "json-patch",
2661 | "kuchiki",
2662 | "memchr",
2663 | "phf 0.10.1",
2664 | "proc-macro2",
2665 | "quote",
2666 | "semver 1.0.16",
2667 | "serde",
2668 | "serde_json",
2669 | "serde_with",
2670 | "thiserror",
2671 | "url",
2672 | "walkdir",
2673 | "windows 0.39.0",
2674 | ]
2675 |
2676 | [[package]]
2677 | name = "tauri-winrt-notification"
2678 | version = "0.1.0"
2679 | source = "registry+https://github.com/rust-lang/crates.io-index"
2680 | checksum = "c58de036c4d2e20717024de2a3c4bf56c301f07b21bc8ef9b57189fce06f1f3b"
2681 | dependencies = [
2682 | "quick-xml 0.23.1",
2683 | "strum",
2684 | "windows 0.39.0",
2685 | ]
2686 |
2687 | [[package]]
2688 | name = "tempfile"
2689 | version = "3.3.0"
2690 | source = "registry+https://github.com/rust-lang/crates.io-index"
2691 | checksum = "5cdb1ef4eaeeaddc8fbd371e5017057064af0911902ef36b39801f67cc6d79e4"
2692 | dependencies = [
2693 | "cfg-if",
2694 | "fastrand",
2695 | "libc",
2696 | "redox_syscall",
2697 | "remove_dir_all",
2698 | "winapi",
2699 | ]
2700 |
2701 | [[package]]
2702 | name = "tendril"
2703 | version = "0.4.3"
2704 | source = "registry+https://github.com/rust-lang/crates.io-index"
2705 | checksum = "d24a120c5fc464a3458240ee02c299ebcb9d67b5249c8848b09d639dca8d7bb0"
2706 | dependencies = [
2707 | "futf",
2708 | "mac",
2709 | "utf-8",
2710 | ]
2711 |
2712 | [[package]]
2713 | name = "thin-slice"
2714 | version = "0.1.1"
2715 | source = "registry+https://github.com/rust-lang/crates.io-index"
2716 | checksum = "8eaa81235c7058867fa8c0e7314f33dcce9c215f535d1913822a2b3f5e289f3c"
2717 |
2718 | [[package]]
2719 | name = "thiserror"
2720 | version = "1.0.38"
2721 | source = "registry+https://github.com/rust-lang/crates.io-index"
2722 | checksum = "6a9cd18aa97d5c45c6603caea1da6628790b37f7a34b6ca89522331c5180fed0"
2723 | dependencies = [
2724 | "thiserror-impl",
2725 | ]
2726 |
2727 | [[package]]
2728 | name = "thiserror-impl"
2729 | version = "1.0.38"
2730 | source = "registry+https://github.com/rust-lang/crates.io-index"
2731 | checksum = "1fb327af4685e4d03fa8cbcf1716380da910eeb2bb8be417e7f9fd3fb164f36f"
2732 | dependencies = [
2733 | "proc-macro2",
2734 | "quote",
2735 | "syn",
2736 | ]
2737 |
2738 | [[package]]
2739 | name = "thread_local"
2740 | version = "1.1.4"
2741 | source = "registry+https://github.com/rust-lang/crates.io-index"
2742 | checksum = "5516c27b78311c50bf42c071425c560ac799b11c30b31f87e3081965fe5e0180"
2743 | dependencies = [
2744 | "once_cell",
2745 | ]
2746 |
2747 | [[package]]
2748 | name = "time"
2749 | version = "0.3.17"
2750 | source = "registry+https://github.com/rust-lang/crates.io-index"
2751 | checksum = "a561bf4617eebd33bca6434b988f39ed798e527f51a1e797d0ee4f61c0a38376"
2752 | dependencies = [
2753 | "itoa 1.0.5",
2754 | "serde",
2755 | "time-core",
2756 | "time-macros",
2757 | ]
2758 |
2759 | [[package]]
2760 | name = "time-core"
2761 | version = "0.1.0"
2762 | source = "registry+https://github.com/rust-lang/crates.io-index"
2763 | checksum = "2e153e1f1acaef8acc537e68b44906d2db6436e2b35ac2c6b42640fff91f00fd"
2764 |
2765 | [[package]]
2766 | name = "time-macros"
2767 | version = "0.2.6"
2768 | source = "registry+https://github.com/rust-lang/crates.io-index"
2769 | checksum = "d967f99f534ca7e495c575c62638eebc2898a8c84c119b89e250477bc4ba16b2"
2770 | dependencies = [
2771 | "time-core",
2772 | ]
2773 |
2774 | [[package]]
2775 | name = "tinyvec"
2776 | version = "1.6.0"
2777 | source = "registry+https://github.com/rust-lang/crates.io-index"
2778 | checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50"
2779 | dependencies = [
2780 | "tinyvec_macros",
2781 | ]
2782 |
2783 | [[package]]
2784 | name = "tinyvec_macros"
2785 | version = "0.1.1"
2786 | source = "registry+https://github.com/rust-lang/crates.io-index"
2787 | checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
2788 |
2789 | [[package]]
2790 | name = "tokio"
2791 | version = "1.25.0"
2792 | source = "registry+https://github.com/rust-lang/crates.io-index"
2793 | checksum = "c8e00990ebabbe4c14c08aca901caed183ecd5c09562a12c824bb53d3c3fd3af"
2794 | dependencies = [
2795 | "autocfg",
2796 | "bytes",
2797 | "memchr",
2798 | "num_cpus",
2799 | "pin-project-lite",
2800 | "windows-sys 0.42.0",
2801 | ]
2802 |
2803 | [[package]]
2804 | name = "toml"
2805 | version = "0.5.11"
2806 | source = "registry+https://github.com/rust-lang/crates.io-index"
2807 | checksum = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234"
2808 | dependencies = [
2809 | "serde",
2810 | ]
2811 |
2812 | [[package]]
2813 | name = "toml_datetime"
2814 | version = "0.5.1"
2815 | source = "registry+https://github.com/rust-lang/crates.io-index"
2816 | checksum = "4553f467ac8e3d374bc9a177a26801e5d0f9b211aa1673fb137a403afd1c9cf5"
2817 |
2818 | [[package]]
2819 | name = "toml_edit"
2820 | version = "0.18.1"
2821 | source = "registry+https://github.com/rust-lang/crates.io-index"
2822 | checksum = "56c59d8dd7d0dcbc6428bf7aa2f0e823e26e43b3c9aca15bbc9475d23e5fa12b"
2823 | dependencies = [
2824 | "indexmap",
2825 | "nom8",
2826 | "toml_datetime",
2827 | ]
2828 |
2829 | [[package]]
2830 | name = "tracing"
2831 | version = "0.1.37"
2832 | source = "registry+https://github.com/rust-lang/crates.io-index"
2833 | checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8"
2834 | dependencies = [
2835 | "cfg-if",
2836 | "pin-project-lite",
2837 | "tracing-attributes",
2838 | "tracing-core",
2839 | ]
2840 |
2841 | [[package]]
2842 | name = "tracing-attributes"
2843 | version = "0.1.23"
2844 | source = "registry+https://github.com/rust-lang/crates.io-index"
2845 | checksum = "4017f8f45139870ca7e672686113917c71c7a6e02d4924eda67186083c03081a"
2846 | dependencies = [
2847 | "proc-macro2",
2848 | "quote",
2849 | "syn",
2850 | ]
2851 |
2852 | [[package]]
2853 | name = "tracing-core"
2854 | version = "0.1.30"
2855 | source = "registry+https://github.com/rust-lang/crates.io-index"
2856 | checksum = "24eb03ba0eab1fd845050058ce5e616558e8f8d8fca633e6b163fe25c797213a"
2857 | dependencies = [
2858 | "once_cell",
2859 | "valuable",
2860 | ]
2861 |
2862 | [[package]]
2863 | name = "tracing-log"
2864 | version = "0.1.3"
2865 | source = "registry+https://github.com/rust-lang/crates.io-index"
2866 | checksum = "78ddad33d2d10b1ed7eb9d1f518a5674713876e97e5bb9b7345a7984fbb4f922"
2867 | dependencies = [
2868 | "lazy_static",
2869 | "log",
2870 | "tracing-core",
2871 | ]
2872 |
2873 | [[package]]
2874 | name = "tracing-subscriber"
2875 | version = "0.3.16"
2876 | source = "registry+https://github.com/rust-lang/crates.io-index"
2877 | checksum = "a6176eae26dd70d0c919749377897b54a9276bd7061339665dd68777926b5a70"
2878 | dependencies = [
2879 | "matchers",
2880 | "nu-ansi-term",
2881 | "once_cell",
2882 | "regex",
2883 | "sharded-slab",
2884 | "smallvec",
2885 | "thread_local",
2886 | "tracing",
2887 | "tracing-core",
2888 | "tracing-log",
2889 | ]
2890 |
2891 | [[package]]
2892 | name = "treediff"
2893 | version = "3.0.2"
2894 | source = "registry+https://github.com/rust-lang/crates.io-index"
2895 | checksum = "761e8d5ad7ce14bb82b7e61ccc0ca961005a275a060b9644a2431aa11553c2ff"
2896 | dependencies = [
2897 | "serde_json",
2898 | ]
2899 |
2900 | [[package]]
2901 | name = "typenum"
2902 | version = "1.16.0"
2903 | source = "registry+https://github.com/rust-lang/crates.io-index"
2904 | checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba"
2905 |
2906 | [[package]]
2907 | name = "ucd-trie"
2908 | version = "0.1.5"
2909 | source = "registry+https://github.com/rust-lang/crates.io-index"
2910 | checksum = "9e79c4d996edb816c91e4308506774452e55e95c3c9de07b6729e17e15a5ef81"
2911 |
2912 | [[package]]
2913 | name = "unicode-bidi"
2914 | version = "0.3.10"
2915 | source = "registry+https://github.com/rust-lang/crates.io-index"
2916 | checksum = "d54675592c1dbefd78cbd98db9bacd89886e1ca50692a0692baefffdeb92dd58"
2917 |
2918 | [[package]]
2919 | name = "unicode-ident"
2920 | version = "1.0.6"
2921 | source = "registry+https://github.com/rust-lang/crates.io-index"
2922 | checksum = "84a22b9f218b40614adcb3f4ff08b703773ad44fa9423e4e0d346d5db86e4ebc"
2923 |
2924 | [[package]]
2925 | name = "unicode-normalization"
2926 | version = "0.1.22"
2927 | source = "registry+https://github.com/rust-lang/crates.io-index"
2928 | checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921"
2929 | dependencies = [
2930 | "tinyvec",
2931 | ]
2932 |
2933 | [[package]]
2934 | name = "unicode-segmentation"
2935 | version = "1.10.1"
2936 | source = "registry+https://github.com/rust-lang/crates.io-index"
2937 | checksum = "1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36"
2938 |
2939 | [[package]]
2940 | name = "url"
2941 | version = "2.3.1"
2942 | source = "registry+https://github.com/rust-lang/crates.io-index"
2943 | checksum = "0d68c799ae75762b8c3fe375feb6600ef5602c883c5d21eb51c09f22b83c4643"
2944 | dependencies = [
2945 | "form_urlencoded",
2946 | "idna",
2947 | "percent-encoding",
2948 | "serde",
2949 | ]
2950 |
2951 | [[package]]
2952 | name = "utf-8"
2953 | version = "0.7.6"
2954 | source = "registry+https://github.com/rust-lang/crates.io-index"
2955 | checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9"
2956 |
2957 | [[package]]
2958 | name = "uuid"
2959 | version = "0.8.2"
2960 | source = "registry+https://github.com/rust-lang/crates.io-index"
2961 | checksum = "bc5cf98d8186244414c848017f0e2676b3fcb46807f6668a97dfe67359a3c4b7"
2962 |
2963 | [[package]]
2964 | name = "uuid"
2965 | version = "1.3.0"
2966 | source = "registry+https://github.com/rust-lang/crates.io-index"
2967 | checksum = "1674845326ee10d37ca60470760d4288a6f80f304007d92e5c53bab78c9cfd79"
2968 | dependencies = [
2969 | "getrandom 0.2.8",
2970 | ]
2971 |
2972 | [[package]]
2973 | name = "valuable"
2974 | version = "0.1.0"
2975 | source = "registry+https://github.com/rust-lang/crates.io-index"
2976 | checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d"
2977 |
2978 | [[package]]
2979 | name = "version-compare"
2980 | version = "0.0.11"
2981 | source = "registry+https://github.com/rust-lang/crates.io-index"
2982 | checksum = "1c18c859eead79d8b95d09e4678566e8d70105c4e7b251f707a03df32442661b"
2983 |
2984 | [[package]]
2985 | name = "version-compare"
2986 | version = "0.1.1"
2987 | source = "registry+https://github.com/rust-lang/crates.io-index"
2988 | checksum = "579a42fc0b8e0c63b76519a339be31bed574929511fa53c1a3acae26eb258f29"
2989 |
2990 | [[package]]
2991 | name = "version_check"
2992 | version = "0.9.4"
2993 | source = "registry+https://github.com/rust-lang/crates.io-index"
2994 | checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
2995 |
2996 | [[package]]
2997 | name = "walkdir"
2998 | version = "2.3.2"
2999 | source = "registry+https://github.com/rust-lang/crates.io-index"
3000 | checksum = "808cf2735cd4b6866113f648b791c6adc5714537bc222d9347bb203386ffda56"
3001 | dependencies = [
3002 | "same-file",
3003 | "winapi",
3004 | "winapi-util",
3005 | ]
3006 |
3007 | [[package]]
3008 | name = "wasi"
3009 | version = "0.9.0+wasi-snapshot-preview1"
3010 | source = "registry+https://github.com/rust-lang/crates.io-index"
3011 | checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519"
3012 |
3013 | [[package]]
3014 | name = "wasi"
3015 | version = "0.11.0+wasi-snapshot-preview1"
3016 | source = "registry+https://github.com/rust-lang/crates.io-index"
3017 | checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
3018 |
3019 | [[package]]
3020 | name = "wasm-bindgen"
3021 | version = "0.2.84"
3022 | source = "registry+https://github.com/rust-lang/crates.io-index"
3023 | checksum = "31f8dcbc21f30d9b8f2ea926ecb58f6b91192c17e9d33594b3df58b2007ca53b"
3024 | dependencies = [
3025 | "cfg-if",
3026 | "wasm-bindgen-macro",
3027 | ]
3028 |
3029 | [[package]]
3030 | name = "wasm-bindgen-backend"
3031 | version = "0.2.84"
3032 | source = "registry+https://github.com/rust-lang/crates.io-index"
3033 | checksum = "95ce90fd5bcc06af55a641a86428ee4229e44e07033963a2290a8e241607ccb9"
3034 | dependencies = [
3035 | "bumpalo",
3036 | "log",
3037 | "once_cell",
3038 | "proc-macro2",
3039 | "quote",
3040 | "syn",
3041 | "wasm-bindgen-shared",
3042 | ]
3043 |
3044 | [[package]]
3045 | name = "wasm-bindgen-futures"
3046 | version = "0.4.34"
3047 | source = "registry+https://github.com/rust-lang/crates.io-index"
3048 | checksum = "f219e0d211ba40266969f6dbdd90636da12f75bee4fc9d6c23d1260dadb51454"
3049 | dependencies = [
3050 | "cfg-if",
3051 | "js-sys",
3052 | "wasm-bindgen",
3053 | "web-sys",
3054 | ]
3055 |
3056 | [[package]]
3057 | name = "wasm-bindgen-macro"
3058 | version = "0.2.84"
3059 | source = "registry+https://github.com/rust-lang/crates.io-index"
3060 | checksum = "4c21f77c0bedc37fd5dc21f897894a5ca01e7bb159884559461862ae90c0b4c5"
3061 | dependencies = [
3062 | "quote",
3063 | "wasm-bindgen-macro-support",
3064 | ]
3065 |
3066 | [[package]]
3067 | name = "wasm-bindgen-macro-support"
3068 | version = "0.2.84"
3069 | source = "registry+https://github.com/rust-lang/crates.io-index"
3070 | checksum = "2aff81306fcac3c7515ad4e177f521b5c9a15f2b08f4e32d823066102f35a5f6"
3071 | dependencies = [
3072 | "proc-macro2",
3073 | "quote",
3074 | "syn",
3075 | "wasm-bindgen-backend",
3076 | "wasm-bindgen-shared",
3077 | ]
3078 |
3079 | [[package]]
3080 | name = "wasm-bindgen-shared"
3081 | version = "0.2.84"
3082 | source = "registry+https://github.com/rust-lang/crates.io-index"
3083 | checksum = "0046fef7e28c3804e5e38bfa31ea2a0f73905319b677e57ebe37e49358989b5d"
3084 |
3085 | [[package]]
3086 | name = "web-sys"
3087 | version = "0.3.61"
3088 | source = "registry+https://github.com/rust-lang/crates.io-index"
3089 | checksum = "e33b99f4b23ba3eec1a53ac264e35a755f00e966e0065077d6027c0f575b0b97"
3090 | dependencies = [
3091 | "js-sys",
3092 | "wasm-bindgen",
3093 | ]
3094 |
3095 | [[package]]
3096 | name = "webkit2gtk"
3097 | version = "0.18.2"
3098 | source = "registry+https://github.com/rust-lang/crates.io-index"
3099 | checksum = "b8f859735e4a452aeb28c6c56a852967a8a76c8eb1cc32dbf931ad28a13d6370"
3100 | dependencies = [
3101 | "bitflags",
3102 | "cairo-rs",
3103 | "gdk",
3104 | "gdk-sys",
3105 | "gio",
3106 | "gio-sys",
3107 | "glib",
3108 | "glib-sys",
3109 | "gobject-sys",
3110 | "gtk",
3111 | "gtk-sys",
3112 | "javascriptcore-rs",
3113 | "libc",
3114 | "once_cell",
3115 | "soup2",
3116 | "webkit2gtk-sys",
3117 | ]
3118 |
3119 | [[package]]
3120 | name = "webkit2gtk-sys"
3121 | version = "0.18.0"
3122 | source = "registry+https://github.com/rust-lang/crates.io-index"
3123 | checksum = "4d76ca6ecc47aeba01ec61e480139dda143796abcae6f83bcddf50d6b5b1dcf3"
3124 | dependencies = [
3125 | "atk-sys",
3126 | "bitflags",
3127 | "cairo-sys-rs",
3128 | "gdk-pixbuf-sys",
3129 | "gdk-sys",
3130 | "gio-sys",
3131 | "glib-sys",
3132 | "gobject-sys",
3133 | "gtk-sys",
3134 | "javascriptcore-rs-sys",
3135 | "libc",
3136 | "pango-sys",
3137 | "pkg-config",
3138 | "soup2-sys",
3139 | "system-deps 6.0.3",
3140 | ]
3141 |
3142 | [[package]]
3143 | name = "webview2-com"
3144 | version = "0.19.1"
3145 | source = "registry+https://github.com/rust-lang/crates.io-index"
3146 | checksum = "b4a769c9f1a64a8734bde70caafac2b96cada12cd4aefa49196b3a386b8b4178"
3147 | dependencies = [
3148 | "webview2-com-macros",
3149 | "webview2-com-sys",
3150 | "windows 0.39.0",
3151 | "windows-implement",
3152 | ]
3153 |
3154 | [[package]]
3155 | name = "webview2-com-macros"
3156 | version = "0.6.0"
3157 | source = "registry+https://github.com/rust-lang/crates.io-index"
3158 | checksum = "eaebe196c01691db62e9e4ca52c5ef1e4fd837dcae27dae3ada599b5a8fd05ac"
3159 | dependencies = [
3160 | "proc-macro2",
3161 | "quote",
3162 | "syn",
3163 | ]
3164 |
3165 | [[package]]
3166 | name = "webview2-com-sys"
3167 | version = "0.19.0"
3168 | source = "registry+https://github.com/rust-lang/crates.io-index"
3169 | checksum = "aac48ef20ddf657755fdcda8dfed2a7b4fc7e4581acce6fe9b88c3d64f29dee7"
3170 | dependencies = [
3171 | "regex",
3172 | "serde",
3173 | "serde_json",
3174 | "thiserror",
3175 | "windows 0.39.0",
3176 | "windows-bindgen",
3177 | "windows-metadata",
3178 | ]
3179 |
3180 | [[package]]
3181 | name = "winapi"
3182 | version = "0.3.9"
3183 | source = "registry+https://github.com/rust-lang/crates.io-index"
3184 | checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
3185 | dependencies = [
3186 | "winapi-i686-pc-windows-gnu",
3187 | "winapi-x86_64-pc-windows-gnu",
3188 | ]
3189 |
3190 | [[package]]
3191 | name = "winapi-i686-pc-windows-gnu"
3192 | version = "0.4.0"
3193 | source = "registry+https://github.com/rust-lang/crates.io-index"
3194 | checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
3195 |
3196 | [[package]]
3197 | name = "winapi-util"
3198 | version = "0.1.5"
3199 | source = "registry+https://github.com/rust-lang/crates.io-index"
3200 | checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178"
3201 | dependencies = [
3202 | "winapi",
3203 | ]
3204 |
3205 | [[package]]
3206 | name = "winapi-x86_64-pc-windows-gnu"
3207 | version = "0.4.0"
3208 | source = "registry+https://github.com/rust-lang/crates.io-index"
3209 | checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
3210 |
3211 | [[package]]
3212 | name = "windows"
3213 | version = "0.37.0"
3214 | source = "registry+https://github.com/rust-lang/crates.io-index"
3215 | checksum = "57b543186b344cc61c85b5aab0d2e3adf4e0f99bc076eff9aa5927bcc0b8a647"
3216 | dependencies = [
3217 | "windows_aarch64_msvc 0.37.0",
3218 | "windows_i686_gnu 0.37.0",
3219 | "windows_i686_msvc 0.37.0",
3220 | "windows_x86_64_gnu 0.37.0",
3221 | "windows_x86_64_msvc 0.37.0",
3222 | ]
3223 |
3224 | [[package]]
3225 | name = "windows"
3226 | version = "0.39.0"
3227 | source = "registry+https://github.com/rust-lang/crates.io-index"
3228 | checksum = "f1c4bd0a50ac6020f65184721f758dba47bb9fbc2133df715ec74a237b26794a"
3229 | dependencies = [
3230 | "windows-implement",
3231 | "windows_aarch64_msvc 0.39.0",
3232 | "windows_i686_gnu 0.39.0",
3233 | "windows_i686_msvc 0.39.0",
3234 | "windows_x86_64_gnu 0.39.0",
3235 | "windows_x86_64_msvc 0.39.0",
3236 | ]
3237 |
3238 | [[package]]
3239 | name = "windows-bindgen"
3240 | version = "0.39.0"
3241 | source = "registry+https://github.com/rust-lang/crates.io-index"
3242 | checksum = "68003dbd0e38abc0fb85b939240f4bce37c43a5981d3df37ccbaaa981b47cb41"
3243 | dependencies = [
3244 | "windows-metadata",
3245 | "windows-tokens",
3246 | ]
3247 |
3248 | [[package]]
3249 | name = "windows-implement"
3250 | version = "0.39.0"
3251 | source = "registry+https://github.com/rust-lang/crates.io-index"
3252 | checksum = "ba01f98f509cb5dc05f4e5fc95e535f78260f15fea8fe1a8abdd08f774f1cee7"
3253 | dependencies = [
3254 | "syn",
3255 | "windows-tokens",
3256 | ]
3257 |
3258 | [[package]]
3259 | name = "windows-metadata"
3260 | version = "0.39.0"
3261 | source = "registry+https://github.com/rust-lang/crates.io-index"
3262 | checksum = "9ee5e275231f07c6e240d14f34e1b635bf1faa1c76c57cfd59a5cdb9848e4278"
3263 |
3264 | [[package]]
3265 | name = "windows-sys"
3266 | version = "0.42.0"
3267 | source = "registry+https://github.com/rust-lang/crates.io-index"
3268 | checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7"
3269 | dependencies = [
3270 | "windows_aarch64_gnullvm",
3271 | "windows_aarch64_msvc 0.42.1",
3272 | "windows_i686_gnu 0.42.1",
3273 | "windows_i686_msvc 0.42.1",
3274 | "windows_x86_64_gnu 0.42.1",
3275 | "windows_x86_64_gnullvm",
3276 | "windows_x86_64_msvc 0.42.1",
3277 | ]
3278 |
3279 | [[package]]
3280 | name = "windows-sys"
3281 | version = "0.45.0"
3282 | source = "registry+https://github.com/rust-lang/crates.io-index"
3283 | checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0"
3284 | dependencies = [
3285 | "windows-targets",
3286 | ]
3287 |
3288 | [[package]]
3289 | name = "windows-targets"
3290 | version = "0.42.1"
3291 | source = "registry+https://github.com/rust-lang/crates.io-index"
3292 | checksum = "8e2522491fbfcd58cc84d47aeb2958948c4b8982e9a2d8a2a35bbaed431390e7"
3293 | dependencies = [
3294 | "windows_aarch64_gnullvm",
3295 | "windows_aarch64_msvc 0.42.1",
3296 | "windows_i686_gnu 0.42.1",
3297 | "windows_i686_msvc 0.42.1",
3298 | "windows_x86_64_gnu 0.42.1",
3299 | "windows_x86_64_gnullvm",
3300 | "windows_x86_64_msvc 0.42.1",
3301 | ]
3302 |
3303 | [[package]]
3304 | name = "windows-tokens"
3305 | version = "0.39.0"
3306 | source = "registry+https://github.com/rust-lang/crates.io-index"
3307 | checksum = "f838de2fe15fe6bac988e74b798f26499a8b21a9d97edec321e79b28d1d7f597"
3308 |
3309 | [[package]]
3310 | name = "windows_aarch64_gnullvm"
3311 | version = "0.42.1"
3312 | source = "registry+https://github.com/rust-lang/crates.io-index"
3313 | checksum = "8c9864e83243fdec7fc9c5444389dcbbfd258f745e7853198f365e3c4968a608"
3314 |
3315 | [[package]]
3316 | name = "windows_aarch64_msvc"
3317 | version = "0.37.0"
3318 | source = "registry+https://github.com/rust-lang/crates.io-index"
3319 | checksum = "2623277cb2d1c216ba3b578c0f3cf9cdebeddb6e66b1b218bb33596ea7769c3a"
3320 |
3321 | [[package]]
3322 | name = "windows_aarch64_msvc"
3323 | version = "0.39.0"
3324 | source = "registry+https://github.com/rust-lang/crates.io-index"
3325 | checksum = "ec7711666096bd4096ffa835238905bb33fb87267910e154b18b44eaabb340f2"
3326 |
3327 | [[package]]
3328 | name = "windows_aarch64_msvc"
3329 | version = "0.42.1"
3330 | source = "registry+https://github.com/rust-lang/crates.io-index"
3331 | checksum = "4c8b1b673ffc16c47a9ff48570a9d85e25d265735c503681332589af6253c6c7"
3332 |
3333 | [[package]]
3334 | name = "windows_i686_gnu"
3335 | version = "0.37.0"
3336 | source = "registry+https://github.com/rust-lang/crates.io-index"
3337 | checksum = "d3925fd0b0b804730d44d4b6278c50f9699703ec49bcd628020f46f4ba07d9e1"
3338 |
3339 | [[package]]
3340 | name = "windows_i686_gnu"
3341 | version = "0.39.0"
3342 | source = "registry+https://github.com/rust-lang/crates.io-index"
3343 | checksum = "763fc57100a5f7042e3057e7e8d9bdd7860d330070251a73d003563a3bb49e1b"
3344 |
3345 | [[package]]
3346 | name = "windows_i686_gnu"
3347 | version = "0.42.1"
3348 | source = "registry+https://github.com/rust-lang/crates.io-index"
3349 | checksum = "de3887528ad530ba7bdbb1faa8275ec7a1155a45ffa57c37993960277145d640"
3350 |
3351 | [[package]]
3352 | name = "windows_i686_msvc"
3353 | version = "0.37.0"
3354 | source = "registry+https://github.com/rust-lang/crates.io-index"
3355 | checksum = "ce907ac74fe331b524c1298683efbf598bb031bc84d5e274db2083696d07c57c"
3356 |
3357 | [[package]]
3358 | name = "windows_i686_msvc"
3359 | version = "0.39.0"
3360 | source = "registry+https://github.com/rust-lang/crates.io-index"
3361 | checksum = "7bc7cbfe58828921e10a9f446fcaaf649204dcfe6c1ddd712c5eebae6bda1106"
3362 |
3363 | [[package]]
3364 | name = "windows_i686_msvc"
3365 | version = "0.42.1"
3366 | source = "registry+https://github.com/rust-lang/crates.io-index"
3367 | checksum = "bf4d1122317eddd6ff351aa852118a2418ad4214e6613a50e0191f7004372605"
3368 |
3369 | [[package]]
3370 | name = "windows_x86_64_gnu"
3371 | version = "0.37.0"
3372 | source = "registry+https://github.com/rust-lang/crates.io-index"
3373 | checksum = "2babfba0828f2e6b32457d5341427dcbb577ceef556273229959ac23a10af33d"
3374 |
3375 | [[package]]
3376 | name = "windows_x86_64_gnu"
3377 | version = "0.39.0"
3378 | source = "registry+https://github.com/rust-lang/crates.io-index"
3379 | checksum = "6868c165637d653ae1e8dc4d82c25d4f97dd6605eaa8d784b5c6e0ab2a252b65"
3380 |
3381 | [[package]]
3382 | name = "windows_x86_64_gnu"
3383 | version = "0.42.1"
3384 | source = "registry+https://github.com/rust-lang/crates.io-index"
3385 | checksum = "c1040f221285e17ebccbc2591ffdc2d44ee1f9186324dd3e84e99ac68d699c45"
3386 |
3387 | [[package]]
3388 | name = "windows_x86_64_gnullvm"
3389 | version = "0.42.1"
3390 | source = "registry+https://github.com/rust-lang/crates.io-index"
3391 | checksum = "628bfdf232daa22b0d64fdb62b09fcc36bb01f05a3939e20ab73aaf9470d0463"
3392 |
3393 | [[package]]
3394 | name = "windows_x86_64_msvc"
3395 | version = "0.37.0"
3396 | source = "registry+https://github.com/rust-lang/crates.io-index"
3397 | checksum = "f4dd6dc7df2d84cf7b33822ed5b86318fb1781948e9663bacd047fc9dd52259d"
3398 |
3399 | [[package]]
3400 | name = "windows_x86_64_msvc"
3401 | version = "0.39.0"
3402 | source = "registry+https://github.com/rust-lang/crates.io-index"
3403 | checksum = "5e4d40883ae9cae962787ca76ba76390ffa29214667a111db9e0a1ad8377e809"
3404 |
3405 | [[package]]
3406 | name = "windows_x86_64_msvc"
3407 | version = "0.42.1"
3408 | source = "registry+https://github.com/rust-lang/crates.io-index"
3409 | checksum = "447660ad36a13288b1db4d4248e857b510e8c3a225c822ba4fb748c0aafecffd"
3410 |
3411 | [[package]]
3412 | name = "winres"
3413 | version = "0.1.12"
3414 | source = "registry+https://github.com/rust-lang/crates.io-index"
3415 | checksum = "b68db261ef59e9e52806f688020631e987592bd83619edccda9c47d42cde4f6c"
3416 | dependencies = [
3417 | "toml",
3418 | ]
3419 |
3420 | [[package]]
3421 | name = "wry"
3422 | version = "0.23.4"
3423 | source = "registry+https://github.com/rust-lang/crates.io-index"
3424 | checksum = "4c1ad8e2424f554cc5bdebe8aa374ef5b433feff817aebabca0389961fc7ef98"
3425 | dependencies = [
3426 | "base64",
3427 | "block",
3428 | "cocoa",
3429 | "core-graphics",
3430 | "crossbeam-channel",
3431 | "dunce",
3432 | "gdk",
3433 | "gio",
3434 | "glib",
3435 | "gtk",
3436 | "html5ever",
3437 | "http",
3438 | "kuchiki",
3439 | "libc",
3440 | "log",
3441 | "objc",
3442 | "objc_id",
3443 | "once_cell",
3444 | "serde",
3445 | "serde_json",
3446 | "sha2",
3447 | "soup2",
3448 | "tao",
3449 | "thiserror",
3450 | "url",
3451 | "webkit2gtk",
3452 | "webkit2gtk-sys",
3453 | "webview2-com",
3454 | "windows 0.39.0",
3455 | "windows-implement",
3456 | ]
3457 |
3458 | [[package]]
3459 | name = "x11"
3460 | version = "2.21.0"
3461 | source = "registry+https://github.com/rust-lang/crates.io-index"
3462 | checksum = "502da5464ccd04011667b11c435cb992822c2c0dbde1770c988480d312a0db2e"
3463 | dependencies = [
3464 | "libc",
3465 | "pkg-config",
3466 | ]
3467 |
3468 | [[package]]
3469 | name = "x11-dl"
3470 | version = "2.21.0"
3471 | source = "registry+https://github.com/rust-lang/crates.io-index"
3472 | checksum = "38735924fedd5314a6e548792904ed8c6de6636285cb9fec04d5b1db85c1516f"
3473 | dependencies = [
3474 | "libc",
3475 | "once_cell",
3476 | "pkg-config",
3477 | ]
3478 |
3479 | [[package]]
3480 | name = "xattr"
3481 | version = "0.2.3"
3482 | source = "registry+https://github.com/rust-lang/crates.io-index"
3483 | checksum = "6d1526bbe5aaeb5eb06885f4d987bcdfa5e23187055de9b83fe00156a821fabc"
3484 | dependencies = [
3485 | "libc",
3486 | ]
3487 |
--------------------------------------------------------------------------------