├── pages ├── src │ ├── sub_dir │ │ ├── :ids │ │ │ └── mod.rs │ │ ├── _ids.rs │ │ ├── another │ │ │ ├── deeper │ │ │ │ └── mod.rs │ │ │ └── mod.rs │ │ ├── mod.rs │ │ └── other │ │ │ └── mod.rs │ ├── other_file.rs │ └── lib.rs ├── Cargo.lock └── Cargo.toml ├── view ├── src │ ├── lib.rs │ └── app.rs └── Cargo.toml ├── input.css ├── .gitignore ├── router ├── Cargo.lock ├── Cargo.toml └── src │ └── lib.rs ├── package.json ├── tailwind.config.js ├── .editorconfig ├── src ├── utils.rs └── lib.rs ├── route.rs.template ├── wrangler.toml ├── Cargo.toml ├── README.md ├── style └── output.css └── Cargo.lock /pages/src/sub_dir/:ids/mod.rs: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /pages/src/sub_dir/_ids.rs: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /view/src/lib.rs: -------------------------------------------------------------------------------- 1 | pub mod app; 2 | 3 | -------------------------------------------------------------------------------- /pages/src/sub_dir/another/deeper/mod.rs: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /pages/src/sub_dir/another/mod.rs: -------------------------------------------------------------------------------- 1 | pub mod deeper; 2 | 3 | -------------------------------------------------------------------------------- /pages/src/other_file.rs: -------------------------------------------------------------------------------- 1 | 2 | pub fn hello() { 3 | } 4 | 5 | -------------------------------------------------------------------------------- /input.css: -------------------------------------------------------------------------------- 1 | @tailwind base; 2 | @tailwind components; 3 | @tailwind utilities; 4 | 5 | -------------------------------------------------------------------------------- /pages/src/sub_dir/mod.rs: -------------------------------------------------------------------------------- 1 | pub mod other; 2 | mod another; 3 | 4 | #[path="./:ids/mod.rs"] 5 | pub mod ids; 6 | 7 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | /node_modules 3 | 4 | **/*.rs.bk 5 | wasm-pack.log 6 | .env 7 | .dev.vars 8 | .turso_history 9 | 10 | build/ 11 | /target 12 | /dist 13 | -------------------------------------------------------------------------------- /pages/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 = "pages" 7 | version = "0.1.0" 8 | -------------------------------------------------------------------------------- /router/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 = "router" 7 | version = "0.1.0" 8 | -------------------------------------------------------------------------------- /pages/src/sub_dir/other/mod.rs: -------------------------------------------------------------------------------- 1 | 2 | 3 | pub async fn get(context: worker::RouteContext) -> worker::Result { 4 | return Ok(worker::Response::ok("Hell, sub_dir/other/mod.rs")?); 5 | } 6 | 7 | -------------------------------------------------------------------------------- /pages/src/lib.rs: -------------------------------------------------------------------------------- 1 | pub mod sub_dir; 2 | mod other_file; 3 | 4 | pub async fn get(context: worker::RouteContext) -> worker::Result { 5 | return Ok(worker::Response::ok("Hell, from lib.rs")?); 6 | } 7 | 8 | 9 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "private": true, 3 | "version": "0.0.0", 4 | "scripts": { 5 | "deploy": "wrangler publish", 6 | "dev": "wrangler dev --local" 7 | }, 8 | "devDependencies": { 9 | "wrangler": "^2.0.0" 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /tailwind.config.js: -------------------------------------------------------------------------------- 1 | /** @type {import('tailwindcss').Config} */ 2 | module.exports = { 3 | content: { 4 | files: ["*.html", "./src/**/*.rs"], 5 | }, 6 | theme: { 7 | extend: {}, 8 | }, 9 | plugins: [], 10 | } 11 | 12 | -------------------------------------------------------------------------------- /pages/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "pages" 3 | version = "0.1.0" 4 | edition = "2021" 5 | 6 | # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html 7 | 8 | [dependencies] 9 | worker.workspace = true 10 | -------------------------------------------------------------------------------- /view/src/app.rs: -------------------------------------------------------------------------------- 1 | use leptos::*; 2 | 3 | #[component] 4 | pub fn App(cx: Scope, counter: i64) -> impl IntoView { 5 | return view! {cx, 6 |
{format!("Hello, from leptos and look at this! {}", counter)}
7 | }; 8 | } 9 | 10 | -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | # http://editorconfig.org 2 | root = true 3 | 4 | [*] 5 | indent_style = space 6 | tab_width = 4 7 | end_of_line = lf 8 | charset = utf-8 9 | trim_trailing_whitespace = true 10 | insert_final_newline = true 11 | 12 | [*.yml] 13 | indent_style = space 14 | -------------------------------------------------------------------------------- /router/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "router" 3 | version = "0.1.0" 4 | edition = "2021" 5 | 6 | # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html 7 | 8 | [dependencies] 9 | worker.workspace = true 10 | pages = { path = "../pages" } 11 | -------------------------------------------------------------------------------- /view/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "view" 3 | version = "0.1.0" 4 | edition = "2021" 5 | 6 | # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html 7 | 8 | [dependencies] 9 | leptos.workspace = true 10 | 11 | [features] 12 | default = ["ssr"] 13 | ssr = ["leptos/ssr"] 14 | hydrate = ["leptos/hydrate"] 15 | 16 | 17 | -------------------------------------------------------------------------------- /src/utils.rs: -------------------------------------------------------------------------------- 1 | use cfg_if::cfg_if; 2 | 3 | cfg_if! { 4 | // https://github.com/rustwasm/console_error_panic_hook#readme 5 | if #[cfg(feature = "console_error_panic_hook")] { 6 | extern crate console_error_panic_hook; 7 | pub use self::console_error_panic_hook::set_once as set_panic_hook; 8 | } else { 9 | #[inline] 10 | pub fn set_panic_hook() {} 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /route.rs.template: -------------------------------------------------------------------------------- 1 | use worker::*; 2 | 3 | pub fn add_routes(router: Router) -> Router { 4 | 5 | // Add as many routes as your Worker needs! Each route will get a `Request` for handling HTTP 6 | // functionality and a `RouteContext` which you can use to and get route parameters and 7 | // Environment bindings like KV Stores, Durable Objects, Secrets, and Variables. 8 | return router 9 | //.get_async("/", |_, ctx| async move { }) 10 | __ROUTES__ 11 | } 12 | -------------------------------------------------------------------------------- /wrangler.toml: -------------------------------------------------------------------------------- 1 | name = "hello-todo" # todo 2 | main = "build/worker/shim.mjs" 3 | compatibility_date = "2022-01-20" 4 | 5 | [vars] 6 | WORKERS_RS_VERSION = "0.0.11" 7 | 8 | # Override values for `--env production` usage 9 | # [env.production] 10 | # name = "my-worker-production" 11 | # [env.production.vars] 12 | # API_TOKEN = "example_production_token" 13 | # STRIPE_TOKEN = "pk_xyz1234" 14 | 15 | 16 | [build] 17 | command = "cargo install -q worker-build --version 0.0.7 && worker-build --release" 18 | -------------------------------------------------------------------------------- /router/src/lib.rs: -------------------------------------------------------------------------------- 1 | use worker::*; 2 | 3 | /* 4 | pub fn add_routes(router: Router) -> Router { 5 | 6 | // Add as many routes as your Worker needs! Each route will get a `Request` for handling HTTP 7 | // functionality and a `RouteContext` which you can use to and get route parameters and 8 | // Environment bindings like KV Stores, Durable Objects, Secrets, and Variables. 9 | // 10 | return router 11 | //.get_async("/", |_, ctx| async move { }) 12 | .get_async("/", move |ctx| { 13 | return pages::get(ctx); 14 | }) 15 | .get_async("/sub_dir/other/", move |ctx| { 16 | return pages::sub_dir::other::get(ctx); 17 | }) 18 | } 19 | */ 20 | 21 | -------------------------------------------------------------------------------- /Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "todo-worker" 3 | version = "0.0.0" 4 | edition = "2018" 5 | 6 | [lib] 7 | crate-type = ["cdylib", "rlib"] 8 | 9 | [features] 10 | default = ["console_error_panic_hook"] 11 | 12 | [build-dependencies] 13 | anyhow = "1.0.69" 14 | walkdir = "2.3.2" 15 | syn = "1.0.107" 16 | 17 | [dependencies] 18 | cfg-if = "0.1.2" 19 | worker.workspace = true 20 | 21 | # The `console_error_panic_hook` crate provides better debugging of panics by 22 | # logging them with `console.error`. This is great for development, but requires 23 | # all the `std::fmt` and `std::panicking` infrastructure, so isn't great for 24 | # code size when deploying. 25 | console_error_panic_hook = { version = "0.1.1", optional = true } 26 | base64 = "0.21.0" 27 | syn = { version = "1.0.107", features = ["extra-traits", "parsing"] } 28 | router = { path = "./router" } 29 | pages = { path = "./pages" } 30 | cargo-expand = "1.0.40" 31 | 32 | [workspace.dependencies] 33 | worker = "0.0.12" 34 | 35 | [profile.release] 36 | # Tell `rustc` to optimize for small code size. 37 | opt-level = "s" 38 | 39 | [workspace] 40 | members = [ 41 | "pages", 42 | "router", 43 | ] 44 | 45 | 46 | -------------------------------------------------------------------------------- /src/lib.rs: -------------------------------------------------------------------------------- 1 | 2 | use worker::*; 3 | //use router::add_routes; 4 | 5 | mod utils; 6 | 7 | fn log_request(req: &Request) { 8 | console_log!( 9 | "{} - [{}], located at: {:?}, within: {}", 10 | Date::now().to_string(), 11 | req.path(), 12 | req.cf().coordinates().unwrap_or_default(), 13 | req.cf().region().unwrap_or_else(|| "unknown region".into()) 14 | ); 15 | } 16 | 17 | #[event(fetch)] 18 | pub async fn main(req: Request, env: Env, _ctx: worker::Context) -> Result { 19 | log_request(&req); 20 | 21 | // Optionally, get more helpful error messages written to the console in the case of a panic. 22 | utils::set_panic_hook(); 23 | 24 | // Optionally, use the Router to handle matching endpoints, use ":name" placeholders, or "*name" 25 | // catch-alls to match on specific patterns. Alternatively, use `Router::with_data(D)` to 26 | // provide arbitrary data that will be accessible in each route via the `ctx.data()` method. 27 | 28 | 29 | // Add as many routes as your Worker needs! Each route will get a `Request` for handling HTTP 30 | // functionality and a `RouteContext` which you can use to and get route parameters and 31 | // Environment bindings like KV Stores, Durable Objects, Secrets, and Variables. 32 | // 33 | 34 | 35 | 36 | // Add as many routes as your Worker needs! Each route will get a `Request` for handling HTTP 37 | // functionality and a `RouteContext` which you can use to and get route parameters and 38 | // Environment bindings like KV Stores, Durable Objects, Secrets, and Variables. 39 | return Router::new() 40 | //.get_async("/", |_, ctx| async move { }) 41 | .get_async("/", move |req, ctx| { 42 | return pages::get(ctx); 43 | }) 44 | .get_async("/sub_dir/other/", |req, ctx| { 45 | return pages::sub_dir::other::get(ctx); 46 | }) 47 | .run(req, env) 48 | .await; 49 | } 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Template: worker-rust 2 | 3 | [![Deploy to Cloudflare Workers](https://deploy.workers.cloudflare.com/button)](https://deploy.workers.cloudflare.com/?url=https://github.com/cloudflare/templates/tree/main/worker-rust) 4 | 5 | A template for kick starting a Cloudflare worker project using [`workers-rs`](https://github.com/cloudflare/workers-rs). 6 | 7 | This template is designed for compiling Rust to WebAssembly and publishing the resulting worker to Cloudflare's [edge infrastructure](https://www.cloudflare.com/network/). 8 | 9 | ## Setup 10 | 11 | To create a `my-project` directory using this template, run: 12 | 13 | ```sh 14 | $ npm init cloudflare my-project worker-rust 15 | # or 16 | $ yarn create cloudflare my-project worker-rust 17 | # or 18 | $ pnpm create cloudflare my-project worker-rust 19 | ``` 20 | 21 | > **Note:** Each command invokes [`create-cloudflare`](https://www.npmjs.com/package/create-cloudflare) for project creation. 22 | 23 | ## Usage 24 | 25 | This template starts you off with a `src/lib.rs` file, acting as an entrypoint for requests hitting your Worker. Feel free to add more code in this file, or create Rust modules anywhere else for this project to use. 26 | 27 | With `wrangler`, you can build, test, and deploy your Worker with the following commands: 28 | 29 | ```sh 30 | # compiles your project to WebAssembly and will warn of any issues 31 | $ npm run build 32 | 33 | # run your Worker in an ideal development workflow (with a local server, file watcher & more) 34 | $ npm run dev 35 | 36 | # deploy your Worker globally to the Cloudflare network (update your wrangler.toml file for configuration) 37 | $ npm run deploy 38 | ``` 39 | 40 | Read the latest `worker` crate documentation here: https://docs.rs/worker 41 | 42 | ## WebAssembly 43 | 44 | `workers-rs` (the Rust SDK for Cloudflare Workers used in this template) is meant to be executed as compiled WebAssembly, and as such so **must** all the code you write and depend upon. All crates and modules used in Rust-based Workers projects have to compile to the `wasm32-unknown-unknown` triple. 45 | 46 | Read more about this on the [`workers-rs`](https://github.com/cloudflare/workers-rs) project README. 47 | 48 | ## Issues 49 | 50 | If you have any problems with the `worker` crate, please open an issue on the upstream project issue tracker on the [`workers-rs` repository](https://github.com/cloudflare/workers-rs). 51 | -------------------------------------------------------------------------------- /style/output.css: -------------------------------------------------------------------------------- 1 | /* 2 | ! tailwindcss v3.2.4 | MIT License | https://tailwindcss.com 3 | */ 4 | 5 | /* 6 | 1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4) 7 | 2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116) 8 | */ 9 | 10 | *, 11 | ::before, 12 | ::after { 13 | box-sizing: border-box; 14 | /* 1 */ 15 | border-width: 0; 16 | /* 2 */ 17 | border-style: solid; 18 | /* 2 */ 19 | border-color: #e5e7eb; 20 | /* 2 */ 21 | } 22 | 23 | ::before, 24 | ::after { 25 | --tw-content: ''; 26 | } 27 | 28 | /* 29 | 1. Use a consistent sensible line-height in all browsers. 30 | 2. Prevent adjustments of font size after orientation changes in iOS. 31 | 3. Use a more readable tab size. 32 | 4. Use the user's configured `sans` font-family by default. 33 | 5. Use the user's configured `sans` font-feature-settings by default. 34 | */ 35 | 36 | html { 37 | line-height: 1.5; 38 | /* 1 */ 39 | -webkit-text-size-adjust: 100%; 40 | /* 2 */ 41 | -moz-tab-size: 4; 42 | /* 3 */ 43 | -o-tab-size: 4; 44 | tab-size: 4; 45 | /* 3 */ 46 | font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; 47 | /* 4 */ 48 | font-feature-settings: normal; 49 | /* 5 */ 50 | } 51 | 52 | /* 53 | 1. Remove the margin in all browsers. 54 | 2. Inherit line-height from `html` so users can set them as a class directly on the `html` element. 55 | */ 56 | 57 | body { 58 | margin: 0; 59 | /* 1 */ 60 | line-height: inherit; 61 | /* 2 */ 62 | } 63 | 64 | /* 65 | 1. Add the correct height in Firefox. 66 | 2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655) 67 | 3. Ensure horizontal rules are visible by default. 68 | */ 69 | 70 | hr { 71 | height: 0; 72 | /* 1 */ 73 | color: inherit; 74 | /* 2 */ 75 | border-top-width: 1px; 76 | /* 3 */ 77 | } 78 | 79 | /* 80 | Add the correct text decoration in Chrome, Edge, and Safari. 81 | */ 82 | 83 | abbr:where([title]) { 84 | -webkit-text-decoration: underline dotted; 85 | text-decoration: underline dotted; 86 | } 87 | 88 | /* 89 | Remove the default font size and weight for headings. 90 | */ 91 | 92 | h1, 93 | h2, 94 | h3, 95 | h4, 96 | h5, 97 | h6 { 98 | font-size: inherit; 99 | font-weight: inherit; 100 | } 101 | 102 | /* 103 | Reset links to optimize for opt-in styling instead of opt-out. 104 | */ 105 | 106 | a { 107 | color: inherit; 108 | text-decoration: inherit; 109 | } 110 | 111 | /* 112 | Add the correct font weight in Edge and Safari. 113 | */ 114 | 115 | b, 116 | strong { 117 | font-weight: bolder; 118 | } 119 | 120 | /* 121 | 1. Use the user's configured `mono` font family by default. 122 | 2. Correct the odd `em` font sizing in all browsers. 123 | */ 124 | 125 | code, 126 | kbd, 127 | samp, 128 | pre { 129 | font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; 130 | /* 1 */ 131 | font-size: 1em; 132 | /* 2 */ 133 | } 134 | 135 | /* 136 | Add the correct font size in all browsers. 137 | */ 138 | 139 | small { 140 | font-size: 80%; 141 | } 142 | 143 | /* 144 | Prevent `sub` and `sup` elements from affecting the line height in all browsers. 145 | */ 146 | 147 | sub, 148 | sup { 149 | font-size: 75%; 150 | line-height: 0; 151 | position: relative; 152 | vertical-align: baseline; 153 | } 154 | 155 | sub { 156 | bottom: -0.25em; 157 | } 158 | 159 | sup { 160 | top: -0.5em; 161 | } 162 | 163 | /* 164 | 1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297) 165 | 2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016) 166 | 3. Remove gaps between table borders by default. 167 | */ 168 | 169 | table { 170 | text-indent: 0; 171 | /* 1 */ 172 | border-color: inherit; 173 | /* 2 */ 174 | border-collapse: collapse; 175 | /* 3 */ 176 | } 177 | 178 | /* 179 | 1. Change the font styles in all browsers. 180 | 2. Remove the margin in Firefox and Safari. 181 | 3. Remove default padding in all browsers. 182 | */ 183 | 184 | button, 185 | input, 186 | optgroup, 187 | select, 188 | textarea { 189 | font-family: inherit; 190 | /* 1 */ 191 | font-size: 100%; 192 | /* 1 */ 193 | font-weight: inherit; 194 | /* 1 */ 195 | line-height: inherit; 196 | /* 1 */ 197 | color: inherit; 198 | /* 1 */ 199 | margin: 0; 200 | /* 2 */ 201 | padding: 0; 202 | /* 3 */ 203 | } 204 | 205 | /* 206 | Remove the inheritance of text transform in Edge and Firefox. 207 | */ 208 | 209 | button, 210 | select { 211 | text-transform: none; 212 | } 213 | 214 | /* 215 | 1. Correct the inability to style clickable types in iOS and Safari. 216 | 2. Remove default button styles. 217 | */ 218 | 219 | button, 220 | [type='button'], 221 | [type='reset'], 222 | [type='submit'] { 223 | -webkit-appearance: button; 224 | /* 1 */ 225 | background-color: transparent; 226 | /* 2 */ 227 | background-image: none; 228 | /* 2 */ 229 | } 230 | 231 | /* 232 | Use the modern Firefox focus style for all focusable elements. 233 | */ 234 | 235 | :-moz-focusring { 236 | outline: auto; 237 | } 238 | 239 | /* 240 | Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737) 241 | */ 242 | 243 | :-moz-ui-invalid { 244 | box-shadow: none; 245 | } 246 | 247 | /* 248 | Add the correct vertical alignment in Chrome and Firefox. 249 | */ 250 | 251 | progress { 252 | vertical-align: baseline; 253 | } 254 | 255 | /* 256 | Correct the cursor style of increment and decrement buttons in Safari. 257 | */ 258 | 259 | ::-webkit-inner-spin-button, 260 | ::-webkit-outer-spin-button { 261 | height: auto; 262 | } 263 | 264 | /* 265 | 1. Correct the odd appearance in Chrome and Safari. 266 | 2. Correct the outline style in Safari. 267 | */ 268 | 269 | [type='search'] { 270 | -webkit-appearance: textfield; 271 | /* 1 */ 272 | outline-offset: -2px; 273 | /* 2 */ 274 | } 275 | 276 | /* 277 | Remove the inner padding in Chrome and Safari on macOS. 278 | */ 279 | 280 | ::-webkit-search-decoration { 281 | -webkit-appearance: none; 282 | } 283 | 284 | /* 285 | 1. Correct the inability to style clickable types in iOS and Safari. 286 | 2. Change font properties to `inherit` in Safari. 287 | */ 288 | 289 | ::-webkit-file-upload-button { 290 | -webkit-appearance: button; 291 | /* 1 */ 292 | font: inherit; 293 | /* 2 */ 294 | } 295 | 296 | /* 297 | Add the correct display in Chrome and Safari. 298 | */ 299 | 300 | summary { 301 | display: list-item; 302 | } 303 | 304 | /* 305 | Removes the default spacing and border for appropriate elements. 306 | */ 307 | 308 | blockquote, 309 | dl, 310 | dd, 311 | h1, 312 | h2, 313 | h3, 314 | h4, 315 | h5, 316 | h6, 317 | hr, 318 | figure, 319 | p, 320 | pre { 321 | margin: 0; 322 | } 323 | 324 | fieldset { 325 | margin: 0; 326 | padding: 0; 327 | } 328 | 329 | legend { 330 | padding: 0; 331 | } 332 | 333 | ol, 334 | ul, 335 | menu { 336 | list-style: none; 337 | margin: 0; 338 | padding: 0; 339 | } 340 | 341 | /* 342 | Prevent resizing textareas horizontally by default. 343 | */ 344 | 345 | textarea { 346 | resize: vertical; 347 | } 348 | 349 | /* 350 | 1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300) 351 | 2. Set the default placeholder color to the user's configured gray 400 color. 352 | */ 353 | 354 | input::-moz-placeholder, textarea::-moz-placeholder { 355 | opacity: 1; 356 | /* 1 */ 357 | color: #9ca3af; 358 | /* 2 */ 359 | } 360 | 361 | input::placeholder, 362 | textarea::placeholder { 363 | opacity: 1; 364 | /* 1 */ 365 | color: #9ca3af; 366 | /* 2 */ 367 | } 368 | 369 | /* 370 | Set the default cursor for buttons. 371 | */ 372 | 373 | button, 374 | [role="button"] { 375 | cursor: pointer; 376 | } 377 | 378 | /* 379 | Make sure disabled buttons don't get the pointer cursor. 380 | */ 381 | 382 | :disabled { 383 | cursor: default; 384 | } 385 | 386 | /* 387 | 1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14) 388 | 2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210) 389 | This can trigger a poorly considered lint error in some tools but is included by design. 390 | */ 391 | 392 | img, 393 | svg, 394 | video, 395 | canvas, 396 | audio, 397 | iframe, 398 | embed, 399 | object { 400 | display: block; 401 | /* 1 */ 402 | vertical-align: middle; 403 | /* 2 */ 404 | } 405 | 406 | /* 407 | Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14) 408 | */ 409 | 410 | img, 411 | video { 412 | max-width: 100%; 413 | height: auto; 414 | } 415 | 416 | /* Make elements with the HTML hidden attribute stay hidden by default */ 417 | 418 | [hidden] { 419 | display: none; 420 | } 421 | 422 | *, ::before, ::after { 423 | --tw-border-spacing-x: 0; 424 | --tw-border-spacing-y: 0; 425 | --tw-translate-x: 0; 426 | --tw-translate-y: 0; 427 | --tw-rotate: 0; 428 | --tw-skew-x: 0; 429 | --tw-skew-y: 0; 430 | --tw-scale-x: 1; 431 | --tw-scale-y: 1; 432 | --tw-pan-x: ; 433 | --tw-pan-y: ; 434 | --tw-pinch-zoom: ; 435 | --tw-scroll-snap-strictness: proximity; 436 | --tw-ordinal: ; 437 | --tw-slashed-zero: ; 438 | --tw-numeric-figure: ; 439 | --tw-numeric-spacing: ; 440 | --tw-numeric-fraction: ; 441 | --tw-ring-inset: ; 442 | --tw-ring-offset-width: 0px; 443 | --tw-ring-offset-color: #fff; 444 | --tw-ring-color: rgb(59 130 246 / 0.5); 445 | --tw-ring-offset-shadow: 0 0 #0000; 446 | --tw-ring-shadow: 0 0 #0000; 447 | --tw-shadow: 0 0 #0000; 448 | --tw-shadow-colored: 0 0 #0000; 449 | --tw-blur: ; 450 | --tw-brightness: ; 451 | --tw-contrast: ; 452 | --tw-grayscale: ; 453 | --tw-hue-rotate: ; 454 | --tw-invert: ; 455 | --tw-saturate: ; 456 | --tw-sepia: ; 457 | --tw-drop-shadow: ; 458 | --tw-backdrop-blur: ; 459 | --tw-backdrop-brightness: ; 460 | --tw-backdrop-contrast: ; 461 | --tw-backdrop-grayscale: ; 462 | --tw-backdrop-hue-rotate: ; 463 | --tw-backdrop-invert: ; 464 | --tw-backdrop-opacity: ; 465 | --tw-backdrop-saturate: ; 466 | --tw-backdrop-sepia: ; 467 | } 468 | 469 | ::backdrop { 470 | --tw-border-spacing-x: 0; 471 | --tw-border-spacing-y: 0; 472 | --tw-translate-x: 0; 473 | --tw-translate-y: 0; 474 | --tw-rotate: 0; 475 | --tw-skew-x: 0; 476 | --tw-skew-y: 0; 477 | --tw-scale-x: 1; 478 | --tw-scale-y: 1; 479 | --tw-pan-x: ; 480 | --tw-pan-y: ; 481 | --tw-pinch-zoom: ; 482 | --tw-scroll-snap-strictness: proximity; 483 | --tw-ordinal: ; 484 | --tw-slashed-zero: ; 485 | --tw-numeric-figure: ; 486 | --tw-numeric-spacing: ; 487 | --tw-numeric-fraction: ; 488 | --tw-ring-inset: ; 489 | --tw-ring-offset-width: 0px; 490 | --tw-ring-offset-color: #fff; 491 | --tw-ring-color: rgb(59 130 246 / 0.5); 492 | --tw-ring-offset-shadow: 0 0 #0000; 493 | --tw-ring-shadow: 0 0 #0000; 494 | --tw-shadow: 0 0 #0000; 495 | --tw-shadow-colored: 0 0 #0000; 496 | --tw-blur: ; 497 | --tw-brightness: ; 498 | --tw-contrast: ; 499 | --tw-grayscale: ; 500 | --tw-hue-rotate: ; 501 | --tw-invert: ; 502 | --tw-saturate: ; 503 | --tw-sepia: ; 504 | --tw-drop-shadow: ; 505 | --tw-backdrop-blur: ; 506 | --tw-backdrop-brightness: ; 507 | --tw-backdrop-contrast: ; 508 | --tw-backdrop-grayscale: ; 509 | --tw-backdrop-hue-rotate: ; 510 | --tw-backdrop-invert: ; 511 | --tw-backdrop-opacity: ; 512 | --tw-backdrop-saturate: ; 513 | --tw-backdrop-sepia: ; 514 | } 515 | 516 | .inline { 517 | display: inline; 518 | } 519 | 520 | .table { 521 | display: table; 522 | } 523 | 524 | -------------------------------------------------------------------------------- /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 = "adler" 7 | version = "1.0.2" 8 | source = "registry+https://github.com/rust-lang/crates.io-index" 9 | checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" 10 | 11 | [[package]] 12 | name = "aho-corasick" 13 | version = "0.7.20" 14 | source = "registry+https://github.com/rust-lang/crates.io-index" 15 | checksum = "cc936419f96fa211c1b9166887b38e5e40b19958e5b895be7c1f93adec7071ac" 16 | dependencies = [ 17 | "memchr", 18 | ] 19 | 20 | [[package]] 21 | name = "ansi_colours" 22 | version = "1.2.1" 23 | source = "registry+https://github.com/rust-lang/crates.io-index" 24 | checksum = "7db9d9767fde724f83933a716ee182539788f293828244e9d999695ce0f7ba1e" 25 | dependencies = [ 26 | "rgb", 27 | ] 28 | 29 | [[package]] 30 | name = "ansi_term" 31 | version = "0.12.1" 32 | source = "registry+https://github.com/rust-lang/crates.io-index" 33 | checksum = "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2" 34 | dependencies = [ 35 | "winapi", 36 | ] 37 | 38 | [[package]] 39 | name = "anyhow" 40 | version = "1.0.69" 41 | source = "registry+https://github.com/rust-lang/crates.io-index" 42 | checksum = "224afbd727c3d6e4b90103ece64b8d1b67fbb1973b1046c2281eed3f3803f800" 43 | 44 | [[package]] 45 | name = "async-trait" 46 | version = "0.1.62" 47 | source = "registry+https://github.com/rust-lang/crates.io-index" 48 | checksum = "689894c2db1ea643a50834b999abf1c110887402542955ff5451dab8f861f9ed" 49 | dependencies = [ 50 | "proc-macro2", 51 | "quote", 52 | "syn", 53 | ] 54 | 55 | [[package]] 56 | name = "atty" 57 | version = "0.2.14" 58 | source = "registry+https://github.com/rust-lang/crates.io-index" 59 | checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" 60 | dependencies = [ 61 | "hermit-abi 0.1.19", 62 | "libc", 63 | "winapi", 64 | ] 65 | 66 | [[package]] 67 | name = "autocfg" 68 | version = "1.1.0" 69 | source = "registry+https://github.com/rust-lang/crates.io-index" 70 | checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" 71 | 72 | [[package]] 73 | name = "base64" 74 | version = "0.21.0" 75 | source = "registry+https://github.com/rust-lang/crates.io-index" 76 | checksum = "a4a4ddaa51a5bc52a6948f74c06d20aaaddb71924eab79b8c97a8c556e942d6a" 77 | 78 | [[package]] 79 | name = "bat" 80 | version = "0.22.1" 81 | source = "registry+https://github.com/rust-lang/crates.io-index" 82 | checksum = "fbfdea7507f0848118a3be1a76643a92705a9ff675796f9cadb309b7e95ab65d" 83 | dependencies = [ 84 | "ansi_colours", 85 | "ansi_term", 86 | "bincode", 87 | "bytesize", 88 | "clircle", 89 | "console", 90 | "content_inspector", 91 | "encoding", 92 | "flate2", 93 | "globset", 94 | "grep-cli", 95 | "once_cell", 96 | "path_abs", 97 | "semver 1.0.16", 98 | "serde", 99 | "serde_yaml", 100 | "shell-words", 101 | "syntect", 102 | "thiserror", 103 | "unicode-width", 104 | ] 105 | 106 | [[package]] 107 | name = "bincode" 108 | version = "1.3.3" 109 | source = "registry+https://github.com/rust-lang/crates.io-index" 110 | checksum = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad" 111 | dependencies = [ 112 | "serde", 113 | ] 114 | 115 | [[package]] 116 | name = "bit-set" 117 | version = "0.5.3" 118 | source = "registry+https://github.com/rust-lang/crates.io-index" 119 | checksum = "0700ddab506f33b20a03b13996eccd309a48e5ff77d0d95926aa0210fb4e95f1" 120 | dependencies = [ 121 | "bit-vec", 122 | ] 123 | 124 | [[package]] 125 | name = "bit-vec" 126 | version = "0.6.3" 127 | source = "registry+https://github.com/rust-lang/crates.io-index" 128 | checksum = "349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb" 129 | 130 | [[package]] 131 | name = "bitflags" 132 | version = "1.3.2" 133 | source = "registry+https://github.com/rust-lang/crates.io-index" 134 | checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" 135 | 136 | [[package]] 137 | name = "bstr" 138 | version = "1.3.0" 139 | source = "registry+https://github.com/rust-lang/crates.io-index" 140 | checksum = "5ffdb39cb703212f3c11973452c2861b972f757b021158f3516ba10f2fa8b2c1" 141 | dependencies = [ 142 | "memchr", 143 | "once_cell", 144 | "regex-automata", 145 | "serde", 146 | ] 147 | 148 | [[package]] 149 | name = "bumpalo" 150 | version = "3.12.0" 151 | source = "registry+https://github.com/rust-lang/crates.io-index" 152 | checksum = "0d261e256854913907f67ed06efbc3338dfe6179796deefc1ff763fc1aee5535" 153 | 154 | [[package]] 155 | name = "bytemuck" 156 | version = "1.13.0" 157 | source = "registry+https://github.com/rust-lang/crates.io-index" 158 | checksum = "c041d3eab048880cb0b86b256447da3f18859a163c3b8d8893f4e6368abe6393" 159 | 160 | [[package]] 161 | name = "bytes" 162 | version = "1.3.0" 163 | source = "registry+https://github.com/rust-lang/crates.io-index" 164 | checksum = "dfb24e866b15a1af2a1b663f10c6b6b8f397a84aadb828f12e5b289ec23a3a3c" 165 | 166 | [[package]] 167 | name = "bytesize" 168 | version = "1.1.0" 169 | source = "registry+https://github.com/rust-lang/crates.io-index" 170 | checksum = "6c58ec36aac5066d5ca17df51b3e70279f5670a72102f5752cb7e7c856adfc70" 171 | 172 | [[package]] 173 | name = "cargo-expand" 174 | version = "1.0.40" 175 | source = "registry+https://github.com/rust-lang/crates.io-index" 176 | checksum = "cafe8e8eaaa2526fba9ed255ac6407b2b023e3537048548af96be0f7556c3e01" 177 | dependencies = [ 178 | "atty", 179 | "bat", 180 | "cargo-subcommand-metadata", 181 | "clap", 182 | "prettyplease", 183 | "proc-macro2", 184 | "quote", 185 | "serde", 186 | "syn", 187 | "syn-select", 188 | "tempfile", 189 | "termcolor", 190 | "toml", 191 | "toolchain_find", 192 | ] 193 | 194 | [[package]] 195 | name = "cargo-subcommand-metadata" 196 | version = "0.1.0" 197 | source = "registry+https://github.com/rust-lang/crates.io-index" 198 | checksum = "a33d3b80a8db16c4ad7676653766a8e59b5f95443c8823cb7cff587b90cb91ba" 199 | 200 | [[package]] 201 | name = "cc" 202 | version = "1.0.79" 203 | source = "registry+https://github.com/rust-lang/crates.io-index" 204 | checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f" 205 | 206 | [[package]] 207 | name = "cfg-if" 208 | version = "0.1.10" 209 | source = "registry+https://github.com/rust-lang/crates.io-index" 210 | checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822" 211 | 212 | [[package]] 213 | name = "cfg-if" 214 | version = "1.0.0" 215 | source = "registry+https://github.com/rust-lang/crates.io-index" 216 | checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" 217 | 218 | [[package]] 219 | name = "chrono" 220 | version = "0.4.23" 221 | source = "registry+https://github.com/rust-lang/crates.io-index" 222 | checksum = "16b0a3d9ed01224b22057780a37bb8c5dbfe1be8ba48678e7bf57ec4b385411f" 223 | dependencies = [ 224 | "js-sys", 225 | "num-integer", 226 | "num-traits", 227 | "wasm-bindgen", 228 | ] 229 | 230 | [[package]] 231 | name = "chrono-tz" 232 | version = "0.6.3" 233 | source = "registry+https://github.com/rust-lang/crates.io-index" 234 | checksum = "29c39203181991a7dd4343b8005bd804e7a9a37afb8ac070e43771e8c820bbde" 235 | dependencies = [ 236 | "chrono", 237 | "chrono-tz-build", 238 | "phf", 239 | ] 240 | 241 | [[package]] 242 | name = "chrono-tz-build" 243 | version = "0.0.3" 244 | source = "registry+https://github.com/rust-lang/crates.io-index" 245 | checksum = "6f509c3a87b33437b05e2458750a0700e5bdd6956176773e6c7d6dd15a283a0c" 246 | dependencies = [ 247 | "parse-zoneinfo", 248 | "phf", 249 | "phf_codegen", 250 | ] 251 | 252 | [[package]] 253 | name = "clap" 254 | version = "4.1.6" 255 | source = "registry+https://github.com/rust-lang/crates.io-index" 256 | checksum = "ec0b0588d44d4d63a87dbd75c136c166bbfd9a86a31cb89e09906521c7d3f5e3" 257 | dependencies = [ 258 | "bitflags", 259 | "clap_derive", 260 | "clap_lex", 261 | "is-terminal", 262 | "once_cell", 263 | "strsim", 264 | "termcolor", 265 | ] 266 | 267 | [[package]] 268 | name = "clap_derive" 269 | version = "4.1.0" 270 | source = "registry+https://github.com/rust-lang/crates.io-index" 271 | checksum = "684a277d672e91966334af371f1a7b5833f9aa00b07c84e92fbce95e00208ce8" 272 | dependencies = [ 273 | "heck", 274 | "proc-macro-error", 275 | "proc-macro2", 276 | "quote", 277 | "syn", 278 | ] 279 | 280 | [[package]] 281 | name = "clap_lex" 282 | version = "0.3.1" 283 | source = "registry+https://github.com/rust-lang/crates.io-index" 284 | checksum = "783fe232adfca04f90f56201b26d79682d4cd2625e0bc7290b95123afe558ade" 285 | dependencies = [ 286 | "os_str_bytes", 287 | ] 288 | 289 | [[package]] 290 | name = "clircle" 291 | version = "0.3.0" 292 | source = "registry+https://github.com/rust-lang/crates.io-index" 293 | checksum = "e68bbd985a63de680ab4d1ad77b6306611a8f961b282c8b5ab513e6de934e396" 294 | dependencies = [ 295 | "cfg-if 1.0.0", 296 | "libc", 297 | "serde", 298 | "winapi", 299 | ] 300 | 301 | [[package]] 302 | name = "console" 303 | version = "0.15.5" 304 | source = "registry+https://github.com/rust-lang/crates.io-index" 305 | checksum = "c3d79fbe8970a77e3e34151cc13d3b3e248aa0faaecb9f6091fa07ebefe5ad60" 306 | dependencies = [ 307 | "encode_unicode", 308 | "lazy_static", 309 | "libc", 310 | "unicode-width", 311 | "windows-sys 0.42.0", 312 | ] 313 | 314 | [[package]] 315 | name = "console_error_panic_hook" 316 | version = "0.1.7" 317 | source = "registry+https://github.com/rust-lang/crates.io-index" 318 | checksum = "a06aeb73f470f66dcdbf7223caeebb85984942f22f1adb2a088cf9668146bbbc" 319 | dependencies = [ 320 | "cfg-if 1.0.0", 321 | "wasm-bindgen", 322 | ] 323 | 324 | [[package]] 325 | name = "content_inspector" 326 | version = "0.2.4" 327 | source = "registry+https://github.com/rust-lang/crates.io-index" 328 | checksum = "b7bda66e858c683005a53a9a60c69a4aca7eeaa45d124526e389f7aec8e62f38" 329 | dependencies = [ 330 | "memchr", 331 | ] 332 | 333 | [[package]] 334 | name = "crc32fast" 335 | version = "1.3.2" 336 | source = "registry+https://github.com/rust-lang/crates.io-index" 337 | checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d" 338 | dependencies = [ 339 | "cfg-if 1.0.0", 340 | ] 341 | 342 | [[package]] 343 | name = "encode_unicode" 344 | version = "0.3.6" 345 | source = "registry+https://github.com/rust-lang/crates.io-index" 346 | checksum = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f" 347 | 348 | [[package]] 349 | name = "encoding" 350 | version = "0.2.33" 351 | source = "registry+https://github.com/rust-lang/crates.io-index" 352 | checksum = "6b0d943856b990d12d3b55b359144ff341533e516d94098b1d3fc1ac666d36ec" 353 | dependencies = [ 354 | "encoding-index-japanese", 355 | "encoding-index-korean", 356 | "encoding-index-simpchinese", 357 | "encoding-index-singlebyte", 358 | "encoding-index-tradchinese", 359 | ] 360 | 361 | [[package]] 362 | name = "encoding-index-japanese" 363 | version = "1.20141219.5" 364 | source = "registry+https://github.com/rust-lang/crates.io-index" 365 | checksum = "04e8b2ff42e9a05335dbf8b5c6f7567e5591d0d916ccef4e0b1710d32a0d0c91" 366 | dependencies = [ 367 | "encoding_index_tests", 368 | ] 369 | 370 | [[package]] 371 | name = "encoding-index-korean" 372 | version = "1.20141219.5" 373 | source = "registry+https://github.com/rust-lang/crates.io-index" 374 | checksum = "4dc33fb8e6bcba213fe2f14275f0963fd16f0a02c878e3095ecfdf5bee529d81" 375 | dependencies = [ 376 | "encoding_index_tests", 377 | ] 378 | 379 | [[package]] 380 | name = "encoding-index-simpchinese" 381 | version = "1.20141219.5" 382 | source = "registry+https://github.com/rust-lang/crates.io-index" 383 | checksum = "d87a7194909b9118fc707194baa434a4e3b0fb6a5a757c73c3adb07aa25031f7" 384 | dependencies = [ 385 | "encoding_index_tests", 386 | ] 387 | 388 | [[package]] 389 | name = "encoding-index-singlebyte" 390 | version = "1.20141219.5" 391 | source = "registry+https://github.com/rust-lang/crates.io-index" 392 | checksum = "3351d5acffb224af9ca265f435b859c7c01537c0849754d3db3fdf2bfe2ae84a" 393 | dependencies = [ 394 | "encoding_index_tests", 395 | ] 396 | 397 | [[package]] 398 | name = "encoding-index-tradchinese" 399 | version = "1.20141219.5" 400 | source = "registry+https://github.com/rust-lang/crates.io-index" 401 | checksum = "fd0e20d5688ce3cab59eb3ef3a2083a5c77bf496cb798dc6fcdb75f323890c18" 402 | dependencies = [ 403 | "encoding_index_tests", 404 | ] 405 | 406 | [[package]] 407 | name = "encoding_index_tests" 408 | version = "0.1.4" 409 | source = "registry+https://github.com/rust-lang/crates.io-index" 410 | checksum = "a246d82be1c9d791c5dfde9a2bd045fc3cbba3fa2b11ad558f27d01712f00569" 411 | 412 | [[package]] 413 | name = "errno" 414 | version = "0.2.8" 415 | source = "registry+https://github.com/rust-lang/crates.io-index" 416 | checksum = "f639046355ee4f37944e44f60642c6f3a7efa3cf6b78c78a0d989a8ce6c396a1" 417 | dependencies = [ 418 | "errno-dragonfly", 419 | "libc", 420 | "winapi", 421 | ] 422 | 423 | [[package]] 424 | name = "errno-dragonfly" 425 | version = "0.1.2" 426 | source = "registry+https://github.com/rust-lang/crates.io-index" 427 | checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf" 428 | dependencies = [ 429 | "cc", 430 | "libc", 431 | ] 432 | 433 | [[package]] 434 | name = "fancy-regex" 435 | version = "0.7.1" 436 | source = "registry+https://github.com/rust-lang/crates.io-index" 437 | checksum = "9d6b8560a05112eb52f04b00e5d3790c0dd75d9d980eb8a122fb23b92a623ccf" 438 | dependencies = [ 439 | "bit-set", 440 | "regex", 441 | ] 442 | 443 | [[package]] 444 | name = "fastrand" 445 | version = "1.9.0" 446 | source = "registry+https://github.com/rust-lang/crates.io-index" 447 | checksum = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be" 448 | dependencies = [ 449 | "instant", 450 | ] 451 | 452 | [[package]] 453 | name = "flate2" 454 | version = "1.0.25" 455 | source = "registry+https://github.com/rust-lang/crates.io-index" 456 | checksum = "a8a2db397cb1c8772f31494cb8917e48cd1e64f0fa7efac59fbd741a0a8ce841" 457 | dependencies = [ 458 | "crc32fast", 459 | "miniz_oxide", 460 | ] 461 | 462 | [[package]] 463 | name = "fnv" 464 | version = "1.0.7" 465 | source = "registry+https://github.com/rust-lang/crates.io-index" 466 | checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" 467 | 468 | [[package]] 469 | name = "form_urlencoded" 470 | version = "1.1.0" 471 | source = "registry+https://github.com/rust-lang/crates.io-index" 472 | checksum = "a9c384f161156f5260c24a097c56119f9be8c798586aecc13afbcbe7b7e26bf8" 473 | dependencies = [ 474 | "percent-encoding", 475 | ] 476 | 477 | [[package]] 478 | name = "futures-channel" 479 | version = "0.3.25" 480 | source = "registry+https://github.com/rust-lang/crates.io-index" 481 | checksum = "52ba265a92256105f45b719605a571ffe2d1f0fea3807304b522c1d778f79eed" 482 | dependencies = [ 483 | "futures-core", 484 | ] 485 | 486 | [[package]] 487 | name = "futures-core" 488 | version = "0.3.25" 489 | source = "registry+https://github.com/rust-lang/crates.io-index" 490 | checksum = "04909a7a7e4633ae6c4a9ab280aeb86da1236243a77b694a49eacd659a4bd3ac" 491 | 492 | [[package]] 493 | name = "futures-io" 494 | version = "0.3.25" 495 | source = "registry+https://github.com/rust-lang/crates.io-index" 496 | checksum = "00f5fb52a06bdcadeb54e8d3671f8888a39697dcb0b81b23b55174030427f4eb" 497 | 498 | [[package]] 499 | name = "futures-macro" 500 | version = "0.3.25" 501 | source = "registry+https://github.com/rust-lang/crates.io-index" 502 | checksum = "bdfb8ce053d86b91919aad980c220b1fb8401a9394410e1c289ed7e66b61835d" 503 | dependencies = [ 504 | "proc-macro2", 505 | "quote", 506 | "syn", 507 | ] 508 | 509 | [[package]] 510 | name = "futures-sink" 511 | version = "0.3.25" 512 | source = "registry+https://github.com/rust-lang/crates.io-index" 513 | checksum = "39c15cf1a4aa79df40f1bb462fb39676d0ad9e366c2a33b590d7c66f4f81fcf9" 514 | 515 | [[package]] 516 | name = "futures-task" 517 | version = "0.3.25" 518 | source = "registry+https://github.com/rust-lang/crates.io-index" 519 | checksum = "2ffb393ac5d9a6eaa9d3fdf37ae2776656b706e200c8e16b1bdb227f5198e6ea" 520 | 521 | [[package]] 522 | name = "futures-util" 523 | version = "0.3.25" 524 | source = "registry+https://github.com/rust-lang/crates.io-index" 525 | checksum = "197676987abd2f9cadff84926f410af1c183608d36641465df73ae8211dc65d6" 526 | dependencies = [ 527 | "futures-core", 528 | "futures-io", 529 | "futures-macro", 530 | "futures-sink", 531 | "futures-task", 532 | "memchr", 533 | "pin-project-lite", 534 | "pin-utils", 535 | "slab", 536 | ] 537 | 538 | [[package]] 539 | name = "globset" 540 | version = "0.4.10" 541 | source = "registry+https://github.com/rust-lang/crates.io-index" 542 | checksum = "029d74589adefde59de1a0c4f4732695c32805624aec7b68d91503d4dba79afc" 543 | dependencies = [ 544 | "aho-corasick", 545 | "bstr", 546 | "fnv", 547 | "log", 548 | "regex", 549 | ] 550 | 551 | [[package]] 552 | name = "grep-cli" 553 | version = "0.1.7" 554 | source = "registry+https://github.com/rust-lang/crates.io-index" 555 | checksum = "d19fc6687bc64b6719a839cd24f2c700bcb05ffeb684d19da6a637c2455a7ba1" 556 | dependencies = [ 557 | "atty", 558 | "bstr", 559 | "globset", 560 | "lazy_static", 561 | "log", 562 | "regex", 563 | "same-file", 564 | "termcolor", 565 | "winapi-util", 566 | ] 567 | 568 | [[package]] 569 | name = "hashbrown" 570 | version = "0.12.3" 571 | source = "registry+https://github.com/rust-lang/crates.io-index" 572 | checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" 573 | 574 | [[package]] 575 | name = "heck" 576 | version = "0.4.1" 577 | source = "registry+https://github.com/rust-lang/crates.io-index" 578 | checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" 579 | 580 | [[package]] 581 | name = "hermit-abi" 582 | version = "0.1.19" 583 | source = "registry+https://github.com/rust-lang/crates.io-index" 584 | checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" 585 | dependencies = [ 586 | "libc", 587 | ] 588 | 589 | [[package]] 590 | name = "hermit-abi" 591 | version = "0.3.1" 592 | source = "registry+https://github.com/rust-lang/crates.io-index" 593 | checksum = "fed44880c466736ef9a5c5b5facefb5ed0785676d0c02d612db14e54f0d84286" 594 | 595 | [[package]] 596 | name = "home" 597 | version = "0.5.4" 598 | source = "registry+https://github.com/rust-lang/crates.io-index" 599 | checksum = "747309b4b440c06d57b0b25f2aee03ee9b5e5397d288c60e21fc709bb98a7408" 600 | dependencies = [ 601 | "winapi", 602 | ] 603 | 604 | [[package]] 605 | name = "http" 606 | version = "0.2.8" 607 | source = "registry+https://github.com/rust-lang/crates.io-index" 608 | checksum = "75f43d41e26995c17e71ee126451dd3941010b0514a81a9d11f3b341debc2399" 609 | dependencies = [ 610 | "bytes", 611 | "fnv", 612 | "itoa", 613 | ] 614 | 615 | [[package]] 616 | name = "idna" 617 | version = "0.3.0" 618 | source = "registry+https://github.com/rust-lang/crates.io-index" 619 | checksum = "e14ddfc70884202db2244c223200c204c2bda1bc6e0998d11b5e024d657209e6" 620 | dependencies = [ 621 | "unicode-bidi", 622 | "unicode-normalization", 623 | ] 624 | 625 | [[package]] 626 | name = "indexmap" 627 | version = "1.9.2" 628 | source = "registry+https://github.com/rust-lang/crates.io-index" 629 | checksum = "1885e79c1fc4b10f0e172c475f458b7f7b93061064d98c3293e98c5ba0c8b399" 630 | dependencies = [ 631 | "autocfg", 632 | "hashbrown", 633 | ] 634 | 635 | [[package]] 636 | name = "instant" 637 | version = "0.1.12" 638 | source = "registry+https://github.com/rust-lang/crates.io-index" 639 | checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" 640 | dependencies = [ 641 | "cfg-if 1.0.0", 642 | ] 643 | 644 | [[package]] 645 | name = "io-lifetimes" 646 | version = "1.0.5" 647 | source = "registry+https://github.com/rust-lang/crates.io-index" 648 | checksum = "1abeb7a0dd0f8181267ff8adc397075586500b81b28a73e8a0208b00fc170fb3" 649 | dependencies = [ 650 | "libc", 651 | "windows-sys 0.45.0", 652 | ] 653 | 654 | [[package]] 655 | name = "is-terminal" 656 | version = "0.4.3" 657 | source = "registry+https://github.com/rust-lang/crates.io-index" 658 | checksum = "22e18b0a45d56fe973d6db23972bf5bc46f988a4a2385deac9cc29572f09daef" 659 | dependencies = [ 660 | "hermit-abi 0.3.1", 661 | "io-lifetimes", 662 | "rustix", 663 | "windows-sys 0.45.0", 664 | ] 665 | 666 | [[package]] 667 | name = "itoa" 668 | version = "1.0.5" 669 | source = "registry+https://github.com/rust-lang/crates.io-index" 670 | checksum = "fad582f4b9e86b6caa621cabeb0963332d92eea04729ab12892c2533951e6440" 671 | 672 | [[package]] 673 | name = "js-sys" 674 | version = "0.3.60" 675 | source = "registry+https://github.com/rust-lang/crates.io-index" 676 | checksum = "49409df3e3bf0856b916e2ceaca09ee28e6871cf7d9ce97a692cacfdb2a25a47" 677 | dependencies = [ 678 | "wasm-bindgen", 679 | ] 680 | 681 | [[package]] 682 | name = "lazy_static" 683 | version = "1.4.0" 684 | source = "registry+https://github.com/rust-lang/crates.io-index" 685 | checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" 686 | 687 | [[package]] 688 | name = "libc" 689 | version = "0.2.139" 690 | source = "registry+https://github.com/rust-lang/crates.io-index" 691 | checksum = "201de327520df007757c1f0adce6e827fe8562fbc28bfd9c15571c66ca1f5f79" 692 | 693 | [[package]] 694 | name = "linked-hash-map" 695 | version = "0.5.6" 696 | source = "registry+https://github.com/rust-lang/crates.io-index" 697 | checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f" 698 | 699 | [[package]] 700 | name = "linux-raw-sys" 701 | version = "0.1.4" 702 | source = "registry+https://github.com/rust-lang/crates.io-index" 703 | checksum = "f051f77a7c8e6957c0696eac88f26b0117e54f52d3fc682ab19397a8812846a4" 704 | 705 | [[package]] 706 | name = "log" 707 | version = "0.4.17" 708 | source = "registry+https://github.com/rust-lang/crates.io-index" 709 | checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e" 710 | dependencies = [ 711 | "cfg-if 1.0.0", 712 | ] 713 | 714 | [[package]] 715 | name = "matchit" 716 | version = "0.4.6" 717 | source = "registry+https://github.com/rust-lang/crates.io-index" 718 | checksum = "9376a4f0340565ad675d11fc1419227faf5f60cd7ac9cb2e7185a471f30af833" 719 | 720 | [[package]] 721 | name = "memchr" 722 | version = "2.5.0" 723 | source = "registry+https://github.com/rust-lang/crates.io-index" 724 | checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" 725 | 726 | [[package]] 727 | name = "miniz_oxide" 728 | version = "0.6.2" 729 | source = "registry+https://github.com/rust-lang/crates.io-index" 730 | checksum = "b275950c28b37e794e8c55d88aeb5e139d0ce23fdbbeda68f8d7174abdf9e8fa" 731 | dependencies = [ 732 | "adler", 733 | ] 734 | 735 | [[package]] 736 | name = "nom8" 737 | version = "0.2.0" 738 | source = "registry+https://github.com/rust-lang/crates.io-index" 739 | checksum = "ae01545c9c7fc4486ab7debaf2aad7003ac19431791868fb2e8066df97fad2f8" 740 | dependencies = [ 741 | "memchr", 742 | ] 743 | 744 | [[package]] 745 | name = "num-integer" 746 | version = "0.1.45" 747 | source = "registry+https://github.com/rust-lang/crates.io-index" 748 | checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9" 749 | dependencies = [ 750 | "autocfg", 751 | "num-traits", 752 | ] 753 | 754 | [[package]] 755 | name = "num-traits" 756 | version = "0.2.15" 757 | source = "registry+https://github.com/rust-lang/crates.io-index" 758 | checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd" 759 | dependencies = [ 760 | "autocfg", 761 | ] 762 | 763 | [[package]] 764 | name = "once_cell" 765 | version = "1.17.0" 766 | source = "registry+https://github.com/rust-lang/crates.io-index" 767 | checksum = "6f61fba1741ea2b3d6a1e3178721804bb716a68a6aeba1149b5d52e3d464ea66" 768 | 769 | [[package]] 770 | name = "os_str_bytes" 771 | version = "6.4.1" 772 | source = "registry+https://github.com/rust-lang/crates.io-index" 773 | checksum = "9b7820b9daea5457c9f21c69448905d723fbd21136ccf521748f23fd49e723ee" 774 | 775 | [[package]] 776 | name = "pages" 777 | version = "0.1.0" 778 | dependencies = [ 779 | "worker", 780 | ] 781 | 782 | [[package]] 783 | name = "parse-zoneinfo" 784 | version = "0.3.0" 785 | source = "registry+https://github.com/rust-lang/crates.io-index" 786 | checksum = "c705f256449c60da65e11ff6626e0c16a0a0b96aaa348de61376b249bc340f41" 787 | dependencies = [ 788 | "regex", 789 | ] 790 | 791 | [[package]] 792 | name = "path_abs" 793 | version = "0.5.1" 794 | source = "registry+https://github.com/rust-lang/crates.io-index" 795 | checksum = "05ef02f6342ac01d8a93b65f96db53fe68a92a15f41144f97fb00a9e669633c3" 796 | dependencies = [ 797 | "std_prelude", 798 | ] 799 | 800 | [[package]] 801 | name = "percent-encoding" 802 | version = "2.2.0" 803 | source = "registry+https://github.com/rust-lang/crates.io-index" 804 | checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e" 805 | 806 | [[package]] 807 | name = "pest" 808 | version = "2.5.5" 809 | source = "registry+https://github.com/rust-lang/crates.io-index" 810 | checksum = "028accff104c4e513bad663bbcd2ad7cfd5304144404c31ed0a77ac103d00660" 811 | dependencies = [ 812 | "thiserror", 813 | "ucd-trie", 814 | ] 815 | 816 | [[package]] 817 | name = "phf" 818 | version = "0.11.1" 819 | source = "registry+https://github.com/rust-lang/crates.io-index" 820 | checksum = "928c6535de93548188ef63bb7c4036bd415cd8f36ad25af44b9789b2ee72a48c" 821 | dependencies = [ 822 | "phf_shared", 823 | ] 824 | 825 | [[package]] 826 | name = "phf_codegen" 827 | version = "0.11.1" 828 | source = "registry+https://github.com/rust-lang/crates.io-index" 829 | checksum = "a56ac890c5e3ca598bbdeaa99964edb5b0258a583a9eb6ef4e89fc85d9224770" 830 | dependencies = [ 831 | "phf_generator", 832 | "phf_shared", 833 | ] 834 | 835 | [[package]] 836 | name = "phf_generator" 837 | version = "0.11.1" 838 | source = "registry+https://github.com/rust-lang/crates.io-index" 839 | checksum = "b1181c94580fa345f50f19d738aaa39c0ed30a600d95cb2d3e23f94266f14fbf" 840 | dependencies = [ 841 | "phf_shared", 842 | "rand", 843 | ] 844 | 845 | [[package]] 846 | name = "phf_shared" 847 | version = "0.11.1" 848 | source = "registry+https://github.com/rust-lang/crates.io-index" 849 | checksum = "e1fb5f6f826b772a8d4c0394209441e7d37cbbb967ae9c7e0e8134365c9ee676" 850 | dependencies = [ 851 | "siphasher", 852 | "uncased", 853 | ] 854 | 855 | [[package]] 856 | name = "pin-project" 857 | version = "1.0.12" 858 | source = "registry+https://github.com/rust-lang/crates.io-index" 859 | checksum = "ad29a609b6bcd67fee905812e544992d216af9d755757c05ed2d0e15a74c6ecc" 860 | dependencies = [ 861 | "pin-project-internal", 862 | ] 863 | 864 | [[package]] 865 | name = "pin-project-internal" 866 | version = "1.0.12" 867 | source = "registry+https://github.com/rust-lang/crates.io-index" 868 | checksum = "069bdb1e05adc7a8990dce9cc75370895fbe4e3d58b9b73bf1aee56359344a55" 869 | dependencies = [ 870 | "proc-macro2", 871 | "quote", 872 | "syn", 873 | ] 874 | 875 | [[package]] 876 | name = "pin-project-lite" 877 | version = "0.2.9" 878 | source = "registry+https://github.com/rust-lang/crates.io-index" 879 | checksum = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116" 880 | 881 | [[package]] 882 | name = "pin-utils" 883 | version = "0.1.0" 884 | source = "registry+https://github.com/rust-lang/crates.io-index" 885 | checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" 886 | 887 | [[package]] 888 | name = "prettyplease" 889 | version = "0.1.23" 890 | source = "registry+https://github.com/rust-lang/crates.io-index" 891 | checksum = "e97e3215779627f01ee256d2fad52f3d95e8e1c11e9fc6fd08f7cd455d5d5c78" 892 | dependencies = [ 893 | "proc-macro2", 894 | "syn", 895 | ] 896 | 897 | [[package]] 898 | name = "proc-macro-error" 899 | version = "1.0.4" 900 | source = "registry+https://github.com/rust-lang/crates.io-index" 901 | checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" 902 | dependencies = [ 903 | "proc-macro-error-attr", 904 | "proc-macro2", 905 | "quote", 906 | "syn", 907 | "version_check", 908 | ] 909 | 910 | [[package]] 911 | name = "proc-macro-error-attr" 912 | version = "1.0.4" 913 | source = "registry+https://github.com/rust-lang/crates.io-index" 914 | checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" 915 | dependencies = [ 916 | "proc-macro2", 917 | "quote", 918 | "version_check", 919 | ] 920 | 921 | [[package]] 922 | name = "proc-macro2" 923 | version = "1.0.50" 924 | source = "registry+https://github.com/rust-lang/crates.io-index" 925 | checksum = "6ef7d57beacfaf2d8aee5937dab7b7f28de3cb8b1828479bb5de2a7106f2bae2" 926 | dependencies = [ 927 | "unicode-ident", 928 | ] 929 | 930 | [[package]] 931 | name = "quote" 932 | version = "1.0.23" 933 | source = "registry+https://github.com/rust-lang/crates.io-index" 934 | checksum = "8856d8364d252a14d474036ea1358d63c9e6965c8e5c1885c18f73d70bff9c7b" 935 | dependencies = [ 936 | "proc-macro2", 937 | ] 938 | 939 | [[package]] 940 | name = "rand" 941 | version = "0.8.5" 942 | source = "registry+https://github.com/rust-lang/crates.io-index" 943 | checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" 944 | dependencies = [ 945 | "rand_core", 946 | ] 947 | 948 | [[package]] 949 | name = "rand_core" 950 | version = "0.6.4" 951 | source = "registry+https://github.com/rust-lang/crates.io-index" 952 | checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" 953 | 954 | [[package]] 955 | name = "redox_syscall" 956 | version = "0.2.16" 957 | source = "registry+https://github.com/rust-lang/crates.io-index" 958 | checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" 959 | dependencies = [ 960 | "bitflags", 961 | ] 962 | 963 | [[package]] 964 | name = "regex" 965 | version = "1.7.1" 966 | source = "registry+https://github.com/rust-lang/crates.io-index" 967 | checksum = "48aaa5748ba571fb95cd2c85c09f629215d3a6ece942baa100950af03a34f733" 968 | dependencies = [ 969 | "aho-corasick", 970 | "memchr", 971 | "regex-syntax", 972 | ] 973 | 974 | [[package]] 975 | name = "regex-automata" 976 | version = "0.1.10" 977 | source = "registry+https://github.com/rust-lang/crates.io-index" 978 | checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132" 979 | 980 | [[package]] 981 | name = "regex-syntax" 982 | version = "0.6.28" 983 | source = "registry+https://github.com/rust-lang/crates.io-index" 984 | checksum = "456c603be3e8d448b072f410900c09faf164fbce2d480456f50eea6e25f9c848" 985 | 986 | [[package]] 987 | name = "remove_dir_all" 988 | version = "0.5.3" 989 | source = "registry+https://github.com/rust-lang/crates.io-index" 990 | checksum = "3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7" 991 | dependencies = [ 992 | "winapi", 993 | ] 994 | 995 | [[package]] 996 | name = "rgb" 997 | version = "0.8.36" 998 | source = "registry+https://github.com/rust-lang/crates.io-index" 999 | checksum = "20ec2d3e3fc7a92ced357df9cebd5a10b6fb2aa1ee797bf7e9ce2f17dffc8f59" 1000 | dependencies = [ 1001 | "bytemuck", 1002 | ] 1003 | 1004 | [[package]] 1005 | name = "router" 1006 | version = "0.1.0" 1007 | dependencies = [ 1008 | "pages", 1009 | "worker", 1010 | ] 1011 | 1012 | [[package]] 1013 | name = "rustix" 1014 | version = "0.36.8" 1015 | source = "registry+https://github.com/rust-lang/crates.io-index" 1016 | checksum = "f43abb88211988493c1abb44a70efa56ff0ce98f233b7b276146f1f3f7ba9644" 1017 | dependencies = [ 1018 | "bitflags", 1019 | "errno", 1020 | "io-lifetimes", 1021 | "libc", 1022 | "linux-raw-sys", 1023 | "windows-sys 0.45.0", 1024 | ] 1025 | 1026 | [[package]] 1027 | name = "ryu" 1028 | version = "1.0.12" 1029 | source = "registry+https://github.com/rust-lang/crates.io-index" 1030 | checksum = "7b4b9743ed687d4b4bcedf9ff5eaa7398495ae14e61cba0a295704edbc7decde" 1031 | 1032 | [[package]] 1033 | name = "same-file" 1034 | version = "1.0.6" 1035 | source = "registry+https://github.com/rust-lang/crates.io-index" 1036 | checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" 1037 | dependencies = [ 1038 | "winapi-util", 1039 | ] 1040 | 1041 | [[package]] 1042 | name = "semver" 1043 | version = "0.11.0" 1044 | source = "registry+https://github.com/rust-lang/crates.io-index" 1045 | checksum = "f301af10236f6df4160f7c3f04eec6dbc70ace82d23326abad5edee88801c6b6" 1046 | dependencies = [ 1047 | "semver-parser", 1048 | ] 1049 | 1050 | [[package]] 1051 | name = "semver" 1052 | version = "1.0.16" 1053 | source = "registry+https://github.com/rust-lang/crates.io-index" 1054 | checksum = "58bc9567378fc7690d6b2addae4e60ac2eeea07becb2c64b9f218b53865cba2a" 1055 | 1056 | [[package]] 1057 | name = "semver-parser" 1058 | version = "0.10.2" 1059 | source = "registry+https://github.com/rust-lang/crates.io-index" 1060 | checksum = "00b0bef5b7f9e0df16536d3961cfb6e84331c065b4066afb39768d0e319411f7" 1061 | dependencies = [ 1062 | "pest", 1063 | ] 1064 | 1065 | [[package]] 1066 | name = "serde" 1067 | version = "1.0.152" 1068 | source = "registry+https://github.com/rust-lang/crates.io-index" 1069 | checksum = "bb7d1f0d3021d347a83e556fc4683dea2ea09d87bccdf88ff5c12545d89d5efb" 1070 | dependencies = [ 1071 | "serde_derive", 1072 | ] 1073 | 1074 | [[package]] 1075 | name = "serde_derive" 1076 | version = "1.0.152" 1077 | source = "registry+https://github.com/rust-lang/crates.io-index" 1078 | checksum = "af487d118eecd09402d70a5d72551860e788df87b464af30e5ea6a38c75c541e" 1079 | dependencies = [ 1080 | "proc-macro2", 1081 | "quote", 1082 | "syn", 1083 | ] 1084 | 1085 | [[package]] 1086 | name = "serde_json" 1087 | version = "1.0.91" 1088 | source = "registry+https://github.com/rust-lang/crates.io-index" 1089 | checksum = "877c235533714907a8c2464236f5c4b2a17262ef1bd71f38f35ea592c8da6883" 1090 | dependencies = [ 1091 | "itoa", 1092 | "ryu", 1093 | "serde", 1094 | ] 1095 | 1096 | [[package]] 1097 | name = "serde_spanned" 1098 | version = "0.6.1" 1099 | source = "registry+https://github.com/rust-lang/crates.io-index" 1100 | checksum = "0efd8caf556a6cebd3b285caf480045fcc1ac04f6bd786b09a6f11af30c4fcf4" 1101 | dependencies = [ 1102 | "serde", 1103 | ] 1104 | 1105 | [[package]] 1106 | name = "serde_yaml" 1107 | version = "0.8.26" 1108 | source = "registry+https://github.com/rust-lang/crates.io-index" 1109 | checksum = "578a7433b776b56a35785ed5ce9a7e777ac0598aac5a6dd1b4b18a307c7fc71b" 1110 | dependencies = [ 1111 | "indexmap", 1112 | "ryu", 1113 | "serde", 1114 | "yaml-rust", 1115 | ] 1116 | 1117 | [[package]] 1118 | name = "shell-words" 1119 | version = "1.1.0" 1120 | source = "registry+https://github.com/rust-lang/crates.io-index" 1121 | checksum = "24188a676b6ae68c3b2cb3a01be17fbf7240ce009799bb56d5b1409051e78fde" 1122 | 1123 | [[package]] 1124 | name = "siphasher" 1125 | version = "0.3.10" 1126 | source = "registry+https://github.com/rust-lang/crates.io-index" 1127 | checksum = "7bd3e3206899af3f8b12af284fafc038cc1dc2b41d1b89dd17297221c5d225de" 1128 | 1129 | [[package]] 1130 | name = "slab" 1131 | version = "0.4.7" 1132 | source = "registry+https://github.com/rust-lang/crates.io-index" 1133 | checksum = "4614a76b2a8be0058caa9dbbaf66d988527d86d003c11a94fbd335d7661edcef" 1134 | dependencies = [ 1135 | "autocfg", 1136 | ] 1137 | 1138 | [[package]] 1139 | name = "std_prelude" 1140 | version = "0.2.12" 1141 | source = "registry+https://github.com/rust-lang/crates.io-index" 1142 | checksum = "8207e78455ffdf55661170876f88daf85356e4edd54e0a3dbc79586ca1e50cbe" 1143 | 1144 | [[package]] 1145 | name = "strsim" 1146 | version = "0.10.0" 1147 | source = "registry+https://github.com/rust-lang/crates.io-index" 1148 | checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" 1149 | 1150 | [[package]] 1151 | name = "syn" 1152 | version = "1.0.107" 1153 | source = "registry+https://github.com/rust-lang/crates.io-index" 1154 | checksum = "1f4064b5b16e03ae50984a5a8ed5d4f8803e6bc1fd170a3cda91a1be4b18e3f5" 1155 | dependencies = [ 1156 | "proc-macro2", 1157 | "quote", 1158 | "unicode-ident", 1159 | ] 1160 | 1161 | [[package]] 1162 | name = "syn-select" 1163 | version = "0.2.1" 1164 | source = "registry+https://github.com/rust-lang/crates.io-index" 1165 | checksum = "5341d05f60821d430a8a7a452b9e267a8c675da4ad1801e7c0a01566c4a4ba48" 1166 | dependencies = [ 1167 | "syn", 1168 | ] 1169 | 1170 | [[package]] 1171 | name = "syntect" 1172 | version = "5.0.0" 1173 | source = "registry+https://github.com/rust-lang/crates.io-index" 1174 | checksum = "c6c454c27d9d7d9a84c7803aaa3c50cd088d2906fe3c6e42da3209aa623576a8" 1175 | dependencies = [ 1176 | "bincode", 1177 | "bitflags", 1178 | "fancy-regex", 1179 | "flate2", 1180 | "fnv", 1181 | "lazy_static", 1182 | "once_cell", 1183 | "regex-syntax", 1184 | "serde", 1185 | "serde_derive", 1186 | "serde_json", 1187 | "thiserror", 1188 | "walkdir", 1189 | ] 1190 | 1191 | [[package]] 1192 | name = "tempfile" 1193 | version = "3.3.0" 1194 | source = "registry+https://github.com/rust-lang/crates.io-index" 1195 | checksum = "5cdb1ef4eaeeaddc8fbd371e5017057064af0911902ef36b39801f67cc6d79e4" 1196 | dependencies = [ 1197 | "cfg-if 1.0.0", 1198 | "fastrand", 1199 | "libc", 1200 | "redox_syscall", 1201 | "remove_dir_all", 1202 | "winapi", 1203 | ] 1204 | 1205 | [[package]] 1206 | name = "termcolor" 1207 | version = "1.2.0" 1208 | source = "registry+https://github.com/rust-lang/crates.io-index" 1209 | checksum = "be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6" 1210 | dependencies = [ 1211 | "winapi-util", 1212 | ] 1213 | 1214 | [[package]] 1215 | name = "thiserror" 1216 | version = "1.0.38" 1217 | source = "registry+https://github.com/rust-lang/crates.io-index" 1218 | checksum = "6a9cd18aa97d5c45c6603caea1da6628790b37f7a34b6ca89522331c5180fed0" 1219 | dependencies = [ 1220 | "thiserror-impl", 1221 | ] 1222 | 1223 | [[package]] 1224 | name = "thiserror-impl" 1225 | version = "1.0.38" 1226 | source = "registry+https://github.com/rust-lang/crates.io-index" 1227 | checksum = "1fb327af4685e4d03fa8cbcf1716380da910eeb2bb8be417e7f9fd3fb164f36f" 1228 | dependencies = [ 1229 | "proc-macro2", 1230 | "quote", 1231 | "syn", 1232 | ] 1233 | 1234 | [[package]] 1235 | name = "tinyvec" 1236 | version = "1.6.0" 1237 | source = "registry+https://github.com/rust-lang/crates.io-index" 1238 | checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50" 1239 | dependencies = [ 1240 | "tinyvec_macros", 1241 | ] 1242 | 1243 | [[package]] 1244 | name = "tinyvec_macros" 1245 | version = "0.1.0" 1246 | source = "registry+https://github.com/rust-lang/crates.io-index" 1247 | checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c" 1248 | 1249 | [[package]] 1250 | name = "todo-worker" 1251 | version = "0.0.0" 1252 | dependencies = [ 1253 | "anyhow", 1254 | "base64", 1255 | "cargo-expand", 1256 | "cfg-if 0.1.10", 1257 | "console_error_panic_hook", 1258 | "pages", 1259 | "router", 1260 | "syn", 1261 | "walkdir", 1262 | "worker", 1263 | ] 1264 | 1265 | [[package]] 1266 | name = "toml" 1267 | version = "0.7.2" 1268 | source = "registry+https://github.com/rust-lang/crates.io-index" 1269 | checksum = "f7afcae9e3f0fe2c370fd4657108972cbb2fa9db1b9f84849cefd80741b01cb6" 1270 | dependencies = [ 1271 | "serde", 1272 | "serde_spanned", 1273 | "toml_datetime", 1274 | "toml_edit", 1275 | ] 1276 | 1277 | [[package]] 1278 | name = "toml_datetime" 1279 | version = "0.6.1" 1280 | source = "registry+https://github.com/rust-lang/crates.io-index" 1281 | checksum = "3ab8ed2edee10b50132aed5f331333428b011c99402b5a534154ed15746f9622" 1282 | dependencies = [ 1283 | "serde", 1284 | ] 1285 | 1286 | [[package]] 1287 | name = "toml_edit" 1288 | version = "0.19.3" 1289 | source = "registry+https://github.com/rust-lang/crates.io-index" 1290 | checksum = "5e6a7712b49e1775fb9a7b998de6635b299237f48b404dde71704f2e0e7f37e5" 1291 | dependencies = [ 1292 | "indexmap", 1293 | "nom8", 1294 | "serde", 1295 | "serde_spanned", 1296 | "toml_datetime", 1297 | ] 1298 | 1299 | [[package]] 1300 | name = "toolchain_find" 1301 | version = "0.2.0" 1302 | source = "registry+https://github.com/rust-lang/crates.io-index" 1303 | checksum = "5e85654a10e7a07a47c6f19d93818f3f343e22927f2fa280c84f7c8042743413" 1304 | dependencies = [ 1305 | "home", 1306 | "lazy_static", 1307 | "regex", 1308 | "semver 0.11.0", 1309 | "walkdir", 1310 | ] 1311 | 1312 | [[package]] 1313 | name = "ucd-trie" 1314 | version = "0.1.5" 1315 | source = "registry+https://github.com/rust-lang/crates.io-index" 1316 | checksum = "9e79c4d996edb816c91e4308506774452e55e95c3c9de07b6729e17e15a5ef81" 1317 | 1318 | [[package]] 1319 | name = "uncased" 1320 | version = "0.9.7" 1321 | source = "registry+https://github.com/rust-lang/crates.io-index" 1322 | checksum = "09b01702b0fd0b3fadcf98e098780badda8742d4f4a7676615cad90e8ac73622" 1323 | dependencies = [ 1324 | "version_check", 1325 | ] 1326 | 1327 | [[package]] 1328 | name = "unicode-bidi" 1329 | version = "0.3.10" 1330 | source = "registry+https://github.com/rust-lang/crates.io-index" 1331 | checksum = "d54675592c1dbefd78cbd98db9bacd89886e1ca50692a0692baefffdeb92dd58" 1332 | 1333 | [[package]] 1334 | name = "unicode-ident" 1335 | version = "1.0.6" 1336 | source = "registry+https://github.com/rust-lang/crates.io-index" 1337 | checksum = "84a22b9f218b40614adcb3f4ff08b703773ad44fa9423e4e0d346d5db86e4ebc" 1338 | 1339 | [[package]] 1340 | name = "unicode-normalization" 1341 | version = "0.1.22" 1342 | source = "registry+https://github.com/rust-lang/crates.io-index" 1343 | checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921" 1344 | dependencies = [ 1345 | "tinyvec", 1346 | ] 1347 | 1348 | [[package]] 1349 | name = "unicode-width" 1350 | version = "0.1.10" 1351 | source = "registry+https://github.com/rust-lang/crates.io-index" 1352 | checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b" 1353 | 1354 | [[package]] 1355 | name = "url" 1356 | version = "2.3.1" 1357 | source = "registry+https://github.com/rust-lang/crates.io-index" 1358 | checksum = "0d68c799ae75762b8c3fe375feb6600ef5602c883c5d21eb51c09f22b83c4643" 1359 | dependencies = [ 1360 | "form_urlencoded", 1361 | "idna", 1362 | "percent-encoding", 1363 | ] 1364 | 1365 | [[package]] 1366 | name = "version_check" 1367 | version = "0.9.4" 1368 | source = "registry+https://github.com/rust-lang/crates.io-index" 1369 | checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" 1370 | 1371 | [[package]] 1372 | name = "walkdir" 1373 | version = "2.3.2" 1374 | source = "registry+https://github.com/rust-lang/crates.io-index" 1375 | checksum = "808cf2735cd4b6866113f648b791c6adc5714537bc222d9347bb203386ffda56" 1376 | dependencies = [ 1377 | "same-file", 1378 | "winapi", 1379 | "winapi-util", 1380 | ] 1381 | 1382 | [[package]] 1383 | name = "wasm-bindgen" 1384 | version = "0.2.83" 1385 | source = "registry+https://github.com/rust-lang/crates.io-index" 1386 | checksum = "eaf9f5aceeec8be17c128b2e93e031fb8a4d469bb9c4ae2d7dc1888b26887268" 1387 | dependencies = [ 1388 | "cfg-if 1.0.0", 1389 | "serde", 1390 | "serde_json", 1391 | "wasm-bindgen-macro", 1392 | ] 1393 | 1394 | [[package]] 1395 | name = "wasm-bindgen-backend" 1396 | version = "0.2.83" 1397 | source = "registry+https://github.com/rust-lang/crates.io-index" 1398 | checksum = "4c8ffb332579b0557b52d268b91feab8df3615f265d5270fec2a8c95b17c1142" 1399 | dependencies = [ 1400 | "bumpalo", 1401 | "log", 1402 | "once_cell", 1403 | "proc-macro2", 1404 | "quote", 1405 | "syn", 1406 | "wasm-bindgen-shared", 1407 | ] 1408 | 1409 | [[package]] 1410 | name = "wasm-bindgen-futures" 1411 | version = "0.4.33" 1412 | source = "registry+https://github.com/rust-lang/crates.io-index" 1413 | checksum = "23639446165ca5a5de86ae1d8896b737ae80319560fbaa4c2887b7da6e7ebd7d" 1414 | dependencies = [ 1415 | "cfg-if 1.0.0", 1416 | "js-sys", 1417 | "wasm-bindgen", 1418 | "web-sys", 1419 | ] 1420 | 1421 | [[package]] 1422 | name = "wasm-bindgen-macro" 1423 | version = "0.2.83" 1424 | source = "registry+https://github.com/rust-lang/crates.io-index" 1425 | checksum = "052be0f94026e6cbc75cdefc9bae13fd6052cdcaf532fa6c45e7ae33a1e6c810" 1426 | dependencies = [ 1427 | "quote", 1428 | "wasm-bindgen-macro-support", 1429 | ] 1430 | 1431 | [[package]] 1432 | name = "wasm-bindgen-macro-support" 1433 | version = "0.2.83" 1434 | source = "registry+https://github.com/rust-lang/crates.io-index" 1435 | checksum = "07bc0c051dc5f23e307b13285f9d75df86bfdf816c5721e573dec1f9b8aa193c" 1436 | dependencies = [ 1437 | "proc-macro2", 1438 | "quote", 1439 | "syn", 1440 | "wasm-bindgen-backend", 1441 | "wasm-bindgen-shared", 1442 | ] 1443 | 1444 | [[package]] 1445 | name = "wasm-bindgen-shared" 1446 | version = "0.2.83" 1447 | source = "registry+https://github.com/rust-lang/crates.io-index" 1448 | checksum = "1c38c045535d93ec4f0b4defec448e4291638ee608530863b1e2ba115d4fff7f" 1449 | 1450 | [[package]] 1451 | name = "wasm-streams" 1452 | version = "0.2.3" 1453 | source = "registry+https://github.com/rust-lang/crates.io-index" 1454 | checksum = "6bbae3363c08332cadccd13b67db371814cd214c2524020932f0804b8cf7c078" 1455 | dependencies = [ 1456 | "futures-util", 1457 | "js-sys", 1458 | "wasm-bindgen", 1459 | "wasm-bindgen-futures", 1460 | "web-sys", 1461 | ] 1462 | 1463 | [[package]] 1464 | name = "web-sys" 1465 | version = "0.3.60" 1466 | source = "registry+https://github.com/rust-lang/crates.io-index" 1467 | checksum = "bcda906d8be16e728fd5adc5b729afad4e444e106ab28cd1c7256e54fa61510f" 1468 | dependencies = [ 1469 | "js-sys", 1470 | "wasm-bindgen", 1471 | ] 1472 | 1473 | [[package]] 1474 | name = "winapi" 1475 | version = "0.3.9" 1476 | source = "registry+https://github.com/rust-lang/crates.io-index" 1477 | checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" 1478 | dependencies = [ 1479 | "winapi-i686-pc-windows-gnu", 1480 | "winapi-x86_64-pc-windows-gnu", 1481 | ] 1482 | 1483 | [[package]] 1484 | name = "winapi-i686-pc-windows-gnu" 1485 | version = "0.4.0" 1486 | source = "registry+https://github.com/rust-lang/crates.io-index" 1487 | checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" 1488 | 1489 | [[package]] 1490 | name = "winapi-util" 1491 | version = "0.1.5" 1492 | source = "registry+https://github.com/rust-lang/crates.io-index" 1493 | checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" 1494 | dependencies = [ 1495 | "winapi", 1496 | ] 1497 | 1498 | [[package]] 1499 | name = "winapi-x86_64-pc-windows-gnu" 1500 | version = "0.4.0" 1501 | source = "registry+https://github.com/rust-lang/crates.io-index" 1502 | checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" 1503 | 1504 | [[package]] 1505 | name = "windows-sys" 1506 | version = "0.42.0" 1507 | source = "registry+https://github.com/rust-lang/crates.io-index" 1508 | checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7" 1509 | dependencies = [ 1510 | "windows_aarch64_gnullvm", 1511 | "windows_aarch64_msvc", 1512 | "windows_i686_gnu", 1513 | "windows_i686_msvc", 1514 | "windows_x86_64_gnu", 1515 | "windows_x86_64_gnullvm", 1516 | "windows_x86_64_msvc", 1517 | ] 1518 | 1519 | [[package]] 1520 | name = "windows-sys" 1521 | version = "0.45.0" 1522 | source = "registry+https://github.com/rust-lang/crates.io-index" 1523 | checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" 1524 | dependencies = [ 1525 | "windows-targets", 1526 | ] 1527 | 1528 | [[package]] 1529 | name = "windows-targets" 1530 | version = "0.42.1" 1531 | source = "registry+https://github.com/rust-lang/crates.io-index" 1532 | checksum = "8e2522491fbfcd58cc84d47aeb2958948c4b8982e9a2d8a2a35bbaed431390e7" 1533 | dependencies = [ 1534 | "windows_aarch64_gnullvm", 1535 | "windows_aarch64_msvc", 1536 | "windows_i686_gnu", 1537 | "windows_i686_msvc", 1538 | "windows_x86_64_gnu", 1539 | "windows_x86_64_gnullvm", 1540 | "windows_x86_64_msvc", 1541 | ] 1542 | 1543 | [[package]] 1544 | name = "windows_aarch64_gnullvm" 1545 | version = "0.42.1" 1546 | source = "registry+https://github.com/rust-lang/crates.io-index" 1547 | checksum = "8c9864e83243fdec7fc9c5444389dcbbfd258f745e7853198f365e3c4968a608" 1548 | 1549 | [[package]] 1550 | name = "windows_aarch64_msvc" 1551 | version = "0.42.1" 1552 | source = "registry+https://github.com/rust-lang/crates.io-index" 1553 | checksum = "4c8b1b673ffc16c47a9ff48570a9d85e25d265735c503681332589af6253c6c7" 1554 | 1555 | [[package]] 1556 | name = "windows_i686_gnu" 1557 | version = "0.42.1" 1558 | source = "registry+https://github.com/rust-lang/crates.io-index" 1559 | checksum = "de3887528ad530ba7bdbb1faa8275ec7a1155a45ffa57c37993960277145d640" 1560 | 1561 | [[package]] 1562 | name = "windows_i686_msvc" 1563 | version = "0.42.1" 1564 | source = "registry+https://github.com/rust-lang/crates.io-index" 1565 | checksum = "bf4d1122317eddd6ff351aa852118a2418ad4214e6613a50e0191f7004372605" 1566 | 1567 | [[package]] 1568 | name = "windows_x86_64_gnu" 1569 | version = "0.42.1" 1570 | source = "registry+https://github.com/rust-lang/crates.io-index" 1571 | checksum = "c1040f221285e17ebccbc2591ffdc2d44ee1f9186324dd3e84e99ac68d699c45" 1572 | 1573 | [[package]] 1574 | name = "windows_x86_64_gnullvm" 1575 | version = "0.42.1" 1576 | source = "registry+https://github.com/rust-lang/crates.io-index" 1577 | checksum = "628bfdf232daa22b0d64fdb62b09fcc36bb01f05a3939e20ab73aaf9470d0463" 1578 | 1579 | [[package]] 1580 | name = "windows_x86_64_msvc" 1581 | version = "0.42.1" 1582 | source = "registry+https://github.com/rust-lang/crates.io-index" 1583 | checksum = "447660ad36a13288b1db4d4248e857b510e8c3a225c822ba4fb748c0aafecffd" 1584 | 1585 | [[package]] 1586 | name = "worker" 1587 | version = "0.0.12" 1588 | source = "registry+https://github.com/rust-lang/crates.io-index" 1589 | checksum = "0ca55ce51b3bf01da5a20598af220c5d3abf91f1978a50a0620ef966c39e3180" 1590 | dependencies = [ 1591 | "async-trait", 1592 | "chrono", 1593 | "chrono-tz", 1594 | "futures-channel", 1595 | "futures-util", 1596 | "http", 1597 | "js-sys", 1598 | "matchit", 1599 | "pin-project", 1600 | "serde", 1601 | "serde_json", 1602 | "url", 1603 | "wasm-bindgen", 1604 | "wasm-bindgen-futures", 1605 | "wasm-streams", 1606 | "web-sys", 1607 | "worker-kv", 1608 | "worker-macros", 1609 | "worker-sys", 1610 | ] 1611 | 1612 | [[package]] 1613 | name = "worker-kv" 1614 | version = "0.5.1" 1615 | source = "registry+https://github.com/rust-lang/crates.io-index" 1616 | checksum = "682cbd728f179cc810b2ab77a2534da817b973e190ab184ab8efe1058b0dba84" 1617 | dependencies = [ 1618 | "js-sys", 1619 | "serde", 1620 | "serde_json", 1621 | "thiserror", 1622 | "wasm-bindgen", 1623 | "wasm-bindgen-futures", 1624 | ] 1625 | 1626 | [[package]] 1627 | name = "worker-macros" 1628 | version = "0.0.6" 1629 | source = "registry+https://github.com/rust-lang/crates.io-index" 1630 | checksum = "1c29ce5a41f5e7e644bc683681b62aed3adac838e01d18eb4e02a4dc30d4ac69" 1631 | dependencies = [ 1632 | "async-trait", 1633 | "proc-macro2", 1634 | "quote", 1635 | "syn", 1636 | "wasm-bindgen", 1637 | "wasm-bindgen-futures", 1638 | "wasm-bindgen-macro-support", 1639 | "worker-sys", 1640 | ] 1641 | 1642 | [[package]] 1643 | name = "worker-sys" 1644 | version = "0.0.6" 1645 | source = "registry+https://github.com/rust-lang/crates.io-index" 1646 | checksum = "825732b9b6360d6b1f5f614248317826cebf4878e36f61ccc71ca9dd53de8b41" 1647 | dependencies = [ 1648 | "cfg-if 1.0.0", 1649 | "js-sys", 1650 | "wasm-bindgen", 1651 | "web-sys", 1652 | ] 1653 | 1654 | [[package]] 1655 | name = "yaml-rust" 1656 | version = "0.4.5" 1657 | source = "registry+https://github.com/rust-lang/crates.io-index" 1658 | checksum = "56c1936c4cc7a1c9ab21a1ebb602eb942ba868cbd44a99cb7cdc5892335e1c85" 1659 | dependencies = [ 1660 | "linked-hash-map", 1661 | ] 1662 | --------------------------------------------------------------------------------