1<!DOCTYPE html> 2<html lang="en-US" dir="ltr"> 3 <head> 4 <meta charset="utf-8"> 5 <meta name="viewport" content="width=device-width,initial-scale=1"> 6 <title>ts-punycode</title> 7 8 <meta name="generator" content="VitePress v1.6.3"> 9 <link rel="preload stylesheet" href="/assets/style.yKN8UJrj.css" as="style"> 10 <link rel="preload stylesheet" href="/vp-icons.css" as="style"> 11
11<script type="module" src="/assets/chunks/metadata.1e5fd005.js"></script>
11 12
12<script type="module" src="/assets/app.C6tsJePy.js"></script>
12 13 <link rel="preload" href="/assets/inter-roman-latin.Di8DUHzh.woff2" as="font" type="font/woff2" crossorigin=""> 14 <link rel="modulepreload" href="/assets/chunks/theme.DH5n62xD.js"> 15 <link rel="modulepreload" href="/assets/chunks/framework.0gpbjW4I.js"> 16 <link rel="modulepreload" href="/assets/index.md.BHm567bB.lean.js"> 17 <link rel="icon" type="image/svg+xml" href="./images/logo-mini.svg"> 18 <link rel="icon" type="image/png" href="./images/logo.png"> 19 <meta name="theme-color" content="#0A0ABC"> 20 <meta name="title" content="ts-punycode | A TypeScript Starter Kit. For a better Development Experience."> 21 <meta name="description" content="A TypeScript Starter Kit. For a better Development Experience."> 22 <meta name="author" content="Stacks.js, Inc."> 23 <meta name="tags" content="ts-punycode, stacksjs, reverse proxy, modern, lightweight, zero-config, local development"> 24 <meta property="og:type" content="website"> 25 <meta property="og:locale" content="en"> 26 <meta property="og:title" content="ts-punycode | A TypeScript Starter Kit. For a better Development Experience."> 27 <meta property="og:description" content="A TypeScript Starter Kit. For a better Development Experience."> 28 <meta property="og:site_name" content="ts-punycode"> 29 <meta property="og:image" content="./images/og-image.png"> 30 <meta property="og:url" content="https://ts-punycode.netlify.app/"> 31
31<script src="https://cdn.usefathom.com/script.js" data-site="DCOEHMGA" defer></script>
31 32
32<script id="check-dark-mode">(()=>{const e=localStorage.getItem("vitepress-theme-appearance")||"auto",a=window.matchMedia("(prefers-color-scheme: dark)").matches;(!e||e==="auto"?a:e==="dark")&&document.documentElement.classList.add("dark")})();</script>
32 33
33<script id="check-mac-os">document.documentElement.classList.toggle("mac",/Mac|iPhone|iPod|iPad/i.test(navigator.platform));</script>
33 34 <link rel="manifest" href="/manifest.webmanifest"> 35
35<script id="vite-plugin-pwa:register-sw" src="/registerSW.js"></script>
35 36 </head> 37 <body> 38 <div id="app"><div class="Layout" data-v-5d98c3a5><!--[--><!--]--><!--[--><span tabindex="-1" data-v-0b0ada53></span><a href="#VPContent" class="VPSkipLink visually-hidden" data-v-0b0ada53>Skip to content</a><!--]--><!----><header class="VPNav" data-v-5d98c3a5 data-v-ae24b3ad><div class="VPNavBar" data-v-ae24b3ad data-v-6aa21345><div class="wrapper" data-v-6aa21345><div class="container" data-v-6aa21345><div class="title" data-v-6aa21345><div class="VPNavBarTitle" data-v-6aa21345 data-v-1168a8e4><a class="title" href="/" data-v-1168a8e4><!--[--><!--]--><!--[--><!--[--><!--[--><img class="VPImage dark logo" src="./images/logo-white-transparent.svg" alt data-v-8426fc1a><!--]--><!--[--><img class="VPImage light logo" src="./images/logo-transparent.svg" alt data-v-8426fc1a><!--]--><!--]--><!--]--><span data-v-1168a8e4>ts-punycode</span><!--[--><!--]--></a></div></div><div class="content" data-v-6aa21345><div class="content-body" data-v-6aa21345><!--[--><!--]--><div class="VPNavBarSearch search" data-v-6aa21345><!--[--><!----><div id="local-search"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><span class="vp-icon DocSearch-Search-Icon"></span><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"><kbd class="DocSearch-Button-Key"></kbd><kbd class="DocSearch-Button-Key">K</kbd></span></button></div><!--]--></div><nav aria-labelledby="main-nav-aria-label" class="VPNavBarMenu menu" data-v-6aa21345 data-v-dc692963><span id="main-nav-aria-label" class="visually-hidden" data-v-dc692963> Main Navigation </span><!--[--><!--[--><a class="VPLink link vp-external-link-icon VPNavBarMenuLink" href="https://stacksjs.org/news" target="_blank" rel="noreferrer" tabindex="0" data-v-dc692963 data-v-e56f3d57><!--[--><span data-v-e56f3d57>News</span><!--]--></a><!--]--><!--[--><a class="VPLink link vp-external-link-icon VPNavBarMenuLink" href="https://github.com/stacksjs/ts-punycode/blob/main/CHANGELOG.md" target="_blank" rel="noreferrer" tabindex="0" data-v-dc692963 data-v-e56f3d57><!--[--><span data-v-e56f3d57>Changelog</span><!--]--></a><!--]--><!--[--><div class="VPFlyout VPNavBarMenuGroup" data-v-dc692963 data-v-cf11d7a2><button type="button" class="button" aria-haspopup="true" aria-expanded="false" data-v-cf11d7a2><span class="text" data-v-cf11d7a2><!----><span data-v-cf11d7a2>Resources</span><span class="vpi-chevron-down text-icon" data-v-cf11d7a2></span></span></button><div class="menu" data-v-cf11d7a2><div class="VPMenu" data-v-cf11d7a2 data-v-b98bc113><div class="items" data-v-b98bc113><!--[--><!--[--><div class="VPMenuLink" data-v-b98bc113 data-v-35975db6><a class="VPLink link" href="/team" data-v-35975db6><!--[--><span data-v-35975db6>Team</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-b98bc113 data-v-35975db6><a class="VPLink link" href="/sponsors" data-v-35975db6><!--[--><span data-v-35975db6>Sponsors</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-b98bc113 data-v-35975db6><a class="VPLink link" href="/partners" data-v-35975db6><!--[--><span data-v-35975db6>Partners</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-b98bc113 data-v-35975db6><a class="VPLink link" href="/postcardware" data-v-35975db6><!--[--><span data-v-35975db6>Postcardware</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-b98bc113 data-v-35975db6><a class="VPLink link" href="/stargazers" data-v-35975db6><!--[--><span data-v-35975db6>Stargazers</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-b98bc113 data-v-35975db6><a class="VPLink link" href="/license" data-v-35975db6><!--[--><span data-v-35975db6>License</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuGroup" data-v-b98bc113 data-v-69e747b5><!----><!--[--><!--[--><div class="VPMenuLink" data-v-69e747b5 data-v-35975db6><a class="VPLink link vp-external-link-icon" href="https://github.com/stacksjs/awesome-stacks" target="_blank" rel="noreferrer" data-v-35975db6><!--[--><span data-v-35975db6>Awesome Stacks</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-69e747b5 data-v-35975db6><a class="VPLink link vp-external-link-icon" href="https://github.com/stacksjs/stacks/blob/main/.github/CONTRIBUTING.md" target="_blank" rel="noreferrer" data-v-35975db6><!--[--><span data-v-35975db6>Contributing</span><!--]--></a></div><!--]--><!--]--></div><!--]--><!--]--></div><!--[--><!--]--></div></div></div><!--]--><!--]--></nav><!----><div class="VPNavBarAppearance appearance" data-v-6aa21345 data-v-6c893767><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title aria-checked="false" data-v-6c893767 data-v-5337faa4 data-v-1d5665e3><span class="check" data-v-1d5665e3><span class="icon" data-v-1d5665e3><!--[--><span class="vpi-sun sun" data-v-5337faa4></span><span class="vpi-moon moon" data-v-5337faa4></span><!--]--></span></span></button></div><div class="VPSocialLinks VPNavBarSocialLinks social-links" data-v-6aa21345 data-v-0394ad82 data-v-7bc22406><!--[--><a class="VPSocialLink no-icon" href="https://twitter.com/stacksjs" aria-label="twitter" target="_blank" rel="noopener" data-v-7bc22406 data-v-bd121fe5><span class="vpi-social-twitter"></span></a><a class="VPSocialLink no-icon" href="https://bsky.app/profile/chrisbreuer.dev" aria-label="bluesky" target="_blank" rel="noopener" data-v-7bc22406 data-v-bd121fe5><span class="vpi-social-bluesky"></span></a><a class="VPSocialLink no-icon" href="https://github.com/stacksjs/ts-punycode" aria-label="github" target="_blank" rel="noopener" data-v-7bc22406 data-v-bd121fe5><span class="vpi-social-github"></span></a><a class="VPSocialLink no-icon" href="https://discord.gg/stacksjs" aria-label="discord" target="_blank" rel="noopener" data-v-7bc22406 data-v-bd121fe5><span class="vpi-social-discord"></span></a>
38<!--]--></div><div class="VPFlyout VPNavBarExtra extra" data-v-6aa21345 data-v-bb2aa2f0 data-v-cf11d7a2><button type="button" class="button" aria-haspopup="true" aria-expanded="false" aria-label="extra navigation" data-v-cf11d7a2><span class="vpi-more-horizontal icon" data-v-cf11d7a2></span></button><div class="menu" data-v-cf11d7a2><div class="VPMenu" data-v-cf11d7a2 data-v-b98bc113><!----><!--[--><!--[--><!----><div class="group" data-v-bb2aa2f0><div class="item appearance" data-v-bb2aa2f0><p class="label" data-v-bb2aa2f0>Appearance</p><div class="appearance-action" data-v-bb2aa2f0><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title aria-checked="false" data-v-bb2aa2f0 data-v-5337faa4 data-v-1d5665e3><span class="check" data-v-1d5665e3><span class="icon" data-v-1d5665e3><!--[--><span class="vpi-sun sun" data-v-5337faa4></span><span class="vpi-moon moon" data-v-5337faa4></span><!--]--></span></span></button></div></div></div><div class="group" data-v-bb2aa2f0><div class="item social-links" data-v-bb2aa2f0><div class="VPSocialLinks social-links-list" data-v-bb2aa2f0 data-v-7bc22406><!--[--><a class="VPSocialLink no-icon" href="https://twitter.com/stacksjs" aria-label="twitter" target="_blank" rel="noopener" data-v-7bc22406 data-v-bd121fe5><span class="vpi-social-twitter"></span></a><a class="VPSocialLink no-icon" href="https://bsky.app/profile/chrisbreuer.dev" aria-label="bluesky" target="_blank" rel="noopener" data-v-7bc22406 data-v-bd121fe5><span class="vpi-social-bluesky"></span></a><a class="VPSocialLink no-icon" href="https://github.com/stacksjs/ts-punycode" aria-label="github" target="_blank" rel="noopener" data-v-7bc22406 data-v-bd121fe5><span class="vpi-social-github"></span></a><a class="VPSocialLink no-icon" href="https://discord.gg/stacksjs" aria-label="discord" target="_blank" rel="noopener" data-v-7bc22406 data-v-bd121fe5><span class="vpi-social-discord"></span></a><!--]--></div></div></div><!--]--><!--]--></div></div></div><!--[--><!--]--><button type="button" class="VPNavBarHamburger hamburger" aria-label="mobile navigation" aria-expanded="false" aria-controls="VPNavScreen" data-v-6aa21345 data-v-e5dd9c1c><span class="container" data-v-e5dd9c1c><span class="top" data-v-e5dd9c1c></span><span class="middle" data-v-e5dd9c1c></span><span class="bottom" data-v-e5dd9c1c></span></span></button></div></div></div></div><div class="divider" data-v-6aa21345><div class="divider-line" data-v-6aa21345></div></div></div><!----></header><!----><!----><div class="VPContent is-home" id="VPContent" data-v-5d98c3a5 data-v-1428d186><div class="VPHome" data-v-1428d186 data-v-8b561e3d><!--[--><!--]--><div class="VPHero has-image VPHomeHero" data-v-8b561e3d data-v-4f9c455b><div class="container" data-v-4f9c455b><div class="main" data-v-4f9c455b><!--[--><!--]--><!--[--><h1 class="heading" data-v-4f9c455b><span class="name clip" data-v-4f9c455b>ts-starter</span><span class="text" data-v-4f9c455b>For a better local environment.</span></h1><p class="tagline" data-v-4f9c455b>Modern and smart reverse proxy.</p><!--]--><!--[--><!--]--><div class="actions" data-v-4f9c455b><!--[--><div class="action" data-v-4f9c455b><a class="VPButton medium brand" href="/intro" data-v-4f9c455b data-v-fa7799d5>Get Started</a></div><div class="action" data-v-4f9c455b><a class="VPButton medium alt" href="https://github.com/stacksjs/rpx" target="_blank" rel="noreferrer" data-v-4f9c455b data-v-fa7799d5>View on GitHub</a></div><!--]--></div><!--[--><!--]--></div><div class="image" data-v-4f9c455b><div class="image-container" data-v-4f9c455b><div class="image-bg" data-v-4f9c455b></div><!--[--><!--[--><img class="VPImage image-src" src="/images/logo-white.png" alt data-v-8426fc1a><!--]--><!--]--></div></div></div></div><!--[--><!--]--><!--[--><!--]--><div class="VPFeatures VPHomeFeatures" data-v-8b561e3d data-v-a6181336><div class="container" data-v-a6181336><div class="items" data-v-a6181336><!--[--><div class="grid-4 item" data-v-a6181336><div class="VPLink no-icon VPFeature" data-v-a6181336 data-v-a3976bdc><!--[--><article class="box" data-v-a3976bdc><div class="icon" data-v-a3976bdc>ð</div><h2 class="title" data-v-a3976bdc>Minimal Starter Kit</h2><p class="details" data-v-a3976bdc>Bootstrap your next TypeScript project.</p><!----></article><!--]--></div></div><div class="grid-4 item" data-v-a6181336><div class="VPLink no-icon VPFeature" data-v-a6181336 data-v-a3976bdc><!--[--><article class="box" data-v-a3976bdc><div class="icon" data-v-a3976bdc>ð</div><h2 class="title" data-v-a3976bdc>Documentation</h2><p class="details" data-v-a3976bdc>Easily document your idea/package/library.</p><!----></article><!--]--></div></div><div class="grid-4 item" data-v-a6181336><div class="VPLink no-icon VPFeature" data-v-a6181336 data-v-a3976bdc><!--[--><article class="box" data-v-a3976bdc><div class="icon" data-v-a3976bdc>ð </div><h2 class="title" data-v-a3976bdc>CLI</h2><p class="details" data-v-a3976bdc>Build your own CLI.</p><!----></article><!--]--></div></div><div class="grid-4 item" data-v-a6181336><div class="VPLink no-icon VPFeature" data-v-a6181336 data-v-a3976bdc><!--[--><article class="box" data-v-a3976bdc><div class="icon" data-v-a3976bdc>ð</div><h2 class="title" data-v-a3976bdc>Binary</h2><p class="details" data-v-a3976bdc>Automatically builds a binary for your project out of your CLI.</p><!----></article><!--]--></div></div><!--]--></div></div></div><!--[--><!--]--><div class="vp-doc container" style="" data-v-8b561e3d data-v-8e2d4988><!--[--><div style="position:relative;" data-v-8b561e3d><div><div class="flex flex-col items-center mt-4 home"><!--[--><div class="vp-doc"><h2 pb-2 pt-5 font-normal op50> Meet The Team </h2></div><div grid="~ cols-2 lg:cols-4 gap-x-3 gap-y-20 items-stretch" p-10><!--[--><div text-center class="flex flex-col items-center text-center p-4 h-full"><img loading="lazy" width="100" height="100" m-auto h-25 min-h-25 min-w-25 w-25 rounded-full src="https://avatars.githubusercontent.com/chrisbbreuer?v=4" alt="Chris Breuer's avatar"><div mb-1 mt-2 text-xl>Chris Breuer</div><div h-80px op60>
38Open sourceror.<br>Core Stacks team.<br>Working at Stacks.js</div><div flex="~ inline gap-2" py2 text-2xl><a class="i-carbon-logo-github mya inline-block text-current op30 transition duration-200 hover:op100" href="https://github.com/chrisbbreuer" target="_blank" rel="noopener noreferrer" aria-label="Chris Breuer on GitHub"></a><a class="i-carbon-favorite-filled mya inline-block text-current op30 transition duration-200 hover:op100" href="https://github.com/sponsors/chrisbbreuer" target="_blank" rel="noopener noreferrer" title="Sponsor Chris Breuer" aria-label="Sponsor Chris Breuer"></a></div></div><div text-center class="flex flex-col items-center text-center p-4 h-full"><img loading="lazy" width="100" height="100" m-auto h-25 min-h-25 min-w-25 w-25 rounded-full src="https://avatars.githubusercontent.com/glennmichael123?v=4" alt="Glenn's avatar"><div mb-1 mt-2 text-xl>Glenn</div><div h-80px op60>Open sourceror.<br>Core Stacks team.<br>Working at Stacks.js</div><div flex="~ inline gap-2" py2 text-2xl><a class="i-carbon-logo-github mya inline-block text-current op30 transition duration-200 hover:op100" href="https://github.com/glennmichael123" target="_blank" rel="noopener noreferrer" aria-label="Glenn on GitHub"></a><!----></div></div><div text-center class="flex flex-col items-center text-center p-4 h-full"><img loading="lazy" width="100" height="100" m-auto h-25 min-h-25 min-w-25 w-25 rounded-full src="https://avatars.githubusercontent.com/cab-mikee?v=4" alt="Mike's avatar"><div mb-1 mt-2 text-xl>Mike</div><div h-80px op60>Open sourceror.<br>Core Stacks team.<br>Working at Stacks.js</div><div flex="~ inline gap-2" py2 text-2xl><a class="i-carbon-logo-github mya inline-block text-current op30 transition duration-200 hover:op100" href="https://github.com/cab-mikee" target="_blank" rel="noopener noreferrer" aria-label="Mike on GitHub"></a><!----></div></div><div text-center class="flex flex-col items-center text-center p-4 h-full"><img loading="lazy" width="100" height="100" m-auto h-25 min-h-25 min-w-25 w-25 rounded-full src="https://avatars.githubusercontent.com/konkonam?v=4" alt="Zoltan's avatar"><div mb-1 mt-2 text-xl>Zoltan</div><div h-80px op60>Open sourceror.<br>Core Stacks team.</div><div flex="~ inline gap-2" py2 text-2xl><a class="i-carbon-logo-github mya inline-block text-current op30 transition duration-200 hover:op100" href="https://github.com/konkonam" target="_blank" rel="noopener noreferrer" aria-label="Zoltan on GitHub"></a><a class="i-carbon-favorite-filled mya inline-block text-current op30 transition duration-200 hover:op100" href="https://github.com/sponsors/konkonam" target="_blank" rel="noopener noreferrer" title="Sponsor Zoltan" aria-label="Sponsor Zoltan"></a></div></div><!--]--></div><!--]--><!--[--><div class="vp-doc"><h2 pb-2 pt-5 font-normal op50> Stacks Sponsors </h2></div><p id="sponsor" class="mt-5 text-center"><a href="https://github.com/sponsors/chrisbbreuer"><img src="https://cdn.jsdelivr.net/gh/stacksjs/sponsors/sponsorkit/sponsors.svg" class="m-auto"></a></p><p class="mt-5 text-center"><a href="https://github.com/sponsors/chrisbbreuer" class="text-xs italic"> Click here to become a sponsor. </a></p><!--]--><!--[--><div class="vp-doc"><h2 pb-2 pt-5 font-normal op50> Contributors </h2></div><div max-w-200 p-10 text-center text-lg leading-7><div flex="~ wrap gap-1" justify-center><!--[--><a href="https://github.com/chrisbbreuer" m-0 rel="noopener noreferrer" aria-label="chrisbbreuer on GitHub"><img loading="lazy" src="https://avatars.githubusercontent.com/chrisbbreuer?v=4" width="40" height="40" h-10 min-h-10 min-w-10 w-10 rounded-full alt="chrisbbreuer's avatar"></a><a href="https://github.com/cab-mikee" m-0 rel="noopener noreferrer" aria-label="cab-mikee on GitHub"><img loading="lazy" src="https://avatars.githubusercontent.com/cab-mikee?v=4" width="40" height="40" h-10 min-h-10 min-w-10 w-10 rounded-full alt="cab-mikee's avatar"></a><!--]--></div><br></div><!--]--></div></div></div><!--]--></div></div></div><footer class="VPFooter" data-v-5d98c3a5 data-v-e315a0ad><div class="container" data-v-e315a0ad><p class="message" data-v-e315a0ad>Released under the MIT License.</p><p class="copyright" data-v-e315a0ad>Copyright © 2025-present Stacks.js, Inc.</p></div></footer><!--[--><!--]--></div></div> 39 40 41 </body> 42</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.