├── .github └── FUNDING.yml ├── .gitignore ├── .npmrc ├── .prettierignore ├── .prettierrc ├── .vscode ├── extensions.json └── settings.json ├── LICENSE ├── README.md ├── functions ├── .env ├── .env.production ├── api │ ├── demo.ts │ ├── error.ts │ └── users │ │ └── [id].ts ├── index.ts └── props │ ├── hi-name.ts │ └── home.ts ├── index.html ├── logo.png ├── package-lock.json ├── package.json ├── public ├── favicon.svg ├── pwa-192x192.png ├── pwa-512x512.png ├── robots.txt └── safari-pinned-tab.svg ├── src ├── App.vue ├── components │ ├── Footer.vue │ └── README.md ├── i18n │ ├── date-formats.ts │ ├── index.ts │ ├── locales.ts │ ├── number-formats.ts │ └── translations │ │ ├── README.md │ │ ├── en.json │ │ ├── es.json │ │ ├── fr.json │ │ ├── it.json │ │ ├── ja.json │ │ ├── ko.json │ │ ├── tr.json │ │ ├── vi.json │ │ └── zh-CN.json ├── layouts │ ├── 404.vue │ ├── README.md │ ├── default.vue │ └── home.vue ├── main.ts ├── modules │ ├── README.md │ └── nprogress.ts ├── pages │ ├── README.md │ ├── [...all].vue │ ├── about.md │ ├── hi │ │ └── [name].vue │ └── index.vue ├── shims.d.ts └── styles │ ├── main.css │ └── markdown.css ├── tailwind.config.ts ├── tsconfig.json ├── vite.config.ts ├── wrangler.toml └── yarn.lock /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | github: antfu 2 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | *.local 3 | dist 4 | dist-ssr 5 | node_modules 6 | **/_* 7 | worker-site/worker 8 | -------------------------------------------------------------------------------- /.npmrc: -------------------------------------------------------------------------------- 1 | shamefully-hoist=true 2 | -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | /node_modules/** 2 | /.cache/** 3 | /dist/** 4 | /tests/unit/coverage/** 5 | **/.temp/** -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- 1 | semi: false 2 | singleQuote: true 3 | trailingComma: es5 -------------------------------------------------------------------------------- /.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | "recommendations": [ 3 | "johnsoncodehk.volar", 4 | "lokalise.i18n-ally", 5 | "antfu.iconify", 6 | "dbaeumer.vscode-eslint" 7 | ] 8 | } 9 | -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "volar.tsPlugin": true, 3 | "i18n-ally.localesPaths": "src/i18n/translations", 4 | "i18n-ally.keystyle": "nested", 5 | "i18n-ally.sortKeys": true, 6 | "cSpell.words": [ 7 | "Vitesse" 8 | ], 9 | "typescript.tsdk": "node_modules/typescript/lib", 10 | "volar.tsPluginStatus": false 11 | } 12 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2020 Anthony Fu & Fran Dios 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Vitessedge 2 | 3 |
4 |
5 |
8 | Deploy your fullstack SSR apps to Cloudflare Workers using Vitedge. 9 |
10 | 11 |12 | Live Demo 13 |
14 | 15 | > Vue + Vite + SSR template based on [@antfu](https://github.com/antfu)'s [Vitesse](https://github.com/antfu/vitesse) 16 | 17 | ## Features 18 | 19 | - ⚡️ [Vue 3](https://github.com/vuejs/vue-next), [Vite 2](https://github.com/vitejs/vite), [ESBuild](https://github.com/evanw/esbuild) - born with fastness 20 | 21 | - ⚔️ Edge-side rendering in Cloudflare Workers via [Vitedge](https://github.com/frandiox/vitedge), with edge cache and HTTP/2 server push 22 | 23 | - 🗂 [File based routing](./src/pages) 24 | 25 | - 📦 [Components auto importing](./src/components) 26 | 27 | - 📑 [Layout system](./src/layouts) 28 | 29 | - 📲 [PWA](https://github.com/antfu/vite-plugin-pwa) 30 | 31 | - 🎨 [Windi CSS](https://github.com/windicss/windicss) - on-demand Tailwind CSS with speed 32 | 33 | - 😃 [Use icons from any icon sets, with no compromise](./src/components) 34 | 35 | - 🌍 [I18n ready](./src/i18n/translations) with different routes for each language. 36 | 37 | - 🗒 [Markdown Support](https://github.com/antfu/vite-plugin-md) 38 | 39 | - 🔥 Use the [new ` 22 | 23 |