CINXE.COM

vitejs · GitHub Topics · GitHub

<!DOCTYPE html> <html lang="en" data-color-mode="auto" data-light-theme="light" data-dark-theme="dark" data-a11y-animated-images="system" data-a11y-link-underlines="true" > <head> <meta charset="utf-8"> <link rel="dns-prefetch" href="https://github.githubassets.com"> <link rel="dns-prefetch" href="https://avatars.githubusercontent.com"> <link rel="dns-prefetch" href="https://github-cloud.s3.amazonaws.com"> <link rel="dns-prefetch" href="https://user-images.githubusercontent.com/"> <link rel="preconnect" href="https://github.githubassets.com" crossorigin> <link rel="preconnect" href="https://avatars.githubusercontent.com"> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/light-74231a1f3bbb.css" /><link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/dark-8a995f0bacd4.css" /><link data-color-theme="dark_dimmed" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_dimmed-f37fb7684b1f.css" /><link data-color-theme="dark_high_contrast" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_high_contrast-9ac301c3ebe5.css" /><link data-color-theme="dark_colorblind" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_colorblind-cd826e8636dc.css" /><link data-color-theme="light_colorblind" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_colorblind-f91b0f603451.css" /><link data-color-theme="light_high_contrast" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_high_contrast-83beb16e0ecf.css" /><link data-color-theme="light_tritanopia" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_tritanopia-6e122dab64fc.css" /><link data-color-theme="dark_tritanopia" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_tritanopia-18119e682df0.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-primitives-225433424a87.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-cba26849680f.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/global-03f97e65e478.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/github-ea73c9cb5377.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/site-3e72ff5534e0.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/explore-742a7653565b.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/dashboard-0de2bd46c6d8.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/discussions-dae9ae1a46a6.css" /> <script type="application/json" id="client-env">{"locale":"en","featureFlags":["contentful_lp_flex_features_code_review","contentful_lp_flex_features_discussions","contentful_lp_flex_features_issues","copilot_immersive_issue_preview","copilot_new_references_ui","copilot_chat_repo_custom_instructions_preview","copilot_no_floating_button","copilot_topics_as_references","copilot_read_shared_conversation","copilot_duplicate_thread","dotcom_chat_client_side_skills","experimentation_azure_variant_endpoint","failbot_handle_non_errors","geojson_azure_maps","ghost_pilot_confidence_truncation_25","ghost_pilot_confidence_truncation_40","github_models_gateway_parse_params","github_models_o3_mini_streaming","insert_before_patch","issues_react_remove_placeholders","issues_react_blur_item_picker_on_close","issues_advanced_search_nested_ownership_filters","issues_dashboard_no_redirects","marketing_pages_search_explore_provider","primer_react_css_modules_ga","react_data_router_pull_requests","react_override_default_key","remove_child_patch","sample_network_conn_type","swp_enterprise_contact_form","site_proxima_australia_update","viewscreen_sandbox","issues_react_create_milestone","issues_react_cache_fix_workaround","lifecycle_label_name_updates","copilot_task_oriented_assistive_prompts","issue_types_prevent_private_type_creation","refresh_image_video_src","react_router_dispose_on_disconnect","codespaces_prebuild_region_target_update","turbo_app_id_restore","copilot_code_review_sign_up_closed"]}</script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/wp-runtime-8dd3afc98b84.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_oddbird_popover-polyfill_dist_popover_js-9da652f58479.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_arianotify-polyfill_ariaNotify-polyfill_js-node_modules_github_mi-3abb8f-46b9f4874d95.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_failbot_failbot_ts-952d624642a1.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/environment-f04cb2a9fc8c.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_primer_behaviors_dist_esm_index_mjs-0dbb79f97f8f.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_selector-observer_dist_index_esm_js-f690fd9ae3d5.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_relative-time-element_dist_index_js-62d275b7ddd9.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_text-expander-element_dist_index_js-78748950cb0c.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_auto-complete-element_dist_index_js-node_modules_github_catalyst_-8e9f78-a90ac05d2469.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_filter-input-element_dist_index_js-node_modules_github_remote-inp-b5f1d7-a1760ffda83d.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_markdown-toolbar-element_dist_index_js-ceef33f593fa.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_file-attachment-element_dist_index_js-node_modules_primer_view-co-c44a69-efa32db3a345.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/github-elements-394f8eb34f19.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/element-registry-fdc7225e42cc.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_braintree_browser-detection_dist_browser-detection_js-node_modules_githu-2906d7-2a07a295af40.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_lit-html_lit-html_js-be8cb88f481b.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_mini-throttle_dist_index_js-node_modules_morphdom_dist_morphdom-e-7c534c-a4a1922eb55f.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_turbo_dist_turbo_es2017-esm_js-a03ee12d659a.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_remote-form_dist_index_js-node_modules_delegated-events_dist_inde-893f9f-b6294cf703b7.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_color-convert_index_js-e3180fe3bcb3.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_quote-selection_dist_index_js-node_modules_github_session-resume_-947061-e7a6c4a19f98.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_updatable-content_updatable-content_ts-62f3e9c52ece.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_github_behaviors_task-list_ts-app_assets_modules_github_sso_ts-ui_packages-900dde-768abe60b1f8.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_github_sticky-scroll-into-view_ts-3e000c5d31a9.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_github_behaviors_ajax-error_ts-app_assets_modules_github_behaviors_include-87a4ae-eda74b9de9cd.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_github_behaviors_commenting_edit_ts-app_assets_modules_github_behaviors_ht-83c235-e429cff6ceb1.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/behaviors-c92ce7c6a557.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_delegated-events_dist_index_js-node_modules_github_catalyst_lib_index_js-f6223d90c7ba.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/notifications-global-01e85cd1be94.js"></script> <title>vitejs · GitHub Topics · GitHub</title> <meta name="route-pattern" content="/topics/:topic_name(.:format)" data-turbo-transient> <meta name="route-controller" content="topics" data-turbo-transient> <meta name="route-action" content="show" data-turbo-transient> <meta name="current-catalog-service-hash" content="82c569b93da5c18ed649ebd4c2c79437db4611a6a1373e805a3cb001c64130b7"> <meta name="request-id" content="ED64:12252A:7E1DD:A0F3C:67EED521" data-pjax-transient="true"/><meta name="html-safe-nonce" content="3cb85c5ea93e14c442f5a01048b4a4dd2e7f2d7f903dc6cad741e5eeb74dcce5" data-pjax-transient="true"/><meta name="visitor-payload" content="eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJFRDY0OjEyMjUyQTo3RTFERDpBMEYzQzo2N0VFRDUyMSIsInZpc2l0b3JfaWQiOiIyNTk4NTc0ODA0ODkzMDk1MjAxIiwicmVnaW9uX2VkZ2UiOiJzb3V0aGVhc3Rhc2lhIiwicmVnaW9uX3JlbmRlciI6InNvdXRoZWFzdGFzaWEifQ==" data-pjax-transient="true"/><meta name="visitor-hmac" content="7deffbd0ce181162b60a67a9d521d1b5a41e5a2f78dcd5fdc07c6b605bfb8392" data-pjax-transient="true"/> <meta name="github-keyboard-shortcuts" content="copilot" data-turbo-transient="true" /> <meta name="selected-link" value="/topics/vitejs" data-turbo-transient> <link rel="assets" href="https://github.githubassets.com/"> <meta name="google-site-verification" content="Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I"> <meta name="octolytics-url" content="https://collector.github.com/github/collect" /> <meta name="user-login" content=""> <meta name="viewport" content="width=device-width"> <meta name="description" content="GitHub is where people build software. More than 150 million people use GitHub to discover, fork, and contribute to over 420 million projects."> <link rel="search" type="application/opensearchdescription+xml" href="/opensearch.xml" title="GitHub"> <link rel="fluid-icon" href="https://github.com/fluidicon.png" title="GitHub"> <meta property="fb:app_id" content="1401488693436528"> <meta name="apple-itunes-app" content="app-id=1477376905, app-argument=https://github.com/topics/vitejs" /> <meta property="og:url" content="https://github.com"> <meta property="og:site_name" content="GitHub"> <meta property="og:title" content="Build software better, together"> <meta property="og:description" content="GitHub is where people build software. More than 150 million people use GitHub to discover, fork, and contribute to over 420 million projects."> <meta property="og:image" content="https://github.githubassets.com/assets/github-logo-55c5b9a1fe52.png"> <meta property="og:image:type" content="image/png"> <meta property="og:image:width" content="1200"> <meta property="og:image:height" content="1200"> <meta property="og:image" content="https://github.githubassets.com/assets/github-mark-57519b92ca4e.png"> <meta property="og:image:type" content="image/png"> <meta property="og:image:width" content="1200"> <meta property="og:image:height" content="620"> <meta property="og:image" content="https://github.githubassets.com/assets/github-octocat-13c86b8b336d.png"> <meta property="og:image:type" content="image/png"> <meta property="og:image:width" content="1200"> <meta property="og:image:height" content="620"> <meta property="twitter:site" content="github"> <meta property="twitter:site:id" content="13334762"> <meta property="twitter:creator" content="github"> <meta property="twitter:creator:id" content="13334762"> <meta property="twitter:card" content="summary_large_image"> <meta property="twitter:title" content="GitHub"> <meta property="twitter:description" content="GitHub is where people build software. More than 150 million people use GitHub to discover, fork, and contribute to over 420 million projects."> <meta property="twitter:image" content="https://github.githubassets.com/assets/github-logo-55c5b9a1fe52.png"> <meta property="twitter:image:width" content="1200"> <meta property="twitter:image:height" content="1200"> <meta name="hostname" content="github.com"> <meta name="expected-hostname" content="github.com"> <meta http-equiv="x-pjax-version" content="c207793a0f54e0811e5ec4ba901df8518c054a9b750809ca85b39813a13ae59e" data-turbo-track="reload"> <meta http-equiv="x-pjax-csp-version" content="fd0fc9381f4ed5c5ca218fda13c48a4f5d10dab98b1b7af72fe31052c3b80466" data-turbo-track="reload"> <meta http-equiv="x-pjax-css-version" content="3880f621a6450d86227686dafe66b79bb840ae1d588507e3f013719db633d34a" data-turbo-track="reload"> <meta http-equiv="x-pjax-js-version" content="a25f07642bc8d8736e5aeda0019cac6f30a8880c6c6c74eae565d2e9c664453f" data-turbo-track="reload"> <meta name="turbo-cache-control" content="no-preview" data-turbo-transient=""> <meta name="turbo-body-classes" content="logged-out env-production page-responsive"> <meta name="browser-stats-url" content="https://api.github.com/_private/browser/stats"> <meta name="browser-errors-url" content="https://api.github.com/_private/browser/errors"> <meta name="release" content="8fb2f9fa180ed76a3b0bd2886c0d6d78e7d70b9e"> <link rel="mask-icon" href="https://github.githubassets.com/assets/pinned-octocat-093da3e6fa40.svg" color="#000000"> <link rel="alternate icon" class="js-site-favicon" type="image/png" href="https://github.githubassets.com/favicons/favicon.png"> <link rel="icon" class="js-site-favicon" type="image/svg+xml" href="https://github.githubassets.com/favicons/favicon.svg" data-base-href="https://github.githubassets.com/favicons/favicon"> <meta name="theme-color" content="#1e2327"> <meta name="color-scheme" content="light dark" /> <link rel="manifest" href="/manifest.json" crossOrigin="use-credentials"> </head> <body class="logged-out env-production page-responsive" style="word-wrap: break-word;"> <div data-turbo-body class="logged-out env-production page-responsive" style="word-wrap: break-word;"> <div class="position-relative header-wrapper js-header-wrapper "> <a href="#start-of-content" data-skip-target-assigned="false" class="px-2 py-4 color-bg-accent-emphasis color-fg-on-emphasis show-on-focus js-skip-to-content">Skip to content</a> <span data-view-component="true" class="progress-pjax-loader Progress position-fixed width-full"> <span style="width: 0%;" data-view-component="true" class="Progress-item progress-pjax-loader-bar left-0 top-0 color-bg-accent-emphasis"></span> </span> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/primer-react-99bc880bd101.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/react-core-25e9ddbd9991.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/react-lib-f1bca44e0926.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/octicons-react-cf2f2ab8dab4.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_emotion_is-prop-valid_dist_emotion-is-prop-valid_esm_js-node_modules_emo-434cb6-95f395b76298.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_mini-throttle_dist_index_js-node_modules_stacktrace-parser_dist_s-e7dcdd-9a233856b02c.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_oddbird_popover-polyfill_dist_popover-fn_js-55fea94174bf.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_ui-commands_ui-commands_ts-ad009fc6c345.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/keyboard-shortcuts-dialog-1edadb4bd04c.js"></script> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-react.7110f8bed75b67122d7a.module.css" /> <react-partial partial-name="keyboard-shortcuts-dialog" data-ssr="false" data-attempted-ssr="false" > <script type="application/json" data-target="react-partial.embeddedData">{"props":{"docsUrl":"https://docs.github.com/get-started/accessibility/keyboard-shortcuts"}}</script> <div data-target="react-partial.reactRoot"></div> </react-partial> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_remote-form_dist_index_js-node_modules_delegated-events_dist_inde-94fd67-4898d1bf4b51.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/sessions-45d6658f8b6b.js"></script> <header class="HeaderMktg header-logged-out js-details-container js-header Details f4 py-3" role="banner" data-is-top="true" data-color-mode=light data-light-theme=light data-dark-theme=dark> <h2 class="sr-only">Navigation Menu</h2> <button type="button" class="HeaderMktg-backdrop d-lg-none border-0 position-fixed top-0 left-0 width-full height-full js-details-target" aria-label="Toggle navigation"> <span class="d-none">Toggle navigation</span> </button> <div class="d-flex flex-column flex-lg-row flex-items-center px-3 px-md-4 px-lg-5 height-full position-relative z-1"> <div class="d-flex flex-justify-between flex-items-center width-full width-lg-auto"> <div class="flex-1"> <button aria-label="Toggle navigation" aria-expanded="false" type="button" data-view-component="true" class="js-details-target js-nav-padding-recalculate js-header-menu-toggle Button--link Button--medium Button d-lg-none color-fg-inherit p-1"> <span class="Button-content"> <span class="Button-label"><div class="HeaderMenu-toggle-bar rounded my-1"></div> <div class="HeaderMenu-toggle-bar rounded my-1"></div> <div class="HeaderMenu-toggle-bar rounded my-1"></div></span> </span> </button> </div> <a class="mr-lg-3 color-fg-inherit flex-order-2 js-prevent-focus-on-mobile-nav" href="/" aria-label="Homepage" data-analytics-event="{&quot;category&quot;:&quot;Marketing nav&quot;,&quot;action&quot;:&quot;click to go to homepage&quot;,&quot;label&quot;:&quot;ref_page:Marketing;ref_cta:Logomark;ref_loc:Header&quot;}"> <svg height="32" aria-hidden="true" viewBox="0 0 24 24" version="1.1" width="32" data-view-component="true" class="octicon octicon-mark-github"> <path d="M12 1C5.9225 1 1 5.9225 1 12C1 16.8675 4.14875 20.9787 8.52125 22.4362C9.07125 22.5325 9.2775 22.2025 9.2775 21.9137C9.2775 21.6525 9.26375 20.7862 9.26375 19.865C6.5 20.3737 5.785 19.1912 5.565 18.5725C5.44125 18.2562 4.905 17.28 4.4375 17.0187C4.0525 16.8125 3.5025 16.3037 4.42375 16.29C5.29 16.2762 5.90875 17.0875 6.115 17.4175C7.105 19.0812 8.68625 18.6137 9.31875 18.325C9.415 17.61 9.70375 17.1287 10.02 16.8537C7.5725 16.5787 5.015 15.63 5.015 11.4225C5.015 10.2262 5.44125 9.23625 6.1425 8.46625C6.0325 8.19125 5.6475 7.06375 6.2525 5.55125C6.2525 5.55125 7.17375 5.2625 9.2775 6.67875C10.1575 6.43125 11.0925 6.3075 12.0275 6.3075C12.9625 6.3075 13.8975 6.43125 14.7775 6.67875C16.8813 5.24875 17.8025 5.55125 17.8025 5.55125C18.4075 7.06375 18.0225 8.19125 17.9125 8.46625C18.6138 9.23625 19.04 10.2125 19.04 11.4225C19.04 15.6437 16.4688 16.5787 14.0213 16.8537C14.42 17.1975 14.7638 17.8575 14.7638 18.8887C14.7638 20.36 14.75 21.5425 14.75 21.9137C14.75 22.2025 14.9563 22.5462 15.5063 22.4362C19.8513 20.9787 23 16.8537 23 12C23 5.9225 18.0775 1 12 1Z"></path> </svg> </a> <div class="flex-1 flex-order-2 text-right"> <a href="/login?return_to=https%3A%2F%2Fgithub.com%2Ftopics%2Fvitejs" class="HeaderMenu-link HeaderMenu-button d-inline-flex d-lg-none flex-order-1 f5 no-underline border color-border-default rounded-2 px-2 py-1 color-fg-inherit js-prevent-focus-on-mobile-nav" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;site header menu&quot;,&quot;repository_id&quot;:null,&quot;auth_type&quot;:&quot;SIGN_UP&quot;,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="b25be8bdbb958abf8a71b5134dea05457a0d6cf45b35719e3fe9de59393e4091" data-analytics-event="{&quot;category&quot;:&quot;Marketing nav&quot;,&quot;action&quot;:&quot;click to Sign in&quot;,&quot;label&quot;:&quot;ref_page:Marketing;ref_cta:Sign in;ref_loc:Header&quot;}" > Sign in </a> </div> </div> <div class="HeaderMenu js-header-menu height-fit position-lg-relative d-lg-flex flex-column flex-auto top-0"> <div class="HeaderMenu-wrapper d-flex flex-column flex-self-start flex-lg-row flex-auto rounded rounded-lg-0"> <nav class="HeaderMenu-nav" aria-label="Global"> <ul class="d-lg-flex list-style-none"> <li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item"> <button type="button" class="HeaderMenu-link border-0 width-full width-lg-auto px-0 px-lg-2 py-lg-2 no-wrap d-flex flex-items-center flex-justify-between js-details-target" aria-expanded="false"> Product <svg opacity="0.5" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-down HeaderMenu-icon ml-1"> <path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path> </svg> </button> <div class="HeaderMenu-dropdown dropdown-menu rounded m-0 p-0 pt-2 pt-lg-4 position-relative position-lg-absolute left-0 left-lg-n3 pb-2 pb-lg-4 d-lg-flex flex-wrap dropdown-menu-wide"> <div class="HeaderMenu-column px-lg-4 border-lg-right mb-4 mb-lg-0 pr-lg-7"> <div class="border-bottom pb-3 pb-lg-0 border-lg-bottom-0"> <ul class="list-style-none f5" > <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;github_copilot&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;github_copilot_link_product_navbar&quot;}" href="https://github.com/features/copilot"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-copilot color-fg-subtle mr-3"> <path d="M23.922 16.992c-.861 1.495-5.859 5.023-11.922 5.023-6.063 0-11.061-3.528-11.922-5.023A.641.641 0 0 1 0 16.736v-2.869a.841.841 0 0 1 .053-.22c.372-.935 1.347-2.292 2.605-2.656.167-.429.414-1.055.644-1.517a10.195 10.195 0 0 1-.052-1.086c0-1.331.282-2.499 1.132-3.368.397-.406.89-.717 1.474-.952 1.399-1.136 3.392-2.093 6.122-2.093 2.731 0 4.767.957 6.166 2.093.584.235 1.077.546 1.474.952.85.869 1.132 2.037 1.132 3.368 0 .368-.014.733-.052 1.086.23.462.477 1.088.644 1.517 1.258.364 2.233 1.721 2.605 2.656a.832.832 0 0 1 .053.22v2.869a.641.641 0 0 1-.078.256ZM12.172 11h-.344a4.323 4.323 0 0 1-.355.508C10.703 12.455 9.555 13 7.965 13c-1.725 0-2.989-.359-3.782-1.259a2.005 2.005 0 0 1-.085-.104L4 11.741v6.585c1.435.779 4.514 2.179 8 2.179 3.486 0 6.565-1.4 8-2.179v-6.585l-.098-.104s-.033.045-.085.104c-.793.9-2.057 1.259-3.782 1.259-1.59 0-2.738-.545-3.508-1.492a4.323 4.323 0 0 1-.355-.508h-.016.016Zm.641-2.935c.136 1.057.403 1.913.878 2.497.442.544 1.134.938 2.344.938 1.573 0 2.292-.337 2.657-.751.384-.435.558-1.15.558-2.361 0-1.14-.243-1.847-.705-2.319-.477-.488-1.319-.862-2.824-1.025-1.487-.161-2.192.138-2.533.529-.269.307-.437.808-.438 1.578v.021c0 .265.021.562.063.893Zm-1.626 0c.042-.331.063-.628.063-.894v-.02c-.001-.77-.169-1.271-.438-1.578-.341-.391-1.046-.69-2.533-.529-1.505.163-2.347.537-2.824 1.025-.462.472-.705 1.179-.705 2.319 0 1.211.175 1.926.558 2.361.365.414 1.084.751 2.657.751 1.21 0 1.902-.394 2.344-.938.475-.584.742-1.44.878-2.497Z"></path><path d="M14.5 14.25a1 1 0 0 1 1 1v2a1 1 0 0 1-2 0v-2a1 1 0 0 1 1-1Zm-5 0a1 1 0 0 1 1 1v2a1 1 0 0 1-2 0v-2a1 1 0 0 1 1-1Z"></path> </svg> <div> <div class="color-fg-default h4">GitHub Copilot</div> Write better code with AI </div> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;github_advanced_security&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;github_advanced_security_link_product_navbar&quot;}" href="https://github.com/security/advanced-security"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-shield-check color-fg-subtle mr-3"> <path d="M16.53 9.78a.75.75 0 0 0-1.06-1.06L11 13.19l-1.97-1.97a.75.75 0 0 0-1.06 1.06l2.5 2.5a.75.75 0 0 0 1.06 0l5-5Z"></path><path d="m12.54.637 8.25 2.675A1.75 1.75 0 0 1 22 4.976V10c0 6.19-3.771 10.704-9.401 12.83a1.704 1.704 0 0 1-1.198 0C5.77 20.705 2 16.19 2 10V4.976c0-.758.489-1.43 1.21-1.664L11.46.637a1.748 1.748 0 0 1 1.08 0Zm-.617 1.426-8.25 2.676a.249.249 0 0 0-.173.237V10c0 5.46 3.28 9.483 8.43 11.426a.199.199 0 0 0 .14 0C17.22 19.483 20.5 15.461 20.5 10V4.976a.25.25 0 0 0-.173-.237l-8.25-2.676a.253.253 0 0 0-.154 0Z"></path> </svg> <div> <div class="color-fg-default h4">GitHub Advanced Security</div> Find and fix vulnerabilities </div> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;actions&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;actions_link_product_navbar&quot;}" href="https://github.com/features/actions"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-workflow color-fg-subtle mr-3"> <path d="M1 3a2 2 0 0 1 2-2h6.5a2 2 0 0 1 2 2v6.5a2 2 0 0 1-2 2H7v4.063C7 16.355 7.644 17 8.438 17H12.5v-2.5a2 2 0 0 1 2-2H21a2 2 0 0 1 2 2V21a2 2 0 0 1-2 2h-6.5a2 2 0 0 1-2-2v-2.5H8.437A2.939 2.939 0 0 1 5.5 15.562V11.5H3a2 2 0 0 1-2-2Zm2-.5a.5.5 0 0 0-.5.5v6.5a.5.5 0 0 0 .5.5h6.5a.5.5 0 0 0 .5-.5V3a.5.5 0 0 0-.5-.5ZM14.5 14a.5.5 0 0 0-.5.5V21a.5.5 0 0 0 .5.5H21a.5.5 0 0 0 .5-.5v-6.5a.5.5 0 0 0-.5-.5Z"></path> </svg> <div> <div class="color-fg-default h4">Actions</div> Automate any workflow </div> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;codespaces&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;codespaces_link_product_navbar&quot;}" href="https://github.com/features/codespaces"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-codespaces color-fg-subtle mr-3"> <path d="M3.5 3.75C3.5 2.784 4.284 2 5.25 2h13.5c.966 0 1.75.784 1.75 1.75v7.5A1.75 1.75 0 0 1 18.75 13H5.25a1.75 1.75 0 0 1-1.75-1.75Zm-2 12c0-.966.784-1.75 1.75-1.75h17.5c.966 0 1.75.784 1.75 1.75v4a1.75 1.75 0 0 1-1.75 1.75H3.25a1.75 1.75 0 0 1-1.75-1.75ZM5.25 3.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h13.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Zm-2 12a.25.25 0 0 0-.25.25v4c0 .138.112.25.25.25h17.5a.25.25 0 0 0 .25-.25v-4a.25.25 0 0 0-.25-.25Z"></path><path d="M10 17.75a.75.75 0 0 1 .75-.75h6.5a.75.75 0 0 1 0 1.5h-6.5a.75.75 0 0 1-.75-.75Zm-4 0a.75.75 0 0 1 .75-.75h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1-.75-.75Z"></path> </svg> <div> <div class="color-fg-default h4">Codespaces</div> Instant dev environments </div> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;issues&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;issues_link_product_navbar&quot;}" href="https://github.com/features/issues"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-issue-opened color-fg-subtle mr-3"> <path d="M12 1c6.075 0 11 4.925 11 11s-4.925 11-11 11S1 18.075 1 12 5.925 1 12 1ZM2.5 12a9.5 9.5 0 0 0 9.5 9.5 9.5 9.5 0 0 0 9.5-9.5A9.5 9.5 0 0 0 12 2.5 9.5 9.5 0 0 0 2.5 12Zm9.5 2a2 2 0 1 1-.001-3.999A2 2 0 0 1 12 14Z"></path> </svg> <div> <div class="color-fg-default h4">Issues</div> Plan and track work </div> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;code_review&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;code_review_link_product_navbar&quot;}" href="https://github.com/features/code-review"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-code-review color-fg-subtle mr-3"> <path d="M10.3 6.74a.75.75 0 0 1-.04 1.06l-2.908 2.7 2.908 2.7a.75.75 0 1 1-1.02 1.1l-3.5-3.25a.75.75 0 0 1 0-1.1l3.5-3.25a.75.75 0 0 1 1.06.04Zm3.44 1.06a.75.75 0 1 1 1.02-1.1l3.5 3.25a.75.75 0 0 1 0 1.1l-3.5 3.25a.75.75 0 1 1-1.02-1.1l2.908-2.7-2.908-2.7Z"></path><path d="M1.5 4.25c0-.966.784-1.75 1.75-1.75h17.5c.966 0 1.75.784 1.75 1.75v12.5a1.75 1.75 0 0 1-1.75 1.75h-9.69l-3.573 3.573A1.458 1.458 0 0 1 5 21.043V18.5H3.25a1.75 1.75 0 0 1-1.75-1.75ZM3.25 4a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h2.5a.75.75 0 0 1 .75.75v3.19l3.72-3.72a.749.749 0 0 1 .53-.22h10a.25.25 0 0 0 .25-.25V4.25a.25.25 0 0 0-.25-.25Z"></path> </svg> <div> <div class="color-fg-default h4">Code Review</div> Manage code changes </div> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;discussions&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;discussions_link_product_navbar&quot;}" href="https://github.com/features/discussions"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-comment-discussion color-fg-subtle mr-3"> <path d="M1.75 1h12.5c.966 0 1.75.784 1.75 1.75v9.5A1.75 1.75 0 0 1 14.25 14H8.061l-2.574 2.573A1.458 1.458 0 0 1 3 15.543V14H1.75A1.75 1.75 0 0 1 0 12.25v-9.5C0 1.784.784 1 1.75 1ZM1.5 2.75v9.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h6.5a.25.25 0 0 0 .25-.25v-9.5a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25Z"></path><path d="M22.5 8.75a.25.25 0 0 0-.25-.25h-3.5a.75.75 0 0 1 0-1.5h3.5c.966 0 1.75.784 1.75 1.75v9.5A1.75 1.75 0 0 1 22.25 20H21v1.543a1.457 1.457 0 0 1-2.487 1.03L15.939 20H10.75A1.75 1.75 0 0 1 9 18.25v-1.465a.75.75 0 0 1 1.5 0v1.465c0 .138.112.25.25.25h5.5a.75.75 0 0 1 .53.22l2.72 2.72v-2.19a.75.75 0 0 1 .75-.75h2a.25.25 0 0 0 .25-.25v-9.5Z"></path> </svg> <div> <div class="color-fg-default h4">Discussions</div> Collaborate outside of code </div> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;code_search&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;code_search_link_product_navbar&quot;}" href="https://github.com/features/code-search"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-code-square color-fg-subtle mr-3"> <path d="M10.3 8.24a.75.75 0 0 1-.04 1.06L7.352 12l2.908 2.7a.75.75 0 1 1-1.02 1.1l-3.5-3.25a.75.75 0 0 1 0-1.1l3.5-3.25a.75.75 0 0 1 1.06.04Zm3.44 1.06a.75.75 0 1 1 1.02-1.1l3.5 3.25a.75.75 0 0 1 0 1.1l-3.5 3.25a.75.75 0 1 1-1.02-1.1l2.908-2.7-2.908-2.7Z"></path><path d="M2 3.75C2 2.784 2.784 2 3.75 2h16.5c.966 0 1.75.784 1.75 1.75v16.5A1.75 1.75 0 0 1 20.25 22H3.75A1.75 1.75 0 0 1 2 20.25Zm1.75-.25a.25.25 0 0 0-.25.25v16.5c0 .138.112.25.25.25h16.5a.25.25 0 0 0 .25-.25V3.75a.25.25 0 0 0-.25-.25Z"></path> </svg> <div> <div class="color-fg-default h4">Code Search</div> Find more, search less </div> </a></li> </ul> </div> </div> <div class="HeaderMenu-column px-lg-4"> <div class="border-bottom pb-3 pb-lg-0 border-lg-bottom-0 border-bottom-0"> <span class="d-block h4 color-fg-default my-1" id="product-explore-heading">Explore</span> <ul class="list-style-none f5" aria-labelledby="product-explore-heading"> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;all_features&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;all_features_link_product_navbar&quot;}" href="https://github.com/features"> All features </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary Link--external" target="_blank" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;documentation&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;documentation_link_product_navbar&quot;}" href="https://docs.github.com"> Documentation <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle"> <path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path> </svg> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary Link--external" target="_blank" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;github_skills&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;github_skills_link_product_navbar&quot;}" href="https://skills.github.com"> GitHub Skills <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle"> <path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path> </svg> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary Link--external" target="_blank" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;blog&quot;,&quot;context&quot;:&quot;product&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;blog_link_product_navbar&quot;}" href="https://github.blog"> Blog <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle"> <path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path> </svg> </a></li> </ul> </div> </div> </div> </li> <li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item"> <button type="button" class="HeaderMenu-link border-0 width-full width-lg-auto px-0 px-lg-2 py-lg-2 no-wrap d-flex flex-items-center flex-justify-between js-details-target" aria-expanded="false"> Solutions <svg opacity="0.5" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-down HeaderMenu-icon ml-1"> <path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path> </svg> </button> <div class="HeaderMenu-dropdown dropdown-menu rounded m-0 p-0 pt-2 pt-lg-4 position-relative position-lg-absolute left-0 left-lg-n3 d-lg-flex flex-wrap dropdown-menu-wide"> <div class="HeaderMenu-column px-lg-4 border-lg-right mb-4 mb-lg-0 pr-lg-7"> <div class="border-bottom pb-3 pb-lg-0 border-lg-bottom-0 pb-lg-3 mb-3 mb-lg-0"> <span class="d-block h4 color-fg-default my-1" id="solutions-by-company-size-heading">By company size</span> <ul class="list-style-none f5" aria-labelledby="solutions-by-company-size-heading"> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;enterprises&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;enterprises_link_solutions_navbar&quot;}" href="https://github.com/enterprise"> Enterprises </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;small_and_medium_teams&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;small_and_medium_teams_link_solutions_navbar&quot;}" href="https://github.com/team"> Small and medium teams </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;startups&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;startups_link_solutions_navbar&quot;}" href="https://github.com/enterprise/startups"> Startups </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;nonprofits&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;nonprofits_link_solutions_navbar&quot;}" href="/solutions/industry/nonprofits"> Nonprofits </a></li> </ul> </div> <div class="border-bottom pb-3 pb-lg-0 border-lg-bottom-0"> <span class="d-block h4 color-fg-default my-1" id="solutions-by-use-case-heading">By use case</span> <ul class="list-style-none f5" aria-labelledby="solutions-by-use-case-heading"> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;devsecops&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;devsecops_link_solutions_navbar&quot;}" href="/solutions/use-case/devsecops"> DevSecOps </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;devops&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;devops_link_solutions_navbar&quot;}" href="/solutions/use-case/devops"> DevOps </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;ci_cd&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;ci_cd_link_solutions_navbar&quot;}" href="/solutions/use-case/ci-cd"> CI/CD </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;view_all_use_cases&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;view_all_use_cases_link_solutions_navbar&quot;}" href="/solutions/use-case"> View all use cases </a></li> </ul> </div> </div> <div class="HeaderMenu-column px-lg-4"> <div class="border-bottom pb-3 pb-lg-0 border-lg-bottom-0"> <span class="d-block h4 color-fg-default my-1" id="solutions-by-industry-heading">By industry</span> <ul class="list-style-none f5" aria-labelledby="solutions-by-industry-heading"> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;healthcare&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;healthcare_link_solutions_navbar&quot;}" href="/solutions/industry/healthcare"> Healthcare </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;financial_services&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;financial_services_link_solutions_navbar&quot;}" href="/solutions/industry/financial-services"> Financial services </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;manufacturing&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;manufacturing_link_solutions_navbar&quot;}" href="/solutions/industry/manufacturing"> Manufacturing </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;government&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;government_link_solutions_navbar&quot;}" href="/solutions/industry/government"> Government </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;view_all_industries&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;view_all_industries_link_solutions_navbar&quot;}" href="/solutions/industry"> View all industries </a></li> </ul> </div> </div> <div class="HeaderMenu-trailing-link rounded-bottom-2 flex-shrink-0 mt-lg-4 px-lg-4 py-4 py-lg-3 f5 text-semibold"> <a href="/solutions"> View all solutions <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-right HeaderMenu-trailing-link-icon"> <path d="M6.22 3.22a.75.75 0 0 1 1.06 0l4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L9.94 8 6.22 4.28a.75.75 0 0 1 0-1.06Z"></path> </svg> </a> </div> </div> </li> <li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item"> <button type="button" class="HeaderMenu-link border-0 width-full width-lg-auto px-0 px-lg-2 py-lg-2 no-wrap d-flex flex-items-center flex-justify-between js-details-target" aria-expanded="false"> Resources <svg opacity="0.5" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-down HeaderMenu-icon ml-1"> <path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path> </svg> </button> <div class="HeaderMenu-dropdown dropdown-menu rounded m-0 p-0 pt-2 pt-lg-4 position-relative position-lg-absolute left-0 left-lg-n3 pb-2 pb-lg-4 d-lg-flex flex-wrap dropdown-menu-wide"> <div class="HeaderMenu-column px-lg-4 border-lg-right mb-4 mb-lg-0 pr-lg-7"> <div class="border-bottom pb-3 pb-lg-0 border-lg-bottom-0"> <span class="d-block h4 color-fg-default my-1" id="resources-topics-heading">Topics</span> <ul class="list-style-none f5" aria-labelledby="resources-topics-heading"> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;ai&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;ai_link_resources_navbar&quot;}" href="/resources/articles/ai"> AI </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;devops&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;devops_link_resources_navbar&quot;}" href="/resources/articles/devops"> DevOps </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;security&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;security_link_resources_navbar&quot;}" href="/resources/articles/security"> Security </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;software_development&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;software_development_link_resources_navbar&quot;}" href="/resources/articles/software-development"> Software Development </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;view_all&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;view_all_link_resources_navbar&quot;}" href="/resources/articles"> View all </a></li> </ul> </div> </div> <div class="HeaderMenu-column px-lg-4"> <div class="border-bottom pb-3 pb-lg-0 border-lg-bottom-0 border-bottom-0"> <span class="d-block h4 color-fg-default my-1" id="resources-explore-heading">Explore</span> <ul class="list-style-none f5" aria-labelledby="resources-explore-heading"> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary Link--external" target="_blank" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;learning_pathways&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;learning_pathways_link_resources_navbar&quot;}" href="https://resources.github.com/learn/pathways"> Learning Pathways <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle"> <path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path> </svg> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary Link--external" target="_blank" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;events_amp_webinars&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;events_amp_webinars_link_resources_navbar&quot;}" href="https://resources.github.com"> Events &amp; Webinars <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle"> <path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path> </svg> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;ebooks_amp_whitepapers&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;ebooks_amp_whitepapers_link_resources_navbar&quot;}" href="https://github.com/resources/whitepapers"> Ebooks &amp; Whitepapers </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;customer_stories&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;customer_stories_link_resources_navbar&quot;}" href="https://github.com/customer-stories"> Customer Stories </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary Link--external" target="_blank" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;partners&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;partners_link_resources_navbar&quot;}" href="https://partner.github.com"> Partners <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle"> <path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path> </svg> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;executive_insights&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;executive_insights_link_resources_navbar&quot;}" href="https://github.com/solutions/executive-insights"> Executive Insights </a></li> </ul> </div> </div> </div> </li> <li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item"> <button type="button" class="HeaderMenu-link border-0 width-full width-lg-auto px-0 px-lg-2 py-lg-2 no-wrap d-flex flex-items-center flex-justify-between js-details-target" aria-expanded="false"> Open Source <svg opacity="0.5" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-down HeaderMenu-icon ml-1"> <path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path> </svg> </button> <div class="HeaderMenu-dropdown dropdown-menu rounded m-0 p-0 pt-2 pt-lg-4 position-relative position-lg-absolute left-0 left-lg-n3 pb-2 pb-lg-4 px-lg-4"> <div class="HeaderMenu-column"> <div class="border-bottom pb-3 pb-lg-0 pb-lg-3 mb-3 mb-lg-0 mb-lg-3"> <ul class="list-style-none f5" > <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;github_sponsors&quot;,&quot;context&quot;:&quot;open_source&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;github_sponsors_link_open_source_navbar&quot;}" href="/sponsors"> <div> <div class="color-fg-default h4">GitHub Sponsors</div> Fund open source developers </div> </a></li> </ul> </div> <div class="border-bottom pb-3 pb-lg-0 pb-lg-3 mb-3 mb-lg-0 mb-lg-3"> <ul class="list-style-none f5" > <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;the_readme_project&quot;,&quot;context&quot;:&quot;open_source&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;the_readme_project_link_open_source_navbar&quot;}" href="https://github.com/readme"> <div> <div class="color-fg-default h4">The ReadME Project</div> GitHub community articles </div> </a></li> </ul> </div> <div class="border-bottom pb-3 pb-lg-0 border-bottom-0"> <span class="d-block h4 color-fg-default my-1" id="open-source-repositories-heading">Repositories</span> <ul class="list-style-none f5" aria-labelledby="open-source-repositories-heading"> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;topics&quot;,&quot;context&quot;:&quot;open_source&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;topics_link_open_source_navbar&quot;}" href="https://github.com/topics"> Topics </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;trending&quot;,&quot;context&quot;:&quot;open_source&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;trending_link_open_source_navbar&quot;}" href="https://github.com/trending"> Trending </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;collections&quot;,&quot;context&quot;:&quot;open_source&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;collections_link_open_source_navbar&quot;}" href="https://github.com/collections"> Collections </a></li> </ul> </div> </div> </div> </li> <li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item"> <button type="button" class="HeaderMenu-link border-0 width-full width-lg-auto px-0 px-lg-2 py-lg-2 no-wrap d-flex flex-items-center flex-justify-between js-details-target" aria-expanded="false"> Enterprise <svg opacity="0.5" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-down HeaderMenu-icon ml-1"> <path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path> </svg> </button> <div class="HeaderMenu-dropdown dropdown-menu rounded m-0 p-0 pt-2 pt-lg-4 position-relative position-lg-absolute left-0 left-lg-n3 pb-2 pb-lg-4 px-lg-4"> <div class="HeaderMenu-column"> <div class="border-bottom pb-3 pb-lg-0 pb-lg-3 mb-3 mb-lg-0 mb-lg-3"> <ul class="list-style-none f5" > <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;enterprise_platform&quot;,&quot;context&quot;:&quot;enterprise&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;enterprise_platform_link_enterprise_navbar&quot;}" href="/enterprise"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-stack color-fg-subtle mr-3"> <path d="M11.063 1.456a1.749 1.749 0 0 1 1.874 0l8.383 5.316a1.751 1.751 0 0 1 0 2.956l-8.383 5.316a1.749 1.749 0 0 1-1.874 0L2.68 9.728a1.751 1.751 0 0 1 0-2.956Zm1.071 1.267a.25.25 0 0 0-.268 0L3.483 8.039a.25.25 0 0 0 0 .422l8.383 5.316a.25.25 0 0 0 .268 0l8.383-5.316a.25.25 0 0 0 0-.422Z"></path><path d="M1.867 12.324a.75.75 0 0 1 1.035-.232l8.964 5.685a.25.25 0 0 0 .268 0l8.964-5.685a.75.75 0 0 1 .804 1.267l-8.965 5.685a1.749 1.749 0 0 1-1.874 0l-8.965-5.685a.75.75 0 0 1-.231-1.035Z"></path><path d="M1.867 16.324a.75.75 0 0 1 1.035-.232l8.964 5.685a.25.25 0 0 0 .268 0l8.964-5.685a.75.75 0 0 1 .804 1.267l-8.965 5.685a1.749 1.749 0 0 1-1.874 0l-8.965-5.685a.75.75 0 0 1-.231-1.035Z"></path> </svg> <div> <div class="color-fg-default h4">Enterprise platform</div> AI-powered developer platform </div> </a></li> </ul> </div> <div class="border-bottom pb-3 pb-lg-0 border-bottom-0"> <span class="d-block h4 color-fg-default my-1" id="enterprise-available-add-ons-heading">Available add-ons</span> <ul class="list-style-none f5" aria-labelledby="enterprise-available-add-ons-heading"> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;github_advanced_security&quot;,&quot;context&quot;:&quot;enterprise&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;github_advanced_security_link_enterprise_navbar&quot;}" href="https://github.com/security/advanced-security"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-shield-check color-fg-subtle mr-3"> <path d="M16.53 9.78a.75.75 0 0 0-1.06-1.06L11 13.19l-1.97-1.97a.75.75 0 0 0-1.06 1.06l2.5 2.5a.75.75 0 0 0 1.06 0l5-5Z"></path><path d="m12.54.637 8.25 2.675A1.75 1.75 0 0 1 22 4.976V10c0 6.19-3.771 10.704-9.401 12.83a1.704 1.704 0 0 1-1.198 0C5.77 20.705 2 16.19 2 10V4.976c0-.758.489-1.43 1.21-1.664L11.46.637a1.748 1.748 0 0 1 1.08 0Zm-.617 1.426-8.25 2.676a.249.249 0 0 0-.173.237V10c0 5.46 3.28 9.483 8.43 11.426a.199.199 0 0 0 .14 0C17.22 19.483 20.5 15.461 20.5 10V4.976a.25.25 0 0 0-.173-.237l-8.25-2.676a.253.253 0 0 0-.154 0Z"></path> </svg> <div> <div class="color-fg-default h4">GitHub Advanced Security</div> Enterprise-grade security features </div> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;copilot_for_business&quot;,&quot;context&quot;:&quot;enterprise&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;copilot_for_business_link_enterprise_navbar&quot;}" href="/features/copilot/copilot-business"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-copilot color-fg-subtle mr-3"> <path d="M23.922 16.992c-.861 1.495-5.859 5.023-11.922 5.023-6.063 0-11.061-3.528-11.922-5.023A.641.641 0 0 1 0 16.736v-2.869a.841.841 0 0 1 .053-.22c.372-.935 1.347-2.292 2.605-2.656.167-.429.414-1.055.644-1.517a10.195 10.195 0 0 1-.052-1.086c0-1.331.282-2.499 1.132-3.368.397-.406.89-.717 1.474-.952 1.399-1.136 3.392-2.093 6.122-2.093 2.731 0 4.767.957 6.166 2.093.584.235 1.077.546 1.474.952.85.869 1.132 2.037 1.132 3.368 0 .368-.014.733-.052 1.086.23.462.477 1.088.644 1.517 1.258.364 2.233 1.721 2.605 2.656a.832.832 0 0 1 .053.22v2.869a.641.641 0 0 1-.078.256ZM12.172 11h-.344a4.323 4.323 0 0 1-.355.508C10.703 12.455 9.555 13 7.965 13c-1.725 0-2.989-.359-3.782-1.259a2.005 2.005 0 0 1-.085-.104L4 11.741v6.585c1.435.779 4.514 2.179 8 2.179 3.486 0 6.565-1.4 8-2.179v-6.585l-.098-.104s-.033.045-.085.104c-.793.9-2.057 1.259-3.782 1.259-1.59 0-2.738-.545-3.508-1.492a4.323 4.323 0 0 1-.355-.508h-.016.016Zm.641-2.935c.136 1.057.403 1.913.878 2.497.442.544 1.134.938 2.344.938 1.573 0 2.292-.337 2.657-.751.384-.435.558-1.15.558-2.361 0-1.14-.243-1.847-.705-2.319-.477-.488-1.319-.862-2.824-1.025-1.487-.161-2.192.138-2.533.529-.269.307-.437.808-.438 1.578v.021c0 .265.021.562.063.893Zm-1.626 0c.042-.331.063-.628.063-.894v-.02c-.001-.77-.169-1.271-.438-1.578-.341-.391-1.046-.69-2.533-.529-1.505.163-2.347.537-2.824 1.025-.462.472-.705 1.179-.705 2.319 0 1.211.175 1.926.558 2.361.365.414 1.084.751 2.657.751 1.21 0 1.902-.394 2.344-.938.475-.584.742-1.44.878-2.497Z"></path><path d="M14.5 14.25a1 1 0 0 1 1 1v2a1 1 0 0 1-2 0v-2a1 1 0 0 1 1-1Zm-5 0a1 1 0 0 1 1 1v2a1 1 0 0 1-2 0v-2a1 1 0 0 1 1-1Z"></path> </svg> <div> <div class="color-fg-default h4">Copilot for business</div> Enterprise-grade AI features </div> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;premium_support&quot;,&quot;context&quot;:&quot;enterprise&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;premium_support_link_enterprise_navbar&quot;}" href="/premium-support"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-comment-discussion color-fg-subtle mr-3"> <path d="M1.75 1h12.5c.966 0 1.75.784 1.75 1.75v9.5A1.75 1.75 0 0 1 14.25 14H8.061l-2.574 2.573A1.458 1.458 0 0 1 3 15.543V14H1.75A1.75 1.75 0 0 1 0 12.25v-9.5C0 1.784.784 1 1.75 1ZM1.5 2.75v9.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h6.5a.25.25 0 0 0 .25-.25v-9.5a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25Z"></path><path d="M22.5 8.75a.25.25 0 0 0-.25-.25h-3.5a.75.75 0 0 1 0-1.5h3.5c.966 0 1.75.784 1.75 1.75v9.5A1.75 1.75 0 0 1 22.25 20H21v1.543a1.457 1.457 0 0 1-2.487 1.03L15.939 20H10.75A1.75 1.75 0 0 1 9 18.25v-1.465a.75.75 0 0 1 1.5 0v1.465c0 .138.112.25.25.25h5.5a.75.75 0 0 1 .53.22l2.72 2.72v-2.19a.75.75 0 0 1 .75-.75h2a.25.25 0 0 0 .25-.25v-9.5Z"></path> </svg> <div> <div class="color-fg-default h4">Premium Support</div> Enterprise-grade 24/7 support </div> </a></li> </ul> </div> </div> </div> </li> <li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item"> <a class="HeaderMenu-link no-underline px-0 px-lg-2 py-3 py-lg-2 d-block d-lg-inline-block" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;pricing&quot;,&quot;context&quot;:&quot;global&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;pricing_link_global_navbar&quot;}" href="https://github.com/pricing">Pricing</a> </li> </ul> </nav> <div class="d-flex flex-column flex-lg-row width-full flex-justify-end flex-lg-items-center text-center mt-3 mt-lg-0 text-lg-left ml-lg-3"> <qbsearch-input class="search-input" data-scope="" data-custom-scopes-path="/search/custom_scopes" data-delete-custom-scopes-csrf="LOg7_40I6L64aeQgRo4zyOFoO4jfQ-FhPIOmKKMFzPWXKB_foZtziknwlqckDjnsBxhNvup-HW3uLVHKsXibbA" data-max-custom-scopes="10" data-header-redesign-enabled="false" data-initial-value="" data-blackbird-suggestions-path="/search/suggestions" data-jump-to-suggestions-path="/_graphql/GetSuggestedNavigationDestinations" data-current-repository="" data-current-org="" data-current-owner="" data-logged-in="false" data-copilot-chat-enabled="false" data-nl-search-enabled="false" data-retain-scroll-position="true"> <div class="search-input-container search-with-dialog position-relative d-flex flex-row flex-items-center mr-4 rounded" data-action="click:qbsearch-input#searchInputContainerClicked" > <button type="button" class="header-search-button placeholder input-button form-control d-flex flex-1 flex-self-stretch flex-items-center no-wrap width-full py-0 pl-2 pr-0 text-left border-0 box-shadow-none" data-target="qbsearch-input.inputButton" aria-label="Search or jump to…" aria-haspopup="dialog" placeholder="Search or jump to..." data-hotkey=s,/ autocapitalize="off" data-analytics-event="{&quot;location&quot;:&quot;navbar&quot;,&quot;action&quot;:&quot;searchbar&quot;,&quot;context&quot;:&quot;global&quot;,&quot;tag&quot;:&quot;input&quot;,&quot;label&quot;:&quot;searchbar_input_global_navbar&quot;}" data-action="click:qbsearch-input#handleExpand" > <div class="mr-2 color-fg-muted"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-search"> <path d="M10.68 11.74a6 6 0 0 1-7.922-8.982 6 6 0 0 1 8.982 7.922l3.04 3.04a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215ZM11.5 7a4.499 4.499 0 1 0-8.997 0A4.499 4.499 0 0 0 11.5 7Z"></path> </svg> </div> <span class="flex-1" data-target="qbsearch-input.inputButtonText">Search or jump to...</span> <div class="d-flex" data-target="qbsearch-input.hotkeyIndicator"> <svg xmlns="http://www.w3.org/2000/svg" width="22" height="20" aria-hidden="true" class="mr-1"><path fill="none" stroke="#979A9C" opacity=".4" d="M3.5.5h12c1.7 0 3 1.3 3 3v13c0 1.7-1.3 3-3 3h-12c-1.7 0-3-1.3-3-3v-13c0-1.7 1.3-3 3-3z"></path><path fill="#979A9C" d="M11.8 6L8 15.1h-.9L10.8 6h1z"></path></svg> </div> </button> <input type="hidden" name="type" class="js-site-search-type-field"> <div class="Overlay--hidden " data-modal-dialog-overlay> <modal-dialog data-action="close:qbsearch-input#handleClose cancel:qbsearch-input#handleClose" data-target="qbsearch-input.searchSuggestionsDialog" role="dialog" id="search-suggestions-dialog" aria-modal="true" aria-labelledby="search-suggestions-dialog-header" data-view-component="true" class="Overlay Overlay--width-large Overlay--height-auto"> <h1 id="search-suggestions-dialog-header" class="sr-only">Search code, repositories, users, issues, pull requests...</h1> <div class="Overlay-body Overlay-body--paddingNone"> <div data-view-component="true"> <div class="search-suggestions position-fixed width-full color-shadow-large border color-fg-default color-bg-default overflow-hidden d-flex flex-column query-builder-container" style="border-radius: 12px;" data-target="qbsearch-input.queryBuilderContainer" hidden > <!-- '"` --><!-- </textarea></xmp> --></option></form><form id="query-builder-test-form" action="" accept-charset="UTF-8" method="get"> <query-builder data-target="qbsearch-input.queryBuilder" id="query-builder-query-builder-test" data-filter-key=":" data-view-component="true" class="QueryBuilder search-query-builder"> <div class="FormControl FormControl--fullWidth"> <label id="query-builder-test-label" for="query-builder-test" class="FormControl-label sr-only"> Search </label> <div class="QueryBuilder-StyledInput width-fit " data-target="query-builder.styledInput" > <span id="query-builder-test-leadingvisual-wrap" class="FormControl-input-leadingVisualWrap QueryBuilder-leadingVisualWrap"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-search FormControl-input-leadingVisual"> <path d="M10.68 11.74a6 6 0 0 1-7.922-8.982 6 6 0 0 1 8.982 7.922l3.04 3.04a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215ZM11.5 7a4.499 4.499 0 1 0-8.997 0A4.499 4.499 0 0 0 11.5 7Z"></path> </svg> </span> <div data-target="query-builder.styledInputContainer" class="QueryBuilder-StyledInputContainer"> <div aria-hidden="true" class="QueryBuilder-StyledInputContent" data-target="query-builder.styledInputContent" ></div> <div class="QueryBuilder-InputWrapper"> <div aria-hidden="true" class="QueryBuilder-Sizer" data-target="query-builder.sizer"></div> <input id="query-builder-test" name="query-builder-test" value="" autocomplete="off" type="text" role="combobox" spellcheck="false" aria-expanded="false" aria-describedby="validation-02feb821-9a4c-4b2d-8b71-4724a833f904" data-target="query-builder.input" data-action=" input:query-builder#inputChange blur:query-builder#inputBlur keydown:query-builder#inputKeydown focus:query-builder#inputFocus " data-view-component="true" class="FormControl-input QueryBuilder-Input FormControl-medium" /> </div> </div> <span class="sr-only" id="query-builder-test-clear">Clear</span> <button role="button" id="query-builder-test-clear-button" aria-labelledby="query-builder-test-clear query-builder-test-label" data-target="query-builder.clearButton" data-action=" click:query-builder#clear focus:query-builder#clearButtonFocus blur:query-builder#clearButtonBlur " variant="small" hidden="hidden" type="button" data-view-component="true" class="Button Button--iconOnly Button--invisible Button--medium mr-1 px-2 py-0 d-flex flex-items-center rounded-1 color-fg-muted"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x-circle-fill Button-visual"> <path d="M2.343 13.657A8 8 0 1 1 13.658 2.343 8 8 0 0 1 2.343 13.657ZM6.03 4.97a.751.751 0 0 0-1.042.018.751.751 0 0 0-.018 1.042L6.94 8 4.97 9.97a.749.749 0 0 0 .326 1.275.749.749 0 0 0 .734-.215L8 9.06l1.97 1.97a.749.749 0 0 0 1.275-.326.749.749 0 0 0-.215-.734L9.06 8l1.97-1.97a.749.749 0 0 0-.326-1.275.749.749 0 0 0-.734.215L8 6.94Z"></path> </svg> </button> </div> <template id="search-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-search"> <path d="M10.68 11.74a6 6 0 0 1-7.922-8.982 6 6 0 0 1 8.982 7.922l3.04 3.04a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215ZM11.5 7a4.499 4.499 0 1 0-8.997 0A4.499 4.499 0 0 0 11.5 7Z"></path> </svg> </template> <template id="code-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code"> <path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"></path> </svg> </template> <template id="file-code-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-file-code"> <path d="M4 1.75C4 .784 4.784 0 5.75 0h5.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v8.586A1.75 1.75 0 0 1 14.25 15h-9a.75.75 0 0 1 0-1.5h9a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 10 4.25V1.5H5.75a.25.25 0 0 0-.25.25v2.5a.75.75 0 0 1-1.5 0Zm1.72 4.97a.75.75 0 0 1 1.06 0l2 2a.75.75 0 0 1 0 1.06l-2 2a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734l1.47-1.47-1.47-1.47a.75.75 0 0 1 0-1.06ZM3.28 7.78 1.81 9.25l1.47 1.47a.751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018l-2-2a.75.75 0 0 1 0-1.06l2-2a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Zm8.22-6.218V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path> </svg> </template> <template id="history-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-history"> <path d="m.427 1.927 1.215 1.215a8.002 8.002 0 1 1-1.6 5.685.75.75 0 1 1 1.493-.154 6.5 6.5 0 1 0 1.18-4.458l1.358 1.358A.25.25 0 0 1 3.896 6H.25A.25.25 0 0 1 0 5.75V2.104a.25.25 0 0 1 .427-.177ZM7.75 4a.75.75 0 0 1 .75.75v2.992l2.028.812a.75.75 0 0 1-.557 1.392l-2.5-1A.751.751 0 0 1 7 8.25v-3.5A.75.75 0 0 1 7.75 4Z"></path> </svg> </template> <template id="repo-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo"> <path d="M2 2.5A2.5 2.5 0 0 1 4.5 0h8.75a.75.75 0 0 1 .75.75v12.5a.75.75 0 0 1-.75.75h-2.5a.75.75 0 0 1 0-1.5h1.75v-2h-8a1 1 0 0 0-.714 1.7.75.75 0 1 1-1.072 1.05A2.495 2.495 0 0 1 2 11.5Zm10.5-1h-8a1 1 0 0 0-1 1v6.708A2.486 2.486 0 0 1 4.5 9h8ZM5 12.25a.25.25 0 0 1 .25-.25h3.5a.25.25 0 0 1 .25.25v3.25a.25.25 0 0 1-.4.2l-1.45-1.087a.249.249 0 0 0-.3 0L5.4 15.7a.25.25 0 0 1-.4-.2Z"></path> </svg> </template> <template id="bookmark-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-bookmark"> <path d="M3 2.75C3 1.784 3.784 1 4.75 1h6.5c.966 0 1.75.784 1.75 1.75v11.5a.75.75 0 0 1-1.227.579L8 11.722l-3.773 3.107A.751.751 0 0 1 3 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v9.91l3.023-2.489a.75.75 0 0 1 .954 0l3.023 2.49V2.75a.25.25 0 0 0-.25-.25Z"></path> </svg> </template> <template id="plus-circle-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-plus-circle"> <path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm7.25-3.25v2.5h2.5a.75.75 0 0 1 0 1.5h-2.5v2.5a.75.75 0 0 1-1.5 0v-2.5h-2.5a.75.75 0 0 1 0-1.5h2.5v-2.5a.75.75 0 0 1 1.5 0Z"></path> </svg> </template> <template id="circle-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-dot-fill"> <path d="M8 4a4 4 0 1 1 0 8 4 4 0 0 1 0-8Z"></path> </svg> </template> <template id="trash-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-trash"> <path d="M11 1.75V3h2.25a.75.75 0 0 1 0 1.5H2.75a.75.75 0 0 1 0-1.5H5V1.75C5 .784 5.784 0 6.75 0h2.5C10.216 0 11 .784 11 1.75ZM4.496 6.675l.66 6.6a.25.25 0 0 0 .249.225h5.19a.25.25 0 0 0 .249-.225l.66-6.6a.75.75 0 0 1 1.492.149l-.66 6.6A1.748 1.748 0 0 1 10.595 15h-5.19a1.75 1.75 0 0 1-1.741-1.575l-.66-6.6a.75.75 0 1 1 1.492-.15ZM6.5 1.75V3h3V1.75a.25.25 0 0 0-.25-.25h-2.5a.25.25 0 0 0-.25.25Z"></path> </svg> </template> <template id="team-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-people"> <path d="M2 5.5a3.5 3.5 0 1 1 5.898 2.549 5.508 5.508 0 0 1 3.034 4.084.75.75 0 1 1-1.482.235 4 4 0 0 0-7.9 0 .75.75 0 0 1-1.482-.236A5.507 5.507 0 0 1 3.102 8.05 3.493 3.493 0 0 1 2 5.5ZM11 4a3.001 3.001 0 0 1 2.22 5.018 5.01 5.01 0 0 1 2.56 3.012.749.749 0 0 1-.885.954.752.752 0 0 1-.549-.514 3.507 3.507 0 0 0-2.522-2.372.75.75 0 0 1-.574-.73v-.352a.75.75 0 0 1 .416-.672A1.5 1.5 0 0 0 11 5.5.75.75 0 0 1 11 4Zm-5.5-.5a2 2 0 1 0-.001 3.999A2 2 0 0 0 5.5 3.5Z"></path> </svg> </template> <template id="project-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-project"> <path d="M1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25V1.75C0 .784.784 0 1.75 0ZM1.5 1.75v12.5c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25ZM11.75 3a.75.75 0 0 1 .75.75v7.5a.75.75 0 0 1-1.5 0v-7.5a.75.75 0 0 1 .75-.75Zm-8.25.75a.75.75 0 0 1 1.5 0v5.5a.75.75 0 0 1-1.5 0ZM8 3a.75.75 0 0 1 .75.75v3.5a.75.75 0 0 1-1.5 0v-3.5A.75.75 0 0 1 8 3Z"></path> </svg> </template> <template id="pencil-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-pencil"> <path d="M11.013 1.427a1.75 1.75 0 0 1 2.474 0l1.086 1.086a1.75 1.75 0 0 1 0 2.474l-8.61 8.61c-.21.21-.47.364-.756.445l-3.251.93a.75.75 0 0 1-.927-.928l.929-3.25c.081-.286.235-.547.445-.758l8.61-8.61Zm.176 4.823L9.75 4.81l-6.286 6.287a.253.253 0 0 0-.064.108l-.558 1.953 1.953-.558a.253.253 0 0 0 .108-.064Zm1.238-3.763a.25.25 0 0 0-.354 0L10.811 3.75l1.439 1.44 1.263-1.263a.25.25 0 0 0 0-.354Z"></path> </svg> </template> <template id="copilot-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-copilot"> <path d="M7.998 15.035c-4.562 0-7.873-2.914-7.998-3.749V9.338c.085-.628.677-1.686 1.588-2.065.013-.07.024-.143.036-.218.029-.183.06-.384.126-.612-.201-.508-.254-1.084-.254-1.656 0-.87.128-1.769.693-2.484.579-.733 1.494-1.124 2.724-1.261 1.206-.134 2.262.034 2.944.765.05.053.096.108.139.165.044-.057.094-.112.143-.165.682-.731 1.738-.899 2.944-.765 1.23.137 2.145.528 2.724 1.261.566.715.693 1.614.693 2.484 0 .572-.053 1.148-.254 1.656.066.228.098.429.126.612.012.076.024.148.037.218.924.385 1.522 1.471 1.591 2.095v1.872c0 .766-3.351 3.795-8.002 3.795Zm0-1.485c2.28 0 4.584-1.11 5.002-1.433V7.862l-.023-.116c-.49.21-1.075.291-1.727.291-1.146 0-2.059-.327-2.71-.991A3.222 3.222 0 0 1 8 6.303a3.24 3.24 0 0 1-.544.743c-.65.664-1.563.991-2.71.991-.652 0-1.236-.081-1.727-.291l-.023.116v4.255c.419.323 2.722 1.433 5.002 1.433ZM6.762 2.83c-.193-.206-.637-.413-1.682-.297-1.019.113-1.479.404-1.713.7-.247.312-.369.789-.369 1.554 0 .793.129 1.171.308 1.371.162.181.519.379 1.442.379.853 0 1.339-.235 1.638-.54.315-.322.527-.827.617-1.553.117-.935-.037-1.395-.241-1.614Zm4.155-.297c-1.044-.116-1.488.091-1.681.297-.204.219-.359.679-.242 1.614.091.726.303 1.231.618 1.553.299.305.784.54 1.638.54.922 0 1.28-.198 1.442-.379.179-.2.308-.578.308-1.371 0-.765-.123-1.242-.37-1.554-.233-.296-.693-.587-1.713-.7Z"></path><path d="M6.25 9.037a.75.75 0 0 1 .75.75v1.501a.75.75 0 0 1-1.5 0V9.787a.75.75 0 0 1 .75-.75Zm4.25.75v1.501a.75.75 0 0 1-1.5 0V9.787a.75.75 0 0 1 1.5 0Z"></path> </svg> </template> <template id="copilot-error-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-copilot-error"> <path d="M16 11.24c0 .112-.072.274-.21.467L13 9.688V7.862l-.023-.116c-.49.21-1.075.291-1.727.291-.198 0-.388-.009-.571-.029L6.833 5.226a4.01 4.01 0 0 0 .17-.782c.117-.935-.037-1.395-.241-1.614-.193-.206-.637-.413-1.682-.297-.683.076-1.115.231-1.395.415l-1.257-.91c.579-.564 1.413-.877 2.485-.996 1.206-.134 2.262.034 2.944.765.05.053.096.108.139.165.044-.057.094-.112.143-.165.682-.731 1.738-.899 2.944-.765 1.23.137 2.145.528 2.724 1.261.566.715.693 1.614.693 2.484 0 .572-.053 1.148-.254 1.656.066.228.098.429.126.612.012.076.024.148.037.218.924.385 1.522 1.471 1.591 2.095Zm-5.083-8.707c-1.044-.116-1.488.091-1.681.297-.204.219-.359.679-.242 1.614.091.726.303 1.231.618 1.553.299.305.784.54 1.638.54.922 0 1.28-.198 1.442-.379.179-.2.308-.578.308-1.371 0-.765-.123-1.242-.37-1.554-.233-.296-.693-.587-1.713-.7Zm2.511 11.074c-1.393.776-3.272 1.428-5.43 1.428-4.562 0-7.873-2.914-7.998-3.749V9.338c.085-.628.677-1.686 1.588-2.065.013-.07.024-.143.036-.218.029-.183.06-.384.126-.612-.18-.455-.241-.963-.252-1.475L.31 4.107A.747.747 0 0 1 0 3.509V3.49a.748.748 0 0 1 .625-.73c.156-.026.306.047.435.139l14.667 10.578a.592.592 0 0 1 .227.264.752.752 0 0 1 .046.249v.022a.75.75 0 0 1-1.19.596Zm-1.367-.991L5.635 7.964a5.128 5.128 0 0 1-.889.073c-.652 0-1.236-.081-1.727-.291l-.023.116v4.255c.419.323 2.722 1.433 5.002 1.433 1.539 0 3.089-.505 4.063-.934Z"></path> </svg> </template> <template id="workflow-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-workflow"> <path d="M0 1.75C0 .784.784 0 1.75 0h3.5C6.216 0 7 .784 7 1.75v3.5A1.75 1.75 0 0 1 5.25 7H4v4a1 1 0 0 0 1 1h4v-1.25C9 9.784 9.784 9 10.75 9h3.5c.966 0 1.75.784 1.75 1.75v3.5A1.75 1.75 0 0 1 14.25 16h-3.5A1.75 1.75 0 0 1 9 14.25v-.75H5A2.5 2.5 0 0 1 2.5 11V7h-.75A1.75 1.75 0 0 1 0 5.25Zm1.75-.25a.25.25 0 0 0-.25.25v3.5c0 .138.112.25.25.25h3.5a.25.25 0 0 0 .25-.25v-3.5a.25.25 0 0 0-.25-.25Zm9 9a.25.25 0 0 0-.25.25v3.5c0 .138.112.25.25.25h3.5a.25.25 0 0 0 .25-.25v-3.5a.25.25 0 0 0-.25-.25Z"></path> </svg> </template> <template id="book-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-book"> <path d="M0 1.75A.75.75 0 0 1 .75 1h4.253c1.227 0 2.317.59 3 1.501A3.743 3.743 0 0 1 11.006 1h4.245a.75.75 0 0 1 .75.75v10.5a.75.75 0 0 1-.75.75h-4.507a2.25 2.25 0 0 0-1.591.659l-.622.621a.75.75 0 0 1-1.06 0l-.622-.621A2.25 2.25 0 0 0 5.258 13H.75a.75.75 0 0 1-.75-.75Zm7.251 10.324.004-5.073-.002-2.253A2.25 2.25 0 0 0 5.003 2.5H1.5v9h3.757a3.75 3.75 0 0 1 1.994.574ZM8.755 4.75l-.004 7.322a3.752 3.752 0 0 1 1.992-.572H14.5v-9h-3.495a2.25 2.25 0 0 0-2.25 2.25Z"></path> </svg> </template> <template id="code-review-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code-review"> <path d="M1.75 1h12.5c.966 0 1.75.784 1.75 1.75v8.5A1.75 1.75 0 0 1 14.25 13H8.061l-2.574 2.573A1.458 1.458 0 0 1 3 14.543V13H1.75A1.75 1.75 0 0 1 0 11.25v-8.5C0 1.784.784 1 1.75 1ZM1.5 2.75v8.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h6.5a.25.25 0 0 0 .25-.25v-8.5a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25Zm5.28 1.72a.75.75 0 0 1 0 1.06L5.31 7l1.47 1.47a.751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018l-2-2a.75.75 0 0 1 0-1.06l2-2a.75.75 0 0 1 1.06 0Zm2.44 0a.75.75 0 0 1 1.06 0l2 2a.75.75 0 0 1 0 1.06l-2 2a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L10.69 7 9.22 5.53a.75.75 0 0 1 0-1.06Z"></path> </svg> </template> <template id="codespaces-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-codespaces"> <path d="M0 11.25c0-.966.784-1.75 1.75-1.75h12.5c.966 0 1.75.784 1.75 1.75v3A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25Zm2-9.5C2 .784 2.784 0 3.75 0h8.5C13.216 0 14 .784 14 1.75v5a1.75 1.75 0 0 1-1.75 1.75h-8.5A1.75 1.75 0 0 1 2 6.75Zm1.75-.25a.25.25 0 0 0-.25.25v5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-5a.25.25 0 0 0-.25-.25Zm-2 9.5a.25.25 0 0 0-.25.25v3c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25v-3a.25.25 0 0 0-.25-.25Z"></path><path d="M7 12.75a.75.75 0 0 1 .75-.75h4.5a.75.75 0 0 1 0 1.5h-4.5a.75.75 0 0 1-.75-.75Zm-4 0a.75.75 0 0 1 .75-.75h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1-.75-.75Z"></path> </svg> </template> <template id="comment-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-comment"> <path d="M1 2.75C1 1.784 1.784 1 2.75 1h10.5c.966 0 1.75.784 1.75 1.75v7.5A1.75 1.75 0 0 1 13.25 12H9.06l-2.573 2.573A1.458 1.458 0 0 1 4 13.543V12H2.75A1.75 1.75 0 0 1 1 10.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h4.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"></path> </svg> </template> <template id="comment-discussion-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-comment-discussion"> <path d="M1.75 1h8.5c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0 1 10.25 10H7.061l-2.574 2.573A1.458 1.458 0 0 1 2 11.543V10h-.25A1.75 1.75 0 0 1 0 8.25v-5.5C0 1.784.784 1 1.75 1ZM1.5 2.75v5.5c0 .138.112.25.25.25h1a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h3.5a.25.25 0 0 0 .25-.25v-5.5a.25.25 0 0 0-.25-.25h-8.5a.25.25 0 0 0-.25.25Zm13 2a.25.25 0 0 0-.25-.25h-.5a.75.75 0 0 1 0-1.5h.5c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0 1 14.25 12H14v1.543a1.458 1.458 0 0 1-2.487 1.03L9.22 12.28a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215l2.22 2.22v-2.19a.75.75 0 0 1 .75-.75h1a.25.25 0 0 0 .25-.25Z"></path> </svg> </template> <template id="organization-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-organization"> <path d="M1.75 16A1.75 1.75 0 0 1 0 14.25V1.75C0 .784.784 0 1.75 0h8.5C11.216 0 12 .784 12 1.75v12.5c0 .085-.006.168-.018.25h2.268a.25.25 0 0 0 .25-.25V8.285a.25.25 0 0 0-.111-.208l-1.055-.703a.749.749 0 1 1 .832-1.248l1.055.703c.487.325.779.871.779 1.456v5.965A1.75 1.75 0 0 1 14.25 16h-3.5a.766.766 0 0 1-.197-.026c-.099.017-.2.026-.303.026h-3a.75.75 0 0 1-.75-.75V14h-1v1.25a.75.75 0 0 1-.75.75Zm-.25-1.75c0 .138.112.25.25.25H4v-1.25a.75.75 0 0 1 .75-.75h2.5a.75.75 0 0 1 .75.75v1.25h2.25a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25h-8.5a.25.25 0 0 0-.25.25ZM3.75 6h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5ZM3 3.75A.75.75 0 0 1 3.75 3h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 3 3.75Zm4 3A.75.75 0 0 1 7.75 6h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 7 6.75ZM7.75 3h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5ZM3 9.75A.75.75 0 0 1 3.75 9h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 3 9.75ZM7.75 9h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5Z"></path> </svg> </template> <template id="rocket-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-rocket"> <path d="M14.064 0h.186C15.216 0 16 .784 16 1.75v.186a8.752 8.752 0 0 1-2.564 6.186l-.458.459c-.314.314-.641.616-.979.904v3.207c0 .608-.315 1.172-.833 1.49l-2.774 1.707a.749.749 0 0 1-1.11-.418l-.954-3.102a1.214 1.214 0 0 1-.145-.125L3.754 9.816a1.218 1.218 0 0 1-.124-.145L.528 8.717a.749.749 0 0 1-.418-1.11l1.71-2.774A1.748 1.748 0 0 1 3.31 4h3.204c.288-.338.59-.665.904-.979l.459-.458A8.749 8.749 0 0 1 14.064 0ZM8.938 3.623h-.002l-.458.458c-.76.76-1.437 1.598-2.02 2.5l-1.5 2.317 2.143 2.143 2.317-1.5c.902-.583 1.74-1.26 2.499-2.02l.459-.458a7.25 7.25 0 0 0 2.123-5.127V1.75a.25.25 0 0 0-.25-.25h-.186a7.249 7.249 0 0 0-5.125 2.123ZM3.56 14.56c-.732.732-2.334 1.045-3.005 1.148a.234.234 0 0 1-.201-.064.234.234 0 0 1-.064-.201c.103-.671.416-2.273 1.15-3.003a1.502 1.502 0 1 1 2.12 2.12Zm6.94-3.935c-.088.06-.177.118-.266.175l-2.35 1.521.548 1.783 1.949-1.2a.25.25 0 0 0 .119-.213ZM3.678 8.116 5.2 5.766c.058-.09.117-.178.176-.266H3.309a.25.25 0 0 0-.213.119l-1.2 1.95ZM12 5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path> </svg> </template> <template id="shield-check-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-shield-check"> <path d="m8.533.133 5.25 1.68A1.75 1.75 0 0 1 15 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.697 1.697 0 0 1-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 0 1 1.217-1.667l5.25-1.68a1.748 1.748 0 0 1 1.066 0Zm-.61 1.429.001.001-5.25 1.68a.251.251 0 0 0-.174.237V7c0 1.36.275 2.666 1.057 3.859.784 1.194 2.121 2.342 4.366 3.298a.196.196 0 0 0 .154 0c2.245-.957 3.582-2.103 4.366-3.297C13.225 9.666 13.5 8.358 13.5 7V3.48a.25.25 0 0 0-.174-.238l-5.25-1.68a.25.25 0 0 0-.153 0ZM11.28 6.28l-3.5 3.5a.75.75 0 0 1-1.06 0l-1.5-1.5a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215l.97.97 2.97-2.97a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path> </svg> </template> <template id="heart-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-heart"> <path d="m8 14.25.345.666a.75.75 0 0 1-.69 0l-.008-.004-.018-.01a7.152 7.152 0 0 1-.31-.17 22.055 22.055 0 0 1-3.434-2.414C2.045 10.731 0 8.35 0 5.5 0 2.836 2.086 1 4.25 1 5.797 1 7.153 1.802 8 3.02 8.847 1.802 10.203 1 11.75 1 13.914 1 16 2.836 16 5.5c0 2.85-2.045 5.231-3.885 6.818a22.066 22.066 0 0 1-3.744 2.584l-.018.01-.006.003h-.002ZM4.25 2.5c-1.336 0-2.75 1.164-2.75 3 0 2.15 1.58 4.144 3.365 5.682A20.58 20.58 0 0 0 8 13.393a20.58 20.58 0 0 0 3.135-2.211C12.92 9.644 14.5 7.65 14.5 5.5c0-1.836-1.414-3-2.75-3-1.373 0-2.609.986-3.029 2.456a.749.749 0 0 1-1.442 0C6.859 3.486 5.623 2.5 4.25 2.5Z"></path> </svg> </template> <template id="server-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-server"> <path d="M1.75 1h12.5c.966 0 1.75.784 1.75 1.75v4c0 .372-.116.717-.314 1 .198.283.314.628.314 1v4a1.75 1.75 0 0 1-1.75 1.75H1.75A1.75 1.75 0 0 1 0 12.75v-4c0-.358.109-.707.314-1a1.739 1.739 0 0 1-.314-1v-4C0 1.784.784 1 1.75 1ZM1.5 2.75v4c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25v-4a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25Zm.25 5.75a.25.25 0 0 0-.25.25v4c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25v-4a.25.25 0 0 0-.25-.25ZM7 4.75A.75.75 0 0 1 7.75 4h4.5a.75.75 0 0 1 0 1.5h-4.5A.75.75 0 0 1 7 4.75ZM7.75 10h4.5a.75.75 0 0 1 0 1.5h-4.5a.75.75 0 0 1 0-1.5ZM3 4.75A.75.75 0 0 1 3.75 4h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 3 4.75ZM3.75 10h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5Z"></path> </svg> </template> <template id="globe-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-globe"> <path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM5.78 8.75a9.64 9.64 0 0 0 1.363 4.177c.255.426.542.832.857 1.215.245-.296.551-.705.857-1.215A9.64 9.64 0 0 0 10.22 8.75Zm4.44-1.5a9.64 9.64 0 0 0-1.363-4.177c-.307-.51-.612-.919-.857-1.215a9.927 9.927 0 0 0-.857 1.215A9.64 9.64 0 0 0 5.78 7.25Zm-5.944 1.5H1.543a6.507 6.507 0 0 0 4.666 5.5c-.123-.181-.24-.365-.352-.552-.715-1.192-1.437-2.874-1.581-4.948Zm-2.733-1.5h2.733c.144-2.074.866-3.756 1.58-4.948.12-.197.237-.381.353-.552a6.507 6.507 0 0 0-4.666 5.5Zm10.181 1.5c-.144 2.074-.866 3.756-1.58 4.948-.12.197-.237.381-.353.552a6.507 6.507 0 0 0 4.666-5.5Zm2.733-1.5a6.507 6.507 0 0 0-4.666-5.5c.123.181.24.365.353.552.714 1.192 1.436 2.874 1.58 4.948Z"></path> </svg> </template> <template id="issue-opened-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-issue-opened"> <path d="M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Z"></path> </svg> </template> <template id="device-mobile-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-device-mobile"> <path d="M3.75 0h8.5C13.216 0 14 .784 14 1.75v12.5A1.75 1.75 0 0 1 12.25 16h-8.5A1.75 1.75 0 0 1 2 14.25V1.75C2 .784 2.784 0 3.75 0ZM3.5 1.75v12.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25h-8.5a.25.25 0 0 0-.25.25ZM8 13a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z"></path> </svg> </template> <template id="package-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-package"> <path d="m8.878.392 5.25 3.045c.54.314.872.89.872 1.514v6.098a1.75 1.75 0 0 1-.872 1.514l-5.25 3.045a1.75 1.75 0 0 1-1.756 0l-5.25-3.045A1.75 1.75 0 0 1 1 11.049V4.951c0-.624.332-1.201.872-1.514L7.122.392a1.75 1.75 0 0 1 1.756 0ZM7.875 1.69l-4.63 2.685L8 7.133l4.755-2.758-4.63-2.685a.248.248 0 0 0-.25 0ZM2.5 5.677v5.372c0 .09.047.171.125.216l4.625 2.683V8.432Zm6.25 8.271 4.625-2.683a.25.25 0 0 0 .125-.216V5.677L8.75 8.432Z"></path> </svg> </template> <template id="credit-card-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-credit-card"> <path d="M10.75 9a.75.75 0 0 0 0 1.5h1.5a.75.75 0 0 0 0-1.5h-1.5Z"></path><path d="M0 3.75C0 2.784.784 2 1.75 2h12.5c.966 0 1.75.784 1.75 1.75v8.5A1.75 1.75 0 0 1 14.25 14H1.75A1.75 1.75 0 0 1 0 12.25ZM14.5 6.5h-13v5.75c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25Zm0-2.75a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25V5h13Z"></path> </svg> </template> <template id="play-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-play"> <path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm4.879-2.773 4.264 2.559a.25.25 0 0 1 0 .428l-4.264 2.559A.25.25 0 0 1 6 10.559V5.442a.25.25 0 0 1 .379-.215Z"></path> </svg> </template> <template id="gift-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-gift"> <path d="M2 2.75A2.75 2.75 0 0 1 4.75 0c.983 0 1.873.42 2.57 1.232.268.318.497.668.68 1.042.183-.375.411-.725.68-1.044C9.376.42 10.266 0 11.25 0a2.75 2.75 0 0 1 2.45 4h.55c.966 0 1.75.784 1.75 1.75v2c0 .698-.409 1.301-1 1.582v4.918A1.75 1.75 0 0 1 13.25 16H2.75A1.75 1.75 0 0 1 1 14.25V9.332C.409 9.05 0 8.448 0 7.75v-2C0 4.784.784 4 1.75 4h.55c-.192-.375-.3-.8-.3-1.25ZM7.25 9.5H2.5v4.75c0 .138.112.25.25.25h4.5Zm1.5 0v5h4.5a.25.25 0 0 0 .25-.25V9.5Zm0-4V8h5.5a.25.25 0 0 0 .25-.25v-2a.25.25 0 0 0-.25-.25Zm-7 0a.25.25 0 0 0-.25.25v2c0 .138.112.25.25.25h5.5V5.5h-5.5Zm3-4a1.25 1.25 0 0 0 0 2.5h2.309c-.233-.818-.542-1.401-.878-1.793-.43-.502-.915-.707-1.431-.707ZM8.941 4h2.309a1.25 1.25 0 0 0 0-2.5c-.516 0-1 .205-1.43.707-.337.392-.646.975-.879 1.793Z"></path> </svg> </template> <template id="code-square-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code-square"> <path d="M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25Zm7.47 3.97a.75.75 0 0 1 1.06 0l2 2a.75.75 0 0 1 0 1.06l-2 2a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L10.69 8 9.22 6.53a.75.75 0 0 1 0-1.06ZM6.78 6.53 5.31 8l1.47 1.47a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215l-2-2a.75.75 0 0 1 0-1.06l2-2a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path> </svg> </template> <template id="device-desktop-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-device-desktop"> <path d="M14.25 1c.966 0 1.75.784 1.75 1.75v7.5A1.75 1.75 0 0 1 14.25 12h-3.727c.099 1.041.52 1.872 1.292 2.757A.752.752 0 0 1 11.25 16h-6.5a.75.75 0 0 1-.565-1.243c.772-.885 1.192-1.716 1.292-2.757H1.75A1.75 1.75 0 0 1 0 10.25v-7.5C0 1.784.784 1 1.75 1ZM1.75 2.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25ZM9.018 12H6.982a5.72 5.72 0 0 1-.765 2.5h3.566a5.72 5.72 0 0 1-.765-2.5Z"></path> </svg> </template> <div class="position-relative"> <ul role="listbox" class="ActionListWrap QueryBuilder-ListWrap" aria-label="Suggestions" data-action=" combobox-commit:query-builder#comboboxCommit mousedown:query-builder#resultsMousedown " data-target="query-builder.resultsList" data-persist-list=false id="query-builder-test-results" ></ul> </div> <div class="FormControl-inlineValidation" id="validation-02feb821-9a4c-4b2d-8b71-4724a833f904" hidden="hidden"> <span class="FormControl-inlineValidation--visual"> <svg aria-hidden="true" height="12" viewBox="0 0 12 12" version="1.1" width="12" data-view-component="true" class="octicon octicon-alert-fill"> <path d="M4.855.708c.5-.896 1.79-.896 2.29 0l4.675 8.351a1.312 1.312 0 0 1-1.146 1.954H1.33A1.313 1.313 0 0 1 .183 9.058ZM7 7V3H5v4Zm-1 3a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z"></path> </svg> </span> <span></span> </div> </div> <div data-target="query-builder.screenReaderFeedback" aria-live="polite" aria-atomic="true" class="sr-only"></div> </query-builder></form> <div class="d-flex flex-row color-fg-muted px-3 text-small color-bg-default search-feedback-prompt"> <a target="_blank" href="https://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax" data-view-component="true" class="Link color-fg-accent text-normal ml-2">Search syntax tips</a> <div class="d-flex flex-1"></div> </div> </div> </div> </div> </modal-dialog></div> </div> <div data-action="click:qbsearch-input#retract" class="dark-backdrop position-fixed" hidden data-target="qbsearch-input.darkBackdrop"></div> <div class="color-fg-default"> <dialog-helper> <dialog data-target="qbsearch-input.feedbackDialog" data-action="close:qbsearch-input#handleDialogClose cancel:qbsearch-input#handleDialogClose" id="feedback-dialog" aria-modal="true" aria-labelledby="feedback-dialog-title" aria-describedby="feedback-dialog-description" data-view-component="true" class="Overlay Overlay-whenNarrow Overlay--size-medium Overlay--motion-scaleFade Overlay--disableScroll"> <div data-view-component="true" class="Overlay-header"> <div class="Overlay-headerContentWrap"> <div class="Overlay-titleWrap"> <h1 class="Overlay-title " id="feedback-dialog-title"> Provide feedback </h1> </div> <div class="Overlay-actionWrap"> <button data-close-dialog-id="feedback-dialog" aria-label="Close" type="button" data-view-component="true" class="close-button Overlay-closeButton"><svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path> </svg></button> </div> </div> </div> <scrollable-region data-labelled-by="feedback-dialog-title"> <div data-view-component="true" class="Overlay-body"> <!-- '"` --><!-- </textarea></xmp> --></option></form><form id="code-search-feedback-form" data-turbo="false" action="/search/feedback" accept-charset="UTF-8" method="post"><input type="hidden" data-csrf="true" name="authenticity_token" value="rnSruSRuENgLeXNRvj8y+Q++yC3V6OEnpGKZM6xMAdXWaeoXUU8vKegRvia4MVBeuWTmzmqwiC+cTVkuC2zsEg==" /> <p>We read every piece of feedback, and take your input very seriously.</p> <textarea name="feedback" class="form-control width-full mb-2" style="height: 120px" id="feedback"></textarea> <input name="include_email" id="include_email" aria-label="Include my email address so I can be contacted" class="form-control mr-2" type="checkbox"> <label for="include_email" style="font-weight: normal">Include my email address so I can be contacted</label> </form></div> </scrollable-region> <div data-view-component="true" class="Overlay-footer Overlay-footer--alignEnd"> <button data-close-dialog-id="feedback-dialog" type="button" data-view-component="true" class="btn"> Cancel </button> <button form="code-search-feedback-form" data-action="click:qbsearch-input#submitFeedback" type="submit" data-view-component="true" class="btn-primary btn"> Submit feedback </button> </div> </dialog></dialog-helper> <custom-scopes data-target="qbsearch-input.customScopesManager"> <dialog-helper> <dialog data-target="custom-scopes.customScopesModalDialog" data-action="close:qbsearch-input#handleDialogClose cancel:qbsearch-input#handleDialogClose" id="custom-scopes-dialog" aria-modal="true" aria-labelledby="custom-scopes-dialog-title" aria-describedby="custom-scopes-dialog-description" data-view-component="true" class="Overlay Overlay-whenNarrow Overlay--size-medium Overlay--motion-scaleFade Overlay--disableScroll"> <div data-view-component="true" class="Overlay-header Overlay-header--divided"> <div class="Overlay-headerContentWrap"> <div class="Overlay-titleWrap"> <h1 class="Overlay-title " id="custom-scopes-dialog-title"> Saved searches </h1> <h2 id="custom-scopes-dialog-description" class="Overlay-description">Use saved searches to filter your results more quickly</h2> </div> <div class="Overlay-actionWrap"> <button data-close-dialog-id="custom-scopes-dialog" aria-label="Close" type="button" data-view-component="true" class="close-button Overlay-closeButton"><svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path> </svg></button> </div> </div> </div> <scrollable-region data-labelled-by="custom-scopes-dialog-title"> <div data-view-component="true" class="Overlay-body"> <div data-target="custom-scopes.customScopesModalDialogFlash"></div> <div hidden class="create-custom-scope-form" data-target="custom-scopes.createCustomScopeForm"> <!-- '"` --><!-- </textarea></xmp> --></option></form><form id="custom-scopes-dialog-form" data-turbo="false" action="/search/custom_scopes" accept-charset="UTF-8" method="post"><input type="hidden" data-csrf="true" name="authenticity_token" value="iBR1gmPxgyhrxN2MEcdjzI/Hnd1unCMjCYjvPNyIKSSunYcaY/PojWHB9ObYUi1VSZ9BGs7Q4Ucz2EDNuKnIUg==" /> <div data-target="custom-scopes.customScopesModalDialogFlash"></div> <input type="hidden" id="custom_scope_id" name="custom_scope_id" data-target="custom-scopes.customScopesIdField"> <div class="form-group"> <label for="custom_scope_name">Name</label> <auto-check src="/search/custom_scopes/check_name" required only-validate-on-blur="false"> <input type="text" name="custom_scope_name" id="custom_scope_name" data-target="custom-scopes.customScopesNameField" class="form-control" autocomplete="off" placeholder="github-ruby" required maxlength="50"> <input type="hidden" data-csrf="true" value="YlOCMZnSnHnrBygI/BvTu2fWYwFL/foAPqZVI3DyEIUu1sA/pnoHniyWm4Z7tZz2pZXWEnJxIi7ruroTp2EBEw==" /> </auto-check> </div> <div class="form-group"> <label for="custom_scope_query">Query</label> <input type="text" name="custom_scope_query" id="custom_scope_query" data-target="custom-scopes.customScopesQueryField" class="form-control" autocomplete="off" placeholder="(repo:mona/a OR repo:mona/b) AND lang:python" required maxlength="500"> </div> <p class="text-small color-fg-muted"> To see all available qualifiers, see our <a class="Link--inTextBlock" href="https://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax">documentation</a>. </p> </form> </div> <div data-target="custom-scopes.manageCustomScopesForm"> <div data-target="custom-scopes.list"></div> </div> </div> </scrollable-region> <div data-view-component="true" class="Overlay-footer Overlay-footer--alignEnd Overlay-footer--divided"> <button data-action="click:custom-scopes#customScopesCancel" type="button" data-view-component="true" class="btn"> Cancel </button> <button form="custom-scopes-dialog-form" data-action="click:custom-scopes#customScopesSubmit" data-target="custom-scopes.customScopesSubmitButton" type="submit" data-view-component="true" class="btn-primary btn"> Create saved search </button> </div> </dialog></dialog-helper> </custom-scopes> </div> </qbsearch-input> <div class="position-relative HeaderMenu-link-wrap d-lg-inline-block"> <a href="/login?return_to=https%3A%2F%2Fgithub.com%2Ftopics%2Fvitejs" class="HeaderMenu-link HeaderMenu-link--sign-in HeaderMenu-button flex-shrink-0 no-underline d-none d-lg-inline-flex border border-lg-0 rounded rounded-lg-0 px-2 py-1" style="margin-left: 12px;" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;site header menu&quot;,&quot;repository_id&quot;:null,&quot;auth_type&quot;:&quot;SIGN_UP&quot;,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="b25be8bdbb958abf8a71b5134dea05457a0d6cf45b35719e3fe9de59393e4091" data-analytics-event="{&quot;category&quot;:&quot;Marketing nav&quot;,&quot;action&quot;:&quot;click to go to homepage&quot;,&quot;label&quot;:&quot;ref_page:Marketing;ref_cta:Sign in;ref_loc:Header&quot;}" > Sign in </a> </div> <a href="/signup?ref_cta=Sign+up&amp;ref_loc=header+logged+out&amp;ref_page=%2Ftopics%2Fvitejs&amp;source=header" class="HeaderMenu-link HeaderMenu-link--sign-up HeaderMenu-button flex-shrink-0 d-flex d-lg-inline-flex no-underline border color-border-default rounded px-2 py-1" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;site header menu&quot;,&quot;repository_id&quot;:null,&quot;auth_type&quot;:&quot;SIGN_UP&quot;,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="b25be8bdbb958abf8a71b5134dea05457a0d6cf45b35719e3fe9de59393e4091" data-analytics-event="{&quot;category&quot;:&quot;Sign up&quot;,&quot;action&quot;:&quot;click to sign up for account&quot;,&quot;label&quot;:&quot;ref_page:/topics/vitejs;ref_cta:Sign up;ref_loc:header logged out&quot;}" > Sign up </a> <button type="button" class="sr-only js-header-menu-focus-trap d-block d-lg-none">Reseting focus</button> </div> </div> </div> </div> </header> <div hidden="hidden" data-view-component="true" class="js-stale-session-flash stale-session-flash flash flash-warn flash-full"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert"> <path d="M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path> </svg> <span class="js-stale-session-flash-signed-in" hidden>You signed in with another tab or window. <a class="Link--inTextBlock" href="">Reload</a> to refresh your session.</span> <span class="js-stale-session-flash-signed-out" hidden>You signed out in another tab or window. <a class="Link--inTextBlock" href="">Reload</a> to refresh your session.</span> <span class="js-stale-session-flash-switched" hidden>You switched accounts on another tab or window. <a class="Link--inTextBlock" href="">Reload</a> to refresh your session.</span> <button id="icon-button-bc58f2ca-0700-4eb0-84f4-2184bbbb689f" aria-labelledby="tooltip-5ecf6ada-b93f-424c-b889-ee3125604961" type="button" data-view-component="true" class="Button Button--iconOnly Button--invisible Button--medium flash-close js-flash-close"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x Button-visual"> <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path> </svg> </button><tool-tip id="tooltip-5ecf6ada-b93f-424c-b889-ee3125604961" for="icon-button-bc58f2ca-0700-4eb0-84f4-2184bbbb689f" popover="manual" data-direction="s" data-type="label" data-view-component="true" class="sr-only position-absolute">Dismiss alert</tool-tip> </div> </div> <div id="start-of-content" class="show-on-focus"></div> <div id="js-flash-container" class="flash-container" data-turbo-replace> <template class="js-flash-template"> <div class="flash flash-full {{ className }}"> <div > <button autofocus class="flash-close js-flash-close" type="button" aria-label="Dismiss this message"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path> </svg> </button> <div aria-atomic="true" role="alert" class="js-flash-alert"> <div>{{ message }}</div> </div> </div> </div> </template> </div> <div class="application-main " data-commit-hovercards-enabled data-discussion-hovercards-enabled data-issue-and-pr-hovercards-enabled data-project-hovercards-enabled > <main> <div class="site-subnav color-bg-default site-subnav-sticky js-sticky" > <nav class="container-lg mx-auto p-responsive" role="navigation" aria-label="Explore navigation"> <div class="d-flex flex-wrap flex-items-center flex-justify-center flex-md-justify-start text-center text-md-left"> <a class="js-selected-navigation-item d-inline-block subnav-primary f5 py-0 py-md-3 mt-2 mt-md-0 mr-0 mr-md-4 no-underline subnav-link" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;NAVIGATION_BAR&quot;,&quot;click_target&quot;:&quot;EXPLORE&quot;,&quot;click_visual_representation&quot;:&quot;CLICK_VISUAL_REPRESENTATION_UNKNOWN&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:null,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="ff36d37c2141642d20fa8989387052498cfeef9b1e9b627e821938a0cab90732" data-selected-links="/explore /explore/email /explore" href="/explore">Explore</a> <a class="js-selected-navigation-item selected d-inline-block py-2 py-md-3 mr-3 mr-md-4 no-underline subnav-link" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;NAVIGATION_BAR&quot;,&quot;click_target&quot;:&quot;TOPICS&quot;,&quot;click_visual_representation&quot;:&quot;CLICK_VISUAL_REPRESENTATION_UNKNOWN&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:null,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="2ad988424548691253703ebc1b98fca2c305051260f73c0d5c73e99293495791" aria-current="page" data-selected-links="topics_path /topics/vitejs /topics" href="/topics">Topics</a> <a class="js-selected-navigation-item d-inline-block py-2 py-md-3 mr-3 mr-md-4 no-underline subnav-link" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;NAVIGATION_BAR&quot;,&quot;click_target&quot;:&quot;TRENDING&quot;,&quot;click_visual_representation&quot;:&quot;CLICK_VISUAL_REPRESENTATION_UNKNOWN&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:null,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="5b08cdf05f6f79bbbf73e8ef87acaf37671eff5eb1ea4c16ee43c78f7dc9bdf0" data-selected-links="/trending /trending/developers /trending/developers /trending /trending" href="/trending">Trending</a> <a class="js-selected-navigation-item d-inline-block py-2 py-md-3 mr-3 mr-md-4 no-underline subnav-link" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;NAVIGATION_BAR&quot;,&quot;click_target&quot;:&quot;COLLECTIONS&quot;,&quot;click_visual_representation&quot;:&quot;CLICK_VISUAL_REPRESENTATION_UNKNOWN&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:null,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="f8fcd4d86417832e49637ed2b3c651b4405ddd0a10390c786f27b6b45b80e921" data-selected-links="collections_path /collections/ /collections" href="/collections">Collections</a> <a class="js-selected-navigation-item d-inline-block py-2 py-md-3 mr-3 mr-md-4 no-underline subnav-link" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;NAVIGATION_BAR&quot;,&quot;click_target&quot;:&quot;EVENTS&quot;,&quot;click_visual_representation&quot;:&quot;CLICK_VISUAL_REPRESENTATION_UNKNOWN&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:null,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="18abce679756ea10e5fe179697850823d2480a6a71368ac5ac8efaf674a6e3d5" data-selected-links="events_path /events?id= /events" href="/events">Events</a> <a class="js-selected-navigation-item d-inline-block py-2 py-md-3 mr-3 mr-md-4 no-underline subnav-link" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;NAVIGATION_BAR&quot;,&quot;click_target&quot;:&quot;GITHUB_SPONSORS&quot;,&quot;click_visual_representation&quot;:&quot;CLICK_VISUAL_REPRESENTATION_UNKNOWN&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:null,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="2f1e4455cbf42b246c865f675648626d9629b72cae3e83ea6943c41f40a5814b" data-selected-links="sponsors_explore_index_path /sponsors/explore /sponsors/explore" href="/sponsors/explore">GitHub Sponsors</a> </div> </nav> </div> <div> <div class="container-lg p-responsive py-5"> <div class="gutter-md"> <div class="col-lg-9 col-md-8 d-flex flex-items-center mb-3 mb-sm-0"> <div class="d-flex flex-1"> <div class="border color-border-subtle color-bg-accent f4 color-fg-muted text-bold rounded flex-shrink-0 text-center mr-3" style="width: 48px; height: 48; line-height: 48px;" > # </div> <h1 class="h1"> vitejs </h1> </div> <topic-feeds-toast-trigger data-topic-display-name="vitejs" data-topic-name="vitejs"> <!--Add Discover button--> <!--End Add Discover button--> <div data-view-component="true" class="d-inline-block"> <a href="/login?return_to=%2Ftopic.vitejs" rel="nofollow" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;star button&quot;,&quot;repository_id&quot;:null,&quot;auth_type&quot;:&quot;LOG_IN&quot;,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="f77990559b8cb6024ee6cf3d10c2f187f9dcecd224750e2c61fe25de58d19512" aria-label="You must be signed in to star a repository" data-view-component="true" class="tooltipped tooltipped-sw btn-sm btn"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-star v-align-text-bottom d-inline-block mr-2"> <path d="M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.751.751 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25Zm0 2.445L6.615 5.5a.75.75 0 0 1-.564.41l-3.097.45 2.24 2.184a.75.75 0 0 1 .216.664l-.528 3.084 2.769-1.456a.75.75 0 0 1 .698 0l2.77 1.456-.53-3.084a.75.75 0 0 1 .216-.664l2.24-2.183-3.096-.45a.75.75 0 0 1-.564-.41L8 2.694Z"></path> </svg><span data-view-component="true" class="d-inline"> Star </span> </a></div> </topic-feeds-toast-trigger> </div> </div> </div> <div class="topic p-responsive container-lg"> <div class="d-md-flex gutter-md"> <div class="col-md-8 col-lg-9" data-hpc> <h2 class="h3 color-fg-muted"> Here are 8,066 public repositories matching this topic... </h2> <div class="d-sm-flex"> <details class="details-reset details-overlay mt-2 mr-3 select-menu"> <summary data-view-component="true" class="select-menu-button btn-sm btn"> <i>Language:</i> <span data-menu-button>All</span> </summary> <details-menu class="select-menu-modal position-absolute" style="z-index: 99;"> <div class="select-menu-header"> <span class="select-menu-title">Filter by language</span> </div> <div class="select-menu-list"> <a class="select-menu-item" role="menuitemradio" href="https://github.com/topics/vitejs" aria-checked="true"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check select-menu-item-icon"> <path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path> </svg> <span class="select-menu-item-text d-flex flex-justify-between" data-menu-button-text> All <span>8,066</span> </span> </a> <a class="select-menu-item" role="menuitemradio" href="https://github.com/topics/vitejs?l=javascript" aria-checked="false"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check select-menu-item-icon"> <path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path> </svg> <span class="select-menu-item-text d-flex flex-justify-between" data-menu-button-text> JavaScript <span>3,687</span> </span> </a> <a class="select-menu-item" role="menuitemradio" href="https://github.com/topics/vitejs?l=typescript" aria-checked="false"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check select-menu-item-icon"> <path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path> </svg> <span class="select-menu-item-text d-flex flex-justify-between" data-menu-button-text> TypeScript <span>2,836</span> </span> </a> <a class="select-menu-item" role="menuitemradio" href="https://github.com/topics/vitejs?l=vue" aria-checked="false"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check select-menu-item-icon"> <path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path> </svg> <span class="select-menu-item-text d-flex flex-justify-between" data-menu-button-text> Vue <span>429</span> </span> </a> <a class="select-menu-item" role="menuitemradio" href="https://github.com/topics/vitejs?l=css" aria-checked="false"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check select-menu-item-icon"> <path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path> </svg> <span class="select-menu-item-text d-flex flex-justify-between" data-menu-button-text> CSS <span>330</span> </span> </a> <a class="select-menu-item" role="menuitemradio" href="https://github.com/topics/vitejs?l=html" aria-checked="false"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check select-menu-item-icon"> <path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path> </svg> <span class="select-menu-item-text d-flex flex-justify-between" data-menu-button-text> HTML <span>237</span> </span> </a> <a class="select-menu-item" role="menuitemradio" href="https://github.com/topics/vitejs?l=php" aria-checked="false"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check select-menu-item-icon"> <path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path> </svg> <span class="select-menu-item-text d-flex flex-justify-between" data-menu-button-text> PHP <span>118</span> </span> </a> <a class="select-menu-item" role="menuitemradio" href="https://github.com/topics/vitejs?l=scss" aria-checked="false"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check select-menu-item-icon"> <path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path> </svg> <span class="select-menu-item-text d-flex flex-justify-between" data-menu-button-text> SCSS <span>106</span> </span> </a> <a class="select-menu-item" role="menuitemradio" href="https://github.com/topics/vitejs?l=svelte" aria-checked="false"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check select-menu-item-icon"> <path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path> </svg> <span class="select-menu-item-text d-flex flex-justify-between" data-menu-button-text> Svelte <span>66</span> </span> </a> <a class="select-menu-item" role="menuitemradio" href="https://github.com/topics/vitejs?l=python" aria-checked="false"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check select-menu-item-icon"> <path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path> </svg> <span class="select-menu-item-text d-flex flex-justify-between" data-menu-button-text> Python <span>38</span> </span> </a> <a class="select-menu-item" role="menuitemradio" href="https://github.com/topics/vitejs?l=c%23" aria-checked="false"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check select-menu-item-icon"> <path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path> </svg> <span class="select-menu-item-text d-flex flex-justify-between" data-menu-button-text> C# <span>16</span> </span> </a> </div> </details-menu> </details> <details class="details-reset details-overlay select-menu mt-2"> <summary data-view-component="true" class="select-menu-button btn-sm btn"> <i>Sort:</i> <span data-menu-button >Most stars</span> </summary> <details-menu class="select-menu-modal position-absolute" style="z-index: 99;"> <div class="select-menu-header"> <span class="select-menu-title">Sort options</span> </div> <div class="select-menu-list"> <a class="select-menu-item" role="menuitemradio" aria-checked="true" href="/topics/vitejs?o=desc&amp;s=stars"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check select-menu-item-icon"> <path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path> </svg> <span class="select-menu-item-text" data-menu-button-text > Most stars </span> </a> <a class="select-menu-item" role="menuitemradio" aria-checked="false" href="/topics/vitejs?o=asc&amp;s=stars"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check select-menu-item-icon"> <path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path> </svg> <span class="select-menu-item-text" data-menu-button-text > Fewest stars </span> </a> <a class="select-menu-item" role="menuitemradio" aria-checked="false" href="/topics/vitejs?o=desc&amp;s=forks"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check select-menu-item-icon"> <path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path> </svg> <span class="select-menu-item-text" data-menu-button-text > Most forks </span> </a> <a class="select-menu-item" role="menuitemradio" aria-checked="false" href="/topics/vitejs?o=asc&amp;s=forks"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check select-menu-item-icon"> <path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path> </svg> <span class="select-menu-item-text" data-menu-button-text > Fewest forks </span> </a> <a class="select-menu-item" role="menuitemradio" aria-checked="false" href="/topics/vitejs?o=desc&amp;s=updated"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check select-menu-item-icon"> <path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path> </svg> <span class="select-menu-item-text" data-menu-button-text > Recently updated </span> </a> <a class="select-menu-item" role="menuitemradio" aria-checked="false" href="/topics/vitejs?o=asc&amp;s=updated"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check select-menu-item-icon"> <path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path> </svg> <span class="select-menu-item-text" data-menu-button-text > Least recently updated </span> </a> </div> </details-menu> </details> </div> <article class="border rounded color-shadow-small color-bg-subtle my-4"> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY&quot;,&quot;click_visual_representation&quot;:&quot;REPOSITORY_IMAGE&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:289191277,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="1497f773e89344944f8c11673608711ec9b7d9b0c863e0871a8e999a8d764064" data-turbo="false" style="max-height:275px" href="/vitejs/awesome-vite" data-view-component="true" class="overflow-hidden flex-items-center rounded-top-2 Link color-border-muted border-bottom d-flex position-relative"><img loading="lazy" src="https://repository-images.githubusercontent.com/289191277/06310700-7154-11eb-9965-4bef03e92a9c" alt="awesome-vite" class="d-block width-full" ></a> <div class="px-3"> <div class="d-flex flex-justify-between flex-items-start flex-wrap gap-2 my-3"> <div class="d-flex flex-1"> <span style="margin-top:2px"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo color-fg-muted mr-2"> <path d="M2 2.5A2.5 2.5 0 0 1 4.5 0h8.75a.75.75 0 0 1 .75.75v12.5a.75.75 0 0 1-.75.75h-2.5a.75.75 0 0 1 0-1.5h1.75v-2h-8a1 1 0 0 0-.714 1.7.75.75 0 1 1-1.072 1.05A2.495 2.495 0 0 1 2 11.5Zm10.5-1h-8a1 1 0 0 0-1 1v6.708A2.486 2.486 0 0 1 4.5 9h8ZM5 12.25a.25.25 0 0 1 .25-.25h3.5a.25.25 0 0 1 .25.25v3.25a.25.25 0 0 1-.4.2l-1.45-1.087a.249.249 0 0 0-.3 0L5.4 15.7a.25.25 0 0 1-.4-.2Z"></path> </svg> </span> <h3 class="f3 color-fg-muted text-normal lh-condensed" > <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;OWNER&quot;,&quot;click_visual_representation&quot;:&quot;REPOSITORY_OWNER_HEADING&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:65625612,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="4fe6f7ae0aeb19098d4535f21054373b4f4c5b243ea10961b080ab35dcfe4f46" data-turbo="false" href="/vitejs" data-view-component="true" class="Link">vitejs</a> / <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY&quot;,&quot;click_visual_representation&quot;:&quot;REPOSITORY_NAME_HEADING&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:289191277,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="5e7b37f36aad8fc3677b0b8f555ed14ed67bf8a61936e9602adbccd0440d0bac" data-turbo="false" href="/vitejs/awesome-vite" data-view-component="true" class="Link text-bold wb-break-word">awesome-vite</a> </h3> </div> <div class="d-flex flex-items-center"> <a href="/sponsors/vitejs" aria-label="Sponsor @vitejs" data-hydro-click="{&quot;event_type&quot;:&quot;sponsors.button_click&quot;,&quot;payload&quot;:{&quot;button&quot;:&quot;TOPIC_PAGE_SPONSOR&quot;,&quot;sponsorable_login&quot;:&quot;vitejs&quot;,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="8f6a565b73d496ce1733f88d0a5c1b5b2ebcb11e651e6f2aa88e6630edaada4a" data-view-component="true" class="Button--secondary Button--small Button mr-2"> <span class="Button-content"> <span class="Button-label"><svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-heart icon-sponsor mr-1 v-align-middle color-fg-sponsors anim-pulse-in"> <path d="m8 14.25.345.666a.75.75 0 0 1-.69 0l-.008-.004-.018-.01a7.152 7.152 0 0 1-.31-.17 22.055 22.055 0 0 1-3.434-2.414C2.045 10.731 0 8.35 0 5.5 0 2.836 2.086 1 4.25 1 5.797 1 7.153 1.802 8 3.02 8.847 1.802 10.203 1 11.75 1 13.914 1 16 2.836 16 5.5c0 2.85-2.045 5.231-3.885 6.818a22.066 22.066 0 0 1-3.744 2.584l-.018.01-.006.003h-.002ZM4.25 2.5c-1.336 0-2.75 1.164-2.75 3 0 2.15 1.58 4.144 3.365 5.682A20.58 20.58 0 0 0 8 13.393a20.58 20.58 0 0 0 3.135-2.211C12.92 9.644 14.5 7.65 14.5 5.5c0-1.836-1.414-3-2.75-3-1.373 0-2.609.986-3.029 2.456a.749.749 0 0 1-1.442 0C6.859 3.486 5.623 2.5 4.25 2.5Z"></path> </svg> <span class="v-align-middle" > Sponsor </span></span> </span> </a> <div data-view-component="true" class="BtnGroup d-flex"> <a href="/login?return_to=%2Fvitejs%2Fawesome-vite" rel="nofollow" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;star button&quot;,&quot;repository_id&quot;:289191277,&quot;auth_type&quot;:&quot;LOG_IN&quot;,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="2c9c77156edc9f42bb842e192d088324665ea3df294005703e61dfac3e42b8ca" aria-label="You must be signed in to star a repository" data-view-component="true" class="tooltipped tooltipped-sw btn-sm btn color-bg-default"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-star v-align-text-bottom d-inline-block mr-2"> <path d="M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.751.751 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25Zm0 2.445L6.615 5.5a.75.75 0 0 1-.564.41l-3.097.45 2.24 2.184a.75.75 0 0 1 .216.664l-.528 3.084 2.769-1.456a.75.75 0 0 1 .698 0l2.77 1.456-.53-3.084a.75.75 0 0 1 .216-.664l2.24-2.183-3.096-.45a.75.75 0 0 1-.564-.41L8 2.694Z"></path> </svg><span data-view-component="true" class="d-inline"> Star </span> <span id="repo-stars-counter-star" aria-label="15452 users starred this repository" data-singular-suffix="user starred this repository" data-plural-suffix="users starred this repository" data-turbo-replace="true" title="15,452" data-view-component="true" class="Counter js-social-count">15.5k</span> </a></div> </div> </div> </div> <nav aria-label="Repository menu" data-view-component="true" class="tabnav px-3 mb-0"> <ul data-view-component="true" class="tabnav-tabs"> <li data-view-component="true" class="d-inline-flex"> <a id="code-tab-289191277" aria-current="true" href="/vitejs/awesome-vite" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY&quot;,&quot;click_visual_representation&quot;:&quot;CODE_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:289191277,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="bd7ec4e166698e1a5d3c43d107e6ad11e7b681a471c6421b8b75187b6284ecb5" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code color-fg-default"> <path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"></path> </svg> Code </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="issues-tab-289191277" href="/vitejs/awesome-vite/issues" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY_ISSUES&quot;,&quot;click_visual_representation&quot;:&quot;ISSUES_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:289191277,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="acda86eb53e81072fc15523c3c892778ac11afbd84a44f613bd54254eca4da6c" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-issue-opened color-fg-muted"> <path d="M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Z"></path> </svg> Issues </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="pull-requests-tab-289191277" href="/vitejs/awesome-vite/pulls" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY_PULL_REQUESTS&quot;,&quot;click_visual_representation&quot;:&quot;PULL_REQUESTS_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:289191277,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="eb3a77ab48a286c48f3f0ca131c9315a6b14564ddc369c35a011492a843733af" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-git-pull-request color-fg-muted"> <path d="M1.5 3.25a2.25 2.25 0 1 1 3 2.122v5.256a2.251 2.251 0 1 1-1.5 0V5.372A2.25 2.25 0 0 1 1.5 3.25Zm5.677-.177L9.573.677A.25.25 0 0 1 10 .854V2.5h1A2.5 2.5 0 0 1 13.5 5v5.628a2.251 2.251 0 1 1-1.5 0V5a1 1 0 0 0-1-1h-1v1.646a.25.25 0 0 1-.427.177L7.177 3.427a.25.25 0 0 1 0-.354ZM3.75 2.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm0 9.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm8.25.75a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Z"></path> </svg> Pull requests </a></li> </ul> </nav> <div class="color-bg-default rounded-bottom-2"> <div class="px-3 pt-3"> <p class="color-fg-muted mb-0" >⚡️ A curated list of awesome things related to Vite.js</p> </div> <div class="d-flex flex-wrap border-bottom color-border-muted px-3 pt-2 pb-2"> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:2509,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="f79b9152b5bebc23615ffe748223ac8b7b169dcb819ac61e49ff557a64a9a509" title="Topic: awesome" href="/topics/awesome" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">awesome</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:72967,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="cab7e27afc8bd16cae2583b70dfa1255aca98179e37cc41ff2d8f55fd7415b40" title="Topic: awesome-list" href="/topics/awesome-list" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">awesome-list</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:790929,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="3fd9115998715c06d78313a3db3f69bfa64fffaf8f973859be4514925b2a7fa1" title="Topic: vite" href="/topics/vite" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">vite</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:1281760,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="0afeedeca5f61837d84808c3c2abb2e013eb28d3be760fbf2b0dea5938be6c05" title="Topic: vitejs" href="/topics/vitejs" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">vitejs</a> </div> <div class="p-3"> <ul class="d-flex f6 list-style-none color-fg-muted"> <li class="mr-4"> Updated <relative-time datetime="2025-03-13T11:20:02Z" class="no-wrap">Mar 13, 2025</relative-time> </li> <li class="mr-4"> <span class="f6 my-1 ml-0"> <span class="repo-language-color" style="background-color: #f1e05a"></span> <span itemprop="programmingLanguage">JavaScript</span> </span> </li> </ul> </div> </div> </article> <article class="border rounded color-shadow-small color-bg-subtle my-4"> <div class="px-3"> <div class="d-flex flex-justify-between flex-items-start flex-wrap gap-2 my-3"> <div class="d-flex flex-1"> <span style="margin-top:2px"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo color-fg-muted mr-2"> <path d="M2 2.5A2.5 2.5 0 0 1 4.5 0h8.75a.75.75 0 0 1 .75.75v12.5a.75.75 0 0 1-.75.75h-2.5a.75.75 0 0 1 0-1.5h1.75v-2h-8a1 1 0 0 0-.714 1.7.75.75 0 1 1-1.072 1.05A2.495 2.495 0 0 1 2 11.5Zm10.5-1h-8a1 1 0 0 0-1 1v6.708A2.486 2.486 0 0 1 4.5 9h8ZM5 12.25a.25.25 0 0 1 .25-.25h3.5a.25.25 0 0 1 .25.25v3.25a.25.25 0 0 1-.4.2l-1.45-1.087a.249.249 0 0 0-.3 0L5.4 15.7a.25.25 0 0 1-.4-.2Z"></path> </svg> </span> <h3 class="f3 color-fg-muted text-normal lh-condensed" > <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;OWNER&quot;,&quot;click_visual_representation&quot;:&quot;REPOSITORY_OWNER_HEADING&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:157326433,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="5617182faed25013805b06552d310ff29f09565b2b662d79de968e4e589b0da2" data-turbo="false" href="/onlook-dev" data-view-component="true" class="Link">onlook-dev</a> / <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY&quot;,&quot;click_visual_representation&quot;:&quot;REPOSITORY_NAME_HEADING&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:820087727,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="c7c41ee6a0881a37e23ac6823b34acef4a06494cd20be829f6f94d3f6e198f9f" data-turbo="false" href="/onlook-dev/onlook" data-view-component="true" class="Link text-bold wb-break-word">onlook</a> </h3> </div> <div class="d-flex flex-items-center"> <div data-view-component="true" class="BtnGroup d-flex"> <a href="/login?return_to=%2Fonlook-dev%2Fonlook" rel="nofollow" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;star button&quot;,&quot;repository_id&quot;:820087727,&quot;auth_type&quot;:&quot;LOG_IN&quot;,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="c049b1b9770b5479a51a97e3e95366cb85e94f87ce0edb8fc5426822ae32e8fd" aria-label="You must be signed in to star a repository" data-view-component="true" class="tooltipped tooltipped-sw btn-sm btn color-bg-default"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-star v-align-text-bottom d-inline-block mr-2"> <path d="M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.751.751 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25Zm0 2.445L6.615 5.5a.75.75 0 0 1-.564.41l-3.097.45 2.24 2.184a.75.75 0 0 1 .216.664l-.528 3.084 2.769-1.456a.75.75 0 0 1 .698 0l2.77 1.456-.53-3.084a.75.75 0 0 1 .216-.664l2.24-2.183-3.096-.45a.75.75 0 0 1-.564-.41L8 2.694Z"></path> </svg><span data-view-component="true" class="d-inline"> Star </span> <span id="repo-stars-counter-star" aria-label="9030 users starred this repository" data-singular-suffix="user starred this repository" data-plural-suffix="users starred this repository" data-turbo-replace="true" title="9,030" data-view-component="true" class="Counter js-social-count">9k</span> </a></div> </div> </div> </div> <nav aria-label="Repository menu" data-view-component="true" class="tabnav px-3 mb-0"> <ul data-view-component="true" class="tabnav-tabs"> <li data-view-component="true" class="d-inline-flex"> <a id="code-tab-820087727" aria-current="true" href="/onlook-dev/onlook" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY&quot;,&quot;click_visual_representation&quot;:&quot;CODE_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:820087727,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="75a7fa1432e08fd3ac0cb7814fb291279144d8d394320bc1bf4527ba2b90a73d" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code color-fg-default"> <path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"></path> </svg> Code </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="issues-tab-820087727" href="/onlook-dev/onlook/issues" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY_ISSUES&quot;,&quot;click_visual_representation&quot;:&quot;ISSUES_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:820087727,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="3cfa865be7ebf50df2d87b11b977d6eb097c17dd9674edcec6c6d0c373401ff3" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-issue-opened color-fg-muted"> <path d="M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Z"></path> </svg> Issues </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="pull-requests-tab-820087727" href="/onlook-dev/onlook/pulls" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY_PULL_REQUESTS&quot;,&quot;click_visual_representation&quot;:&quot;PULL_REQUESTS_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:820087727,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="67c2c1ba09b126145af4af7f3fa85b1c2bfd04038f927084897e866c96049b21" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-git-pull-request color-fg-muted"> <path d="M1.5 3.25a2.25 2.25 0 1 1 3 2.122v5.256a2.251 2.251 0 1 1-1.5 0V5.372A2.25 2.25 0 0 1 1.5 3.25Zm5.677-.177L9.573.677A.25.25 0 0 1 10 .854V2.5h1A2.5 2.5 0 0 1 13.5 5v5.628a2.251 2.251 0 1 1-1.5 0V5a1 1 0 0 0-1-1h-1v1.646a.25.25 0 0 1-.427.177L7.177 3.427a.25.25 0 0 1 0-.354ZM3.75 2.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm0 9.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm8.25.75a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Z"></path> </svg> Pull requests </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="discussions-tab-820087727" href="/onlook-dev/onlook/discussions" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY_DISCUSSIONS&quot;,&quot;click_visual_representation&quot;:&quot;DISCUSSIONS_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:820087727,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="156b3c0ff451a8f264104c45047eb41bfe50be0c0611c9d848fc80e9bb92f0d9" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-comment-discussion color-fg-muted"> <path d="M1.75 1h8.5c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0 1 10.25 10H7.061l-2.574 2.573A1.458 1.458 0 0 1 2 11.543V10h-.25A1.75 1.75 0 0 1 0 8.25v-5.5C0 1.784.784 1 1.75 1ZM1.5 2.75v5.5c0 .138.112.25.25.25h1a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h3.5a.25.25 0 0 0 .25-.25v-5.5a.25.25 0 0 0-.25-.25h-8.5a.25.25 0 0 0-.25.25Zm13 2a.25.25 0 0 0-.25-.25h-.5a.75.75 0 0 1 0-1.5h.5c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0 1 14.25 12H14v1.543a1.458 1.458 0 0 1-2.487 1.03L9.22 12.28a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215l2.22 2.22v-2.19a.75.75 0 0 1 .75-.75h1a.25.25 0 0 0 .25-.25Z"></path> </svg> Discussions </a></li> </ul> </nav> <div class="color-bg-default rounded-bottom-2"> <div class="px-3 pt-3"> <p class="color-fg-muted mb-0" >The open source Cursor for Designers. Design directly in your live React app and publish your changes to code.</p> </div> <div class="d-flex flex-wrap border-bottom color-border-muted px-3 pt-2 pb-2"> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:1,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="be3fde2d83d26a593b2d68480f88f37e5ddbeb51a4c64117e56586aa056f73e3" title="Topic: electron" href="/topics/electron" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">electron</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:12,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="86cb66c561af1dfaec322814fea92f784cf85437942ab9b51ae9b43e8751b7ad" title="Topic: react" href="/topics/react" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">react</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:849,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="2416b7765521e010dd070b5a55da39a04ccd5ebbd22cf0f1498145f4597412b4" title="Topic: design" href="/topics/design" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">design</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:7537,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="9752f39fbd85c61080a1e06ab6a5bc7b1985d63c9fd9415c2712a204ef47c4aa" title="Topic: typescript" href="/topics/typescript" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">typescript</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:7580,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="6893bcd2cb0d10ce8ae0933149ce393f32bd52c0d233758c017b20bbc7a0a898" title="Topic: ui" href="/topics/ui" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">ui</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:7606,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="47b611faed8a90071d9e04400ce035ef9b55c64cbd40cb1f486d2d4d70367068" title="Topic: browser" href="/topics/browser" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">browser</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:9610,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="0315b5517466dadf0e6902dcc643940f31a63534302fbd5acc4dc43d25636c77" title="Topic: frontend" href="/topics/frontend" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">frontend</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:13199,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="d24d326168331401ee4965a9fdd636e5d54120f70ad24aafb46241abc4c4d45b" title="Topic: nextjs" href="/topics/nextjs" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">nextjs</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:14130,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="fc0a76faa8659be1b62cf0c543554566ca85ac935d997852c8337163f768c21d" title="Topic: ide" href="/topics/ide" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">ide</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:85183,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="4fd7f0a3e7e66ac5074b529a70ac29255d3ec626892b88e80820d2d0e8b86c1e" title="Topic: cursor" href="/topics/cursor" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">cursor</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:95572,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="69c3bfba5a0dc3dc4e2c3e4590b6acb4c1c0b251b62b1cff1924ac936edefc66" title="Topic: devtool" href="/topics/devtool" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">devtool</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:196454,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="f351c0769c3783c516eb76b4a73ea59c86ebc28e7ad97d27b445bf7bde67a4e8" title="Topic: hacktoberfest" href="/topics/hacktoberfest" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">hacktoberfest</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:217896,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="d397cfb42778a77d27a694660471c502c9122e22cc2183ef4c03c939b7233d66" title="Topic: figma" href="/topics/figma" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">figma</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:344075,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="26f1727076af62303e16ba365af312b9d8e81c49599256dee468a3eaf0704abf" title="Topic: webflow" href="/topics/webflow" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">webflow</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:379018,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="b1e4e10acc79723f133a0beb6c80c0375f21794111e93b41b6a19b9ae43b5d3b" title="Topic: low-code" href="/topics/low-code" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">low-code</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:381941,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="e5ea66d7f0f2ba458701df8aab261ccb173d4854bc234b11b67ae74259a708cd" title="Topic: no-code" href="/topics/no-code" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">no-code</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:615489,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="1dfae3f21d83aa76112988c2b6fd1f477986d871695857662b01f2c50b052403" title="Topic: tailwindcss" href="/topics/tailwindcss" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">tailwindcss</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:1044222,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="f61cbbc98500ebf140511f62e6e5153120b806016a589f7b8d419d026895378f" title="Topic: local-first" href="/topics/local-first" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">local-first</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:1281760,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="0afeedeca5f61837d84808c3c2abb2e013eb28d3be760fbf2b0dea5938be6c05" title="Topic: vitejs" href="/topics/vitejs" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">vitejs</a> </div> <div class="p-3"> <ul class="d-flex f6 list-style-none color-fg-muted"> <li class="mr-4"> Updated <relative-time datetime="2025-04-03T18:28:21Z" class="no-wrap">Apr 3, 2025</relative-time> </li> <li class="mr-4"> <span class="f6 my-1 ml-0"> <span class="repo-language-color" style="background-color: #3178c6"></span> <span itemprop="programmingLanguage">TypeScript</span> </span> </li> </ul> </div> </div> </article> <article class="border rounded color-shadow-small color-bg-subtle my-4"> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY&quot;,&quot;click_visual_representation&quot;:&quot;REPOSITORY_IMAGE&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:333723456,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="e50ba65bbf9c0f421d8301d87e3d6e453faaa377417b9c53b48485f1090eba1f" data-turbo="false" style="max-height:275px" href="/vikejs/vike" data-view-component="true" class="overflow-hidden flex-items-center rounded-top-2 Link color-border-muted border-bottom d-flex position-relative"><img loading="lazy" src="https://repository-images.githubusercontent.com/333723456/db19ff6b-a02a-4a2a-b54c-bd09dc2e7f90" alt="vike" class="d-block width-full" ></a> <div class="px-3"> <div class="d-flex flex-justify-between flex-items-start flex-wrap gap-2 my-3"> <div class="d-flex flex-1"> <span style="margin-top:2px"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo color-fg-muted mr-2"> <path d="M2 2.5A2.5 2.5 0 0 1 4.5 0h8.75a.75.75 0 0 1 .75.75v12.5a.75.75 0 0 1-.75.75h-2.5a.75.75 0 0 1 0-1.5h1.75v-2h-8a1 1 0 0 0-.714 1.7.75.75 0 1 1-1.072 1.05A2.495 2.495 0 0 1 2 11.5Zm10.5-1h-8a1 1 0 0 0-1 1v6.708A2.486 2.486 0 0 1 4.5 9h8ZM5 12.25a.25.25 0 0 1 .25-.25h3.5a.25.25 0 0 1 .25.25v3.25a.25.25 0 0 1-.4.2l-1.45-1.087a.249.249 0 0 0-.3 0L5.4 15.7a.25.25 0 0 1-.4-.2Z"></path> </svg> </span> <h3 class="f3 color-fg-muted text-normal lh-condensed" > <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;OWNER&quot;,&quot;click_visual_representation&quot;:&quot;REPOSITORY_OWNER_HEADING&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:86403530,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="8c38af7c5d5822bc2b6620ddb19049cdeb3c0eb2de0d0e234719fd41bc90259d" data-turbo="false" href="/vikejs" data-view-component="true" class="Link">vikejs</a> / <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY&quot;,&quot;click_visual_representation&quot;:&quot;REPOSITORY_NAME_HEADING&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:333723456,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="16b3fa56fed67121a11ef403b38dabe72c6dfd8074f3c0c5b0a58a827043ed42" data-turbo="false" href="/vikejs/vike" data-view-component="true" class="Link text-bold wb-break-word">vike</a> </h3> </div> <div class="d-flex flex-items-center"> <a href="/sponsors/vikejs" aria-label="Sponsor @vikejs" data-hydro-click="{&quot;event_type&quot;:&quot;sponsors.button_click&quot;,&quot;payload&quot;:{&quot;button&quot;:&quot;TOPIC_PAGE_SPONSOR&quot;,&quot;sponsorable_login&quot;:&quot;vikejs&quot;,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="5d8d72e70d5eb1b870579027a00779f89556429f1d2ce6bc09de603c3c0448f0" data-view-component="true" class="Button--secondary Button--small Button mr-2"> <span class="Button-content"> <span class="Button-label"><svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-heart icon-sponsor mr-1 v-align-middle color-fg-sponsors anim-pulse-in"> <path d="m8 14.25.345.666a.75.75 0 0 1-.69 0l-.008-.004-.018-.01a7.152 7.152 0 0 1-.31-.17 22.055 22.055 0 0 1-3.434-2.414C2.045 10.731 0 8.35 0 5.5 0 2.836 2.086 1 4.25 1 5.797 1 7.153 1.802 8 3.02 8.847 1.802 10.203 1 11.75 1 13.914 1 16 2.836 16 5.5c0 2.85-2.045 5.231-3.885 6.818a22.066 22.066 0 0 1-3.744 2.584l-.018.01-.006.003h-.002ZM4.25 2.5c-1.336 0-2.75 1.164-2.75 3 0 2.15 1.58 4.144 3.365 5.682A20.58 20.58 0 0 0 8 13.393a20.58 20.58 0 0 0 3.135-2.211C12.92 9.644 14.5 7.65 14.5 5.5c0-1.836-1.414-3-2.75-3-1.373 0-2.609.986-3.029 2.456a.749.749 0 0 1-1.442 0C6.859 3.486 5.623 2.5 4.25 2.5Z"></path> </svg> <span class="v-align-middle" > Sponsor </span></span> </span> </a> <div data-view-component="true" class="BtnGroup d-flex"> <a href="/login?return_to=%2Fvikejs%2Fvike" rel="nofollow" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;star button&quot;,&quot;repository_id&quot;:333723456,&quot;auth_type&quot;:&quot;LOG_IN&quot;,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="657146591fb15d35f5ea66ba4610d422b8f8ee28b9eabe36a6cb3b2d4d0c51e1" aria-label="You must be signed in to star a repository" data-view-component="true" class="tooltipped tooltipped-sw btn-sm btn color-bg-default"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-star v-align-text-bottom d-inline-block mr-2"> <path d="M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.751.751 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25Zm0 2.445L6.615 5.5a.75.75 0 0 1-.564.41l-3.097.45 2.24 2.184a.75.75 0 0 1 .216.664l-.528 3.084 2.769-1.456a.75.75 0 0 1 .698 0l2.77 1.456-.53-3.084a.75.75 0 0 1 .216-.664l2.24-2.183-3.096-.45a.75.75 0 0 1-.564-.41L8 2.694Z"></path> </svg><span data-view-component="true" class="d-inline"> Star </span> <span id="repo-stars-counter-star" aria-label="4789 users starred this repository" data-singular-suffix="user starred this repository" data-plural-suffix="users starred this repository" data-turbo-replace="true" title="4,789" data-view-component="true" class="Counter js-social-count">4.8k</span> </a></div> </div> </div> </div> <nav aria-label="Repository menu" data-view-component="true" class="tabnav px-3 mb-0"> <ul data-view-component="true" class="tabnav-tabs"> <li data-view-component="true" class="d-inline-flex"> <a id="code-tab-333723456" aria-current="true" href="/vikejs/vike" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY&quot;,&quot;click_visual_representation&quot;:&quot;CODE_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:333723456,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="846db5b832719e8acc3af3913c257088eac016ac9432dd83b4d69fa407ed92b6" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code color-fg-default"> <path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"></path> </svg> Code </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="issues-tab-333723456" href="/vikejs/vike/issues" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY_ISSUES&quot;,&quot;click_visual_representation&quot;:&quot;ISSUES_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:333723456,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="2ad4360e580b168e9a3fa26f1dd47c62ecfde9bc79d61df28cb9997adfa1815d" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-issue-opened color-fg-muted"> <path d="M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Z"></path> </svg> Issues </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="pull-requests-tab-333723456" href="/vikejs/vike/pulls" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY_PULL_REQUESTS&quot;,&quot;click_visual_representation&quot;:&quot;PULL_REQUESTS_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:333723456,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="f69d929342582dc2c111704ea3524ce193a54ce744b513b77f89f20cfa9360fc" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-git-pull-request color-fg-muted"> <path d="M1.5 3.25a2.25 2.25 0 1 1 3 2.122v5.256a2.251 2.251 0 1 1-1.5 0V5.372A2.25 2.25 0 0 1 1.5 3.25Zm5.677-.177L9.573.677A.25.25 0 0 1 10 .854V2.5h1A2.5 2.5 0 0 1 13.5 5v5.628a2.251 2.251 0 1 1-1.5 0V5a1 1 0 0 0-1-1h-1v1.646a.25.25 0 0 1-.427.177L7.177 3.427a.25.25 0 0 1 0-.354ZM3.75 2.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm0 9.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm8.25.75a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Z"></path> </svg> Pull requests </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="discussions-tab-333723456" href="/vikejs/vike/discussions" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY_DISCUSSIONS&quot;,&quot;click_visual_representation&quot;:&quot;DISCUSSIONS_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:333723456,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="7b2c88cbd6d438f2985650b5c06e54a6921c0815cf6634248fcd93e0fca8d2d8" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-comment-discussion color-fg-muted"> <path d="M1.75 1h8.5c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0 1 10.25 10H7.061l-2.574 2.573A1.458 1.458 0 0 1 2 11.543V10h-.25A1.75 1.75 0 0 1 0 8.25v-5.5C0 1.784.784 1 1.75 1ZM1.5 2.75v5.5c0 .138.112.25.25.25h1a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h3.5a.25.25 0 0 0 .25-.25v-5.5a.25.25 0 0 0-.25-.25h-8.5a.25.25 0 0 0-.25.25Zm13 2a.25.25 0 0 0-.25-.25h-.5a.75.75 0 0 1 0-1.5h.5c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0 1 14.25 12H14v1.543a1.458 1.458 0 0 1-2.487 1.03L9.22 12.28a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215l2.22 2.22v-2.19a.75.75 0 0 1 .75-.75h1a.25.25 0 0 0 .25-.25Z"></path> </svg> Discussions </a></li> </ul> </nav> <div class="color-bg-default rounded-bottom-2"> <div class="px-3 pt-3"> <p class="color-fg-muted mb-0" >🔨 The Framework *You* Control - Next.js &amp; Nuxt alternative for unprecedented flexibility and dependability.</p> </div> <div class="d-flex flex-wrap border-bottom color-border-muted px-3 pt-2 pb-2"> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:12,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="86cb66c561af1dfaec322814fea92f784cf85437942ab9b51ae9b43e8751b7ad" title="Topic: react" href="/topics/react" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">react</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:395,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="7a6776a0a4fe1c44f6f3df8e9d52fe1b263638283c87655585ed8935ad0e1c3a" title="Topic: static-site-generator" href="/topics/static-site-generator" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">static-site-generator</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:7469,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="9adac6dab9ba954598dd81f9de91933dbcb66d041c3bc5421713e539bcc42193" title="Topic: node" href="/topics/node" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">node</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:9275,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="d9b5c564e3c4a1c84164727da795ff66a42dddbd5c78beed289064059a9939dc" title="Topic: vue" href="/topics/vue" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">vue</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:12006,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="8c820d327073ba479490af49167299ec782ced9c91993a5b4887fbf6951b1f18" title="Topic: solid" href="/topics/solid" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">solid</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:12560,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="6649e92bf5b26f5c62e725bce661ec801efb1dc9a953d3842248d07e6c0b33db" title="Topic: ssr" href="/topics/ssr" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">ssr</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:21486,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="f26691aab7aa03c88924d1b44c845c721603e151ae3c57c0b7f56c144702bcf8" title="Topic: web-framework" href="/topics/web-framework" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">web-framework</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:24085,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="860317fd8ab706a24963866340a893ecb630efdc448840b72e0da616e7c44847" title="Topic: full-stack" href="/topics/full-stack" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">full-stack</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:35172,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="6f656a08f3447a9ea483f432c50687b99d1d225b7d65974354e03892c4f3cb75" title="Topic: server-side-rendering" href="/topics/server-side-rendering" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">server-side-rendering</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:83994,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="8a344246c21090c44807fb82e6af96fbb6ed7eb74d6fe827f968e746ad473b64" title="Topic: server-rendering" href="/topics/server-rendering" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">server-rendering</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:251796,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="eff3f79aa6acd10993afec4c6a91f55c9f3b184588a77fcce73248f1f99c432f" title="Topic: vue-ssr" href="/topics/vue-ssr" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">vue-ssr</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:487194,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="55e3a336791134cbee3593f09e37c9396ce15e6b5be5edd494218305b2f139c1" title="Topic: react-ssr" href="/topics/react-ssr" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">react-ssr</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:790929,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="3fd9115998715c06d78313a3db3f69bfa64fffaf8f973859be4514925b2a7fa1" title="Topic: vite" href="/topics/vite" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">vite</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:1281760,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="0afeedeca5f61837d84808c3c2abb2e013eb28d3be760fbf2b0dea5938be6c05" title="Topic: vitejs" href="/topics/vitejs" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">vitejs</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:1332784,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="39f2cb64a7df5b3049836d9d6c365ece9ce2d8e96a876fab649c508be0f38338" title="Topic: vite-plugin" href="/topics/vite-plugin" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">vite-plugin</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:1464782,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="2db78fa874de8b3a6fa6cacbfc7ad9d00f2028b2e440a44c830c8771bdadee03" title="Topic: vite-ssr" href="/topics/vite-ssr" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">vite-ssr</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:1782351,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="cb42995aecb86b802f75d3e174fcbd29a1f8866552083449d53e750418fffd21" title="Topic: solid-ssr" href="/topics/solid-ssr" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">solid-ssr</a> </div> <div class="p-3"> <ul class="d-flex f6 list-style-none color-fg-muted"> <li class="mr-4"> Updated <relative-time datetime="2025-04-03T15:51:44Z" class="no-wrap">Apr 3, 2025</relative-time> </li> <li class="mr-4"> <span class="f6 my-1 ml-0"> <span class="repo-language-color" style="background-color: #3178c6"></span> <span itemprop="programmingLanguage">TypeScript</span> </span> </li> </ul> </div> </div> </article> <article class="border rounded color-shadow-small color-bg-subtle my-4"> <div class="px-3"> <div class="d-flex flex-justify-between flex-items-start flex-wrap gap-2 my-3"> <div class="d-flex flex-1"> <span style="margin-top:2px"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo color-fg-muted mr-2"> <path d="M2 2.5A2.5 2.5 0 0 1 4.5 0h8.75a.75.75 0 0 1 .75.75v12.5a.75.75 0 0 1-.75.75h-2.5a.75.75 0 0 1 0-1.5h1.75v-2h-8a1 1 0 0 0-.714 1.7.75.75 0 1 1-1.072 1.05A2.495 2.495 0 0 1 2 11.5Zm10.5-1h-8a1 1 0 0 0-1 1v6.708A2.486 2.486 0 0 1 4.5 9h8ZM5 12.25a.25.25 0 0 1 .25-.25h3.5a.25.25 0 0 1 .25.25v3.25a.25.25 0 0 1-.4.2l-1.45-1.087a.249.249 0 0 0-.3 0L5.4 15.7a.25.25 0 0 1-.4-.2Z"></path> </svg> </span> <h3 class="f3 color-fg-muted text-normal lh-condensed" > <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;OWNER&quot;,&quot;click_visual_representation&quot;:&quot;REPOSITORY_OWNER_HEADING&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:71195362,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="1b5492c088c18c645fd2e6496cd66ca17ef82b9b342d3488587ccf3f0f76e3bc" data-turbo="false" href="/troisjs" data-view-component="true" class="Link">troisjs</a> / <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY&quot;,&quot;click_visual_representation&quot;:&quot;REPOSITORY_NAME_HEADING&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:295031696,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="038a72572f608ed5ee3019f7a722435ae2e1c87813db62cff0259b86448b4ea2" data-turbo="false" href="/troisjs/trois" data-view-component="true" class="Link text-bold wb-break-word">trois</a> </h3> </div> <div class="d-flex flex-items-center"> <div data-view-component="true" class="BtnGroup d-flex"> <a href="/login?return_to=%2Ftroisjs%2Ftrois" rel="nofollow" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;star button&quot;,&quot;repository_id&quot;:295031696,&quot;auth_type&quot;:&quot;LOG_IN&quot;,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="4a389ddd2872adf6c1b86147eac5a72d02f04b05deed1d876f2cdb3cd4bfd5b5" aria-label="You must be signed in to star a repository" data-view-component="true" class="tooltipped tooltipped-sw btn-sm btn color-bg-default"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-star v-align-text-bottom d-inline-block mr-2"> <path d="M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.751.751 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25Zm0 2.445L6.615 5.5a.75.75 0 0 1-.564.41l-3.097.45 2.24 2.184a.75.75 0 0 1 .216.664l-.528 3.084 2.769-1.456a.75.75 0 0 1 .698 0l2.77 1.456-.53-3.084a.75.75 0 0 1 .216-.664l2.24-2.183-3.096-.45a.75.75 0 0 1-.564-.41L8 2.694Z"></path> </svg><span data-view-component="true" class="d-inline"> Star </span> <span id="repo-stars-counter-star" aria-label="4348 users starred this repository" data-singular-suffix="user starred this repository" data-plural-suffix="users starred this repository" data-turbo-replace="true" title="4,348" data-view-component="true" class="Counter js-social-count">4.3k</span> </a></div> </div> </div> </div> <nav aria-label="Repository menu" data-view-component="true" class="tabnav px-3 mb-0"> <ul data-view-component="true" class="tabnav-tabs"> <li data-view-component="true" class="d-inline-flex"> <a id="code-tab-295031696" aria-current="true" href="/troisjs/trois" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY&quot;,&quot;click_visual_representation&quot;:&quot;CODE_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:295031696,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="4ea05b81f9951d858dc5bdd8448ab166a9f41d1feb20ded6e5e7b944c71568c8" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code color-fg-default"> <path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"></path> </svg> Code </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="issues-tab-295031696" href="/troisjs/trois/issues" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY_ISSUES&quot;,&quot;click_visual_representation&quot;:&quot;ISSUES_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:295031696,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="408da691f85aa784de495019b0e37a9be985f37859c3ecb6197e07a5b5e06c7d" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-issue-opened color-fg-muted"> <path d="M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Z"></path> </svg> Issues </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="pull-requests-tab-295031696" href="/troisjs/trois/pulls" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY_PULL_REQUESTS&quot;,&quot;click_visual_representation&quot;:&quot;PULL_REQUESTS_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:295031696,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="6dc66773e5a73bd7b9602d8016da34736284d4563a4fab7b4e16d7d8c07670fd" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-git-pull-request color-fg-muted"> <path d="M1.5 3.25a2.25 2.25 0 1 1 3 2.122v5.256a2.251 2.251 0 1 1-1.5 0V5.372A2.25 2.25 0 0 1 1.5 3.25Zm5.677-.177L9.573.677A.25.25 0 0 1 10 .854V2.5h1A2.5 2.5 0 0 1 13.5 5v5.628a2.251 2.251 0 1 1-1.5 0V5a1 1 0 0 0-1-1h-1v1.646a.25.25 0 0 1-.427.177L7.177 3.427a.25.25 0 0 1 0-.354ZM3.75 2.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm0 9.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm8.25.75a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Z"></path> </svg> Pull requests </a></li> </ul> </nav> <div class="color-bg-default rounded-bottom-2"> <div class="px-3 pt-3"> <p class="color-fg-muted mb-0" >✨ ThreeJS + VueJS 3 + ViteJS ⚡</p> </div> <div class="d-flex flex-wrap border-bottom color-border-muted px-3 pt-2 pb-2"> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:2119,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="6707b4b2cd0c5138ed2bc8e08eb95598d17dbbcfd74af66c071ef374ad261830" title="Topic: webgl" href="/topics/webgl" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">webgl</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:2120,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="535bd3e5deb06da8f0fedb392ccbf6a06701c4f84ca555d79c0d7dd9cf0406f6" title="Topic: threejs" href="/topics/threejs" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">threejs</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:2367,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="39bc119d11f04b0a448abe36c77e7d8d2be8db02c00da18eeb3271575e00d71c" title="Topic: vuejs" href="/topics/vuejs" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">vuejs</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:151793,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="ad968339dd8f0c883cdede1e6f8e2f27245f72bc99e33100bd7d3068a2e63c27" title="Topic: three-js" href="/topics/three-js" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">three-js</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:238400,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="8e819c8ebfa2c279e7b79ce48dc9ac3eb96cd00d132497f9796c9f0338067143" title="Topic: 3d" href="/topics/3d" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">3d</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:816796,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="ccf163b90fe28bdae579a04c712b40998356a6cca90bf39837f053dd918307bc" title="Topic: vuejs3" href="/topics/vuejs3" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">vuejs3</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:1281760,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="0afeedeca5f61837d84808c3c2abb2e013eb28d3be760fbf2b0dea5938be6c05" title="Topic: vitejs" href="/topics/vitejs" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">vitejs</a> </div> <div class="p-3"> <ul class="d-flex f6 list-style-none color-fg-muted"> <li class="mr-4"> Updated <relative-time datetime="2023-07-18T13:58:34Z" class="no-wrap">Jul 18, 2023</relative-time> </li> <li class="mr-4"> <span class="f6 my-1 ml-0"> <span class="repo-language-color" style="background-color: #3178c6"></span> <span itemprop="programmingLanguage">TypeScript</span> </span> </li> </ul> </div> </div> </article> <article class="border rounded color-shadow-small color-bg-subtle my-4"> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY&quot;,&quot;click_visual_representation&quot;:&quot;REPOSITORY_IMAGE&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:304350054,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="a68645d7e89f9d8fa590a7c8f81e8ad9a7527e283843a6d5ebfa31a5d8ed5148" data-turbo="false" style="max-height:275px" href="/cruip/tailwind-landing-page-template" data-view-component="true" class="overflow-hidden flex-items-center rounded-top-2 Link color-border-muted border-bottom d-flex position-relative"><img loading="lazy" src="https://repository-images.githubusercontent.com/304350054/16d32604-c50c-45af-80b5-531863f10da0" alt="tailwind-landing-page-template" class="d-block width-full" ></a> <div class="px-3"> <div class="d-flex flex-justify-between flex-items-start flex-wrap gap-2 my-3"> <div class="d-flex flex-1"> <span style="margin-top:2px"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo color-fg-muted mr-2"> <path d="M2 2.5A2.5 2.5 0 0 1 4.5 0h8.75a.75.75 0 0 1 .75.75v12.5a.75.75 0 0 1-.75.75h-2.5a.75.75 0 0 1 0-1.5h1.75v-2h-8a1 1 0 0 0-.714 1.7.75.75 0 1 1-1.072 1.05A2.495 2.495 0 0 1 2 11.5Zm10.5-1h-8a1 1 0 0 0-1 1v6.708A2.486 2.486 0 0 1 4.5 9h8ZM5 12.25a.25.25 0 0 1 .25-.25h3.5a.25.25 0 0 1 .25.25v3.25a.25.25 0 0 1-.4.2l-1.45-1.087a.249.249 0 0 0-.3 0L5.4 15.7a.25.25 0 0 1-.4-.2Z"></path> </svg> </span> <h3 class="f3 color-fg-muted text-normal lh-condensed" > <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;OWNER&quot;,&quot;click_visual_representation&quot;:&quot;REPOSITORY_OWNER_HEADING&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:63243128,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="ea9e63c4cdb0b26e8a45f232fbef0ed861ac0842cf1b449030c8681cae2ce3a3" data-turbo="false" href="/cruip" data-view-component="true" class="Link">cruip</a> / <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY&quot;,&quot;click_visual_representation&quot;:&quot;REPOSITORY_NAME_HEADING&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:304350054,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="fa511228c80d037dded9ee3d90eb90c1c6509eda55de143d85305a0f9d49c070" data-turbo="false" href="/cruip/tailwind-landing-page-template" data-view-component="true" class="Link text-bold wb-break-word">tailwind-landing-page-template</a> </h3> </div> <div class="d-flex flex-items-center"> <div data-view-component="true" class="BtnGroup d-flex"> <a href="/login?return_to=%2Fcruip%2Ftailwind-landing-page-template" rel="nofollow" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;star button&quot;,&quot;repository_id&quot;:304350054,&quot;auth_type&quot;:&quot;LOG_IN&quot;,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="a9bc2117043ccb60dcff4f72eb5be9215b8c9885d2e4385b2c1030daba4a8399" aria-label="You must be signed in to star a repository" data-view-component="true" class="tooltipped tooltipped-sw btn-sm btn color-bg-default"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-star v-align-text-bottom d-inline-block mr-2"> <path d="M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.751.751 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25Zm0 2.445L6.615 5.5a.75.75 0 0 1-.564.41l-3.097.45 2.24 2.184a.75.75 0 0 1 .216.664l-.528 3.084 2.769-1.456a.75.75 0 0 1 .698 0l2.77 1.456-.53-3.084a.75.75 0 0 1 .216-.664l2.24-2.183-3.096-.45a.75.75 0 0 1-.564-.41L8 2.694Z"></path> </svg><span data-view-component="true" class="d-inline"> Star </span> <span id="repo-stars-counter-star" aria-label="4046 users starred this repository" data-singular-suffix="user starred this repository" data-plural-suffix="users starred this repository" data-turbo-replace="true" title="4,046" data-view-component="true" class="Counter js-social-count">4k</span> </a></div> </div> </div> </div> <nav aria-label="Repository menu" data-view-component="true" class="tabnav px-3 mb-0"> <ul data-view-component="true" class="tabnav-tabs"> <li data-view-component="true" class="d-inline-flex"> <a id="code-tab-304350054" aria-current="true" href="/cruip/tailwind-landing-page-template" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY&quot;,&quot;click_visual_representation&quot;:&quot;CODE_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:304350054,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="ec45787af345694a9727c9ea96ea654a6ed9fe865cc4962eac4a31a1dd5acb23" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code color-fg-default"> <path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"></path> </svg> Code </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="issues-tab-304350054" href="/cruip/tailwind-landing-page-template/issues" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY_ISSUES&quot;,&quot;click_visual_representation&quot;:&quot;ISSUES_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:304350054,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="0a61af96aaec368db72c1eaf18164b7db04588c3d07c815799ecfcf54372cbca" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-issue-opened color-fg-muted"> <path d="M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Z"></path> </svg> Issues </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="pull-requests-tab-304350054" href="/cruip/tailwind-landing-page-template/pulls" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY_PULL_REQUESTS&quot;,&quot;click_visual_representation&quot;:&quot;PULL_REQUESTS_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:304350054,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="dfe8155e46f5435219e9a9e459b265d1c8e20971ca319278e3646a290e476d9b" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-git-pull-request color-fg-muted"> <path d="M1.5 3.25a2.25 2.25 0 1 1 3 2.122v5.256a2.251 2.251 0 1 1-1.5 0V5.372A2.25 2.25 0 0 1 1.5 3.25Zm5.677-.177L9.573.677A.25.25 0 0 1 10 .854V2.5h1A2.5 2.5 0 0 1 13.5 5v5.628a2.251 2.251 0 1 1-1.5 0V5a1 1 0 0 0-1-1h-1v1.646a.25.25 0 0 1-.427.177L7.177 3.427a.25.25 0 0 1 0-.354ZM3.75 2.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm0 9.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm8.25.75a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Z"></path> </svg> Pull requests </a></li> </ul> </nav> <div class="color-bg-default rounded-bottom-2"> <div class="px-3 pt-3"> <p class="color-fg-muted mb-0" >Simple Light is a free landing page template built on top of TailwindCSS and fully coded in React / Next.js. Made by </p> </div> <div class="d-flex flex-wrap border-bottom color-border-muted px-3 pt-2 pb-2"> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:12,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="86cb66c561af1dfaec322814fea92f784cf85437942ab9b51ae9b43e8751b7ad" title="Topic: react" href="/topics/react" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">react</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:9202,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="c77fdcd2154477bd5186ba835c13465f9bddc6ad322b3976fb1954f0c709cddb" title="Topic: landing-page" href="/topics/landing-page" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">landing-page</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:12582,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="8a09e37bdd38ac96c5a0c5518159b6e64ea48da45e379a8603547fdb442a7833" title="Topic: reactjs" href="/topics/reactjs" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">reactjs</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:13199,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="d24d326168331401ee4965a9fdd636e5d54120f70ad24aafb46241abc4c4d45b" title="Topic: nextjs" href="/topics/nextjs" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">nextjs</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:43717,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="3ac8ed495a6d89226ee53a92a1c629a0904097ad747ff4273304477833e4525c" title="Topic: startup" href="/topics/startup" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">startup</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:44658,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="9923d045a534624f20c2b3010aef75b681f001fa3a081adf7364e78afe754df0" title="Topic: free" href="/topics/free" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">free</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:72637,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="3605d03e59dbae1c148b0df91595b73f76b8e37eb2ad4a7d26227ab6b87f53f7" title="Topic: page" href="/topics/page" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">page</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:190113,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="2280d56d707794152c805fe827cb37d46da936a58068f84c152a59b440c49654" title="Topic: landing" href="/topics/landing" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">landing</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:615488,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="ef18274fac9cb285eca98c79d5b4d69f87ddb70eb2f6c6437c5d3d8d703f3c76" title="Topic: tailwind" href="/topics/tailwind" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">tailwind</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:615489,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="1dfae3f21d83aa76112988c2b6fd1f477986d871695857662b01f2c50b052403" title="Topic: tailwindcss" href="/topics/tailwindcss" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">tailwindcss</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:790929,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="3fd9115998715c06d78313a3db3f69bfa64fffaf8f973859be4514925b2a7fa1" title="Topic: vite" href="/topics/vite" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">vite</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:1281760,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="0afeedeca5f61837d84808c3c2abb2e013eb28d3be760fbf2b0dea5938be6c05" title="Topic: vitejs" href="/topics/vitejs" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">vitejs</a> </div> <div class="p-3"> <ul class="d-flex f6 list-style-none color-fg-muted"> <li class="mr-4"> Updated <relative-time datetime="2025-03-02T15:54:21Z" class="no-wrap">Mar 2, 2025</relative-time> </li> <li class="mr-4"> <span class="f6 my-1 ml-0"> <span class="repo-language-color" style="background-color: #3178c6"></span> <span itemprop="programmingLanguage">TypeScript</span> </span> </li> </ul> </div> </div> </article> <article class="border rounded color-shadow-small color-bg-subtle my-4"> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY&quot;,&quot;click_visual_representation&quot;:&quot;REPOSITORY_IMAGE&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:450664377,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="a5d9f6810db4be8955ed31ae15865dec665c82c7096c18d600d9daad5e639811" data-turbo="false" style="max-height:275px" href="/histoire-dev/histoire" data-view-component="true" class="overflow-hidden flex-items-center rounded-top-2 Link color-border-muted border-bottom d-flex position-relative"><img loading="lazy" src="https://repository-images.githubusercontent.com/450664377/95da80a0-e7a6-47e0-951c-625315a58f9b" alt="histoire" class="d-block width-full" ></a> <div class="px-3"> <div class="d-flex flex-justify-between flex-items-start flex-wrap gap-2 my-3"> <div class="d-flex flex-1"> <span style="margin-top:2px"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo color-fg-muted mr-2"> <path d="M2 2.5A2.5 2.5 0 0 1 4.5 0h8.75a.75.75 0 0 1 .75.75v12.5a.75.75 0 0 1-.75.75h-2.5a.75.75 0 0 1 0-1.5h1.75v-2h-8a1 1 0 0 0-.714 1.7.75.75 0 1 1-1.072 1.05A2.495 2.495 0 0 1 2 11.5Zm10.5-1h-8a1 1 0 0 0-1 1v6.708A2.486 2.486 0 0 1 4.5 9h8ZM5 12.25a.25.25 0 0 1 .25-.25h3.5a.25.25 0 0 1 .25.25v3.25a.25.25 0 0 1-.4.2l-1.45-1.087a.249.249 0 0 0-.3 0L5.4 15.7a.25.25 0 0 1-.4-.2Z"></path> </svg> </span> <h3 class="f3 color-fg-muted text-normal lh-condensed" > <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;OWNER&quot;,&quot;click_visual_representation&quot;:&quot;REPOSITORY_OWNER_HEADING&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:101679800,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="6aee29b1df53f6e1a8593e296dca88fe850e28193a079a8a4aad8eb8b3c38e63" data-turbo="false" href="/histoire-dev" data-view-component="true" class="Link">histoire-dev</a> / <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY&quot;,&quot;click_visual_representation&quot;:&quot;REPOSITORY_NAME_HEADING&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:450664377,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="efbe3ece5cadb947f56894d69d0bb381dc07bf873dfa7ce3594abf84b2ffac49" data-turbo="false" href="/histoire-dev/histoire" data-view-component="true" class="Link text-bold wb-break-word">histoire</a> </h3> </div> <div class="d-flex flex-items-center"> <div data-view-component="true" class="BtnGroup d-flex"> <a href="/login?return_to=%2Fhistoire-dev%2Fhistoire" rel="nofollow" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;star button&quot;,&quot;repository_id&quot;:450664377,&quot;auth_type&quot;:&quot;LOG_IN&quot;,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="3fdb764e78200823991f39c90310135c65e23d66049c92c449dbd4a8525ec98d" aria-label="You must be signed in to star a repository" data-view-component="true" class="tooltipped tooltipped-sw btn-sm btn color-bg-default"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-star v-align-text-bottom d-inline-block mr-2"> <path d="M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.751.751 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25Zm0 2.445L6.615 5.5a.75.75 0 0 1-.564.41l-3.097.45 2.24 2.184a.75.75 0 0 1 .216.664l-.528 3.084 2.769-1.456a.75.75 0 0 1 .698 0l2.77 1.456-.53-3.084a.75.75 0 0 1 .216-.664l2.24-2.183-3.096-.45a.75.75 0 0 1-.564-.41L8 2.694Z"></path> </svg><span data-view-component="true" class="d-inline"> Star </span> <span id="repo-stars-counter-star" aria-label="3325 users starred this repository" data-singular-suffix="user starred this repository" data-plural-suffix="users starred this repository" data-turbo-replace="true" title="3,325" data-view-component="true" class="Counter js-social-count">3.3k</span> </a></div> </div> </div> </div> <nav aria-label="Repository menu" data-view-component="true" class="tabnav px-3 mb-0"> <ul data-view-component="true" class="tabnav-tabs"> <li data-view-component="true" class="d-inline-flex"> <a id="code-tab-450664377" aria-current="true" href="/histoire-dev/histoire" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY&quot;,&quot;click_visual_representation&quot;:&quot;CODE_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:450664377,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="2da1f2cfa718e57e90dbbee28486a8ab0a7d0601f8901561b1b73138a08567a6" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code color-fg-default"> <path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"></path> </svg> Code </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="issues-tab-450664377" href="/histoire-dev/histoire/issues" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY_ISSUES&quot;,&quot;click_visual_representation&quot;:&quot;ISSUES_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:450664377,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="a39218493ee57b78bf38acac679c72e6179ad2918035fae8322d2a5104609525" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-issue-opened color-fg-muted"> <path d="M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Z"></path> </svg> Issues </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="pull-requests-tab-450664377" href="/histoire-dev/histoire/pulls" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY_PULL_REQUESTS&quot;,&quot;click_visual_representation&quot;:&quot;PULL_REQUESTS_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:450664377,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="74a80c445eca8dfd3d1d07cba84776e4a38944b7bca517a5be6824e20e63c4a4" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-git-pull-request color-fg-muted"> <path d="M1.5 3.25a2.25 2.25 0 1 1 3 2.122v5.256a2.251 2.251 0 1 1-1.5 0V5.372A2.25 2.25 0 0 1 1.5 3.25Zm5.677-.177L9.573.677A.25.25 0 0 1 10 .854V2.5h1A2.5 2.5 0 0 1 13.5 5v5.628a2.251 2.251 0 1 1-1.5 0V5a1 1 0 0 0-1-1h-1v1.646a.25.25 0 0 1-.427.177L7.177 3.427a.25.25 0 0 1 0-.354ZM3.75 2.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm0 9.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm8.25.75a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Z"></path> </svg> Pull requests </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="discussions-tab-450664377" href="/histoire-dev/histoire/discussions" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY_DISCUSSIONS&quot;,&quot;click_visual_representation&quot;:&quot;DISCUSSIONS_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:450664377,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="f70cdbec5847cce8d9991c4a9ac51460dedf4314d2a84beeb9c4f06b9354ed6f" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-comment-discussion color-fg-muted"> <path d="M1.75 1h8.5c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0 1 10.25 10H7.061l-2.574 2.573A1.458 1.458 0 0 1 2 11.543V10h-.25A1.75 1.75 0 0 1 0 8.25v-5.5C0 1.784.784 1 1.75 1ZM1.5 2.75v5.5c0 .138.112.25.25.25h1a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h3.5a.25.25 0 0 0 .25-.25v-5.5a.25.25 0 0 0-.25-.25h-8.5a.25.25 0 0 0-.25.25Zm13 2a.25.25 0 0 0-.25-.25h-.5a.75.75 0 0 1 0-1.5h.5c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0 1 14.25 12H14v1.543a1.458 1.458 0 0 1-2.487 1.03L9.22 12.28a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215l2.22 2.22v-2.19a.75.75 0 0 1 .75-.75h1a.25.25 0 0 0 .25-.25Z"></path> </svg> Discussions </a></li> </ul> </nav> <div class="color-bg-default rounded-bottom-2"> <div class="px-3 pt-3"> <p class="color-fg-muted mb-0" >⚡ Fast and beautiful interactive component playgrounds, powered by Vite </p> </div> <div class="d-flex flex-wrap border-bottom color-border-muted px-3 pt-2 pb-2"> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:40,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="64c10c69181d5f323f8bc1856bd482c13374e91a628a222fbc4dd55c45dd9701" title="Topic: javascript" href="/topics/javascript" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">javascript</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:2367,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="39bc119d11f04b0a448abe36c77e7d8d2be8db02c00da18eeb3271575e00d71c" title="Topic: vuejs" href="/topics/vuejs" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">vuejs</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:44574,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="2429f4d7a34142a84b5c2a777780a7549411c5835efea17b5db2b0f032b75c6d" title="Topic: story" href="/topics/story" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">story</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:447813,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="710668a9ca8eb003a1d6b9ae7adba309e1c8b4d97299e5f8a170e241c81ad6ff" title="Topic: sveltejs" href="/topics/sveltejs" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">sveltejs</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:1281760,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="0afeedeca5f61837d84808c3c2abb2e013eb28d3be760fbf2b0dea5938be6c05" title="Topic: vitejs" href="/topics/vitejs" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">vitejs</a> </div> <div class="p-3"> <ul class="d-flex f6 list-style-none color-fg-muted"> <li class="mr-4"> Updated <relative-time datetime="2025-02-21T17:45:55Z" class="no-wrap">Feb 21, 2025</relative-time> </li> <li class="mr-4"> <span class="f6 my-1 ml-0"> <span class="repo-language-color" style="background-color: #3178c6"></span> <span itemprop="programmingLanguage">TypeScript</span> </span> </li> </ul> </div> </div> </article> <article class="border rounded color-shadow-small color-bg-subtle my-4"> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY&quot;,&quot;click_visual_representation&quot;:&quot;REPOSITORY_IMAGE&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:175832658,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="9860a83024b6ea1da295b7794bff15b1a4b643ff7e0886669d7214f1df44bb41" data-turbo="false" style="max-height:275px" href="/crxjs/chrome-extension-tools" data-view-component="true" class="overflow-hidden flex-items-center rounded-top-2 Link color-border-muted border-bottom d-flex position-relative"><img loading="lazy" src="https://repository-images.githubusercontent.com/175832658/76e003e3-91a6-41df-999b-306b5f3d2c41" alt="chrome-extension-tools" class="d-block width-full" ></a> <div class="px-3"> <div class="d-flex flex-justify-between flex-items-start flex-wrap gap-2 my-3"> <div class="d-flex flex-1"> <span style="margin-top:2px"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo color-fg-muted mr-2"> <path d="M2 2.5A2.5 2.5 0 0 1 4.5 0h8.75a.75.75 0 0 1 .75.75v12.5a.75.75 0 0 1-.75.75h-2.5a.75.75 0 0 1 0-1.5h1.75v-2h-8a1 1 0 0 0-.714 1.7.75.75 0 1 1-1.072 1.05A2.495 2.495 0 0 1 2 11.5Zm10.5-1h-8a1 1 0 0 0-1 1v6.708A2.486 2.486 0 0 1 4.5 9h8ZM5 12.25a.25.25 0 0 1 .25-.25h3.5a.25.25 0 0 1 .25.25v3.25a.25.25 0 0 1-.4.2l-1.45-1.087a.249.249 0 0 0-.3 0L5.4 15.7a.25.25 0 0 1-.4-.2Z"></path> </svg> </span> <h3 class="f3 color-fg-muted text-normal lh-condensed" > <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;OWNER&quot;,&quot;click_visual_representation&quot;:&quot;REPOSITORY_OWNER_HEADING&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:94016149,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="a9302827e5c44f148c701ab9b1b9d544fa74ef3d7dae45972301d574f4a6d142" data-turbo="false" href="/crxjs" data-view-component="true" class="Link">crxjs</a> / <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY&quot;,&quot;click_visual_representation&quot;:&quot;REPOSITORY_NAME_HEADING&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:175832658,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="94aabbbf956da74734ce42fabc8394a3ab035b44a4b18fa83375a8a6420e9657" data-turbo="false" href="/crxjs/chrome-extension-tools" data-view-component="true" class="Link text-bold wb-break-word">chrome-extension-tools</a> </h3> </div> <div class="d-flex flex-items-center"> <div data-view-component="true" class="BtnGroup d-flex"> <a href="/login?return_to=%2Fcrxjs%2Fchrome-extension-tools" rel="nofollow" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;star button&quot;,&quot;repository_id&quot;:175832658,&quot;auth_type&quot;:&quot;LOG_IN&quot;,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="19b6b9c7b9fc0aa4bcdf6fc51d55c8d377159b769b1c547c6625a9d8933c3fa5" aria-label="You must be signed in to star a repository" data-view-component="true" class="tooltipped tooltipped-sw btn-sm btn color-bg-default"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-star v-align-text-bottom d-inline-block mr-2"> <path d="M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.751.751 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25Zm0 2.445L6.615 5.5a.75.75 0 0 1-.564.41l-3.097.45 2.24 2.184a.75.75 0 0 1 .216.664l-.528 3.084 2.769-1.456a.75.75 0 0 1 .698 0l2.77 1.456-.53-3.084a.75.75 0 0 1 .216-.664l2.24-2.183-3.096-.45a.75.75 0 0 1-.564-.41L8 2.694Z"></path> </svg><span data-view-component="true" class="d-inline"> Star </span> <span id="repo-stars-counter-star" aria-label="3196 users starred this repository" data-singular-suffix="user starred this repository" data-plural-suffix="users starred this repository" data-turbo-replace="true" title="3,196" data-view-component="true" class="Counter js-social-count">3.2k</span> </a></div> </div> </div> </div> <nav aria-label="Repository menu" data-view-component="true" class="tabnav px-3 mb-0"> <ul data-view-component="true" class="tabnav-tabs"> <li data-view-component="true" class="d-inline-flex"> <a id="code-tab-175832658" aria-current="true" href="/crxjs/chrome-extension-tools" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY&quot;,&quot;click_visual_representation&quot;:&quot;CODE_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:175832658,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="cb09e2d0de01affed08b051ba9f95841d2baee944509e9231488945616286e8c" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code color-fg-default"> <path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"></path> </svg> Code </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="issues-tab-175832658" href="/crxjs/chrome-extension-tools/issues" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY_ISSUES&quot;,&quot;click_visual_representation&quot;:&quot;ISSUES_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:175832658,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="fda11362f9dfe8d27346c57fc2f1dea6ca19696336d60d40cd365b58c8948541" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-issue-opened color-fg-muted"> <path d="M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Z"></path> </svg> Issues </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="pull-requests-tab-175832658" href="/crxjs/chrome-extension-tools/pulls" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY_PULL_REQUESTS&quot;,&quot;click_visual_representation&quot;:&quot;PULL_REQUESTS_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:175832658,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="f48f013ec4e8632eb7c171a99324a1253c7448cd972e7910645ba123558eedbe" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-git-pull-request color-fg-muted"> <path d="M1.5 3.25a2.25 2.25 0 1 1 3 2.122v5.256a2.251 2.251 0 1 1-1.5 0V5.372A2.25 2.25 0 0 1 1.5 3.25Zm5.677-.177L9.573.677A.25.25 0 0 1 10 .854V2.5h1A2.5 2.5 0 0 1 13.5 5v5.628a2.251 2.251 0 1 1-1.5 0V5a1 1 0 0 0-1-1h-1v1.646a.25.25 0 0 1-.427.177L7.177 3.427a.25.25 0 0 1 0-.354ZM3.75 2.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm0 9.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm8.25.75a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Z"></path> </svg> Pull requests </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="discussions-tab-175832658" href="/crxjs/chrome-extension-tools/discussions" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY_DISCUSSIONS&quot;,&quot;click_visual_representation&quot;:&quot;DISCUSSIONS_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:175832658,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="c64169807c610d74a2b9237273cda85ff27d5182195365a43e9800c130a3f7bb" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-comment-discussion color-fg-muted"> <path d="M1.75 1h8.5c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0 1 10.25 10H7.061l-2.574 2.573A1.458 1.458 0 0 1 2 11.543V10h-.25A1.75 1.75 0 0 1 0 8.25v-5.5C0 1.784.784 1 1.75 1ZM1.5 2.75v5.5c0 .138.112.25.25.25h1a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h3.5a.25.25 0 0 0 .25-.25v-5.5a.25.25 0 0 0-.25-.25h-8.5a.25.25 0 0 0-.25.25Zm13 2a.25.25 0 0 0-.25-.25h-.5a.75.75 0 0 1 0-1.5h.5c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0 1 14.25 12H14v1.543a1.458 1.458 0 0 1-2.487 1.03L9.22 12.28a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215l2.22 2.22v-2.19a.75.75 0 0 1 .75-.75h1a.25.25 0 0 0 .25-.25Z"></path> </svg> Discussions </a></li> </ul> </nav> <div class="color-bg-default rounded-bottom-2"> <div class="px-3 pt-3"> <p class="color-fg-muted mb-0" >Bundling Chrome Extensions can be pretty complex. It doesn't have to be.</p> </div> <div class="d-flex flex-wrap border-bottom color-border-muted px-3 pt-2 pb-2"> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:40,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="64c10c69181d5f323f8bc1856bd482c13374e91a628a222fbc4dd55c45dd9701" title="Topic: javascript" href="/topics/javascript" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">javascript</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:121,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="daacacb1dbd814365b4ec7e034a6e0f4dd1d7c3f2941b7465160f20112dfbf5b" title="Topic: chrome-extension" href="/topics/chrome-extension" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">chrome-extension</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:7537,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="9752f39fbd85c61080a1e06ab6a5bc7b1985d63c9fd9415c2712a204ef47c4aa" title="Topic: typescript" href="/topics/typescript" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">typescript</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:16417,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="8b964435d0d2fa491675bcccf2def07ecae5ab18fd43bf3e2fa66a54e7472d2f" title="Topic: rollup" href="/topics/rollup" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">rollup</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:17785,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="779d44527051021569de3910bbc95ce872ba8e45802fd861bc48264d39f8dcab" title="Topic: npm-package" href="/topics/npm-package" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">npm-package</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:93300,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="97e650961921ffb6d3f2b9cd8ed72b9dc31648bf9b1a15bf3f82749cee196579" title="Topic: rollup-plugin" href="/topics/rollup-plugin" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">rollup-plugin</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:595912,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="10a00788efd1ce692d65b77747cc5ac70b1872ea710a5fd5d18a4bde1413a273" title="Topic: rollup-js" href="/topics/rollup-js" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">rollup-js</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:1281760,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="0afeedeca5f61837d84808c3c2abb2e013eb28d3be760fbf2b0dea5938be6c05" title="Topic: vitejs" href="/topics/vitejs" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">vitejs</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:1332784,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="39f2cb64a7df5b3049836d9d6c365ece9ce2d8e96a876fab649c508be0f38338" title="Topic: vite-plugin" href="/topics/vite-plugin" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">vite-plugin</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:1413306,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="d7c9ed8ecdd7bd8ebdbf55494b50adf3652104764255674f5ab07def3d5de54d" title="Topic: manifest-v3" href="/topics/manifest-v3" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">manifest-v3</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:1432998,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="a852faa2c9304e3cf94e234a2e2d300ad6c22f111034fb58a4569c7828962870" title="Topic: manifest-v2" href="/topics/manifest-v2" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">manifest-v2</a> </div> <div class="p-3"> <ul class="d-flex f6 list-style-none color-fg-muted"> <li class="mr-4"> Updated <relative-time datetime="2025-04-02T10:21:15Z" class="no-wrap">Apr 2, 2025</relative-time> </li> <li class="mr-4"> <span class="f6 my-1 ml-0"> <span class="repo-language-color" style="background-color: #3178c6"></span> <span itemprop="programmingLanguage">TypeScript</span> </span> </li> </ul> </div> </div> </article> <article class="border rounded color-shadow-small color-bg-subtle my-4"> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY&quot;,&quot;click_visual_representation&quot;:&quot;REPOSITORY_IMAGE&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:279507329,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="970274aa27f6ea5473ecff6ee3f2232ab2690ae32aa550027404ba15a4f71151" data-turbo="false" style="max-height:275px" href="/tajo/ladle" data-view-component="true" class="overflow-hidden flex-items-center rounded-top-2 Link color-border-muted border-bottom d-flex position-relative"><img loading="lazy" src="https://repository-images.githubusercontent.com/279507329/ab6165ad-d5a0-42a9-b056-ea307842586b" alt="ladle" class="d-block width-full" ></a> <div class="px-3"> <div class="d-flex flex-justify-between flex-items-start flex-wrap gap-2 my-3"> <div class="d-flex flex-1"> <span style="margin-top:2px"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo color-fg-muted mr-2"> <path d="M2 2.5A2.5 2.5 0 0 1 4.5 0h8.75a.75.75 0 0 1 .75.75v12.5a.75.75 0 0 1-.75.75h-2.5a.75.75 0 0 1 0-1.5h1.75v-2h-8a1 1 0 0 0-.714 1.7.75.75 0 1 1-1.072 1.05A2.495 2.495 0 0 1 2 11.5Zm10.5-1h-8a1 1 0 0 0-1 1v6.708A2.486 2.486 0 0 1 4.5 9h8ZM5 12.25a.25.25 0 0 1 .25-.25h3.5a.25.25 0 0 1 .25.25v3.25a.25.25 0 0 1-.4.2l-1.45-1.087a.249.249 0 0 0-.3 0L5.4 15.7a.25.25 0 0 1-.4-.2Z"></path> </svg> </span> <h3 class="f3 color-fg-muted text-normal lh-condensed" > <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;OWNER&quot;,&quot;click_visual_representation&quot;:&quot;REPOSITORY_OWNER_HEADING&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:1387913,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="e667d736e3eda7513e4e65d3695ecf74e319c26a2ddca3261284a7ee3493b97b" data-turbo="false" href="/tajo" data-view-component="true" class="Link">tajo</a> / <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY&quot;,&quot;click_visual_representation&quot;:&quot;REPOSITORY_NAME_HEADING&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:279507329,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="d16156a40aeeacdbad99144052f872db951c281b8b216c1aab2cfc5413ececed" data-turbo="false" href="/tajo/ladle" data-view-component="true" class="Link text-bold wb-break-word">ladle</a> </h3> </div> <div class="d-flex flex-items-center"> <a href="/sponsors/tajo" aria-label="Sponsor @tajo" data-hydro-click="{&quot;event_type&quot;:&quot;sponsors.button_click&quot;,&quot;payload&quot;:{&quot;button&quot;:&quot;TOPIC_PAGE_SPONSOR&quot;,&quot;sponsorable_login&quot;:&quot;tajo&quot;,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="d47750a9daac6fdac8df210ab4e98960dd3f6473103bda1f9455e754b812ede7" data-view-component="true" class="Button--secondary Button--small Button mr-2"> <span class="Button-content"> <span class="Button-label"><svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-heart icon-sponsor mr-1 v-align-middle color-fg-sponsors anim-pulse-in"> <path d="m8 14.25.345.666a.75.75 0 0 1-.69 0l-.008-.004-.018-.01a7.152 7.152 0 0 1-.31-.17 22.055 22.055 0 0 1-3.434-2.414C2.045 10.731 0 8.35 0 5.5 0 2.836 2.086 1 4.25 1 5.797 1 7.153 1.802 8 3.02 8.847 1.802 10.203 1 11.75 1 13.914 1 16 2.836 16 5.5c0 2.85-2.045 5.231-3.885 6.818a22.066 22.066 0 0 1-3.744 2.584l-.018.01-.006.003h-.002ZM4.25 2.5c-1.336 0-2.75 1.164-2.75 3 0 2.15 1.58 4.144 3.365 5.682A20.58 20.58 0 0 0 8 13.393a20.58 20.58 0 0 0 3.135-2.211C12.92 9.644 14.5 7.65 14.5 5.5c0-1.836-1.414-3-2.75-3-1.373 0-2.609.986-3.029 2.456a.749.749 0 0 1-1.442 0C6.859 3.486 5.623 2.5 4.25 2.5Z"></path> </svg> <span class="v-align-middle" > Sponsor </span></span> </span> </a> <div data-view-component="true" class="BtnGroup d-flex"> <a href="/login?return_to=%2Ftajo%2Fladle" rel="nofollow" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;star button&quot;,&quot;repository_id&quot;:279507329,&quot;auth_type&quot;:&quot;LOG_IN&quot;,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="4671a7ffa010cdadf458f64f8264d32ead1e648e4f314286644a770358a00494" aria-label="You must be signed in to star a repository" data-view-component="true" class="tooltipped tooltipped-sw btn-sm btn color-bg-default"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-star v-align-text-bottom d-inline-block mr-2"> <path d="M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.751.751 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25Zm0 2.445L6.615 5.5a.75.75 0 0 1-.564.41l-3.097.45 2.24 2.184a.75.75 0 0 1 .216.664l-.528 3.084 2.769-1.456a.75.75 0 0 1 .698 0l2.77 1.456-.53-3.084a.75.75 0 0 1 .216-.664l2.24-2.183-3.096-.45a.75.75 0 0 1-.564-.41L8 2.694Z"></path> </svg><span data-view-component="true" class="d-inline"> Star </span> <span id="repo-stars-counter-star" aria-label="2711 users starred this repository" data-singular-suffix="user starred this repository" data-plural-suffix="users starred this repository" data-turbo-replace="true" title="2,711" data-view-component="true" class="Counter js-social-count">2.7k</span> </a></div> </div> </div> </div> <nav aria-label="Repository menu" data-view-component="true" class="tabnav px-3 mb-0"> <ul data-view-component="true" class="tabnav-tabs"> <li data-view-component="true" class="d-inline-flex"> <a id="code-tab-279507329" aria-current="true" href="/tajo/ladle" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY&quot;,&quot;click_visual_representation&quot;:&quot;CODE_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:279507329,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="380dfde67b917a3001776fbba52898e2bbac517dd85c493e5c7a5e59f87d65ed" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code color-fg-default"> <path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"></path> </svg> Code </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="issues-tab-279507329" href="/tajo/ladle/issues" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY_ISSUES&quot;,&quot;click_visual_representation&quot;:&quot;ISSUES_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:279507329,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="0372f7f90c7fe36b44001b1aa8375c3b39e43a54c79b5779d923347c026ae053" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-issue-opened color-fg-muted"> <path d="M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Z"></path> </svg> Issues </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="pull-requests-tab-279507329" href="/tajo/ladle/pulls" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY_PULL_REQUESTS&quot;,&quot;click_visual_representation&quot;:&quot;PULL_REQUESTS_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:279507329,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="5f9744f3c06dcc65c11da5d4bece65794905b32c1e0c9b2e15f19d6d78dcc0ca" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-git-pull-request color-fg-muted"> <path d="M1.5 3.25a2.25 2.25 0 1 1 3 2.122v5.256a2.251 2.251 0 1 1-1.5 0V5.372A2.25 2.25 0 0 1 1.5 3.25Zm5.677-.177L9.573.677A.25.25 0 0 1 10 .854V2.5h1A2.5 2.5 0 0 1 13.5 5v5.628a2.251 2.251 0 1 1-1.5 0V5a1 1 0 0 0-1-1h-1v1.646a.25.25 0 0 1-.427.177L7.177 3.427a.25.25 0 0 1 0-.354ZM3.75 2.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm0 9.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm8.25.75a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Z"></path> </svg> Pull requests </a></li> </ul> </nav> <div class="color-bg-default rounded-bottom-2"> <div class="px-3 pt-3"> <p class="color-fg-muted mb-0" >🥄 Develop, test and document your React story components faster.</p> </div> <div class="d-flex flex-wrap border-bottom color-border-muted px-3 pt-2 pb-2"> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:12,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="86cb66c561af1dfaec322814fea92f784cf85437942ab9b51ae9b43e8751b7ad" title="Topic: react" href="/topics/react" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">react</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:40,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="64c10c69181d5f323f8bc1856bd482c13374e91a628a222fbc4dd55c45dd9701" title="Topic: javascript" href="/topics/javascript" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">javascript</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:181,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="aa468c21009a89e8d0e041691f54f6d9a3000b812ae44ec107292fa60ca1a1e9" title="Topic: stories" href="/topics/stories" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">stories</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:183,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="c0427d146b55b0aff4a6f78efc42b24bbfe7a95722fe0a0ef75648f158e54346" title="Topic: testing" href="/topics/testing" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">testing</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:569,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="47c9f9b542ed8b7c7e74d3f5dd2510b562c00ccb9db49b93dc33102ad42c8f63" title="Topic: components" href="/topics/components" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">components</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:656,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="a49ce3becd5a3a4a891493429653b4235da0984adc47238d3f36f636000ed23a" title="Topic: playground" href="/topics/playground" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">playground</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:883,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="1339c745e7a8e7db94a0fe439ec617112734171a1e4cadcf1ff74dcfe6bb1dae" title="Topic: documentation" href="/topics/documentation" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">documentation</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:2183,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="3e6d0f9c96106b43879f6e31bdcc1659379380ac2219187049f4f9b978e433cb" title="Topic: styleguide" href="/topics/styleguide" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">styleguide</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:7537,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="9752f39fbd85c61080a1e06ab6a5bc7b1985d63c9fd9415c2712a204ef47c4aa" title="Topic: typescript" href="/topics/typescript" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">typescript</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:7580,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="6893bcd2cb0d10ce8ae0933149ce393f32bd52c0d233758c017b20bbc7a0a898" title="Topic: ui" href="/topics/ui" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">ui</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:1194439,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="dded2f20d863895612d24510d3eae528f1fc2c3f011a22045d3e4dd322e1fc44" title="Topic: esbuild" href="/topics/esbuild" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">esbuild</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:1281760,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="0afeedeca5f61837d84808c3c2abb2e013eb28d3be760fbf2b0dea5938be6c05" title="Topic: vitejs" href="/topics/vitejs" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">vitejs</a> </div> <div class="p-3"> <ul class="d-flex f6 list-style-none color-fg-muted"> <li class="mr-4"> Updated <relative-time datetime="2025-03-20T01:13:27Z" class="no-wrap">Mar 20, 2025</relative-time> </li> <li class="mr-4"> <span class="f6 my-1 ml-0"> <span class="repo-language-color" style="background-color: #3178c6"></span> <span itemprop="programmingLanguage">TypeScript</span> </span> </li> </ul> </div> </div> </article> <article class="border rounded color-shadow-small color-bg-subtle my-4"> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY&quot;,&quot;click_visual_representation&quot;:&quot;REPOSITORY_IMAGE&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:359729337,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="baf48a5d8ae1b4e08ea2fcf1cdf04ffb88428abf2be0d76917edf0dd3aa5c19d" data-turbo="false" style="max-height:275px" href="/cruip/tailwind-dashboard-template" data-view-component="true" class="overflow-hidden flex-items-center rounded-top-2 Link color-border-muted border-bottom d-flex position-relative"><img loading="lazy" src="https://repository-images.githubusercontent.com/359729337/76d32a8f-4626-4cf8-a9eb-5819ba676460" alt="tailwind-dashboard-template" class="d-block width-full" ></a> <div class="px-3"> <div class="d-flex flex-justify-between flex-items-start flex-wrap gap-2 my-3"> <div class="d-flex flex-1"> <span style="margin-top:2px"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo color-fg-muted mr-2"> <path d="M2 2.5A2.5 2.5 0 0 1 4.5 0h8.75a.75.75 0 0 1 .75.75v12.5a.75.75 0 0 1-.75.75h-2.5a.75.75 0 0 1 0-1.5h1.75v-2h-8a1 1 0 0 0-.714 1.7.75.75 0 1 1-1.072 1.05A2.495 2.495 0 0 1 2 11.5Zm10.5-1h-8a1 1 0 0 0-1 1v6.708A2.486 2.486 0 0 1 4.5 9h8ZM5 12.25a.25.25 0 0 1 .25-.25h3.5a.25.25 0 0 1 .25.25v3.25a.25.25 0 0 1-.4.2l-1.45-1.087a.249.249 0 0 0-.3 0L5.4 15.7a.25.25 0 0 1-.4-.2Z"></path> </svg> </span> <h3 class="f3 color-fg-muted text-normal lh-condensed" > <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;OWNER&quot;,&quot;click_visual_representation&quot;:&quot;REPOSITORY_OWNER_HEADING&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:63243128,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="ea9e63c4cdb0b26e8a45f232fbef0ed861ac0842cf1b449030c8681cae2ce3a3" data-turbo="false" href="/cruip" data-view-component="true" class="Link">cruip</a> / <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY&quot;,&quot;click_visual_representation&quot;:&quot;REPOSITORY_NAME_HEADING&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:359729337,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="6a310fe4c81b0263ae1ece57170a54ae74e4c9d6b84ff643b2360231b2261aaa" data-turbo="false" href="/cruip/tailwind-dashboard-template" data-view-component="true" class="Link text-bold wb-break-word">tailwind-dashboard-template</a> </h3> </div> <div class="d-flex flex-items-center"> <div data-view-component="true" class="BtnGroup d-flex"> <a href="/login?return_to=%2Fcruip%2Ftailwind-dashboard-template" rel="nofollow" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;star button&quot;,&quot;repository_id&quot;:359729337,&quot;auth_type&quot;:&quot;LOG_IN&quot;,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="83fb2d8490007177efc1147dffe91e6fed84587e96cd44f5170ea81f2a9f676b" aria-label="You must be signed in to star a repository" data-view-component="true" class="tooltipped tooltipped-sw btn-sm btn color-bg-default"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-star v-align-text-bottom d-inline-block mr-2"> <path d="M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.751.751 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25Zm0 2.445L6.615 5.5a.75.75 0 0 1-.564.41l-3.097.45 2.24 2.184a.75.75 0 0 1 .216.664l-.528 3.084 2.769-1.456a.75.75 0 0 1 .698 0l2.77 1.456-.53-3.084a.75.75 0 0 1 .216-.664l2.24-2.183-3.096-.45a.75.75 0 0 1-.564-.41L8 2.694Z"></path> </svg><span data-view-component="true" class="d-inline"> Star </span> <span id="repo-stars-counter-star" aria-label="2521 users starred this repository" data-singular-suffix="user starred this repository" data-plural-suffix="users starred this repository" data-turbo-replace="true" title="2,521" data-view-component="true" class="Counter js-social-count">2.5k</span> </a></div> </div> </div> </div> <nav aria-label="Repository menu" data-view-component="true" class="tabnav px-3 mb-0"> <ul data-view-component="true" class="tabnav-tabs"> <li data-view-component="true" class="d-inline-flex"> <a id="code-tab-359729337" aria-current="true" href="/cruip/tailwind-dashboard-template" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY&quot;,&quot;click_visual_representation&quot;:&quot;CODE_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:359729337,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="4695b1c51900ff90a439208d82e505b2ffb71154f535e29da1c93f18f7a755d6" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code color-fg-default"> <path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"></path> </svg> Code </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="issues-tab-359729337" href="/cruip/tailwind-dashboard-template/issues" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY_ISSUES&quot;,&quot;click_visual_representation&quot;:&quot;ISSUES_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:359729337,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="d80648e0c851965a433950a431e96296d7a33f371563ef6eaa400d53491ba85e" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-issue-opened color-fg-muted"> <path d="M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Z"></path> </svg> Issues </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="pull-requests-tab-359729337" href="/cruip/tailwind-dashboard-template/pulls" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY_PULL_REQUESTS&quot;,&quot;click_visual_representation&quot;:&quot;PULL_REQUESTS_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:359729337,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="01d51b2208051d3dac8425172aad49fe83d17cbecdc7ff8d656d7f7a4b758b33" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-git-pull-request color-fg-muted"> <path d="M1.5 3.25a2.25 2.25 0 1 1 3 2.122v5.256a2.251 2.251 0 1 1-1.5 0V5.372A2.25 2.25 0 0 1 1.5 3.25Zm5.677-.177L9.573.677A.25.25 0 0 1 10 .854V2.5h1A2.5 2.5 0 0 1 13.5 5v5.628a2.251 2.251 0 1 1-1.5 0V5a1 1 0 0 0-1-1h-1v1.646a.25.25 0 0 1-.427.177L7.177 3.427a.25.25 0 0 1 0-.354ZM3.75 2.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm0 9.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm8.25.75a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Z"></path> </svg> Pull requests </a></li> </ul> </nav> <div class="color-bg-default rounded-bottom-2"> <div class="px-3 pt-3"> <p class="color-fg-muted mb-0" >Mosaic Lite is a free admin dashboard template built on top of Tailwind CSS and fully coded in React. Made by</p> </div> <div class="d-flex flex-wrap border-bottom color-border-muted px-3 pt-2 pb-2"> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:12,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="86cb66c561af1dfaec322814fea92f784cf85437942ab9b51ae9b43e8751b7ad" title="Topic: react" href="/topics/react" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">react</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:9262,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="a6aff98cc5ce5cd0ae710de8829a69806b1c21b830b4beb800aeff1c83cd42aa" title="Topic: dashboard" href="/topics/dashboard" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">dashboard</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:12582,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="8a09e37bdd38ac96c5a0c5518159b6e64ea48da45e379a8603547fdb442a7833" title="Topic: reactjs" href="/topics/reactjs" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">reactjs</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:13811,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="80847e73bfe1bb301d9b9226ef2e7591728f162c284bd5b3ac5739c2f6789174" title="Topic: templates" href="/topics/templates" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">templates</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:14247,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="4e23f6a3fc80fc9bc0bacaa0dd461fa7c2492b772466d31d3f0138afa4c18b38" title="Topic: chartjs" href="/topics/chartjs" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">chartjs</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:21628,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="6b66f0c9bcd1aa3596f656b8de825a594e13e4eb818fc0956d8996c6c09a1f63" title="Topic: admin-dashboard" href="/topics/admin-dashboard" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">admin-dashboard</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:50405,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="ccedd48d8aecd1afe80e812765e09f76b9a3a46a42864f34540e1d5d0df27dd2" title="Topic: dashboards" href="/topics/dashboards" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">dashboards</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:314849,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="e263149fb09784a7a8d5e60a19bec206c56ecf80bc603a90bbee983c7ad4b477" title="Topic: dashboard-templates" href="/topics/dashboard-templates" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">dashboard-templates</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:328781,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="ad724b1e38d5b1c5e70549ff8d3fa04cebf81a6dd7d4c8eea88077d0ec6b4e81" title="Topic: analytics-dashboard" href="/topics/analytics-dashboard" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">analytics-dashboard</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:335497,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="cda14bd86624b4c173acbb13655425f6052e59ed53e418f117d95e945c336fd6" title="Topic: flatpickr" href="/topics/flatpickr" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">flatpickr</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:615488,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="ef18274fac9cb285eca98c79d5b4d69f87ddb70eb2f6c6437c5d3d8d703f3c76" title="Topic: tailwind" href="/topics/tailwind" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">tailwind</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:615489,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="1dfae3f21d83aa76112988c2b6fd1f477986d871695857662b01f2c50b052403" title="Topic: tailwindcss" href="/topics/tailwindcss" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">tailwindcss</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:695907,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="f3fe3bbf24fe53b2c40d2c4be5ace15e18ff7870c919d271d0a92b612028128f" title="Topic: tailwind-css" href="/topics/tailwind-css" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">tailwind-css</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:790929,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="3fd9115998715c06d78313a3db3f69bfa64fffaf8f973859be4514925b2a7fa1" title="Topic: vite" href="/topics/vite" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">vite</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:1281760,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="0afeedeca5f61837d84808c3c2abb2e013eb28d3be760fbf2b0dea5938be6c05" title="Topic: vitejs" href="/topics/vitejs" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">vitejs</a> </div> <div class="p-3"> <ul class="d-flex f6 list-style-none color-fg-muted"> <li class="mr-4"> Updated <relative-time datetime="2025-03-02T15:55:04Z" class="no-wrap">Mar 2, 2025</relative-time> </li> <li class="mr-4"> <span class="f6 my-1 ml-0"> <span class="repo-language-color" style="background-color: #f1e05a"></span> <span itemprop="programmingLanguage">JavaScript</span> </span> </li> </ul> </div> </div> </article> <article class="border rounded color-shadow-small color-bg-subtle my-4"> <div class="px-3"> <div class="d-flex flex-justify-between flex-items-start flex-wrap gap-2 my-3"> <div class="d-flex flex-1"> <span style="margin-top:2px"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo color-fg-muted mr-2"> <path d="M2 2.5A2.5 2.5 0 0 1 4.5 0h8.75a.75.75 0 0 1 .75.75v12.5a.75.75 0 0 1-.75.75h-2.5a.75.75 0 0 1 0-1.5h1.75v-2h-8a1 1 0 0 0-.714 1.7.75.75 0 1 1-1.072 1.05A2.495 2.495 0 0 1 2 11.5Zm10.5-1h-8a1 1 0 0 0-1 1v6.708A2.486 2.486 0 0 1 4.5 9h8ZM5 12.25a.25.25 0 0 1 .25-.25h3.5a.25.25 0 0 1 .25.25v3.25a.25.25 0 0 1-.4.2l-1.45-1.087a.249.249 0 0 0-.3 0L5.4 15.7a.25.25 0 0 1-.4-.2Z"></path> </svg> </span> <h3 class="f3 color-fg-muted text-normal lh-condensed" > <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;OWNER&quot;,&quot;click_visual_representation&quot;:&quot;REPOSITORY_OWNER_HEADING&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:13847403,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="93a7794c3ea5d0f96b709d9b5d9f4656ee47aa86d01fb4fd43d963d8263b805e" data-turbo="false" href="/apptension" data-view-component="true" class="Link">apptension</a> / <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY&quot;,&quot;click_visual_representation&quot;:&quot;REPOSITORY_NAME_HEADING&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:255566762,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="e87d29d664a2085a146eb01b3b9e1f163cb47c4c5955ae5159d117d6d1080b4e" data-turbo="false" href="/apptension/saas-boilerplate" data-view-component="true" class="Link text-bold wb-break-word">saas-boilerplate</a> </h3> </div> <div class="d-flex flex-items-center"> <div data-view-component="true" class="BtnGroup d-flex"> <a href="/login?return_to=%2Fapptension%2Fsaas-boilerplate" rel="nofollow" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;star button&quot;,&quot;repository_id&quot;:255566762,&quot;auth_type&quot;:&quot;LOG_IN&quot;,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="66bc260f24bf1b00e6315158da8f0a6e4e022de8d10ef6ca6bc936a882aa1291" aria-label="You must be signed in to star a repository" data-view-component="true" class="tooltipped tooltipped-sw btn-sm btn color-bg-default"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-star v-align-text-bottom d-inline-block mr-2"> <path d="M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.751.751 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25Zm0 2.445L6.615 5.5a.75.75 0 0 1-.564.41l-3.097.45 2.24 2.184a.75.75 0 0 1 .216.664l-.528 3.084 2.769-1.456a.75.75 0 0 1 .698 0l2.77 1.456-.53-3.084a.75.75 0 0 1 .216-.664l2.24-2.183-3.096-.45a.75.75 0 0 1-.564-.41L8 2.694Z"></path> </svg><span data-view-component="true" class="d-inline"> Star </span> <span id="repo-stars-counter-star" aria-label="2467 users starred this repository" data-singular-suffix="user starred this repository" data-plural-suffix="users starred this repository" data-turbo-replace="true" title="2,467" data-view-component="true" class="Counter js-social-count">2.5k</span> </a></div> </div> </div> </div> <nav aria-label="Repository menu" data-view-component="true" class="tabnav px-3 mb-0"> <ul data-view-component="true" class="tabnav-tabs"> <li data-view-component="true" class="d-inline-flex"> <a id="code-tab-255566762" aria-current="true" href="/apptension/saas-boilerplate" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY&quot;,&quot;click_visual_representation&quot;:&quot;CODE_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:255566762,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="56494d0718b1a412cb200304bb34cfcea7f34656d241c5873f7ab7278d9f92f2" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code color-fg-default"> <path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"></path> </svg> Code </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="issues-tab-255566762" href="/apptension/saas-boilerplate/issues" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY_ISSUES&quot;,&quot;click_visual_representation&quot;:&quot;ISSUES_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:255566762,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="deb8f8922fc2050a624461fc7f31b8d76ca6d2c6c48f24a89c72b6d3610b628e" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-issue-opened color-fg-muted"> <path d="M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Z"></path> </svg> Issues </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="pull-requests-tab-255566762" href="/apptension/saas-boilerplate/pulls" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY_PULL_REQUESTS&quot;,&quot;click_visual_representation&quot;:&quot;PULL_REQUESTS_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:255566762,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="8274a6818d7e8b31f60af5913010c144695894a7e094c7184c82d19f985a78ed" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-git-pull-request color-fg-muted"> <path d="M1.5 3.25a2.25 2.25 0 1 1 3 2.122v5.256a2.251 2.251 0 1 1-1.5 0V5.372A2.25 2.25 0 0 1 1.5 3.25Zm5.677-.177L9.573.677A.25.25 0 0 1 10 .854V2.5h1A2.5 2.5 0 0 1 13.5 5v5.628a2.251 2.251 0 1 1-1.5 0V5a1 1 0 0 0-1-1h-1v1.646a.25.25 0 0 1-.427.177L7.177 3.427a.25.25 0 0 1 0-.354ZM3.75 2.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm0 9.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm8.25.75a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Z"></path> </svg> Pull requests </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="discussions-tab-255566762" href="/apptension/saas-boilerplate/discussions" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY_DISCUSSIONS&quot;,&quot;click_visual_representation&quot;:&quot;DISCUSSIONS_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:255566762,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="6c9f4faadac0c65c5e71ec66df9a04a35f787f13f170dfd423d26a61a29f8e05" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-comment-discussion color-fg-muted"> <path d="M1.75 1h8.5c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0 1 10.25 10H7.061l-2.574 2.573A1.458 1.458 0 0 1 2 11.543V10h-.25A1.75 1.75 0 0 1 0 8.25v-5.5C0 1.784.784 1 1.75 1ZM1.5 2.75v5.5c0 .138.112.25.25.25h1a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h3.5a.25.25 0 0 0 .25-.25v-5.5a.25.25 0 0 0-.25-.25h-8.5a.25.25 0 0 0-.25.25Zm13 2a.25.25 0 0 0-.25-.25h-.5a.75.75 0 0 1 0-1.5h.5c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0 1 14.25 12H14v1.543a1.458 1.458 0 0 1-2.487 1.03L9.22 12.28a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215l2.22 2.22v-2.19a.75.75 0 0 1 .75-.75h1a.25.25 0 0 0 .25-.25Z"></path> </svg> Discussions </a></li> </ul> </nav> <div class="color-bg-default rounded-bottom-2"> <div class="px-3 pt-3"> <p class="color-fg-muted mb-0" >SaaS Boilerplate - Open Source and free SaaS stack that lets you build SaaS products faster in React, Django and AWS. Focus on essential business logic instead of coding repeatable features!</p> </div> <div class="d-flex flex-wrap border-bottom color-border-muted px-3 pt-2 pb-2"> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:12,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="86cb66c561af1dfaec322814fea92f784cf85437942ab9b51ae9b43e8751b7ad" title="Topic: react" href="/topics/react" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">react</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:84,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="7e1a5771eadd01a32eaaa718c47bb6eb1a292a3a29892a65d8c06fd827d56ff3" title="Topic: python" href="/topics/python" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">python</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:281,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="00b070b589f2bc682ca3dea4fb1d9abb191e1629fe1915723d3303a6d1fc3f46" title="Topic: docker" href="/topics/docker" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">docker</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:621,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="d09714de164725a561e7f0a9c7f7ff3e8bde372a34a7a0eef640e69ed4318436" title="Topic: aws" href="/topics/aws" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">aws</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:2116,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="1dca5492a75150a16b91b30b0901ecd89c3d0b0d6069163338e98698c783fc99" title="Topic: boilerplate" href="/topics/boilerplate" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">boilerplate</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:2178,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="90f0c3bcd90e3ca1d45e9b1dfe33e1c8bdd6896f2b626052bebeb56bd01e3026" title="Topic: business" href="/topics/business" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">business</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:2465,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="121ae6a1af8cec1b2c302b892d188064ba7528b252458471268587b6556b7d40" title="Topic: django" href="/topics/django" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">django</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:7536,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="191b629f625ba6cde019f6193a1cccbf1935fdbe2256c8aa0316c6adfa610f42" title="Topic: product" href="/topics/product" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">product</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:7537,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="9752f39fbd85c61080a1e06ab6a5bc7b1985d63c9fd9415c2712a204ef47c4aa" title="Topic: typescript" href="/topics/typescript" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">typescript</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:9555,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="b2eee046cd8521d40c5b401f6509d60a4d481f1d3ceba7c3aafc7449e3752122" title="Topic: stack" href="/topics/stack" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">stack</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:9610,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="0315b5517466dadf0e6902dcc643940f31a63534302fbd5acc4dc43d25636c77" title="Topic: frontend" href="/topics/frontend" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">frontend</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:9643,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="49daa4363d618ab1dce4ff0229dccdae0c3cdfdd5885182c4ccda546b4989f62" title="Topic: serverless" href="/topics/serverless" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">serverless</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:9650,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="d467a4e6c1a8cecf2d5ff0bd833021450b0f1e6abe1b12cf5342d638441f6ff9" title="Topic: backend" href="/topics/backend" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">backend</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:9684,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="164eb5315bc7fc9991b3158be51ada44e49d3345767a8e6cec95a5934a979def" title="Topic: pipeline" href="/topics/pipeline" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">pipeline</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:17545,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="a4007d34c029513e8834ab4926837143aa4a89c2c9ee2ece418f5c64335939bb" title="Topic: workers" href="/topics/workers" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">workers</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:23003,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="e49f7a0c896baceaf47f04996f4ec8331a10f417759ca910471f04023879fe04" title="Topic: saas" href="/topics/saas" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">saas</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:196454,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="f351c0769c3783c516eb76b4a73ea59c86ebc28e7ad97d27b445bf7bde67a4e8" title="Topic: hacktoberfest" href="/topics/hacktoberfest" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">hacktoberfest</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:388904,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="7266d33eeb04f232fb9c09d3828d5abfb7d20abe4a354710e2c6414b1a834915" title="Topic: cdk" href="/topics/cdk" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">cdk</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:1281760,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="0afeedeca5f61837d84808c3c2abb2e013eb28d3be760fbf2b0dea5938be6c05" title="Topic: vitejs" href="/topics/vitejs" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">vitejs</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:2043173,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="bfe78e90c360545e9b6d5000fadcc771ff2f704641f66c97b09d5b32ee75ada1" title="Topic: aws-esc" href="/topics/aws-esc" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">aws-esc</a> </div> <div class="p-3"> <ul class="d-flex f6 list-style-none color-fg-muted"> <li class="mr-4"> Updated <relative-time datetime="2025-04-01T02:02:03Z" class="no-wrap">Apr 1, 2025</relative-time> </li> <li class="mr-4"> <span class="f6 my-1 ml-0"> <span class="repo-language-color" style="background-color: #3178c6"></span> <span itemprop="programmingLanguage">TypeScript</span> </span> </li> </ul> </div> </div> </article> <article class="border rounded color-shadow-small color-bg-subtle my-4"> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY&quot;,&quot;click_visual_representation&quot;:&quot;REPOSITORY_IMAGE&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:376839043,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="8452966c3fc199a35915fbd63b71d1ceed80f167d2f72f9e3c5f010e04079fec" data-turbo="false" style="max-height:275px" href="/justboil/admin-one-vue-tailwind" data-view-component="true" class="overflow-hidden flex-items-center rounded-top-2 Link color-border-muted border-bottom d-flex position-relative"><img loading="lazy" src="https://repository-images.githubusercontent.com/376839043/ac559f40-bfb7-451f-85fa-5a472c4c3ab1" alt="admin-one-vue-tailwind" class="d-block width-full" ></a> <div class="px-3"> <div class="d-flex flex-justify-between flex-items-start flex-wrap gap-2 my-3"> <div class="d-flex flex-1"> <span style="margin-top:2px"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo color-fg-muted mr-2"> <path d="M2 2.5A2.5 2.5 0 0 1 4.5 0h8.75a.75.75 0 0 1 .75.75v12.5a.75.75 0 0 1-.75.75h-2.5a.75.75 0 0 1 0-1.5h1.75v-2h-8a1 1 0 0 0-.714 1.7.75.75 0 1 1-1.072 1.05A2.495 2.495 0 0 1 2 11.5Zm10.5-1h-8a1 1 0 0 0-1 1v6.708A2.486 2.486 0 0 1 4.5 9h8ZM5 12.25a.25.25 0 0 1 .25-.25h3.5a.25.25 0 0 1 .25.25v3.25a.25.25 0 0 1-.4.2l-1.45-1.087a.249.249 0 0 0-.3 0L5.4 15.7a.25.25 0 0 1-.4-.2Z"></path> </svg> </span> <h3 class="f3 color-fg-muted text-normal lh-condensed" > <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;OWNER&quot;,&quot;click_visual_representation&quot;:&quot;REPOSITORY_OWNER_HEADING&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:62835950,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="7913e1e606de47219061dd087393a87a20e745c717a035e1c906775b9595cf2c" data-turbo="false" href="/justboil" data-view-component="true" class="Link">justboil</a> / <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY&quot;,&quot;click_visual_representation&quot;:&quot;REPOSITORY_NAME_HEADING&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:376839043,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="14021210316287f2cb58eec29a0c9e55d4b67707e492b69aa1cffcec11dfac92" data-turbo="false" href="/justboil/admin-one-vue-tailwind" data-view-component="true" class="Link text-bold wb-break-word">admin-one-vue-tailwind</a> </h3> </div> <div class="d-flex flex-items-center"> <div data-view-component="true" class="BtnGroup d-flex"> <a href="/login?return_to=%2Fjustboil%2Fadmin-one-vue-tailwind" rel="nofollow" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;star button&quot;,&quot;repository_id&quot;:376839043,&quot;auth_type&quot;:&quot;LOG_IN&quot;,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="e80a52ab4c026b0f658191c52e806cb988e529ca37ca20752426665de079dc27" aria-label="You must be signed in to star a repository" data-view-component="true" class="tooltipped tooltipped-sw btn-sm btn color-bg-default"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-star v-align-text-bottom d-inline-block mr-2"> <path d="M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.751.751 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25Zm0 2.445L6.615 5.5a.75.75 0 0 1-.564.41l-3.097.45 2.24 2.184a.75.75 0 0 1 .216.664l-.528 3.084 2.769-1.456a.75.75 0 0 1 .698 0l2.77 1.456-.53-3.084a.75.75 0 0 1 .216-.664l2.24-2.183-3.096-.45a.75.75 0 0 1-.564-.41L8 2.694Z"></path> </svg><span data-view-component="true" class="d-inline"> Star </span> <span id="repo-stars-counter-star" aria-label="2284 users starred this repository" data-singular-suffix="user starred this repository" data-plural-suffix="users starred this repository" data-turbo-replace="true" title="2,284" data-view-component="true" class="Counter js-social-count">2.3k</span> </a></div> </div> </div> </div> <nav aria-label="Repository menu" data-view-component="true" class="tabnav px-3 mb-0"> <ul data-view-component="true" class="tabnav-tabs"> <li data-view-component="true" class="d-inline-flex"> <a id="code-tab-376839043" aria-current="true" href="/justboil/admin-one-vue-tailwind" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY&quot;,&quot;click_visual_representation&quot;:&quot;CODE_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:376839043,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="ff2c5b76607be39b90df0b73ffcb4a7abb85a59c627a0bd9120eefa056ac588e" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code color-fg-default"> <path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"></path> </svg> Code </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="issues-tab-376839043" href="/justboil/admin-one-vue-tailwind/issues" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY_ISSUES&quot;,&quot;click_visual_representation&quot;:&quot;ISSUES_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:376839043,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="68557e66d327fd1c18f2b301e24a78e85880c4405deeb227b4807e5ae869e883" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-issue-opened color-fg-muted"> <path d="M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Z"></path> </svg> Issues </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="pull-requests-tab-376839043" href="/justboil/admin-one-vue-tailwind/pulls" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY_PULL_REQUESTS&quot;,&quot;click_visual_representation&quot;:&quot;PULL_REQUESTS_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:376839043,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="07e38fcf0287ad6d1fc33fd03de2b2ea0b368d7e5464ef6ce63fc03b1ee435d0" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-git-pull-request color-fg-muted"> <path d="M1.5 3.25a2.25 2.25 0 1 1 3 2.122v5.256a2.251 2.251 0 1 1-1.5 0V5.372A2.25 2.25 0 0 1 1.5 3.25Zm5.677-.177L9.573.677A.25.25 0 0 1 10 .854V2.5h1A2.5 2.5 0 0 1 13.5 5v5.628a2.251 2.251 0 1 1-1.5 0V5a1 1 0 0 0-1-1h-1v1.646a.25.25 0 0 1-.427.177L7.177 3.427a.25.25 0 0 1 0-.354ZM3.75 2.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm0 9.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm8.25.75a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Z"></path> </svg> Pull requests </a></li> </ul> </nav> <div class="color-bg-default rounded-bottom-2"> <div class="px-3 pt-3"> <p class="color-fg-muted mb-0" >Free Vue.js 3.x Tailwind 4.x admin dashboard template with dark mode. Vite builds. Pinia state. Laravel integration available</p> </div> <div class="d-flex flex-wrap border-bottom color-border-muted px-3 pt-2 pb-2"> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:2367,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="39bc119d11f04b0a448abe36c77e7d8d2be8db02c00da18eeb3271575e00d71c" title="Topic: vuejs" href="/topics/vuejs" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">vuejs</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:9262,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="a6aff98cc5ce5cd0ae710de8829a69806b1c21b830b4beb800aeff1c83cd42aa" title="Topic: dashboard" href="/topics/dashboard" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">dashboard</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:9275,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="d9b5c564e3c4a1c84164727da795ff66a42dddbd5c78beed289064059a9939dc" title="Topic: vue" href="/topics/vue" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">vue</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:615488,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="ef18274fac9cb285eca98c79d5b4d69f87ddb70eb2f6c6437c5d3d8d703f3c76" title="Topic: tailwind" href="/topics/tailwind" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">tailwind</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:615489,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="1dfae3f21d83aa76112988c2b6fd1f477986d871695857662b01f2c50b052403" title="Topic: tailwindcss" href="/topics/tailwindcss" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">tailwindcss</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:695907,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="f3fe3bbf24fe53b2c40d2c4be5ace15e18ff7870c919d271d0a92b612028128f" title="Topic: tailwind-css" href="/topics/tailwind-css" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">tailwind-css</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:790929,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="3fd9115998715c06d78313a3db3f69bfa64fffaf8f973859be4514925b2a7fa1" title="Topic: vite" href="/topics/vite" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">vite</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:816796,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="ccf163b90fe28bdae579a04c712b40998356a6cca90bf39837f053dd918307bc" title="Topic: vuejs3" href="/topics/vuejs3" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">vuejs3</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:947883,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="9c878da7ac7b883a5f071b6e5cd75e722e266c53043fa4329a2d0f261fc173ae" title="Topic: tailwind-css-template" href="/topics/tailwind-css-template" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">tailwind-css-template</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:1281760,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="0afeedeca5f61837d84808c3c2abb2e013eb28d3be760fbf2b0dea5938be6c05" title="Topic: vitejs" href="/topics/vitejs" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">vitejs</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:1325340,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="e8e3f6e5960b8fc0a7f50d6cd396a3f4000bac74b9db60c81ed59584245eb724" title="Topic: vite-template" href="/topics/vite-template" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">vite-template</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:1524012,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="51476edebbf1b4ce1db181746953a5b8fd1b112681c74f154218c203b8afb2e0" title="Topic: vitejs-template" href="/topics/vitejs-template" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">vitejs-template</a> </div> <div class="p-3"> <ul class="d-flex f6 list-style-none color-fg-muted"> <li class="mr-4"> Updated <relative-time datetime="2025-03-05T09:11:06Z" class="no-wrap">Mar 5, 2025</relative-time> </li> <li class="mr-4"> <span class="f6 my-1 ml-0"> <span class="repo-language-color" style="background-color: #41b883"></span> <span itemprop="programmingLanguage">Vue</span> </span> </li> </ul> </div> </div> </article> <article class="border rounded color-shadow-small color-bg-subtle my-4"> <div class="px-3"> <div class="d-flex flex-justify-between flex-items-start flex-wrap gap-2 my-3"> <div class="d-flex flex-1"> <span style="margin-top:2px"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo color-fg-muted mr-2"> <path d="M2 2.5A2.5 2.5 0 0 1 4.5 0h8.75a.75.75 0 0 1 .75.75v12.5a.75.75 0 0 1-.75.75h-2.5a.75.75 0 0 1 0-1.5h1.75v-2h-8a1 1 0 0 0-.714 1.7.75.75 0 1 1-1.072 1.05A2.495 2.495 0 0 1 2 11.5Zm10.5-1h-8a1 1 0 0 0-1 1v6.708A2.486 2.486 0 0 1 4.5 9h8ZM5 12.25a.25.25 0 0 1 .25-.25h3.5a.25.25 0 0 1 .25.25v3.25a.25.25 0 0 1-.4.2l-1.45-1.087a.249.249 0 0 0-.3 0L5.4 15.7a.25.25 0 0 1-.4-.2Z"></path> </svg> </span> <h3 class="f3 color-fg-muted text-normal lh-condensed" > <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;OWNER&quot;,&quot;click_visual_representation&quot;:&quot;REPOSITORY_OWNER_HEADING&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:35559414,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="b3f8a129cdea95413768b32d8df70f8a5efffc278d048b45679787b98810ce11" data-turbo="false" href="/lyt-Top" data-view-component="true" class="Link">lyt-Top</a> / <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY&quot;,&quot;click_visual_representation&quot;:&quot;REPOSITORY_NAME_HEADING&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:344725605,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="34a64eb3ac7a610dddbe4579754297e58246dd79f924ee0488e123b3591fa851" data-turbo="false" href="/lyt-Top/vue-next-admin" data-view-component="true" class="Link text-bold wb-break-word">vue-next-admin</a> </h3> </div> <div class="d-flex flex-items-center"> <div data-view-component="true" class="BtnGroup d-flex"> <a href="/login?return_to=%2Flyt-Top%2Fvue-next-admin" rel="nofollow" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;star button&quot;,&quot;repository_id&quot;:344725605,&quot;auth_type&quot;:&quot;LOG_IN&quot;,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="5f663e458eb40a780a16d9f71dec75140fad00ea0d39b1c5a12da9cee882483d" aria-label="You must be signed in to star a repository" data-view-component="true" class="tooltipped tooltipped-sw btn-sm btn color-bg-default"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-star v-align-text-bottom d-inline-block mr-2"> <path d="M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.751.751 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25Zm0 2.445L6.615 5.5a.75.75 0 0 1-.564.41l-3.097.45 2.24 2.184a.75.75 0 0 1 .216.664l-.528 3.084 2.769-1.456a.75.75 0 0 1 .698 0l2.77 1.456-.53-3.084a.75.75 0 0 1 .216-.664l2.24-2.183-3.096-.45a.75.75 0 0 1-.564-.41L8 2.694Z"></path> </svg><span data-view-component="true" class="d-inline"> Star </span> <span id="repo-stars-counter-star" aria-label="2068 users starred this repository" data-singular-suffix="user starred this repository" data-plural-suffix="users starred this repository" data-turbo-replace="true" title="2,068" data-view-component="true" class="Counter js-social-count">2.1k</span> </a></div> </div> </div> </div> <nav aria-label="Repository menu" data-view-component="true" class="tabnav px-3 mb-0"> <ul data-view-component="true" class="tabnav-tabs"> <li data-view-component="true" class="d-inline-flex"> <a id="code-tab-344725605" aria-current="true" href="/lyt-Top/vue-next-admin" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY&quot;,&quot;click_visual_representation&quot;:&quot;CODE_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:344725605,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="42c76a439c5d983d19a2fae7f061784bef781988027260c173a7fbbae99c3d6e" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code color-fg-default"> <path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"></path> </svg> Code </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="issues-tab-344725605" href="/lyt-Top/vue-next-admin/issues" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY_ISSUES&quot;,&quot;click_visual_representation&quot;:&quot;ISSUES_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:344725605,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="87019e621e9904dca7f5776f32247b1aa9ddaf8334d21b276088b0b5832b479d" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-issue-opened color-fg-muted"> <path d="M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Z"></path> </svg> Issues </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="pull-requests-tab-344725605" href="/lyt-Top/vue-next-admin/pulls" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY_PULL_REQUESTS&quot;,&quot;click_visual_representation&quot;:&quot;PULL_REQUESTS_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:344725605,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="82b3a0452197297eda7d62715a5d41255bcfa32e463dcb765bc5ce987ce31c78" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-git-pull-request color-fg-muted"> <path d="M1.5 3.25a2.25 2.25 0 1 1 3 2.122v5.256a2.251 2.251 0 1 1-1.5 0V5.372A2.25 2.25 0 0 1 1.5 3.25Zm5.677-.177L9.573.677A.25.25 0 0 1 10 .854V2.5h1A2.5 2.5 0 0 1 13.5 5v5.628a2.251 2.251 0 1 1-1.5 0V5a1 1 0 0 0-1-1h-1v1.646a.25.25 0 0 1-.427.177L7.177 3.427a.25.25 0 0 1 0-.354ZM3.75 2.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm0 9.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm8.25.75a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Z"></path> </svg> Pull requests </a></li> </ul> </nav> <div class="color-bg-default rounded-bottom-2"> <div class="px-3 pt-3"> <p class="color-fg-muted mb-0" >🎉🎉🔥基于vue3.x 、Typescript、vite、Element plus等,适配手机、平板、pc 的后台开源免费模板库(vue2.x请切换vue-prev-admin分支)</p> </div> <div class="d-flex flex-wrap border-bottom color-border-muted px-3 pt-2 pb-2"> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:4897,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="3055a037fa2b83e1d0c6749eef92adf28a269ab6286a50c0b363b8d0adaa5540" title="Topic: admin" href="/topics/admin" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">admin</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:7537,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="9752f39fbd85c61080a1e06ab6a5bc7b1985d63c9fd9415c2712a204ef47c4aa" title="Topic: typescript" href="/topics/typescript" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">typescript</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:17532,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="8e6d4c20a33f21b8e01052ba2980f2fe5f6c60f510acfdeab3d07f03e5172aa8" title="Topic: element" href="/topics/element" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">element</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:34744,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="9d51c60368db5b7fead50f4eca5d956867e6ee779d2f8d87a37d1249b70712ab" title="Topic: axios" href="/topics/axios" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">axios</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:45305,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="b34e14a4aa6d9734a17ad548c19543c7f1e909f78d36d29d1358c2fc9bde366f" title="Topic: vue-router" href="/topics/vue-router" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">vue-router</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:238123,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="b647395f85ce871afe3f6665b12c21db835e39a4131d5be2d232543a71ada934" title="Topic: element-ui" href="/topics/element-ui" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">element-ui</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:781512,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="b2f64345ffcaac7a981aaa98b8e6e07df14442f188eda4da7a7a37c7656775fb" title="Topic: vue3" href="/topics/vue3" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">vue3</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:790929,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="3fd9115998715c06d78313a3db3f69bfa64fffaf8f973859be4514925b2a7fa1" title="Topic: vite" href="/topics/vite" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">vite</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:1117042,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="a94bfd869c44a79a3cdb2c80cfc158b73a296df768507f5df0001280e6fe250b" title="Topic: vue3-typescript" href="/topics/vue3-typescript" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">vue3-typescript</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:1276580,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="8bcda44525d2e0a70d4db2c7108344865ff8c732399776c67ea9c230c0cfb28d" title="Topic: vue-router-next" href="/topics/vue-router-next" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">vue-router-next</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:1281760,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="0afeedeca5f61837d84808c3c2abb2e013eb28d3be760fbf2b0dea5938be6c05" title="Topic: vitejs" href="/topics/vitejs" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">vitejs</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:1344562,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="90448d960c117f1a54d346c6e6ad28bbc66be92c9b0c71337fbaf8a2dc9685d7" title="Topic: echarts5" href="/topics/echarts5" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">echarts5</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:1397244,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="2e1a36b797164079310bb29e722fd925cb0934ae0820e53edb150f68561e96ce" title="Topic: element-plus" href="/topics/element-plus" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">element-plus</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:1475590,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="f694b7d56d0d29c5951c34770cff22c5246b7e4db0c36707e5a3a23350fe2fee" title="Topic: vite-admin" href="/topics/vite-admin" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">vite-admin</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:1475597,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="0e55e925b8b73e12610ea4fd941663a1fc05976f4787720584bf3dbe4550cff6" title="Topic: compositionapi" href="/topics/compositionapi" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">compositionapi</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:1475599,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="58211f0968d70051a69f2030cacab262a72fa14fad96c8f868f4af77f91a2846" title="Topic: next-vuex" href="/topics/next-vuex" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">next-vuex</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:1475600,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="39f8e01d4774c823259c54c3c6226be69dc1eafc3ca351a8340deb428236f744" title="Topic: vue-next-admin" href="/topics/vue-next-admin" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">vue-next-admin</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:1475601,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="09ea35663148e75d1cbb819889cece17dc41e95149af955fddab246b53a77bfa" title="Topic: vue-next-admin-preview" href="/topics/vue-next-admin-preview" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">vue-next-admin-preview</a> </div> <div class="p-3"> <ul class="d-flex f6 list-style-none color-fg-muted"> <li class="mr-4"> Updated <relative-time datetime="2023-09-07T11:44:22Z" class="no-wrap">Sep 7, 2023</relative-time> </li> <li class="mr-4"> <span class="f6 my-1 ml-0"> <span class="repo-language-color" style="background-color: #41b883"></span> <span itemprop="programmingLanguage">Vue</span> </span> </li> </ul> </div> </div> </article> <article class="border rounded color-shadow-small color-bg-subtle my-4"> <div class="px-3"> <div class="d-flex flex-justify-between flex-items-start flex-wrap gap-2 my-3"> <div class="d-flex flex-1"> <span style="margin-top:2px"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo color-fg-muted mr-2"> <path d="M2 2.5A2.5 2.5 0 0 1 4.5 0h8.75a.75.75 0 0 1 .75.75v12.5a.75.75 0 0 1-.75.75h-2.5a.75.75 0 0 1 0-1.5h1.75v-2h-8a1 1 0 0 0-.714 1.7.75.75 0 1 1-1.072 1.05A2.495 2.495 0 0 1 2 11.5Zm10.5-1h-8a1 1 0 0 0-1 1v6.708A2.486 2.486 0 0 1 4.5 9h8ZM5 12.25a.25.25 0 0 1 .25-.25h3.5a.25.25 0 0 1 .25.25v3.25a.25.25 0 0 1-.4.2l-1.45-1.087a.249.249 0 0 0-.3 0L5.4 15.7a.25.25 0 0 1-.4-.2Z"></path> </svg> </span> <h3 class="f3 color-fg-muted text-normal lh-condensed" > <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;OWNER&quot;,&quot;click_visual_representation&quot;:&quot;REPOSITORY_OWNER_HEADING&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:112954661,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="b995775faf44a84d7ceb00c0a4f633af6b6bfb20a5d42bf711b977fb3bdbba10" data-turbo="false" href="/vexip-ui" data-view-component="true" class="Link">vexip-ui</a> / <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY&quot;,&quot;click_visual_representation&quot;:&quot;REPOSITORY_NAME_HEADING&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:247611238,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="e486ad73b313fa1bef38fe0419cff62ecd820ec51999ba7746bec4fcd4f8db72" data-turbo="false" href="/vexip-ui/vexip-ui" data-view-component="true" class="Link text-bold wb-break-word">vexip-ui</a> </h3> </div> <div class="d-flex flex-items-center"> <div data-view-component="true" class="BtnGroup d-flex"> <a href="/login?return_to=%2Fvexip-ui%2Fvexip-ui" rel="nofollow" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;star button&quot;,&quot;repository_id&quot;:247611238,&quot;auth_type&quot;:&quot;LOG_IN&quot;,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="0b7e8368c17bab5d262bf2807bd839f56f8e9daa8628a8f557655dc2515b36ad" aria-label="You must be signed in to star a repository" data-view-component="true" class="tooltipped tooltipped-sw btn-sm btn color-bg-default"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-star v-align-text-bottom d-inline-block mr-2"> <path d="M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.751.751 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25Zm0 2.445L6.615 5.5a.75.75 0 0 1-.564.41l-3.097.45 2.24 2.184a.75.75 0 0 1 .216.664l-.528 3.084 2.769-1.456a.75.75 0 0 1 .698 0l2.77 1.456-.53-3.084a.75.75 0 0 1 .216-.664l2.24-2.183-3.096-.45a.75.75 0 0 1-.564-.41L8 2.694Z"></path> </svg><span data-view-component="true" class="d-inline"> Star </span> <span id="repo-stars-counter-star" aria-label="1844 users starred this repository" data-singular-suffix="user starred this repository" data-plural-suffix="users starred this repository" data-turbo-replace="true" title="1,844" data-view-component="true" class="Counter js-social-count">1.8k</span> </a></div> </div> </div> </div> <nav aria-label="Repository menu" data-view-component="true" class="tabnav px-3 mb-0"> <ul data-view-component="true" class="tabnav-tabs"> <li data-view-component="true" class="d-inline-flex"> <a id="code-tab-247611238" aria-current="true" href="/vexip-ui/vexip-ui" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY&quot;,&quot;click_visual_representation&quot;:&quot;CODE_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:247611238,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="db2951a29209c4cc62f9d9a7bc5915ad965a733ccc72ed8aa6497b1d3ca70331" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code color-fg-default"> <path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"></path> </svg> Code </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="issues-tab-247611238" href="/vexip-ui/vexip-ui/issues" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY_ISSUES&quot;,&quot;click_visual_representation&quot;:&quot;ISSUES_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:247611238,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="58ad59bba23b7fccb74760d4d8e2b9aaa9ad2dc5c1b0cc916e76ad9e8b706c03" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-issue-opened color-fg-muted"> <path d="M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Z"></path> </svg> Issues </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="pull-requests-tab-247611238" href="/vexip-ui/vexip-ui/pulls" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY_PULL_REQUESTS&quot;,&quot;click_visual_representation&quot;:&quot;PULL_REQUESTS_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:247611238,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="6e0c5dbcaa55d3509600c0992f9fb2d09fb0dd816f3c4a66a6a96d9a6635c7a2" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-git-pull-request color-fg-muted"> <path d="M1.5 3.25a2.25 2.25 0 1 1 3 2.122v5.256a2.251 2.251 0 1 1-1.5 0V5.372A2.25 2.25 0 0 1 1.5 3.25Zm5.677-.177L9.573.677A.25.25 0 0 1 10 .854V2.5h1A2.5 2.5 0 0 1 13.5 5v5.628a2.251 2.251 0 1 1-1.5 0V5a1 1 0 0 0-1-1h-1v1.646a.25.25 0 0 1-.427.177L7.177 3.427a.25.25 0 0 1 0-.354ZM3.75 2.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm0 9.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm8.25.75a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Z"></path> </svg> Pull requests </a></li> </ul> </nav> <div class="color-bg-default rounded-bottom-2"> <div class="px-3 pt-3"> <p class="color-fg-muted mb-0" >A Vue 3 UI library, highly customizability, full TypeScript, performance pretty good.</p> </div> <div class="d-flex flex-wrap border-bottom color-border-muted px-3 pt-2 pb-2"> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:40,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="64c10c69181d5f323f8bc1856bd482c13374e91a628a222fbc4dd55c45dd9701" title="Topic: javascript" href="/topics/javascript" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">javascript</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:56,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="1c9f1897e2de4615d710bc6e7c78134ba985e56106328e0fe74cefbbdaeb9362" title="Topic: css" href="/topics/css" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">css</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:77,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="0897fc8f9dc3cf6cadf2f00dac5c27efe5262fad89560dd324e78b58882d97bf" title="Topic: config" href="/topics/config" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">config</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:203,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="79fe2ef4a334901fc60562c223239e72c93c690f63ae0ef2cbba1ffb5bbba38b" title="Topic: html" href="/topics/html" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">html</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:7537,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="9752f39fbd85c61080a1e06ab6a5bc7b1985d63c9fd9415c2712a204ef47c4aa" title="Topic: typescript" href="/topics/typescript" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">typescript</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:9275,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="d9b5c564e3c4a1c84164727da795ff66a42dddbd5c78beed289064059a9939dc" title="Topic: vue" href="/topics/vue" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">vue</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:21489,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="1d8b67d4e989e35b42cc639fb73cc265c316f5856a37c5f35824c6e89c8f2b3c" title="Topic: vue-components" href="/topics/vue-components" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">vue-components</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:94912,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="290eeed0ec05d9d23ed9bb045a5de964f086442354e2ca7cdd55c27c04439edc" title="Topic: ui-components" href="/topics/ui-components" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">ui-components</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:1281760,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="0afeedeca5f61837d84808c3c2abb2e013eb28d3be760fbf2b0dea5938be6c05" title="Topic: vitejs" href="/topics/vitejs" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">vitejs</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:1771425,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="c4cddcaf53cfb722f85064a2155bd5e33c8e0daa47cd765716ccb458a70153f1" title="Topic: vexipui" href="/topics/vexipui" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">vexipui</a> </div> <div class="p-3"> <ul class="d-flex f6 list-style-none color-fg-muted"> <li class="mr-4"> Updated <relative-time datetime="2025-03-09T08:50:13Z" class="no-wrap">Mar 9, 2025</relative-time> </li> <li class="mr-4"> <span class="f6 my-1 ml-0"> <span class="repo-language-color" style="background-color: #3178c6"></span> <span itemprop="programmingLanguage">TypeScript</span> </span> </li> </ul> </div> </div> </article> <article class="border rounded color-shadow-small color-bg-subtle my-4"> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY&quot;,&quot;click_visual_representation&quot;:&quot;REPOSITORY_IMAGE&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:846315744,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="8b704f3fb8deb7b17c10138d65835207d741a6b8d3dc5a09c8eced8a9018ca54" data-turbo="false" style="max-height:275px" href="/LiRenTech/project-graph" data-view-component="true" class="overflow-hidden flex-items-center rounded-top-2 Link color-border-muted border-bottom d-flex position-relative"><img loading="lazy" src="https://repository-images.githubusercontent.com/846315744/1178b1b0-07e2-4437-871c-0ed0982241c8" alt="project-graph" class="d-block width-full" ></a> <div class="px-3"> <div class="d-flex flex-justify-between flex-items-start flex-wrap gap-2 my-3"> <div class="d-flex flex-1"> <span style="margin-top:2px"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo color-fg-muted mr-2"> <path d="M2 2.5A2.5 2.5 0 0 1 4.5 0h8.75a.75.75 0 0 1 .75.75v12.5a.75.75 0 0 1-.75.75h-2.5a.75.75 0 0 1 0-1.5h1.75v-2h-8a1 1 0 0 0-.714 1.7.75.75 0 1 1-1.072 1.05A2.495 2.495 0 0 1 2 11.5Zm10.5-1h-8a1 1 0 0 0-1 1v6.708A2.486 2.486 0 0 1 4.5 9h8ZM5 12.25a.25.25 0 0 1 .25-.25h3.5a.25.25 0 0 1 .25.25v3.25a.25.25 0 0 1-.4.2l-1.45-1.087a.249.249 0 0 0-.3 0L5.4 15.7a.25.25 0 0 1-.4-.2Z"></path> </svg> </span> <h3 class="f3 color-fg-muted text-normal lh-condensed" > <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;OWNER&quot;,&quot;click_visual_representation&quot;:&quot;REPOSITORY_OWNER_HEADING&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:174239634,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="7724f944ff7bd06de34e563edcaddf8048eb95bcc880117a689dceec4bc3e1c4" data-turbo="false" href="/LiRenTech" data-view-component="true" class="Link">LiRenTech</a> / <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY&quot;,&quot;click_visual_representation&quot;:&quot;REPOSITORY_NAME_HEADING&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:846315744,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="e064c1e5da9e511f2d539a3e07641631e0a1157af3bfff81d70e456712414b91" data-turbo="false" href="/LiRenTech/project-graph" data-view-component="true" class="Link text-bold wb-break-word">project-graph</a> </h3> </div> <div class="d-flex flex-items-center"> <div data-view-component="true" class="BtnGroup d-flex"> <a href="/login?return_to=%2FLiRenTech%2Fproject-graph" rel="nofollow" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;star button&quot;,&quot;repository_id&quot;:846315744,&quot;auth_type&quot;:&quot;LOG_IN&quot;,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="44ca960cc6acbdbc4d964b6ca727de9915f1d15bb9a6a9dbe77c66b3dc46821e" aria-label="You must be signed in to star a repository" data-view-component="true" class="tooltipped tooltipped-sw btn-sm btn color-bg-default"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-star v-align-text-bottom d-inline-block mr-2"> <path d="M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.751.751 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25Zm0 2.445L6.615 5.5a.75.75 0 0 1-.564.41l-3.097.45 2.24 2.184a.75.75 0 0 1 .216.664l-.528 3.084 2.769-1.456a.75.75 0 0 1 .698 0l2.77 1.456-.53-3.084a.75.75 0 0 1 .216-.664l2.24-2.183-3.096-.45a.75.75 0 0 1-.564-.41L8 2.694Z"></path> </svg><span data-view-component="true" class="d-inline"> Star </span> <span id="repo-stars-counter-star" aria-label="1480 users starred this repository" data-singular-suffix="user starred this repository" data-plural-suffix="users starred this repository" data-turbo-replace="true" title="1,480" data-view-component="true" class="Counter js-social-count">1.5k</span> </a></div> </div> </div> </div> <nav aria-label="Repository menu" data-view-component="true" class="tabnav px-3 mb-0"> <ul data-view-component="true" class="tabnav-tabs"> <li data-view-component="true" class="d-inline-flex"> <a id="code-tab-846315744" aria-current="true" href="/LiRenTech/project-graph" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY&quot;,&quot;click_visual_representation&quot;:&quot;CODE_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:846315744,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="48d92a4ef8cd680407a012304227973a72b8ed6a71aaed34766d5b053a83fa8a" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code color-fg-default"> <path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"></path> </svg> Code </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="issues-tab-846315744" href="/LiRenTech/project-graph/issues" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY_ISSUES&quot;,&quot;click_visual_representation&quot;:&quot;ISSUES_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:846315744,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="5acc8609e1efb8e45c7505e2790f5c6223327b0ec4a65ef9d4689b6a7b2fc589" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-issue-opened color-fg-muted"> <path d="M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Z"></path> </svg> Issues </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="pull-requests-tab-846315744" href="/LiRenTech/project-graph/pulls" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY_PULL_REQUESTS&quot;,&quot;click_visual_representation&quot;:&quot;PULL_REQUESTS_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:846315744,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="2c0d399beb19917ef001c7f24f2039c3bcc1c680f1f99e2077cd7e64e6c96a29" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-git-pull-request color-fg-muted"> <path d="M1.5 3.25a2.25 2.25 0 1 1 3 2.122v5.256a2.251 2.251 0 1 1-1.5 0V5.372A2.25 2.25 0 0 1 1.5 3.25Zm5.677-.177L9.573.677A.25.25 0 0 1 10 .854V2.5h1A2.5 2.5 0 0 1 13.5 5v5.628a2.251 2.251 0 1 1-1.5 0V5a1 1 0 0 0-1-1h-1v1.646a.25.25 0 0 1-.427.177L7.177 3.427a.25.25 0 0 1 0-.354ZM3.75 2.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm0 9.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm8.25.75a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Z"></path> </svg> Pull requests </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="discussions-tab-846315744" href="/LiRenTech/project-graph/discussions" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY_DISCUSSIONS&quot;,&quot;click_visual_representation&quot;:&quot;DISCUSSIONS_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:846315744,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="8d6a4d763685f3aa004c850d8649e855d15450a9c619a1df1dfca4e5df6668a3" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-comment-discussion color-fg-muted"> <path d="M1.75 1h8.5c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0 1 10.25 10H7.061l-2.574 2.573A1.458 1.458 0 0 1 2 11.543V10h-.25A1.75 1.75 0 0 1 0 8.25v-5.5C0 1.784.784 1 1.75 1ZM1.5 2.75v5.5c0 .138.112.25.25.25h1a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h3.5a.25.25 0 0 0 .25-.25v-5.5a.25.25 0 0 0-.25-.25h-8.5a.25.25 0 0 0-.25.25Zm13 2a.25.25 0 0 0-.25-.25h-.5a.75.75 0 0 1 0-1.5h.5c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0 1 14.25 12H14v1.543a1.458 1.458 0 0 1-2.487 1.03L9.22 12.28a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215l2.22 2.22v-2.19a.75.75 0 0 1 .75-.75h1a.25.25 0 0 0 .25-.25Z"></path> </svg> Discussions </a></li> </ul> </nav> <div class="color-bg-default rounded-bottom-2"> <div class="px-3 pt-3"> <p class="color-fg-muted mb-0" >🔥 Draw fast, think efficiently. | A simple tool for drawing graphs.</p> </div> <div class="d-flex flex-wrap border-bottom color-border-muted px-3 pt-2 pb-2"> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:9049,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="1ebcffe806842a5d22c838daf755d544348ec1d474e1ac2c47e678d0446ac1b9" title="Topic: canvas" href="/topics/canvas" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">canvas</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:9621,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="cb62e4ecede7546d58613a99d13ca62a51284d894c15c7d6205d64844afd90c7" title="Topic: cross-platform" href="/topics/cross-platform" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">cross-platform</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:9846,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="03cf657baf942157caf17aa1e7c6f0adf5511e678e78261d26fde540a4c2dd09" title="Topic: graph-algorithms" href="/topics/graph-algorithms" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">graph-algorithms</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:12582,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="8a09e37bdd38ac96c5a0c5518159b6e64ea48da45e379a8603547fdb442a7833" title="Topic: reactjs" href="/topics/reactjs" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">reactjs</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:85184,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="d15ad1f2ce2c9f0d4a1e628fb42900849eead5c1dfb79ebad57ca350586d601f" title="Topic: canvas2d" href="/topics/canvas2d" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">canvas2d</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:396972,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="420cdf9915cbc8bdc90e6cabdc30d2156f3e5c7f0a3d65e23d37160738aa2070" title="Topic: canvasjs" href="/topics/canvasjs" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">canvasjs</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:615488,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="ef18274fac9cb285eca98c79d5b4d69f87ddb70eb2f6c6437c5d3d8d703f3c76" title="Topic: tailwind" href="/topics/tailwind" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">tailwind</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:695907,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="f3fe3bbf24fe53b2c40d2c4be5ace15e18ff7870c919d271d0a92b612028128f" title="Topic: tailwind-css" href="/topics/tailwind-css" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">tailwind-css</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:699556,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="712c084c43c381b2f87f06aac6d4a644050da253c84670c1e6c385235f66ffc4" title="Topic: reactjs-project" href="/topics/reactjs-project" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">reactjs-project</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:790929,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="3fd9115998715c06d78313a3db3f69bfa64fffaf8f973859be4514925b2a7fa1" title="Topic: vite" href="/topics/vite" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">vite</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:1281760,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="0afeedeca5f61837d84808c3c2abb2e013eb28d3be760fbf2b0dea5938be6c05" title="Topic: vitejs" href="/topics/vitejs" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">vitejs</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:1301852,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="7e863c069f7e563a02b840a89d9419fce26fdf25f3f3f1e0358bc7167d008209" title="Topic: tauri-app" href="/topics/tauri-app" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">tauri-app</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:3174993,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="0a12f0e66e2de8fa7277228e71a615acc4eb5bed3b00e71f16805d471fb63515" title="Topic: project-graph" href="/topics/project-graph" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">project-graph</a> </div> <div class="p-3"> <ul class="d-flex f6 list-style-none color-fg-muted"> <li class="mr-4"> Updated <relative-time datetime="2025-04-03T13:49:13Z" class="no-wrap">Apr 3, 2025</relative-time> </li> <li class="mr-4"> <span class="f6 my-1 ml-0"> <span class="repo-language-color" style="background-color: #3178c6"></span> <span itemprop="programmingLanguage">TypeScript</span> </span> </li> </ul> </div> </div> </article> <article class="border rounded color-shadow-small color-bg-subtle my-4"> <div class="px-3"> <div class="d-flex flex-justify-between flex-items-start flex-wrap gap-2 my-3"> <div class="d-flex flex-1"> <span style="margin-top:2px"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo color-fg-muted mr-2"> <path d="M2 2.5A2.5 2.5 0 0 1 4.5 0h8.75a.75.75 0 0 1 .75.75v12.5a.75.75 0 0 1-.75.75h-2.5a.75.75 0 0 1 0-1.5h1.75v-2h-8a1 1 0 0 0-.714 1.7.75.75 0 1 1-1.072 1.05A2.495 2.495 0 0 1 2 11.5Zm10.5-1h-8a1 1 0 0 0-1 1v6.708A2.486 2.486 0 0 1 4.5 9h8ZM5 12.25a.25.25 0 0 1 .25-.25h3.5a.25.25 0 0 1 .25.25v3.25a.25.25 0 0 1-.4.2l-1.45-1.087a.249.249 0 0 0-.3 0L5.4 15.7a.25.25 0 0 1-.4-.2Z"></path> </svg> </span> <h3 class="f3 color-fg-muted text-normal lh-condensed" > <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;OWNER&quot;,&quot;click_visual_representation&quot;:&quot;REPOSITORY_OWNER_HEADING&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:1158253,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="a3564276d80d965dea5e93740c4bf68d26fdaf7d10cb44a2891139dcdec5a7d9" data-turbo="false" href="/ElMassimo" data-view-component="true" class="Link">ElMassimo</a> / <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY&quot;,&quot;click_visual_representation&quot;:&quot;REPOSITORY_NAME_HEADING&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:330857119,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="3d493bda42b77ef64d510f117589889a9e98e29b47b44103cc5a957ea75b6d6f" data-turbo="false" href="/ElMassimo/vite_ruby" data-view-component="true" class="Link text-bold wb-break-word">vite_ruby</a> </h3> </div> <div class="d-flex flex-items-center"> <div data-view-component="true" class="BtnGroup d-flex"> <a href="/login?return_to=%2FElMassimo%2Fvite_ruby" rel="nofollow" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;star button&quot;,&quot;repository_id&quot;:330857119,&quot;auth_type&quot;:&quot;LOG_IN&quot;,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="a9193c5866181399212cd74e5d5692f2fb3fad40b959b2ba751836422ddfd638" aria-label="You must be signed in to star a repository" data-view-component="true" class="tooltipped tooltipped-sw btn-sm btn color-bg-default"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-star v-align-text-bottom d-inline-block mr-2"> <path d="M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.751.751 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25Zm0 2.445L6.615 5.5a.75.75 0 0 1-.564.41l-3.097.45 2.24 2.184a.75.75 0 0 1 .216.664l-.528 3.084 2.769-1.456a.75.75 0 0 1 .698 0l2.77 1.456-.53-3.084a.75.75 0 0 1 .216-.664l2.24-2.183-3.096-.45a.75.75 0 0 1-.564-.41L8 2.694Z"></path> </svg><span data-view-component="true" class="d-inline"> Star </span> <span id="repo-stars-counter-star" aria-label="1428 users starred this repository" data-singular-suffix="user starred this repository" data-plural-suffix="users starred this repository" data-turbo-replace="true" title="1,428" data-view-component="true" class="Counter js-social-count">1.4k</span> </a></div> </div> </div> </div> <nav aria-label="Repository menu" data-view-component="true" class="tabnav px-3 mb-0"> <ul data-view-component="true" class="tabnav-tabs"> <li data-view-component="true" class="d-inline-flex"> <a id="code-tab-330857119" aria-current="true" href="/ElMassimo/vite_ruby" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY&quot;,&quot;click_visual_representation&quot;:&quot;CODE_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:330857119,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="d52ff527b58e6efabc4652e16e5beec83b54eba40310e18a372ebe0b44d44f2b" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code color-fg-default"> <path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"></path> </svg> Code </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="issues-tab-330857119" href="/ElMassimo/vite_ruby/issues" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY_ISSUES&quot;,&quot;click_visual_representation&quot;:&quot;ISSUES_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:330857119,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="f7a02ec0097a284cb283a75c8807962ce4c8d2542cd128917a222d296d1d532c" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-issue-opened color-fg-muted"> <path d="M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Z"></path> </svg> Issues </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="pull-requests-tab-330857119" href="/ElMassimo/vite_ruby/pulls" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY_PULL_REQUESTS&quot;,&quot;click_visual_representation&quot;:&quot;PULL_REQUESTS_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:330857119,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="a2d40571708389e17a83a638a2ab2c1a0c239d51376930071c73890c7ad52200" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-git-pull-request color-fg-muted"> <path d="M1.5 3.25a2.25 2.25 0 1 1 3 2.122v5.256a2.251 2.251 0 1 1-1.5 0V5.372A2.25 2.25 0 0 1 1.5 3.25Zm5.677-.177L9.573.677A.25.25 0 0 1 10 .854V2.5h1A2.5 2.5 0 0 1 13.5 5v5.628a2.251 2.251 0 1 1-1.5 0V5a1 1 0 0 0-1-1h-1v1.646a.25.25 0 0 1-.427.177L7.177 3.427a.25.25 0 0 1 0-.354ZM3.75 2.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm0 9.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm8.25.75a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Z"></path> </svg> Pull requests </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="discussions-tab-330857119" href="/ElMassimo/vite_ruby/discussions" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY_DISCUSSIONS&quot;,&quot;click_visual_representation&quot;:&quot;DISCUSSIONS_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:330857119,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="f84b4e1c031e467026f2bf392919732a278665aa617df4591a76fe074cd54bfa" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-comment-discussion color-fg-muted"> <path d="M1.75 1h8.5c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0 1 10.25 10H7.061l-2.574 2.573A1.458 1.458 0 0 1 2 11.543V10h-.25A1.75 1.75 0 0 1 0 8.25v-5.5C0 1.784.784 1 1.75 1ZM1.5 2.75v5.5c0 .138.112.25.25.25h1a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h3.5a.25.25 0 0 0 .25-.25v-5.5a.25.25 0 0 0-.25-.25h-8.5a.25.25 0 0 0-.25.25Zm13 2a.25.25 0 0 0-.25-.25h-.5a.75.75 0 0 1 0-1.5h.5c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0 1 14.25 12H14v1.543a1.458 1.458 0 0 1-2.487 1.03L9.22 12.28a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215l2.22 2.22v-2.19a.75.75 0 0 1 .75-.75h1a.25.25 0 0 0 .25-.25Z"></path> </svg> Discussions </a></li> </ul> </nav> <div class="color-bg-default rounded-bottom-2"> <div class="px-3 pt-3"> <p class="color-fg-muted mb-0" >⚡️ Vite.js in Ruby, bringing joy to your JavaScript experience</p> </div> <div class="d-flex flex-wrap border-bottom color-border-muted px-3 pt-2 pb-2"> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:45,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="ab4f75417d9f0c6ceee9454053f4605c7db9df549b08e10a876cc9cb667a7bea" title="Topic: ruby" href="/topics/ruby" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">ruby</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:106,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="0b0d28ffd8ebb8ad5dc73e92c9ff24c572d89a20e4d25d7c9eb593dd7f188d41" title="Topic: plugin" href="/topics/plugin" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">plugin</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:118,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="c0da9a0bf610bce261a6c1ebc66061c33e253b53d561c056cc7a8dc9a8e469ce" title="Topic: rails" href="/topics/rails" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">rails</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:325,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="546303a195808d2d486f35a344c8a85c5af6771f3e040d0ff2862f73805e0dac" title="Topic: rack" href="/topics/rack" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">rack</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:7656,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="2503769bc308489d4905a58fa98d0db426a32f16b5439f2171f2b20c1489432b" title="Topic: hanami" href="/topics/hanami" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">hanami</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:9488,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="282ad36e71bd26f1d410ef023876666079f0029c81148fc5b06d911b5ca3018c" title="Topic: integration" href="/topics/integration" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">integration</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:373449,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="e6969959f39c2d706bae42007f596b9635e52c121f46ff227e372f491e3174cc" title="Topic: frontend-tooling" href="/topics/frontend-tooling" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">frontend-tooling</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:790929,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="3fd9115998715c06d78313a3db3f69bfa64fffaf8f973859be4514925b2a7fa1" title="Topic: vite" href="/topics/vite" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">vite</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:1281760,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="0afeedeca5f61837d84808c3c2abb2e013eb28d3be760fbf2b0dea5938be6c05" title="Topic: vitejs" href="/topics/vitejs" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">vitejs</a> </div> <div class="p-3"> <ul class="d-flex f6 list-style-none color-fg-muted"> <li class="mr-4"> Updated <relative-time datetime="2025-03-26T18:48:56Z" class="no-wrap">Mar 26, 2025</relative-time> </li> <li class="mr-4"> <span class="f6 my-1 ml-0"> <span class="repo-language-color" style="background-color: #701516"></span> <span itemprop="programmingLanguage">Ruby</span> </span> </li> </ul> </div> </div> </article> <article class="border rounded color-shadow-small color-bg-subtle my-4"> <div class="px-3"> <div class="d-flex flex-justify-between flex-items-start flex-wrap gap-2 my-3"> <div class="d-flex flex-1"> <span style="margin-top:2px"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo color-fg-muted mr-2"> <path d="M2 2.5A2.5 2.5 0 0 1 4.5 0h8.75a.75.75 0 0 1 .75.75v12.5a.75.75 0 0 1-.75.75h-2.5a.75.75 0 0 1 0-1.5h1.75v-2h-8a1 1 0 0 0-.714 1.7.75.75 0 1 1-1.072 1.05A2.495 2.495 0 0 1 2 11.5Zm10.5-1h-8a1 1 0 0 0-1 1v6.708A2.486 2.486 0 0 1 4.5 9h8ZM5 12.25a.25.25 0 0 1 .25-.25h3.5a.25.25 0 0 1 .25.25v3.25a.25.25 0 0 1-.4.2l-1.45-1.087a.249.249 0 0 0-.3 0L5.4 15.7a.25.25 0 0 1-.4-.2Z"></path> </svg> </span> <h3 class="f3 color-fg-muted text-normal lh-condensed" > <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;OWNER&quot;,&quot;click_visual_representation&quot;:&quot;REPOSITORY_OWNER_HEADING&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:1158253,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="a3564276d80d965dea5e93740c4bf68d26fdaf7d10cb44a2891139dcdec5a7d9" data-turbo="false" href="/ElMassimo" data-view-component="true" class="Link">ElMassimo</a> / <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY&quot;,&quot;click_visual_representation&quot;:&quot;REPOSITORY_NAME_HEADING&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:399906420,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="fc34e5829a19edf0e57a72cf25b9686fbb7efcf59be5e5220d979caceba2709f" data-turbo="false" href="/ElMassimo/iles" data-view-component="true" class="Link text-bold wb-break-word">iles</a> </h3> </div> <div class="d-flex flex-items-center"> <div data-view-component="true" class="BtnGroup d-flex"> <a href="/login?return_to=%2FElMassimo%2Files" rel="nofollow" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;star button&quot;,&quot;repository_id&quot;:399906420,&quot;auth_type&quot;:&quot;LOG_IN&quot;,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="d14c8bdcb866d43cc5c00ee9b201d5a1bc66b239c136a7a5360f86a20023d2f1" aria-label="You must be signed in to star a repository" data-view-component="true" class="tooltipped tooltipped-sw btn-sm btn color-bg-default"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-star v-align-text-bottom d-inline-block mr-2"> <path d="M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.751.751 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25Zm0 2.445L6.615 5.5a.75.75 0 0 1-.564.41l-3.097.45 2.24 2.184a.75.75 0 0 1 .216.664l-.528 3.084 2.769-1.456a.75.75 0 0 1 .698 0l2.77 1.456-.53-3.084a.75.75 0 0 1 .216-.664l2.24-2.183-3.096-.45a.75.75 0 0 1-.564-.41L8 2.694Z"></path> </svg><span data-view-component="true" class="d-inline"> Star </span> <span id="repo-stars-counter-star" aria-label="1113 users starred this repository" data-singular-suffix="user starred this repository" data-plural-suffix="users starred this repository" data-turbo-replace="true" title="1,113" data-view-component="true" class="Counter js-social-count">1.1k</span> </a></div> </div> </div> </div> <nav aria-label="Repository menu" data-view-component="true" class="tabnav px-3 mb-0"> <ul data-view-component="true" class="tabnav-tabs"> <li data-view-component="true" class="d-inline-flex"> <a id="code-tab-399906420" aria-current="true" href="/ElMassimo/iles" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY&quot;,&quot;click_visual_representation&quot;:&quot;CODE_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:399906420,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="ab8c1ee446df15d01c70e074102e6d544cfc96ed51afbb123315c7c53f9f2859" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code color-fg-default"> <path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"></path> </svg> Code </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="issues-tab-399906420" href="/ElMassimo/iles/issues" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY_ISSUES&quot;,&quot;click_visual_representation&quot;:&quot;ISSUES_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:399906420,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="e5a37012d1077320d1e7032b0e3cb41aa3f0f0cde2c5c918464304d6b4fb945e" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-issue-opened color-fg-muted"> <path d="M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Z"></path> </svg> Issues </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="pull-requests-tab-399906420" href="/ElMassimo/iles/pulls" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY_PULL_REQUESTS&quot;,&quot;click_visual_representation&quot;:&quot;PULL_REQUESTS_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:399906420,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="547f49f4dbab23438c70254d3f43357dda4633bc00358bbd75eb703c7f6959f4" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-git-pull-request color-fg-muted"> <path d="M1.5 3.25a2.25 2.25 0 1 1 3 2.122v5.256a2.251 2.251 0 1 1-1.5 0V5.372A2.25 2.25 0 0 1 1.5 3.25Zm5.677-.177L9.573.677A.25.25 0 0 1 10 .854V2.5h1A2.5 2.5 0 0 1 13.5 5v5.628a2.251 2.251 0 1 1-1.5 0V5a1 1 0 0 0-1-1h-1v1.646a.25.25 0 0 1-.427.177L7.177 3.427a.25.25 0 0 1 0-.354ZM3.75 2.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm0 9.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm8.25.75a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Z"></path> </svg> Pull requests </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="discussions-tab-399906420" href="/ElMassimo/iles/discussions" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY_DISCUSSIONS&quot;,&quot;click_visual_representation&quot;:&quot;DISCUSSIONS_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:399906420,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="f5098af413773ce50cacb48c108c71ddbc55a9d50b47c0978b1412bfb22950be" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-comment-discussion color-fg-muted"> <path d="M1.75 1h8.5c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0 1 10.25 10H7.061l-2.574 2.573A1.458 1.458 0 0 1 2 11.543V10h-.25A1.75 1.75 0 0 1 0 8.25v-5.5C0 1.784.784 1 1.75 1ZM1.5 2.75v5.5c0 .138.112.25.25.25h1a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h3.5a.25.25 0 0 0 .25-.25v-5.5a.25.25 0 0 0-.25-.25h-8.5a.25.25 0 0 0-.25.25Zm13 2a.25.25 0 0 0-.25-.25h-.5a.75.75 0 0 1 0-1.5h.5c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0 1 14.25 12H14v1.543a1.458 1.458 0 0 1-2.487 1.03L9.22 12.28a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215l2.22 2.22v-2.19a.75.75 0 0 1 .75-.75h1a.25.25 0 0 0 .25-.25Z"></path> </svg> Discussions </a></li> </ul> </nav> <div class="color-bg-default rounded-bottom-2"> <div class="px-3 pt-3"> <p class="color-fg-muted mb-0" >🏝 The joyful site generator</p> </div> <div class="d-flex flex-wrap border-bottom color-border-muted px-3 pt-2 pb-2"> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:421396,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="8fe6120c854d331c210d7fa6f4f547002794e47c741c2b26a56faa6c965521bd" title="Topic: ssg" href="/topics/ssg" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">ssg</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:626020,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="ef92b4bfc3be912cd603c3c4200a3d74f59f1c4929010c79266fad4602d0a41d" title="Topic: islands" href="/topics/islands" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">islands</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:781512,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="b2f64345ffcaac7a981aaa98b8e6e07df14442f188eda4da7a7a37c7656775fb" title="Topic: vue3" href="/topics/vue3" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">vue3</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:1019128,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="44d81f6bd1b8ecb02498673a346ea2be4a8b600bcfc88a3149b6ec9c57c47d4c" title="Topic: partial-hydration" href="/topics/partial-hydration" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">partial-hydration</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:1281760,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="0afeedeca5f61837d84808c3c2abb2e013eb28d3be760fbf2b0dea5938be6c05" title="Topic: vitejs" href="/topics/vitejs" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">vitejs</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:1332784,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="39f2cb64a7df5b3049836d9d6c365ece9ce2d8e96a876fab649c508be0f38338" title="Topic: vite-plugin" href="/topics/vite-plugin" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">vite-plugin</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:1523767,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="979a843ac546bc5a64671f4a8e04c2ed69c3d756dce81f6bb0efe116cc26fd03" title="Topic: ssg-build" href="/topics/ssg-build" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">ssg-build</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:1593196,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="31088ad2b578a9d21d284aaa68ea04c5d0419c525ec1fefaa8c1b76f5566d53e" title="Topic: iles" href="/topics/iles" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">iles</a> </div> <div class="p-3"> <ul class="d-flex f6 list-style-none color-fg-muted"> <li class="mr-4"> Updated <relative-time datetime="2025-01-28T21:42:47Z" class="no-wrap">Jan 28, 2025</relative-time> </li> <li class="mr-4"> <span class="f6 my-1 ml-0"> <span class="repo-language-color" style="background-color: #3178c6"></span> <span itemprop="programmingLanguage">TypeScript</span> </span> </li> </ul> </div> </div> </article> <article class="border rounded color-shadow-small color-bg-subtle my-4"> <div class="px-3"> <div class="d-flex flex-justify-between flex-items-start flex-wrap gap-2 my-3"> <div class="d-flex flex-1"> <span style="margin-top:2px"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo color-fg-muted mr-2"> <path d="M2 2.5A2.5 2.5 0 0 1 4.5 0h8.75a.75.75 0 0 1 .75.75v12.5a.75.75 0 0 1-.75.75h-2.5a.75.75 0 0 1 0-1.5h1.75v-2h-8a1 1 0 0 0-.714 1.7.75.75 0 1 1-1.072 1.05A2.495 2.495 0 0 1 2 11.5Zm10.5-1h-8a1 1 0 0 0-1 1v6.708A2.486 2.486 0 0 1 4.5 9h8ZM5 12.25a.25.25 0 0 1 .25-.25h3.5a.25.25 0 0 1 .25.25v3.25a.25.25 0 0 1-.4.2l-1.45-1.087a.249.249 0 0 0-.3 0L5.4 15.7a.25.25 0 0 1-.4-.2Z"></path> </svg> </span> <h3 class="f3 color-fg-muted text-normal lh-condensed" > <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;OWNER&quot;,&quot;click_visual_representation&quot;:&quot;REPOSITORY_OWNER_HEADING&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:49863837,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="a22714a356502e7a4cb5d7ad7a9fc3fa6afb9b644d0974da8b6adb790379c915" data-turbo="false" href="/DevCloudFE" data-view-component="true" class="Link">DevCloudFE</a> / <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY&quot;,&quot;click_visual_representation&quot;:&quot;REPOSITORY_NAME_HEADING&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:407181784,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="e604b6985b380c05c3b314577641b0c44257db1b68b709060f938b0540cbfb17" data-turbo="false" href="/DevCloudFE/vue-devui" data-view-component="true" class="Link text-bold wb-break-word">vue-devui</a> </h3> </div> <div class="d-flex flex-items-center"> <div data-view-component="true" class="BtnGroup d-flex"> <a href="/login?return_to=%2FDevCloudFE%2Fvue-devui" rel="nofollow" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;star button&quot;,&quot;repository_id&quot;:407181784,&quot;auth_type&quot;:&quot;LOG_IN&quot;,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="d4dd1b7538de0d331c4d1d47040b529a5ed95a1ec95e3cc7f7a03b8c27c8ba9d" aria-label="You must be signed in to star a repository" data-view-component="true" class="tooltipped tooltipped-sw btn-sm btn color-bg-default"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-star v-align-text-bottom d-inline-block mr-2"> <path d="M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.751.751 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25Zm0 2.445L6.615 5.5a.75.75 0 0 1-.564.41l-3.097.45 2.24 2.184a.75.75 0 0 1 .216.664l-.528 3.084 2.769-1.456a.75.75 0 0 1 .698 0l2.77 1.456-.53-3.084a.75.75 0 0 1 .216-.664l2.24-2.183-3.096-.45a.75.75 0 0 1-.564-.41L8 2.694Z"></path> </svg><span data-view-component="true" class="d-inline"> Star </span> <span id="repo-stars-counter-star" aria-label="1084 users starred this repository" data-singular-suffix="user starred this repository" data-plural-suffix="users starred this repository" data-turbo-replace="true" title="1,084" data-view-component="true" class="Counter js-social-count">1.1k</span> </a></div> </div> </div> </div> <nav aria-label="Repository menu" data-view-component="true" class="tabnav px-3 mb-0"> <ul data-view-component="true" class="tabnav-tabs"> <li data-view-component="true" class="d-inline-flex"> <a id="code-tab-407181784" aria-current="true" href="/DevCloudFE/vue-devui" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY&quot;,&quot;click_visual_representation&quot;:&quot;CODE_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:407181784,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="ec38042aac8fe443a6dbef729d59bdbec5411061d551366ecd8f1f4e3f4c6c7b" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code color-fg-default"> <path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"></path> </svg> Code </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="issues-tab-407181784" href="/DevCloudFE/vue-devui/issues" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY_ISSUES&quot;,&quot;click_visual_representation&quot;:&quot;ISSUES_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:407181784,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="ac82ca7a156b3a21ad5454f276344d733fcaa0c135440714d613ab6d57043369" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-issue-opened color-fg-muted"> <path d="M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Z"></path> </svg> Issues </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="pull-requests-tab-407181784" href="/DevCloudFE/vue-devui/pulls" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY_PULL_REQUESTS&quot;,&quot;click_visual_representation&quot;:&quot;PULL_REQUESTS_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:407181784,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="f35af5ef57a6355a3c8f67ff4fcedbe56915d48cb7303cb0ce87d445293cd486" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-git-pull-request color-fg-muted"> <path d="M1.5 3.25a2.25 2.25 0 1 1 3 2.122v5.256a2.251 2.251 0 1 1-1.5 0V5.372A2.25 2.25 0 0 1 1.5 3.25Zm5.677-.177L9.573.677A.25.25 0 0 1 10 .854V2.5h1A2.5 2.5 0 0 1 13.5 5v5.628a2.251 2.251 0 1 1-1.5 0V5a1 1 0 0 0-1-1h-1v1.646a.25.25 0 0 1-.427.177L7.177 3.427a.25.25 0 0 1 0-.354ZM3.75 2.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm0 9.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm8.25.75a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Z"></path> </svg> Pull requests </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="discussions-tab-407181784" href="/DevCloudFE/vue-devui/discussions" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY_DISCUSSIONS&quot;,&quot;click_visual_representation&quot;:&quot;DISCUSSIONS_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:407181784,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="53044f892ed81ab0ce3343ea7481d522df8818437ac57ed690484d682c228cc3" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-comment-discussion color-fg-muted"> <path d="M1.75 1h8.5c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0 1 10.25 10H7.061l-2.574 2.573A1.458 1.458 0 0 1 2 11.543V10h-.25A1.75 1.75 0 0 1 0 8.25v-5.5C0 1.784.784 1 1.75 1ZM1.5 2.75v5.5c0 .138.112.25.25.25h1a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h3.5a.25.25 0 0 0 .25-.25v-5.5a.25.25 0 0 0-.25-.25h-8.5a.25.25 0 0 0-.25.25Zm13 2a.25.25 0 0 0-.25-.25h-.5a.75.75 0 0 1 0-1.5h.5c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0 1 14.25 12H14v1.543a1.458 1.458 0 0 1-2.487 1.03L9.22 12.28a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215l2.22 2.22v-2.19a.75.75 0 0 1 .75-.75h1a.25.25 0 0 0 .25-.25Z"></path> </svg> Discussions </a></li> </ul> </nav> <div class="color-bg-default rounded-bottom-2"> <div class="px-3 pt-3"> <p class="color-fg-muted mb-0" >UI components based on Vue3 and DevUI Design</p> </div> <div class="d-flex flex-wrap border-bottom color-border-muted px-3 pt-2 pb-2"> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:7537,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="9752f39fbd85c61080a1e06ab6a5bc7b1985d63c9fd9415c2712a204ef47c4aa" title="Topic: typescript" href="/topics/typescript" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">typescript</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:9275,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="d9b5c564e3c4a1c84164727da795ff66a42dddbd5c78beed289064059a9939dc" title="Topic: vue" href="/topics/vue" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">vue</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:12105,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="ebfd280cf25294f8461d58689b53124ae8bad4a6364fc7c44215fbbfc6177fa9" title="Topic: jsx" href="/topics/jsx" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">jsx</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:21489,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="1d8b67d4e989e35b42cc639fb73cc265c316f5856a37c5f35824c6e89c8f2b3c" title="Topic: vue-components" href="/topics/vue-components" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">vue-components</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:94912,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="290eeed0ec05d9d23ed9bb045a5de964f086442354e2ca7cdd55c27c04439edc" title="Topic: ui-components" href="/topics/ui-components" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">ui-components</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:150871,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="4ecdaacf74bbccff88ba8789212df21571a58a8549d0866614d8bffe9e2d56a3" title="Topic: tsx" href="/topics/tsx" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">tsx</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:781512,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="b2f64345ffcaac7a981aaa98b8e6e07df14442f188eda4da7a7a37c7656775fb" title="Topic: vue3" href="/topics/vue3" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">vue3</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:1106829,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="095898d1d26f76be9af8912d15de5d1ebc572e023a39cff9bf87f9aac0976ec0" title="Topic: components-library" href="/topics/components-library" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">components-library</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:1120716,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="327243175c4e38e6afb9f32d8a1236935698b9d9a6e890c5987adaa19a1d87da" title="Topic: devui" href="/topics/devui" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">devui</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:1281760,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="0afeedeca5f61837d84808c3c2abb2e013eb28d3be760fbf2b0dea5938be6c05" title="Topic: vitejs" href="/topics/vitejs" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">vitejs</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:1641275,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="fbdcfd16e4a4b28dd831b720f6eea1bce54264e51ba562f6ea5d63c48bc1133c" title="Topic: vue-devui" href="/topics/vue-devui" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">vue-devui</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:1641383,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="eccebba9bd16b433418f4c023c1208ea43053be2faf41738802899f774393a3e" title="Topic: devui-design" href="/topics/devui-design" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">devui-design</a> </div> <div class="p-3"> <ul class="d-flex f6 list-style-none color-fg-muted"> <li class="mr-4"> Updated <relative-time datetime="2025-03-26T09:38:16Z" class="no-wrap">Mar 26, 2025</relative-time> </li> <li class="mr-4"> <span class="f6 my-1 ml-0"> <span class="repo-language-color" style="background-color: #3178c6"></span> <span itemprop="programmingLanguage">TypeScript</span> </span> </li> </ul> </div> </div> </article> <article class="border rounded color-shadow-small color-bg-subtle my-4"> <div class="px-3"> <div class="d-flex flex-justify-between flex-items-start flex-wrap gap-2 my-3"> <div class="d-flex flex-1"> <span style="margin-top:2px"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo color-fg-muted mr-2"> <path d="M2 2.5A2.5 2.5 0 0 1 4.5 0h8.75a.75.75 0 0 1 .75.75v12.5a.75.75 0 0 1-.75.75h-2.5a.75.75 0 0 1 0-1.5h1.75v-2h-8a1 1 0 0 0-.714 1.7.75.75 0 1 1-1.072 1.05A2.495 2.495 0 0 1 2 11.5Zm10.5-1h-8a1 1 0 0 0-1 1v6.708A2.486 2.486 0 0 1 4.5 9h8ZM5 12.25a.25.25 0 0 1 .25-.25h3.5a.25.25 0 0 1 .25.25v3.25a.25.25 0 0 1-.4.2l-1.45-1.087a.249.249 0 0 0-.3 0L5.4 15.7a.25.25 0 0 1-.4-.2Z"></path> </svg> </span> <h3 class="f3 color-fg-muted text-normal lh-condensed" > <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;OWNER&quot;,&quot;click_visual_representation&quot;:&quot;REPOSITORY_OWNER_HEADING&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:144964506,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="b1408eaecda156fef3239d48f92422cbe42d9dd6808dcaf5647ca6bca400f4f8" data-turbo="false" href="/panoratech" data-view-component="true" class="Link">panoratech</a> / <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY&quot;,&quot;click_visual_representation&quot;:&quot;REPOSITORY_NAME_HEADING&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:695675360,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="0c03d489aa3aebc788ce94d4b87a8dc9de46ee885d1a50e78ab3332f8f6752be" data-turbo="false" href="/panoratech/Panora" data-view-component="true" class="Link text-bold wb-break-word">Panora</a> </h3> </div> <div class="d-flex flex-items-center"> <div data-view-component="true" class="BtnGroup d-flex"> <a href="/login?return_to=%2Fpanoratech%2FPanora" rel="nofollow" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;star button&quot;,&quot;repository_id&quot;:695675360,&quot;auth_type&quot;:&quot;LOG_IN&quot;,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="cd7ea628e39f687820a55f73eafa1ed044f5dcc080d89a3e6b7bf03ac189f68f" aria-label="You must be signed in to star a repository" data-view-component="true" class="tooltipped tooltipped-sw btn-sm btn color-bg-default"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-star v-align-text-bottom d-inline-block mr-2"> <path d="M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.751.751 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25Zm0 2.445L6.615 5.5a.75.75 0 0 1-.564.41l-3.097.45 2.24 2.184a.75.75 0 0 1 .216.664l-.528 3.084 2.769-1.456a.75.75 0 0 1 .698 0l2.77 1.456-.53-3.084a.75.75 0 0 1 .216-.664l2.24-2.183-3.096-.45a.75.75 0 0 1-.564-.41L8 2.694Z"></path> </svg><span data-view-component="true" class="d-inline"> Star </span> <span id="repo-stars-counter-star" aria-label="990 users starred this repository" data-singular-suffix="user starred this repository" data-plural-suffix="users starred this repository" data-turbo-replace="true" title="990" data-view-component="true" class="Counter js-social-count">990</span> </a></div> </div> </div> </div> <nav aria-label="Repository menu" data-view-component="true" class="tabnav px-3 mb-0"> <ul data-view-component="true" class="tabnav-tabs"> <li data-view-component="true" class="d-inline-flex"> <a id="code-tab-695675360" aria-current="true" href="/panoratech/Panora" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY&quot;,&quot;click_visual_representation&quot;:&quot;CODE_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:695675360,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="d347c5201b54898f261f0a924b63a826544940c237c081383f082ebc5dab21fc" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code color-fg-default"> <path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"></path> </svg> Code </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="issues-tab-695675360" href="/panoratech/Panora/issues" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY_ISSUES&quot;,&quot;click_visual_representation&quot;:&quot;ISSUES_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:695675360,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="96de86a0c7480670cd5bc81d51ede5bf4036ac41e6142aba3aaa852a926b835d" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-issue-opened color-fg-muted"> <path d="M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Z"></path> </svg> Issues </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="pull-requests-tab-695675360" href="/panoratech/Panora/pulls" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY_PULL_REQUESTS&quot;,&quot;click_visual_representation&quot;:&quot;PULL_REQUESTS_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:695675360,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="0d364a229d95b26c38f440d89f1aa2af545f29e2e5572dd96a4dbd4a4f2822ad" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-git-pull-request color-fg-muted"> <path d="M1.5 3.25a2.25 2.25 0 1 1 3 2.122v5.256a2.251 2.251 0 1 1-1.5 0V5.372A2.25 2.25 0 0 1 1.5 3.25Zm5.677-.177L9.573.677A.25.25 0 0 1 10 .854V2.5h1A2.5 2.5 0 0 1 13.5 5v5.628a2.251 2.251 0 1 1-1.5 0V5a1 1 0 0 0-1-1h-1v1.646a.25.25 0 0 1-.427.177L7.177 3.427a.25.25 0 0 1 0-.354ZM3.75 2.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm0 9.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm8.25.75a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Z"></path> </svg> Pull requests </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="discussions-tab-695675360" href="/panoratech/Panora/discussions" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY_DISCUSSIONS&quot;,&quot;click_visual_representation&quot;:&quot;DISCUSSIONS_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:695675360,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="9a0904dd1eeead6452e85378bb733c4cd443dc48ba121eabcf311e8efaa0c8bb" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-comment-discussion color-fg-muted"> <path d="M1.75 1h8.5c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0 1 10.25 10H7.061l-2.574 2.573A1.458 1.458 0 0 1 2 11.543V10h-.25A1.75 1.75 0 0 1 0 8.25v-5.5C0 1.784.784 1 1.75 1ZM1.5 2.75v5.5c0 .138.112.25.25.25h1a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h3.5a.25.25 0 0 0 .25-.25v-5.5a.25.25 0 0 0-.25-.25h-8.5a.25.25 0 0 0-.25.25Zm13 2a.25.25 0 0 0-.25-.25h-.5a.75.75 0 0 1 0-1.5h.5c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0 1 14.25 12H14v1.543a1.458 1.458 0 0 1-2.487 1.03L9.22 12.28a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215l2.22 2.22v-2.19a.75.75 0 0 1 .75-.75h1a.25.25 0 0 0 .25-.25Z"></path> </svg> Discussions </a></li> </ul> </nav> <div class="color-bg-default rounded-bottom-2"> <div class="px-3 pt-3"> <p class="color-fg-muted mb-0" >Open-Sourcing the integration engine our platform runs on</p> </div> <div class="d-flex flex-wrap border-bottom color-border-muted px-3 pt-2 pb-2"> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:12,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="86cb66c561af1dfaec322814fea92f784cf85437942ab9b51ae9b43e8751b7ad" title="Topic: react" href="/topics/react" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">react</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:40,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="64c10c69181d5f323f8bc1856bd482c13374e91a628a222fbc4dd55c45dd9701" title="Topic: javascript" href="/topics/javascript" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">javascript</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:242,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="147f601afaf65ea8e7851fbfcdfdecb6cdbf5490a430cfdd532049be23502aa6" title="Topic: api" href="/topics/api" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">api</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:281,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="00b070b589f2bc682ca3dea4fb1d9abb191e1629fe1915723d3303a6d1fc3f46" title="Topic: docker" href="/topics/docker" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">docker</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:382,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="fe80def959ceb87172a63521b2f1d4af9cc32284cebe7993e1251dc57e95bdf5" title="Topic: open-source" href="/topics/open-source" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">open-source</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:2110,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="6339f7ade209b8c6605b4638761150485cee608614fe34461328294c6060b6a7" title="Topic: oauth" href="/topics/oauth" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">oauth</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:7537,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="9752f39fbd85c61080a1e06ab6a5bc7b1985d63c9fd9415c2712a204ef47c4aa" title="Topic: typescript" href="/topics/typescript" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">typescript</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:12230,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="c821b62ae6b02a7d0e2fd3fc6fffcfd7bd8041879b3d0707316c01fd06810222" title="Topic: docker-compose" href="/topics/docker-compose" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">docker-compose</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:17184,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="86beaa3e50300a82ab7d8d8c853c280b15aaea10ff19a422203aeb5980d5bf91" title="Topic: postgresql" href="/topics/postgresql" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">postgresql</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:21481,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="642c2f89dc16c2172ead429c97acfdf4663fce5f7ef7a0461a1db19d38563cc3" title="Topic: crm" href="/topics/crm" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">crm</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:22905,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="e47e6606976f358fc3fa6f95e621010ad32c74a75149e714da24fd89700d2441" title="Topic: self-hosted" href="/topics/self-hosted" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">self-hosted</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:22913,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="ccf3b31969c14472111d3232c31b511bf3dbee7bdfcde47b9865cf0a6708dad3" title="Topic: monorepo" href="/topics/monorepo" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">monorepo</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:39011,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="3b87a0cb74c15de6f11c87b4866576c1144d3f044312cac66f426d5385756b7c" title="Topic: growth-hacking" href="/topics/growth-hacking" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">growth-hacking</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:95997,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="0d1b8eaafc83b9e5d466b82c1dc21a9ca7cb88c3e840ba258758a2863f5d57e8" title="Topic: typescript-sdk" href="/topics/typescript-sdk" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">typescript-sdk</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:405745,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="8dc227dc94c33406ca2bed363a14fbc7f0e9ca33f4fba5b0c9efa2cec57ebb43" title="Topic: unified-api" href="/topics/unified-api" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">unified-api</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:473249,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="546772655b89f968a788a8777492c432fbb924cb14c0ce21914dd09bc09efc20" title="Topic: nestjs" href="/topics/nestjs" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">nestjs</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:514368,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="fe676f933193fa353fe9d10256dbaba8b9ee8ce34ea822132c429289d320941c" title="Topic: prisma" href="/topics/prisma" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">prisma</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:635958,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="3a5e6fda0d7070d43f7e80b76360aaa79c5b53816598949e955537b576cb7aae" title="Topic: open-core" href="/topics/open-core" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">open-core</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:1281760,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="0afeedeca5f61837d84808c3c2abb2e013eb28d3be760fbf2b0dea5938be6c05" title="Topic: vitejs" href="/topics/vitejs" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">vitejs</a> </div> <div class="p-3"> <ul class="d-flex f6 list-style-none color-fg-muted"> <li class="mr-4"> Updated <relative-time datetime="2025-04-03T00:05:35Z" class="no-wrap">Apr 3, 2025</relative-time> </li> <li class="mr-4"> <span class="f6 my-1 ml-0"> <span class="repo-language-color" style="background-color: #3178c6"></span> <span itemprop="programmingLanguage">TypeScript</span> </span> </li> </ul> </div> </div> </article> <article class="border rounded color-shadow-small color-bg-subtle my-4"> <div class="px-3"> <div class="d-flex flex-justify-between flex-items-start flex-wrap gap-2 my-3"> <div class="d-flex flex-1"> <span style="margin-top:2px"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo color-fg-muted mr-2"> <path d="M2 2.5A2.5 2.5 0 0 1 4.5 0h8.75a.75.75 0 0 1 .75.75v12.5a.75.75 0 0 1-.75.75h-2.5a.75.75 0 0 1 0-1.5h1.75v-2h-8a1 1 0 0 0-.714 1.7.75.75 0 1 1-1.072 1.05A2.495 2.495 0 0 1 2 11.5Zm10.5-1h-8a1 1 0 0 0-1 1v6.708A2.486 2.486 0 0 1 4.5 9h8ZM5 12.25a.25.25 0 0 1 .25-.25h3.5a.25.25 0 0 1 .25.25v3.25a.25.25 0 0 1-.4.2l-1.45-1.087a.249.249 0 0 0-.3 0L5.4 15.7a.25.25 0 0 1-.4-.2Z"></path> </svg> </span> <h3 class="f3 color-fg-muted text-normal lh-condensed" > <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;OWNER&quot;,&quot;click_visual_representation&quot;:&quot;REPOSITORY_OWNER_HEADING&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:148366578,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="e9c3c015e30863aecbd42768b6c48e8d61bef730498fbf7dee1c3e030925cf79" data-turbo="false" href="/serwist" data-view-component="true" class="Link">serwist</a> / <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY&quot;,&quot;click_visual_representation&quot;:&quot;REPOSITORY_NAME_HEADING&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:706774978,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="fac0e3f6912074eb589a966cad51341ab61681b804d310a8bdf319a454e1a7f7" data-turbo="false" href="/serwist/serwist" data-view-component="true" class="Link text-bold wb-break-word">serwist</a> </h3> </div> <div class="d-flex flex-items-center"> <div data-view-component="true" class="BtnGroup d-flex"> <a href="/login?return_to=%2Fserwist%2Fserwist" rel="nofollow" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;star button&quot;,&quot;repository_id&quot;:706774978,&quot;auth_type&quot;:&quot;LOG_IN&quot;,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="33200355bbc03b6a96bd263519c2a65e432face4df758d4f22a82fb4911c5be1" aria-label="You must be signed in to star a repository" data-view-component="true" class="tooltipped tooltipped-sw btn-sm btn color-bg-default"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-star v-align-text-bottom d-inline-block mr-2"> <path d="M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.751.751 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25Zm0 2.445L6.615 5.5a.75.75 0 0 1-.564.41l-3.097.45 2.24 2.184a.75.75 0 0 1 .216.664l-.528 3.084 2.769-1.456a.75.75 0 0 1 .698 0l2.77 1.456-.53-3.084a.75.75 0 0 1 .216-.664l2.24-2.183-3.096-.45a.75.75 0 0 1-.564-.41L8 2.694Z"></path> </svg><span data-view-component="true" class="d-inline"> Star </span> <span id="repo-stars-counter-star" aria-label="914 users starred this repository" data-singular-suffix="user starred this repository" data-plural-suffix="users starred this repository" data-turbo-replace="true" title="914" data-view-component="true" class="Counter js-social-count">914</span> </a></div> </div> </div> </div> <nav aria-label="Repository menu" data-view-component="true" class="tabnav px-3 mb-0"> <ul data-view-component="true" class="tabnav-tabs"> <li data-view-component="true" class="d-inline-flex"> <a id="code-tab-706774978" aria-current="true" href="/serwist/serwist" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY&quot;,&quot;click_visual_representation&quot;:&quot;CODE_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:706774978,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="469e983a04665b995e51d9d6b187d749423fe4bc30a6694be54e260e90ea966a" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code color-fg-default"> <path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"></path> </svg> Code </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="issues-tab-706774978" href="/serwist/serwist/issues" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY_ISSUES&quot;,&quot;click_visual_representation&quot;:&quot;ISSUES_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:706774978,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="ec324392fb10349e931db3ac2d982e2505c1c4148eb320bbe1d13bbf318831ac" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-issue-opened color-fg-muted"> <path d="M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Z"></path> </svg> Issues </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="pull-requests-tab-706774978" href="/serwist/serwist/pulls" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY_PULL_REQUESTS&quot;,&quot;click_visual_representation&quot;:&quot;PULL_REQUESTS_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:706774978,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="ae7f1e40eaeaa91c3a14785df45a20a0054b054831d836c0b45e779a513de345" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-git-pull-request color-fg-muted"> <path d="M1.5 3.25a2.25 2.25 0 1 1 3 2.122v5.256a2.251 2.251 0 1 1-1.5 0V5.372A2.25 2.25 0 0 1 1.5 3.25Zm5.677-.177L9.573.677A.25.25 0 0 1 10 .854V2.5h1A2.5 2.5 0 0 1 13.5 5v5.628a2.251 2.251 0 1 1-1.5 0V5a1 1 0 0 0-1-1h-1v1.646a.25.25 0 0 1-.427.177L7.177 3.427a.25.25 0 0 1 0-.354ZM3.75 2.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm0 9.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm8.25.75a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Z"></path> </svg> Pull requests </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="discussions-tab-706774978" href="/serwist/serwist/discussions" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY_DISCUSSIONS&quot;,&quot;click_visual_representation&quot;:&quot;DISCUSSIONS_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:706774978,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="a3961436d3e56ebafe9add5e0379be65e176958254ccbd66e07dda2163ef1c72" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-comment-discussion color-fg-muted"> <path d="M1.75 1h8.5c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0 1 10.25 10H7.061l-2.574 2.573A1.458 1.458 0 0 1 2 11.543V10h-.25A1.75 1.75 0 0 1 0 8.25v-5.5C0 1.784.784 1 1.75 1ZM1.5 2.75v5.5c0 .138.112.25.25.25h1a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h3.5a.25.25 0 0 0 .25-.25v-5.5a.25.25 0 0 0-.25-.25h-8.5a.25.25 0 0 0-.25.25Zm13 2a.25.25 0 0 0-.25-.25h-.5a.75.75 0 0 1 0-1.5h.5c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0 1 14.25 12H14v1.543a1.458 1.458 0 0 1-2.487 1.03L9.22 12.28a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215l2.22 2.22v-2.19a.75.75 0 0 1 .75-.75h1a.25.25 0 0 0 .25-.25Z"></path> </svg> Discussions </a></li> </ul> </nav> <div class="color-bg-default rounded-bottom-2"> <div class="px-3 pt-3"> <p class="color-fg-muted mb-0" >A Swiss Army knife for service workers.</p> </div> <div class="d-flex flex-wrap border-bottom color-border-muted px-3 pt-2 pb-2"> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:8955,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="7c75c0f75dd1f1fb932279b53cf41a3cce5e29c7963cf68319682a652e1cf044" title="Topic: webpack" href="/topics/webpack" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">webpack</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:9019,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="5454ca4bbdedb1f77e958e1812cdf42c31bc5c7065530aecf41e856cd6650bcb" title="Topic: pwa" href="/topics/pwa" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">pwa</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:9739,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="4e3e8efc4d7f0ccfbac02e3108c4269958bcc39a89449255b509ae643a86638c" title="Topic: service-worker" href="/topics/service-worker" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">service-worker</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:12019,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="1cadfae63bf7aba0b822830e18dedfbe847c51e4225dafd643861965094eb7a2" title="Topic: progressive-web-app" href="/topics/progressive-web-app" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">progressive-web-app</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:12380,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="e892b9b62c9506fef7765475826f0359c004fadfde04462a128013d1ceeae21f" title="Topic: offline-first" href="/topics/offline-first" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">offline-first</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:13199,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="d24d326168331401ee4965a9fdd636e5d54120f70ad24aafb46241abc4c4d45b" title="Topic: nextjs" href="/topics/nextjs" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">nextjs</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:21118,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="c7e7af3d1eea3111735cca505eca7ac584d474bfee3d16c8439f5e4c3c80e2eb" title="Topic: svelte" href="/topics/svelte" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">svelte</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:21260,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="41b71170f8a3a7646a25c1dba041a7c9b784e64997512fce40a15f2d37108707" title="Topic: nuxt" href="/topics/nuxt" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">nuxt</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:93839,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="a3e92068e04dd72369376cbfaabea25a810efd47efa6e22100ce9cfa8566c18e" title="Topic: sw-precache" href="/topics/sw-precache" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">sw-precache</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:123756,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="c9ec6421d9651730ef6a7a8c3ef7fa67e5e9ed8ac8bf8a1de36298930b7907d7" title="Topic: service-workers" href="/topics/service-workers" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">service-workers</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:138863,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="2ebe050a9b77b41e0424b133f74097a02ba48d3dd3c4223797793a3844b46f54" title="Topic: nuxtjs" href="/topics/nuxtjs" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">nuxtjs</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:318940,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="1d4d4eb01ee6ebc313c5aa1199e7ad56c1a95f3cf24cbeb7f075b18e073cf2db" title="Topic: sw" href="/topics/sw" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">sw</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:434026,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="9701f75cda306fccb47e20afe2d5c8a8afef6dee0e6f7b309328daeb49ea9ac2" title="Topic: sw-toolbox" href="/topics/sw-toolbox" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">sw-toolbox</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:447813,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="710668a9ca8eb003a1d6b9ae7adba309e1c8b4d97299e5f8a170e241c81ad6ff" title="Topic: sveltejs" href="/topics/sveltejs" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">sveltejs</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:790929,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="3fd9115998715c06d78313a3db3f69bfa64fffaf8f973859be4514925b2a7fa1" title="Topic: vite" href="/topics/vite" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">vite</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:1281760,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="0afeedeca5f61837d84808c3c2abb2e013eb28d3be760fbf2b0dea5938be6c05" title="Topic: vitejs" href="/topics/vitejs" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">vitejs</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:1389288,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="0bd7fd3e45dace5bc7e52e7dd786e3fdd96fb8516ce022866c53187120156824" title="Topic: sveltekit" href="/topics/sveltekit" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">sveltekit</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:2579479,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="d4763b0aefa1cb9d105aeccd102db3f44cfbdabf9c5b75f420d886803cf13cbf" title="Topic: serwist" href="/topics/serwist" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">serwist</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:2579480,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="5fd24a11fc9c29bc0445eb1bf30af4f6387cb0e96ec6578390bccf3f780c6189" title="Topic: serwistjs" href="/topics/serwistjs" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">serwistjs</a> </div> <div class="p-3"> <ul class="d-flex f6 list-style-none color-fg-muted"> <li class="mr-4"> Updated <relative-time datetime="2025-02-24T05:42:04Z" class="no-wrap">Feb 24, 2025</relative-time> </li> <li class="mr-4"> <span class="f6 my-1 ml-0"> <span class="repo-language-color" style="background-color: #3178c6"></span> <span itemprop="programmingLanguage">TypeScript</span> </span> </li> </ul> </div> </div> </article> <article class="border rounded color-shadow-small color-bg-subtle my-4"> <div class="px-3"> <div class="d-flex flex-justify-between flex-items-start flex-wrap gap-2 my-3"> <div class="d-flex flex-1"> <span style="margin-top:2px"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo color-fg-muted mr-2"> <path d="M2 2.5A2.5 2.5 0 0 1 4.5 0h8.75a.75.75 0 0 1 .75.75v12.5a.75.75 0 0 1-.75.75h-2.5a.75.75 0 0 1 0-1.5h1.75v-2h-8a1 1 0 0 0-.714 1.7.75.75 0 1 1-1.072 1.05A2.495 2.495 0 0 1 2 11.5Zm10.5-1h-8a1 1 0 0 0-1 1v6.708A2.486 2.486 0 0 1 4.5 9h8ZM5 12.25a.25.25 0 0 1 .25-.25h3.5a.25.25 0 0 1 .25.25v3.25a.25.25 0 0 1-.4.2l-1.45-1.087a.249.249 0 0 0-.3 0L5.4 15.7a.25.25 0 0 1-.4-.2Z"></path> </svg> </span> <h3 class="f3 color-fg-muted text-normal lh-condensed" > <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;OWNER&quot;,&quot;click_visual_representation&quot;:&quot;REPOSITORY_OWNER_HEADING&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:17480987,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="390851210a25337eec66e63471d2ee9acb883211a99e04c5f2b49893a369f34b" data-turbo="false" href="/antonreshetov" data-view-component="true" class="Link">antonreshetov</a> / <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY&quot;,&quot;click_visual_representation&quot;:&quot;REPOSITORY_NAME_HEADING&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:431825090,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="c90efda3e59aebb673f77242b29dc0aed8afe5d19d3164b2dbdd757ed8f6712f" data-turbo="false" href="/antonreshetov/image-optimizer" data-view-component="true" class="Link text-bold wb-break-word">image-optimizer</a> </h3> </div> <div class="d-flex flex-items-center"> <div data-view-component="true" class="BtnGroup d-flex"> <a href="/login?return_to=%2Fantonreshetov%2Fimage-optimizer" rel="nofollow" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;star button&quot;,&quot;repository_id&quot;:431825090,&quot;auth_type&quot;:&quot;LOG_IN&quot;,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="0acee0bfc1d1dd918182f175c16e3d0ebd5d0a8f1dc3eaa99aae78aaf8910d0d" aria-label="You must be signed in to star a repository" data-view-component="true" class="tooltipped tooltipped-sw btn-sm btn color-bg-default"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-star v-align-text-bottom d-inline-block mr-2"> <path d="M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.751.751 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25Zm0 2.445L6.615 5.5a.75.75 0 0 1-.564.41l-3.097.45 2.24 2.184a.75.75 0 0 1 .216.664l-.528 3.084 2.769-1.456a.75.75 0 0 1 .698 0l2.77 1.456-.53-3.084a.75.75 0 0 1 .216-.664l2.24-2.183-3.096-.45a.75.75 0 0 1-.564-.41L8 2.694Z"></path> </svg><span data-view-component="true" class="d-inline"> Star </span> <span id="repo-stars-counter-star" aria-label="900 users starred this repository" data-singular-suffix="user starred this repository" data-plural-suffix="users starred this repository" data-turbo-replace="true" title="900" data-view-component="true" class="Counter js-social-count">900</span> </a></div> </div> </div> </div> <nav aria-label="Repository menu" data-view-component="true" class="tabnav px-3 mb-0"> <ul data-view-component="true" class="tabnav-tabs"> <li data-view-component="true" class="d-inline-flex"> <a id="code-tab-431825090" aria-current="true" href="/antonreshetov/image-optimizer" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY&quot;,&quot;click_visual_representation&quot;:&quot;CODE_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:431825090,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="587f509f9f1e3505699c828b442d9b05414e18e04ca14dd4dc5482d0feb173e4" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code color-fg-default"> <path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"></path> </svg> Code </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="issues-tab-431825090" href="/antonreshetov/image-optimizer/issues" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY_ISSUES&quot;,&quot;click_visual_representation&quot;:&quot;ISSUES_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:431825090,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="5204dd9ac0d1f7a361c932e80a02c4ae8b2f6374d7c6844b76b438605faba59e" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-issue-opened color-fg-muted"> <path d="M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Z"></path> </svg> Issues </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="pull-requests-tab-431825090" href="/antonreshetov/image-optimizer/pulls" data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;REPOSITORY_PULL_REQUESTS&quot;,&quot;click_visual_representation&quot;:&quot;PULL_REQUESTS_TAB&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:431825090,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="dee27168c6aabdb1b1e93bf7e56f159928dc342e1a45bf8527be3e56e9d225e1" data-turbo="false" data-view-component="true" class="tabnav-tab f6 px-2 py-1"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-git-pull-request color-fg-muted"> <path d="M1.5 3.25a2.25 2.25 0 1 1 3 2.122v5.256a2.251 2.251 0 1 1-1.5 0V5.372A2.25 2.25 0 0 1 1.5 3.25Zm5.677-.177L9.573.677A.25.25 0 0 1 10 .854V2.5h1A2.5 2.5 0 0 1 13.5 5v5.628a2.251 2.251 0 1 1-1.5 0V5a1 1 0 0 0-1-1h-1v1.646a.25.25 0 0 1-.427.177L7.177 3.427a.25.25 0 0 1 0-.354ZM3.75 2.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm0 9.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm8.25.75a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Z"></path> </svg> Pull requests </a></li> </ul> </nav> <div class="color-bg-default rounded-bottom-2"> <div class="px-3 pt-3"> <p class="color-fg-muted mb-0" >A tool for optimizing images and vector graphics.</p> </div> <div class="d-flex flex-wrap border-bottom color-border-muted px-3 pt-2 pb-2"> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:1,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="be3fde2d83d26a593b2d68480f88f37e5ddbeb51a4c64117e56586aa056f73e3" title="Topic: electron" href="/topics/electron" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">electron</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:2367,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="39bc119d11f04b0a448abe36c77e7d8d2be8db02c00da18eeb3271575e00d71c" title="Topic: vuejs" href="/topics/vuejs" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">vuejs</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:9275,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="d9b5c564e3c4a1c84164727da795ff66a42dddbd5c78beed289064059a9939dc" title="Topic: vue" href="/topics/vue" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">vue</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:21157,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="0ebe288be6f92ce3465a79d464f0ba22dfdd7892290eaf7000fd7a8609227d44" title="Topic: image-processing" href="/topics/image-processing" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">image-processing</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:23838,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="2e9f88706eef9eb4a92ff250b0dd2788d3b45867b5da87275f952235d7321beb" title="Topic: webp" href="/topics/webp" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">webp</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:35051,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="33886376230f06086988c5b7d45a654bc87b1e46b89379db8e150b32ea7f54fe" title="Topic: mozjpeg" href="/topics/mozjpeg" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">mozjpeg</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:102477,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="a3cc241b821594d7748208bee8bd2333f134810972cc72a0ba357bd7872f2ba2" title="Topic: image-compression" href="/topics/image-compression" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">image-compression</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:151634,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="79c9ff80ef09730c80aba4dc814d075964c31f34596c02af4aa044ce71fc77c1" title="Topic: pngquant" href="/topics/pngquant" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">pngquant</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:211359,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="b8ab48fa03bbc739b88fb66d329df249ad2b50c4f106b4e5f337f5a5630457c7" title="Topic: svgo" href="/topics/svgo" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">svgo</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:326587,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="f91644d7249a392421193e1add66844228fe6755289d3efc50c51188f3c82551" title="Topic: image-compressor" href="/topics/image-compressor" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">image-compressor</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:469778,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="a7499d5fcdfc9e9fc232d20e090d71d9232c21ceed006c8f3aca5cc299e2fc77" title="Topic: cwebp" href="/topics/cwebp" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">cwebp</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:622792,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="35131df7ab679236bd604feba074f4f7124b5beaaf192c9889406f2bb6c09b58" title="Topic: image-minify" href="/topics/image-minify" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">image-minify</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:790929,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="3fd9115998715c06d78313a3db3f69bfa64fffaf8f973859be4514925b2a7fa1" title="Topic: vite" href="/topics/vite" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">vite</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:1108059,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="4c170a609dbe8c34dc41c5722ac58ae8b258855c8b1b839c011e2b3bf2342353" title="Topic: image-optimizer" href="/topics/image-optimizer" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">image-optimizer</a> <a data-hydro-click="{&quot;event_type&quot;:&quot;explore.click&quot;,&quot;payload&quot;:{&quot;click_context&quot;:&quot;REPOSITORY_CARD&quot;,&quot;click_target&quot;:&quot;TOPIC&quot;,&quot;click_visual_representation&quot;:&quot;TOPIC_TAG&quot;,&quot;actor_id&quot;:null,&quot;record_id&quot;:1281760,&quot;originating_url&quot;:&quot;https://github.com/topics/vitejs&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="0afeedeca5f61837d84808c3c2abb2e013eb28d3be760fbf2b0dea5938be6c05" title="Topic: vitejs" href="/topics/vitejs" data-view-component="true" class="topic-tag topic-tag-link Link f6 mb-2">vitejs</a> </div> <div class="p-3"> <ul class="d-flex f6 list-style-none color-fg-muted"> <li class="mr-4"> Updated <relative-time datetime="2024-08-11T07:02:38Z" class="no-wrap">Aug 11, 2024</relative-time> </li> <li class="mr-4"> <span class="f6 my-1 ml-0"> <span class="repo-language-color" style="background-color: #3178c6"></span> <span itemprop="programmingLanguage">TypeScript</span> </span> </li> </ul> </div> </div> </article> <!-- '"` --><!-- </textarea></xmp> --></option></form><form class="ajax-pagination-form js-ajax-pagination" data-turbo="false" action="https://github.com/topics/vitejs" accept-charset="UTF-8" method="get"> <input name="page" type="hidden" value="2"> <button type="submit" class="ajax-pagination-btn btn color-border-default f6 mt-0 width-full" data-disable-with="Loading more..." > Load more&hellip; </button> </form> </div> <div class="col-md-4 col-lg-3"> <div class="mb-6"> <h2 class="h4 mb-2"> Improve this page </h2> <p class="color-fg-muted"> Add a description, image, and links to the <span class="text-bold">vitejs</span> topic page so that developers can more easily learn about it. </p> <p> <a href="https://github.com/github/explore/tree/master/CONTRIBUTING.md?source=add-description-vitejs" data-ga-click="Explore, add description, text:add description" > Curate this topic <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-right ml-1"> <path d="M6.22 3.22a.75.75 0 0 1 1.06 0l4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L9.94 8 6.22 4.28a.75.75 0 0 1 0-1.06Z"></path> </svg> </a> </p> </div> <div class="mb-6"> <h2 class="h4 mb-2"> Add this topic to your repo </h2> <p class="color-fg-muted"> To associate your repository with the <span class="text-bold">vitejs</span> topic, visit your repo's landing page and select "manage topics." </p> <p> <a href="https://docs.github.com/en/articles/classifying-your-repository-with-topics"> Learn more <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-right ml-1"> <path d="M6.22 3.22a.75.75 0 0 1 1.06 0l4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L9.94 8 6.22 4.28a.75.75 0 0 1 0-1.06Z"></path> </svg> </a> </p> </div> </div> </div> </div> </div> </main> </div> <footer class="footer pt-8 pb-6 f6 color-fg-muted p-responsive" role="contentinfo" > <h2 class='sr-only'>Footer</h2> <div class="d-flex flex-justify-center flex-items-center flex-column-reverse flex-lg-row flex-wrap flex-lg-nowrap"> <div class="d-flex flex-items-center flex-shrink-0 mx-2"> <a aria-label="Homepage" title="GitHub" class="footer-octicon mr-2" href="https://github.com"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-mark-github"> <path d="M12 1C5.9225 1 1 5.9225 1 12C1 16.8675 4.14875 20.9787 8.52125 22.4362C9.07125 22.5325 9.2775 22.2025 9.2775 21.9137C9.2775 21.6525 9.26375 20.7862 9.26375 19.865C6.5 20.3737 5.785 19.1912 5.565 18.5725C5.44125 18.2562 4.905 17.28 4.4375 17.0187C4.0525 16.8125 3.5025 16.3037 4.42375 16.29C5.29 16.2762 5.90875 17.0875 6.115 17.4175C7.105 19.0812 8.68625 18.6137 9.31875 18.325C9.415 17.61 9.70375 17.1287 10.02 16.8537C7.5725 16.5787 5.015 15.63 5.015 11.4225C5.015 10.2262 5.44125 9.23625 6.1425 8.46625C6.0325 8.19125 5.6475 7.06375 6.2525 5.55125C6.2525 5.55125 7.17375 5.2625 9.2775 6.67875C10.1575 6.43125 11.0925 6.3075 12.0275 6.3075C12.9625 6.3075 13.8975 6.43125 14.7775 6.67875C16.8813 5.24875 17.8025 5.55125 17.8025 5.55125C18.4075 7.06375 18.0225 8.19125 17.9125 8.46625C18.6138 9.23625 19.04 10.2125 19.04 11.4225C19.04 15.6437 16.4688 16.5787 14.0213 16.8537C14.42 17.1975 14.7638 17.8575 14.7638 18.8887C14.7638 20.36 14.75 21.5425 14.75 21.9137C14.75 22.2025 14.9563 22.5462 15.5063 22.4362C19.8513 20.9787 23 16.8537 23 12C23 5.9225 18.0775 1 12 1Z"></path> </svg> </a> <span> &copy; 2025 GitHub,&nbsp;Inc. </span> </div> <nav aria-label="Footer"> <h3 class="sr-only" id="sr-footer-heading">Footer navigation</h3> <ul class="list-style-none d-flex flex-justify-center flex-wrap mb-2 mb-lg-0" aria-labelledby="sr-footer-heading"> <li class="mx-2"> <a data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to Terms&quot;,&quot;label&quot;:&quot;text:terms&quot;}" href="https://docs.github.com/site-policy/github-terms/github-terms-of-service" data-view-component="true" class="Link--secondary Link">Terms</a> </li> <li class="mx-2"> <a data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to privacy&quot;,&quot;label&quot;:&quot;text:privacy&quot;}" href="https://docs.github.com/site-policy/privacy-policies/github-privacy-statement" data-view-component="true" class="Link--secondary Link">Privacy</a> </li> <li class="mx-2"> <a data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to security&quot;,&quot;label&quot;:&quot;text:security&quot;}" href="https://github.com/security" data-view-component="true" class="Link--secondary Link">Security</a> </li> <li class="mx-2"> <a data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to status&quot;,&quot;label&quot;:&quot;text:status&quot;}" href="https://www.githubstatus.com/" data-view-component="true" class="Link--secondary Link">Status</a> </li> <li class="mx-2"> <a data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to docs&quot;,&quot;label&quot;:&quot;text:docs&quot;}" href="https://docs.github.com/" data-view-component="true" class="Link--secondary Link">Docs</a> </li> <li class="mx-2"> <a data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to contact&quot;,&quot;label&quot;:&quot;text:contact&quot;}" href="https://support.github.com?tags=dotcom-footer" data-view-component="true" class="Link--secondary Link">Contact</a> </li> <li class="mx-2" > <cookie-consent-link> <button type="button" class="Link--secondary underline-on-hover border-0 p-0 color-bg-transparent" data-action="click:cookie-consent-link#showConsentManagement" data-analytics-event="{&quot;location&quot;:&quot;footer&quot;,&quot;action&quot;:&quot;cookies&quot;,&quot;context&quot;:&quot;subfooter&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;cookies_link_subfooter_footer&quot;}" > Manage cookies </button> </cookie-consent-link> </li> <li class="mx-2"> <cookie-consent-link> <button type="button" class="Link--secondary underline-on-hover border-0 p-0 color-bg-transparent" data-action="click:cookie-consent-link#showConsentManagement" data-analytics-event="{&quot;location&quot;:&quot;footer&quot;,&quot;action&quot;:&quot;dont_share_info&quot;,&quot;context&quot;:&quot;subfooter&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;dont_share_info_link_subfooter_footer&quot;}" > Do not share my personal information </button> </cookie-consent-link> </li> </ul> </nav> </div> </footer> <ghcc-consent id="ghcc" class="position-fixed bottom-0 left-0" style="z-index: 999999" data-initial-cookie-consent-allowed="" data-cookie-consent-required="false"></ghcc-consent> <div id="ajax-error-message" class="ajax-error-message flash flash-error" hidden> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert"> <path d="M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path> </svg> <button type="button" class="flash-close js-ajax-error-dismiss" aria-label="Dismiss error"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path> </svg> </button> You can’t perform that action at this time. </div> <template id="site-details-dialog"> <details class="details-reset details-overlay details-overlay-dark lh-default color-fg-default hx_rsm" open> <summary role="button" aria-label="Close dialog"></summary> <details-dialog class="Box Box--overlay d-flex flex-column anim-fade-in fast hx_rsm-dialog hx_rsm-modal"> <button class="Box-btn-octicon m-0 btn-octicon position-absolute right-0 top-0" type="button" aria-label="Close dialog" data-close-dialog> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path> </svg> </button> <div class="octocat-spinner my-6 js-details-dialog-spinner"></div> </details-dialog> </details> </template> <div class="Popover js-hovercard-content position-absolute" style="display: none; outline: none;"> <div class="Popover-message Popover-message--bottom-left Popover-message--large Box color-shadow-large" style="width:360px;"> </div> </div> <template id="snippet-clipboard-copy-button"> <div class="zeroclipboard-container position-absolute right-0 top-0"> <clipboard-copy aria-label="Copy" class="ClipboardButton btn js-clipboard-copy m-2 p-0" data-copy-feedback="Copied!" data-tooltip-direction="w"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-copy js-clipboard-copy-icon m-2"> <path d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z"></path><path d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"></path> </svg> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check js-clipboard-check-icon color-fg-success d-none m-2"> <path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path> </svg> </clipboard-copy> </div> </template> <template id="snippet-clipboard-copy-button-unpositioned"> <div class="zeroclipboard-container"> <clipboard-copy aria-label="Copy" class="ClipboardButton btn btn-invisible js-clipboard-copy m-2 p-0 d-flex flex-justify-center flex-items-center" data-copy-feedback="Copied!" data-tooltip-direction="w"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-copy js-clipboard-copy-icon"> <path d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z"></path><path d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"></path> </svg> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check js-clipboard-check-icon color-fg-success d-none"> <path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path> </svg> </clipboard-copy> </div> </template> </div> <div id="js-global-screen-reader-notice" class="sr-only mt-n1" aria-live="polite" aria-atomic="true" ></div> <div id="js-global-screen-reader-notice-assertive" class="sr-only mt-n1" aria-live="assertive" aria-atomic="true"></div> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10