├── .editorconfig ├── .eslintrc.cjs ├── .gitattributes ├── .github ├── ISSUE_TEMPLATE │ ├── bug_report.yml │ ├── config.yml │ └── feature_request.yml ├── PULL_REQUEST_TEMPLATE.md ├── commit-convention.md ├── issue-workflow.png ├── pr-workflow.png ├── renovate.json5 ├── semantic.yml └── workflows │ ├── ci.yml │ ├── issue-close-require.yml │ ├── issue-labeled.yml │ ├── lock-closed-issues.yml │ └── release-tag.yml ├── .gitignore ├── .prettierignore ├── .prettierrc.json ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── browser-vite.svg ├── docs ├── .vitepress │ ├── config.js │ └── theme │ │ ├── custom.css │ │ ├── index.js │ │ ├── sponsors.css │ │ └── sponsors.json ├── blog │ └── announcing-vite2.md ├── config │ └── index.md ├── guide │ ├── api-hmr.md │ ├── api-javascript.md │ ├── api-plugin.md │ ├── assets.md │ ├── backend-integration.md │ ├── build.md │ ├── comparisons.md │ ├── dep-pre-bundling.md │ ├── env-and-mode.md │ ├── features.md │ ├── index.md │ ├── migration.md │ ├── ssr.md │ ├── static-deploy.md │ ├── using-plugins.md │ └── why.md ├── images │ ├── bundler.png │ ├── esm.png │ ├── graph.png │ ├── vercel-configuration.png │ └── vite-plugin-inspect.png ├── index.md ├── plugins │ └── index.md └── public │ ├── _headers │ ├── divriots.png │ ├── finclip.png │ ├── logo.svg │ ├── mux.svg │ ├── plaid.svg │ ├── stackblitz.svg │ ├── tailwind-labs.svg │ ├── vite.mp3 │ ├── voice.svg │ └── vuejobs.png ├── jest.config.ts ├── netlify.toml ├── package.json ├── packages ├── create-app │ ├── README.md │ ├── index.js │ └── package.json ├── create-vite │ ├── CHANGELOG.md │ ├── LICENSE │ ├── README.md │ ├── __tests__ │ │ └── cli.spec.ts │ ├── index.js │ ├── package.json │ ├── template-lit-ts │ │ ├── _gitignore │ │ ├── index.html │ │ ├── package.json │ │ ├── src │ │ │ ├── favicon.svg │ │ │ ├── my-element.ts │ │ │ └── vite-env.d.ts │ │ ├── tsconfig.json │ │ └── vite.config.ts │ ├── template-lit │ │ ├── _gitignore │ │ ├── index.html │ │ ├── package.json │ │ ├── src │ │ │ ├── favicon.svg │ │ │ └── my-element.js │ │ └── vite.config.js │ ├── template-preact-ts │ │ ├── _gitignore │ │ ├── index.html │ │ ├── package.json │ │ ├── src │ │ │ ├── app.tsx │ │ │ ├── favicon.svg │ │ │ ├── index.css │ │ │ ├── logo.tsx │ │ │ ├── main.tsx │ │ │ ├── preact.d.ts │ │ │ └── vite-env.d.ts │ │ ├── tsconfig.json │ │ └── vite.config.ts │ ├── template-preact │ │ ├── _gitignore │ │ ├── index.html │ │ ├── package.json │ │ ├── src │ │ │ ├── app.jsx │ │ │ ├── favicon.svg │ │ │ ├── index.css │ │ │ ├── logo.jsx │ │ │ └── main.jsx │ │ └── vite.config.js │ ├── template-react-ts │ │ ├── _gitignore │ │ ├── index.html │ │ ├── package.json │ │ ├── src │ │ │ ├── App.css │ │ │ ├── App.tsx │ │ │ ├── favicon.svg │ │ │ ├── index.css │ │ │ ├── logo.svg │ │ │ ├── main.tsx │ │ │ └── vite-env.d.ts │ │ ├── tsconfig.json │ │ └── vite.config.ts │ ├── template-react │ │ ├── _gitignore │ │ ├── index.html │ │ ├── package.json │ │ ├── src │ │ │ ├── App.css │ │ │ ├── App.jsx │ │ │ ├── favicon.svg │ │ │ ├── index.css │ │ │ ├── logo.svg │ │ │ └── main.jsx │ │ └── vite.config.js │ ├── template-svelte-ts │ │ ├── .vscode │ │ │ └── extensions.json │ │ ├── README.md │ │ ├── _gitignore │ │ ├── index.html │ │ ├── package.json │ │ ├── public │ │ │ └── favicon.ico │ │ ├── src │ │ │ ├── App.svelte │ │ │ ├── assets │ │ │ │ └── svelte.png │ │ │ ├── lib │ │ │ │ └── Counter.svelte │ │ │ ├── main.ts │ │ │ └── vite-env.d.ts │ │ ├── svelte.config.js │ │ ├── tsconfig.json │ │ └── vite.config.js │ ├── template-svelte │ │ ├── .vscode │ │ │ └── extensions.json │ │ ├── README.md │ │ ├── _gitignore │ │ ├── index.html │ │ ├── jsconfig.json │ │ ├── package.json │ │ ├── public │ │ │ └── favicon.ico │ │ ├── src │ │ │ ├── App.svelte │ │ │ ├── assets │ │ │ │ └── svelte.png │ │ │ ├── lib │ │ │ │ └── Counter.svelte │ │ │ ├── main.js │ │ │ └── vite-env.d.ts │ │ └── vite.config.js │ ├── template-vanilla-ts │ │ ├── _gitignore │ │ ├── favicon.svg │ │ ├── index.html │ │ ├── package.json │ │ ├── src │ │ │ ├── main.ts │ │ │ ├── style.css │ │ │ └── vite-env.d.ts │ │ └── tsconfig.json │ ├── template-vanilla │ │ ├── _gitignore │ │ ├── favicon.svg │ │ ├── index.html │ │ ├── main.js │ │ ├── package.json │ │ └── style.css │ ├── template-vue-ts │ │ ├── .vscode │ │ │ └── extensions.json │ │ ├── README.md │ │ ├── _gitignore │ │ ├── index.html │ │ ├── package.json │ │ ├── public │ │ │ └── favicon.ico │ │ ├── src │ │ │ ├── App.vue │ │ │ ├── assets │ │ │ │ └── logo.png │ │ │ ├── components │ │ │ │ └── HelloWorld.vue │ │ │ ├── env.d.ts │ │ │ └── main.ts │ │ ├── tsconfig.json │ │ └── vite.config.ts │ ├── template-vue │ │ ├── .vscode │ │ │ └── extensions.json │ │ ├── README.md │ │ ├── _gitignore │ │ ├── index.html │ │ ├── package.json │ │ ├── public │ │ │ └── favicon.ico │ │ ├── src │ │ │ ├── App.vue │ │ │ ├── assets │ │ │ │ └── logo.png │ │ │ ├── components │ │ │ │ └── HelloWorld.vue │ │ │ └── main.js │ │ └── vite.config.js │ └── updateVersions.js ├── playground │ ├── alias │ │ ├── __tests__ │ │ │ └── alias.spec.ts │ │ ├── dir │ │ │ ├── from-script-src.js │ │ │ ├── module │ │ │ │ ├── index.js │ │ │ │ └── package.json │ │ │ ├── test.css │ │ │ └── test.js │ │ ├── index.html │ │ ├── package.json │ │ ├── test.js │ │ └── vite.config.js │ ├── assets │ │ ├── __tests__ │ │ │ └── assets.spec.ts │ │ ├── css │ │ │ ├── css-url.css │ │ │ ├── fonts.css │ │ │ ├── icons.css │ │ │ └── nested │ │ │ │ └── at-imported-css-url.css │ │ ├── fonts │ │ │ ├── Inter-Italic.woff │ │ │ └── Inter-Italic.woff2 │ │ ├── foo.js │ │ ├── index.html │ │ ├── nested │ │ │ ├── asset.png │ │ │ ├── fragment-bg.svg │ │ │ ├── fragment.svg │ │ │ ├── icon.png │ │ │ └── テスト-測試-white space.png │ │ ├── package.json │ │ ├── static │ │ │ ├── icon.png │ │ │ ├── raw.css │ │ │ └── raw.js │ │ ├── vite.config.js │ │ └── テスト-測試-white space.js │ ├── backend-integration │ │ ├── __tests__ │ │ │ └── backend-integration.spec.ts │ │ ├── frontend │ │ │ ├── entrypoints │ │ │ │ ├── global.css │ │ │ │ ├── index.html │ │ │ │ └── main.ts │ │ │ ├── images │ │ │ │ └── logo.png │ │ │ └── styles │ │ │ │ ├── background.css │ │ │ │ └── tailwind.css │ │ ├── package.json │ │ ├── postcss.config.js │ │ ├── references.css │ │ ├── tailwind.config.js │ │ └── vite.config.js │ ├── cli-module │ │ ├── __tests__ │ │ │ ├── cli-module.spec.ts │ │ │ └── serve.js │ │ ├── index.html │ │ ├── index.js │ │ ├── package.json │ │ └── vite.config.js │ ├── cli │ │ ├── __tests__ │ │ │ ├── cli.spec.ts │ │ │ └── serve.js │ │ ├── index.html │ │ ├── index.js │ │ ├── package.json │ │ └── vite.config.js │ ├── css-codesplit-cjs │ │ ├── __tests__ │ │ │ └── css-codesplit.spec.ts │ │ ├── index.html │ │ ├── main.css │ │ ├── main.js │ │ ├── other.js │ │ ├── package.json │ │ ├── style.css │ │ └── vite.config.js │ ├── css-codesplit │ │ ├── __tests__ │ │ │ └── css-codesplit.spec.ts │ │ ├── index.html │ │ ├── main.css │ │ ├── main.js │ │ ├── other.js │ │ ├── package.json │ │ ├── style.css │ │ └── vite.config.js │ ├── css │ │ ├── __tests__ │ │ │ └── css.spec.ts │ │ ├── async-treeshaken.css │ │ ├── async-treeshaken.js │ │ ├── async.css │ │ ├── async.js │ │ ├── composed.module.css │ │ ├── composed.module.less │ │ ├── composed.module.scss │ │ ├── composes-path-resolving.module.css │ │ ├── css-dep │ │ │ ├── index.css │ │ │ ├── index.js │ │ │ ├── index.scss │ │ │ ├── index.styl │ │ │ └── package.json │ │ ├── dep.css │ │ ├── glob-dep.css │ │ ├── glob-dep │ │ │ ├── bar.css │ │ │ └── foo.css │ │ ├── imported-at-import.css │ │ ├── imported.css │ │ ├── index.html │ │ ├── inlined.css │ │ ├── less.less │ │ ├── linked-at-import.css │ │ ├── linked.css │ │ ├── main.js │ │ ├── minify.css │ │ ├── mod.module.css │ │ ├── mod.module.scss │ │ ├── nested │ │ │ ├── _index.scss │ │ │ ├── _partial.scss │ │ │ ├── icon.png │ │ │ ├── nested.less │ │ │ └── nested.styl │ │ ├── ok.png │ │ ├── options │ │ │ ├── absolute-import.styl │ │ │ └── relative-import.styl │ │ ├── package.json │ │ ├── pkg-dep │ │ │ ├── _index.scss │ │ │ ├── index.js │ │ │ └── package.json │ │ ├── postcss-caching │ │ │ ├── blue-app │ │ │ │ ├── imported.css │ │ │ │ ├── index.html │ │ │ │ ├── main.js │ │ │ │ ├── package.json │ │ │ │ └── postcss.config.js │ │ │ ├── css.spec.ts │ │ │ └── green-app │ │ │ │ ├── imported.css │ │ │ │ ├── index.html │ │ │ │ ├── main.js │ │ │ │ ├── package.json │ │ │ │ └── postcss.config.js │ │ ├── postcss.config.js │ │ ├── sass.scss │ │ ├── stylus.styl │ │ └── vite.config.js │ ├── data-uri │ │ ├── __tests__ │ │ │ └── data-uri.spec.ts │ │ ├── index.html │ │ └── package.json │ ├── define │ │ ├── __tests__ │ │ │ └── define.spec.ts │ │ ├── index.html │ │ ├── package.json │ │ └── vite.config.js │ ├── dynamic-import │ │ ├── __tests__ │ │ │ └── dynamic-import.spec.ts │ │ ├── css │ │ │ └── index.css │ │ ├── index.html │ │ ├── mxd.js │ │ ├── mxd.json │ │ ├── nested │ │ │ ├── index.js │ │ │ └── shared.js │ │ ├── package.json │ │ ├── qux.js │ │ ├── views │ │ │ ├── bar.js │ │ │ ├── baz.js │ │ │ └── foo.js │ │ └── vite.config.js │ ├── env │ │ ├── .env │ │ ├── .env.development │ │ ├── .env.production │ │ ├── __tests__ │ │ │ └── env.spec.ts │ │ ├── index.html │ │ ├── package.json │ │ └── vite.config.js │ ├── extensions │ │ ├── __tests__ │ │ │ └── extensions.spec.ts │ │ ├── index.html │ │ ├── package.json │ │ └── vite.config.js │ ├── file-delete-restore │ │ ├── App.jsx │ │ ├── Child.jsx │ │ ├── __tests__ │ │ │ └── file-delete-restore.spec.ts │ │ ├── index.html │ │ ├── package.json │ │ └── vite.config.js │ ├── fs-serve │ │ ├── __tests__ │ │ │ └── fs-serve.spec.ts │ │ ├── entry.js │ │ ├── nested │ │ │ └── foo.js │ │ ├── package.json │ │ ├── root │ │ │ ├── src │ │ │ │ ├── .env │ │ │ │ ├── index.html │ │ │ │ └── safe.txt │ │ │ ├── unsafe.txt │ │ │ └── vite.config.js │ │ ├── safe.json │ │ └── unsafe.json │ ├── glob-import │ │ ├── __tests__ │ │ │ └── glob-import.spec.ts │ │ ├── dir │ │ │ ├── baz.json │ │ │ ├── foo.js │ │ │ ├── index.js │ │ │ └── nested │ │ │ │ └── bar.js │ │ ├── index.html │ │ └── package.json │ ├── hmr │ │ ├── __tests__ │ │ │ └── hmr.spec.ts │ │ ├── customFile.js │ │ ├── hmr.js │ │ ├── hmrDep.js │ │ ├── hmrNestedDep.js │ │ ├── index.html │ │ ├── package.json │ │ └── vite.config.js │ ├── html │ │ ├── __tests__ │ │ │ └── html.spec.ts │ │ ├── common.css │ │ ├── foo.html │ │ ├── index.html │ │ ├── inline │ │ │ ├── common.js │ │ │ ├── dep1.js │ │ │ ├── dep2.js │ │ │ ├── dep3.js │ │ │ ├── module-graph.dot │ │ │ ├── shared-1.html │ │ │ ├── shared-2.html │ │ │ ├── shared.js │ │ │ ├── unique.html │ │ │ └── unique.js │ │ ├── main.css │ │ ├── main.js │ │ ├── nested │ │ │ ├── index.html │ │ │ ├── nested.css │ │ │ └── nested.js │ │ ├── noBody.html │ │ ├── noHead.html │ │ ├── package.json │ │ ├── scriptAsync.html │ │ ├── scriptMixed.html │ │ ├── shared.js │ │ ├── unicode-path │ │ │ └── 中文-にほんご-한글-🌕🌖🌗 │ │ │ │ └── index.html │ │ ├── vite.config.js │ │ └── zeroJS.html │ ├── json │ │ ├── __tests__ │ │ │ └── json.spec.ts │ │ ├── index.html │ │ ├── package.json │ │ ├── public │ │ │ └── public.json │ │ └── test.json │ ├── legacy │ │ ├── __tests__ │ │ │ ├── legacy.spec.ts │ │ │ └── ssr │ │ │ │ ├── legacy-ssr.spec.ts │ │ │ │ └── serve.js │ │ ├── async.js │ │ ├── entry-server.js │ │ ├── immutable-chunk.js │ │ ├── index.html │ │ ├── main.js │ │ ├── package.json │ │ ├── vite.config-custom-filename.js │ │ └── vite.config.js │ ├── lib │ │ ├── __tests__ │ │ │ ├── lib.spec.ts │ │ │ └── serve.js │ │ ├── index.dist.html │ │ ├── index.html │ │ ├── package.json │ │ ├── src │ │ │ ├── main.js │ │ │ ├── main2.js │ │ │ └── message.js │ │ ├── vite.config.js │ │ └── vite.dyimport.config.js │ ├── multiple-entrypoints │ │ ├── __tests__ │ │ │ └── multiple-entrypoints.spec.ts │ │ ├── deps.json │ │ ├── dynamic-a.js │ │ ├── dynamic-b.js │ │ ├── entrypoints │ │ │ ├── a0.js │ │ │ ├── a1.js │ │ │ ├── a10.js │ │ │ ├── a11.js │ │ │ ├── a12.js │ │ │ ├── a13.js │ │ │ ├── a14.js │ │ │ ├── a15.js │ │ │ ├── a16.js │ │ │ ├── a17.js │ │ │ ├── a18.js │ │ │ ├── a19.js │ │ │ ├── a2.js │ │ │ ├── a20.js │ │ │ ├── a21.js │ │ │ ├── a22.js │ │ │ ├── a23.js │ │ │ ├── a24.js │ │ │ ├── a3.js │ │ │ ├── a4.js │ │ │ ├── a5.js │ │ │ ├── a6.js │ │ │ ├── a7.js │ │ │ ├── a8.js │ │ │ └── a9.js │ │ ├── index.html │ │ ├── index.js │ │ ├── package.json │ │ ├── reference.js │ │ ├── reference.scss │ │ └── vite.config.js │ ├── nested-deps │ │ ├── __tests__ │ │ │ └── nested-deps.spec.ts │ │ ├── index.html │ │ ├── package.json │ │ ├── test-package-a │ │ │ ├── index.js │ │ │ └── package.json │ │ ├── test-package-b │ │ │ ├── index.js │ │ │ ├── node_modules │ │ │ │ └── test-package-a │ │ │ │ │ ├── index.js │ │ │ │ │ └── package.json │ │ │ └── package.json │ │ ├── test-package-c │ │ │ ├── index-es.js │ │ │ ├── index.js │ │ │ ├── package.json │ │ │ └── side.js │ │ ├── test-package-d │ │ │ ├── index.js │ │ │ ├── package.json │ │ │ └── test-package-d-nested │ │ │ │ ├── index.js │ │ │ │ └── package.json │ │ ├── test-package-e │ │ │ ├── index.js │ │ │ ├── package.json │ │ │ ├── test-package-e-excluded │ │ │ │ ├── index.js │ │ │ │ └── package.json │ │ │ └── test-package-e-included │ │ │ │ ├── index.js │ │ │ │ └── package.json │ │ └── vite.config.js │ ├── optimize-deps │ │ ├── .hidden-dir │ │ │ └── foo.js │ │ ├── __tests__ │ │ │ └── optimize-deps.spec.ts │ │ ├── cjs-dynamic.js │ │ ├── cjs.js │ │ ├── dedupe.js │ │ ├── dep-cjs-compiled-from-cjs │ │ │ ├── index.js │ │ │ └── package.json │ │ ├── dep-cjs-compiled-from-esm │ │ │ ├── index.js │ │ │ └── package.json │ │ ├── dep-esbuild-plugin-transform │ │ │ ├── index.js │ │ │ └── package.json │ │ ├── dep-linked-include │ │ │ ├── Test.vue │ │ │ ├── foo.js │ │ │ ├── index.mjs │ │ │ ├── package.json │ │ │ └── test.css │ │ ├── dep-linked │ │ │ ├── index.js │ │ │ └── package.json │ │ ├── glob │ │ │ └── foo.js │ │ ├── index.html │ │ ├── nested-exclude │ │ │ ├── index.js │ │ │ ├── nested-include │ │ │ │ ├── index.js │ │ │ │ └── package.json │ │ │ └── package.json │ │ ├── package.json │ │ └── vite.config.js │ ├── optimize-missing-deps │ │ ├── __test__ │ │ │ ├── optimize-missing-deps.spec.ts │ │ │ └── serve.js │ │ ├── index.html │ │ ├── main.js │ │ ├── missing-dep │ │ │ ├── index.js │ │ │ └── package.json │ │ ├── multi-entry-dep │ │ │ ├── index.browser.js │ │ │ ├── index.js │ │ │ └── package.json │ │ ├── package.json │ │ └── server.js │ ├── package.json │ ├── preload │ │ ├── __tests__ │ │ │ └── preload.spec.ts │ │ ├── index.html │ │ ├── package.json │ │ ├── router.js │ │ ├── src │ │ │ ├── App.vue │ │ │ └── components │ │ │ │ ├── About.vue │ │ │ │ ├── Hello.vue │ │ │ │ └── Home.vue │ │ └── vite.config.js │ ├── preserve-symlinks │ │ ├── __tests__ │ │ │ └── preserve-symlinks.spec.ts │ │ ├── index.html │ │ ├── moduleA │ │ │ ├── linked.js │ │ │ ├── package.json │ │ │ └── src │ │ │ │ ├── data.js │ │ │ │ └── index.js │ │ ├── package.json │ │ └── src │ │ │ └── main.js │ ├── react-emotion │ │ ├── App.jsx │ │ ├── __tests__ │ │ │ └── react.spec.ts │ │ ├── index.html │ │ ├── package.json │ │ └── vite.config.ts │ ├── react │ │ ├── App.jsx │ │ ├── __tests__ │ │ │ └── react.spec.ts │ │ ├── components │ │ │ └── Dummy.jsx │ │ ├── index.html │ │ ├── package.json │ │ └── vite.config.ts │ ├── resolve-linked │ │ ├── dep.js │ │ ├── package.json │ │ └── src │ │ │ └── index.js │ ├── resolve │ │ ├── __tests__ │ │ │ └── resolve.spec.ts │ │ ├── browser-field │ │ │ ├── multiple.dot.path.js │ │ │ ├── no-ext-index │ │ │ │ └── index.js │ │ │ ├── no-ext.js │ │ │ ├── not-browser.js │ │ │ ├── out │ │ │ │ ├── cjs.node.js │ │ │ │ └── esm.browser.js │ │ │ ├── package.json │ │ │ └── relative.js │ │ ├── config-dep.js │ │ ├── custom-condition │ │ │ ├── index.custom.js │ │ │ ├── index.js │ │ │ └── package.json │ │ ├── custom-ext.es │ │ ├── custom-main-field │ │ │ ├── index.custom.js │ │ │ ├── index.js │ │ │ └── package.json │ │ ├── dir-with-ext.js │ │ │ └── empty │ │ ├── dir-with-ext │ │ │ └── index.js │ │ ├── dir.js │ │ ├── dir │ │ │ └── index.js │ │ ├── exact-extension │ │ │ ├── file.js │ │ │ └── file.js.js │ │ ├── exports-env │ │ │ ├── browser.js │ │ │ ├── browser.mjs │ │ │ ├── browser.prod.mjs │ │ │ ├── fallback.umd.js │ │ │ └── package.json │ │ ├── exports-path │ │ │ ├── cjs.js │ │ │ ├── deep.js │ │ │ ├── dir │ │ │ │ └── dir.js │ │ │ ├── main.js │ │ │ └── package.json │ │ ├── index.html │ │ ├── inline-package │ │ │ ├── inline.js │ │ │ └── package.json │ │ ├── package.json │ │ ├── ts-extension │ │ │ ├── hello.ts │ │ │ └── index.ts │ │ ├── utf8-bom │ │ │ └── main.js │ │ ├── util │ │ │ ├── bar.util.js │ │ │ └── index.js │ │ └── vite.config.js │ ├── shims.d.ts │ ├── ssr-deps │ │ ├── __tests__ │ │ │ ├── serve.js │ │ │ └── ssr-deps.spec.ts │ │ ├── forwarded-export │ │ │ ├── index.js │ │ │ └── package.json │ │ ├── index.html │ │ ├── message │ │ ├── node-addon │ │ │ ├── README.md │ │ │ ├── binding.gyp │ │ │ ├── index.js │ │ │ ├── main.cpp │ │ │ └── package.json │ │ ├── object-assigned-exports │ │ │ ├── index.js │ │ │ └── package.json │ │ ├── package.json │ │ ├── primitive-export │ │ │ ├── index.js │ │ │ └── package.json │ │ ├── read-file-content │ │ │ ├── index.js │ │ │ └── package.json │ │ ├── server.js │ │ ├── src │ │ │ └── app.js │ │ ├── ts-transpiled-exports │ │ │ ├── index.js │ │ │ └── package.json │ │ └── vite.config.js │ ├── ssr-html │ │ ├── __tests__ │ │ │ ├── serve.js │ │ │ └── ssr-html.spec.ts │ │ ├── index.html │ │ ├── package.json │ │ ├── server.js │ │ └── src │ │ │ └── app.js │ ├── ssr-pug │ │ ├── __tests__ │ │ │ ├── serve.js │ │ │ └── ssr-pug.spec.ts │ │ ├── index.pug │ │ ├── package.json │ │ ├── server.js │ │ └── src │ │ │ └── app.js │ ├── ssr-react │ │ ├── __tests__ │ │ │ ├── serve.js │ │ │ └── ssr-react.spec.ts │ │ ├── index.html │ │ ├── package.json │ │ ├── prerender.js │ │ ├── server.js │ │ ├── src │ │ │ ├── App.jsx │ │ │ ├── add.js │ │ │ ├── circular-dep-init │ │ │ │ ├── README.md │ │ │ │ ├── circular-dep-init.js │ │ │ │ ├── module-a.js │ │ │ │ └── module-b.js │ │ │ ├── entry-client.jsx │ │ │ ├── entry-server.jsx │ │ │ ├── forked-deadlock │ │ │ │ ├── README.md │ │ │ │ ├── common-module.js │ │ │ │ ├── deadlock-fuse-module.js │ │ │ │ ├── fuse-stuck-bridge-module.js │ │ │ │ ├── middle-module.js │ │ │ │ └── stuck-module.js │ │ │ ├── multiply.js │ │ │ └── pages │ │ │ │ ├── About.jsx │ │ │ │ ├── Env.jsx │ │ │ │ └── Home.jsx │ │ └── vite.config.js │ ├── ssr-vue │ │ ├── __tests__ │ │ │ ├── serve.js │ │ │ └── ssr-vue.spec.ts │ │ ├── dep-import-type │ │ │ ├── deep │ │ │ │ └── index.d.ts │ │ │ └── package.json │ │ ├── example-external-component │ │ │ ├── ExampleExternalComponent.vue │ │ │ ├── index.js │ │ │ └── package.json │ │ ├── index.html │ │ ├── package.json │ │ ├── prerender.js │ │ ├── server.js │ │ ├── src │ │ │ ├── App.vue │ │ │ ├── assets │ │ │ │ ├── fonts │ │ │ │ │ ├── Inter-Italic.woff │ │ │ │ │ └── Inter-Italic.woff2 │ │ │ │ └── logo.png │ │ │ ├── components │ │ │ │ ├── Foo.jsx │ │ │ │ ├── ImportType.vue │ │ │ │ └── foo.css │ │ │ ├── entry-client.js │ │ │ ├── entry-server.js │ │ │ ├── main.js │ │ │ ├── pages │ │ │ │ ├── About.vue │ │ │ │ ├── External.vue │ │ │ │ ├── Home.vue │ │ │ │ └── Store.vue │ │ │ └── router.js │ │ ├── vite.config.js │ │ └── vite.config.noexternal.js │ ├── ssr-webworker │ │ ├── __tests__ │ │ │ ├── serve.js │ │ │ └── ssr-webworker.spec.ts │ │ ├── package.json │ │ ├── src │ │ │ └── entry-worker.jsx │ │ ├── vite.config.js │ │ └── worker.js │ ├── tailwind │ │ ├── __test__ │ │ │ └── tailwind.spec.ts │ │ ├── index.css │ │ ├── index.html │ │ ├── package.json │ │ ├── postcss.config.js │ │ ├── public │ │ │ └── favicon.ico │ │ ├── src │ │ │ ├── App.vue │ │ │ ├── assets │ │ │ │ └── logo.png │ │ │ ├── components │ │ │ │ └── HelloWorld.vue │ │ │ ├── main.js │ │ │ ├── router.ts │ │ │ └── views │ │ │ │ └── Page.vue │ │ ├── tailwind.config.js │ │ └── vite.config.ts │ ├── testUtils.ts │ ├── tsconfig-json-load-error │ │ ├── __tests__ │ │ │ └── tsconfig-json-load-error.spec.ts │ │ ├── has-error │ │ │ ├── main.ts │ │ │ └── tsconfig.json │ │ ├── index.html │ │ ├── package.json │ │ ├── src │ │ │ └── main.ts │ │ └── tsconfig.json │ ├── tsconfig-json │ │ ├── __tests__ │ │ │ └── tsconfig-json.spec.ts │ │ ├── index.html │ │ ├── nested-with-extends │ │ │ ├── main.ts │ │ │ ├── not-used-type.ts │ │ │ └── tsconfig.json │ │ ├── nested │ │ │ ├── main.ts │ │ │ ├── not-used-type.ts │ │ │ └── tsconfig.json │ │ ├── package.json │ │ ├── src │ │ │ ├── main.ts │ │ │ └── not-used-type.ts │ │ └── tsconfig.json │ ├── tsconfig.json │ ├── vue-jsx │ │ ├── Comp.tsx │ │ ├── Comps.jsx │ │ ├── OtherExt.tesx │ │ ├── Script.vue │ │ ├── SrcImport.jsx │ │ ├── SrcImport.vue │ │ ├── __tests__ │ │ │ └── vue-jsx.spec.ts │ │ ├── index.html │ │ ├── main.jsx │ │ ├── package.json │ │ └── vite.config.js │ ├── vue │ │ ├── Assets.vue │ │ ├── AsyncComponent.vue │ │ ├── CssModules.vue │ │ ├── CustomBlock.vue │ │ ├── CustomBlockPlugin.ts │ │ ├── CustomElement.ce.vue │ │ ├── Hmr.vue │ │ ├── Main.vue │ │ ├── Node.vue │ │ ├── PreProcessors.vue │ │ ├── RefTransform.vue │ │ ├── ScanDep.vue │ │ ├── Slotted.vue │ │ ├── Syntax.vue │ │ ├── __tests__ │ │ │ └── vue.spec.ts │ │ ├── assets │ │ │ ├── asset.png │ │ │ └── fragment.svg │ │ ├── index.html │ │ ├── package.json │ │ ├── public │ │ │ └── icon.png │ │ ├── setup-import-template │ │ │ ├── SetupImportTemplate.vue │ │ │ └── template.html │ │ ├── src-import │ │ │ ├── SrcImport.vue │ │ │ ├── script.ts │ │ │ ├── style.css │ │ │ └── template.html │ │ └── vite.config.ts │ ├── wasm │ │ ├── __tests__ │ │ │ └── wasm.spec.ts │ │ ├── heavy.wasm │ │ ├── heavy.wasm.map │ │ ├── index.html │ │ ├── light.wasm │ │ └── package.json │ └── worker │ │ ├── __tests__ │ │ └── worker.spec.ts │ │ ├── index.html │ │ ├── my-shared-worker.ts │ │ ├── my-worker.ts │ │ ├── package.json │ │ ├── possible-ts-output-worker.mjs │ │ └── workerImport.js ├── plugin-legacy │ ├── CHANGELOG.md │ ├── README.md │ ├── index.d.ts │ ├── index.js │ └── package.json ├── plugin-react │ ├── CHANGELOG.md │ ├── LICENSE │ ├── README.md │ ├── api-extractor.json │ ├── package.json │ ├── src │ │ ├── babel.d.ts │ │ ├── fast-refresh.ts │ │ ├── index.ts │ │ └── jsx-runtime │ │ │ ├── babel-import-to-require.ts │ │ │ ├── babel-restore-jsx.spec.ts │ │ │ ├── babel-restore-jsx.ts │ │ │ └── restore-jsx.ts │ └── tsconfig.json ├── plugin-vue-jsx │ ├── CHANGELOG.md │ ├── LICENSE │ ├── README.md │ ├── index.d.ts │ ├── index.js │ └── package.json ├── plugin-vue │ ├── CHANGELOG.md │ ├── LICENSE │ ├── README.md │ ├── api-extractor.json │ ├── package.json │ ├── src │ │ ├── compiler.ts │ │ ├── handleHotUpdate.ts │ │ ├── helper.ts │ │ ├── index.ts │ │ ├── main.ts │ │ ├── script.ts │ │ ├── style.ts │ │ ├── template.ts │ │ └── utils │ │ │ ├── descriptorCache.ts │ │ │ ├── error.ts │ │ │ └── query.ts │ └── tsconfig.json └── vite │ ├── CHANGELOG.md │ ├── LICENSE.md │ ├── README.md │ ├── api-extractor.json │ ├── bin │ ├── openChrome.applescript │ └── vite.js │ ├── client.d.ts │ ├── package.json │ ├── rollup.config.js │ ├── scripts │ └── patchTypes.cjs │ ├── src │ ├── browser │ │ ├── config.ts │ │ ├── index.ts │ │ ├── plugins │ │ │ ├── index.ts │ │ │ ├── preAlias.ts │ │ │ └── resolve.ts │ │ ├── server │ │ │ ├── hmr.ts │ │ │ └── index.ts │ │ ├── ssr │ │ │ └── ssrModuleLoader.ts │ │ └── tsconfig.json │ ├── client │ │ ├── browser.ts │ │ ├── client.ts │ │ ├── env.ts │ │ ├── overlay.ts │ │ └── tsconfig.json │ └── node │ │ ├── __tests__ │ │ ├── asset.spec.ts │ │ ├── build.spec.ts │ │ ├── config.spec.ts │ │ ├── packages │ │ │ ├── name │ │ │ │ └── package.json │ │ │ └── noname │ │ │ │ └── package.json │ │ ├── plugins │ │ │ ├── css.spec.ts │ │ │ └── import.spec.ts │ │ ├── scan.spec.ts │ │ └── utils.spec.ts │ │ ├── build.ts │ │ ├── cli.ts │ │ ├── config.ts │ │ ├── constants.ts │ │ ├── http.ts │ │ ├── importGlob.ts │ │ ├── index.ts │ │ ├── logger.ts │ │ ├── optimizer │ │ ├── esbuildDepPlugin.ts │ │ ├── index.ts │ │ ├── registerMissing.ts │ │ └── scan.ts │ │ ├── packages.ts │ │ ├── plugin.ts │ │ ├── plugins │ │ ├── asset.ts │ │ ├── assetImportMetaUrl.ts │ │ ├── clientInjections.ts │ │ ├── css.ts │ │ ├── dataUri.ts │ │ ├── define.ts │ │ ├── esbuild.ts │ │ ├── html.ts │ │ ├── importAnalysis.ts │ │ ├── importAnalysisBuild.ts │ │ ├── index.ts │ │ ├── json.ts │ │ ├── loadFallback.ts │ │ ├── manifest.ts │ │ ├── modulePreloadPolyfill.ts │ │ ├── preAlias.ts │ │ ├── reporter.ts │ │ ├── resolve.ts │ │ ├── ssrRequireHook.ts │ │ ├── terser.ts │ │ ├── wasm.ts │ │ └── worker.ts │ │ ├── preview.ts │ │ ├── server │ │ ├── __tests__ │ │ │ ├── fixtures │ │ │ │ ├── none │ │ │ │ │ └── nested │ │ │ │ │ │ └── package.json │ │ │ │ ├── pnpm │ │ │ │ │ ├── nested │ │ │ │ │ │ └── package.json │ │ │ │ │ ├── package.json │ │ │ │ │ └── pnpm-workspace.yaml │ │ │ │ └── yarn │ │ │ │ │ ├── nested │ │ │ │ │ └── package.json │ │ │ │ │ └── package.json │ │ │ ├── pluginContainer.spec.ts │ │ │ └── search-root.spec.ts │ │ ├── hmr.ts │ │ ├── index.ts │ │ ├── middlewares │ │ │ ├── base.ts │ │ │ ├── error.ts │ │ │ ├── indexHtml.ts │ │ │ ├── proxy.ts │ │ │ ├── spaFallback.ts │ │ │ ├── static.ts │ │ │ ├── time.ts │ │ │ └── transform.ts │ │ ├── moduleGraph.ts │ │ ├── openBrowser.ts │ │ ├── pluginContainer.ts │ │ ├── searchRoot.ts │ │ ├── send.ts │ │ ├── sourcemap.ts │ │ ├── transformRequest.ts │ │ └── ws.ts │ │ ├── ssr │ │ ├── __tests__ │ │ │ └── ssrTransform.spec.ts │ │ ├── ssrExternal.ts │ │ ├── ssrManifestPlugin.ts │ │ ├── ssrModuleLoader.ts │ │ ├── ssrStacktrace.ts │ │ └── ssrTransform.ts │ │ ├── tsconfig.json │ │ └── utils.ts │ ├── tsconfig.base.json │ └── types │ ├── alias.d.ts │ ├── anymatch.d.ts │ ├── chokidar.d.ts │ ├── commonjs.d.ts │ ├── connect.d.ts │ ├── customEvent.d.ts │ ├── dynamicImportVars.d.ts │ ├── hmrPayload.d.ts │ ├── http-proxy.d.ts │ ├── importMeta.d.ts │ ├── package.json │ ├── shims.d.ts │ ├── terser.d.ts │ └── ws.d.ts ├── pnpm-lock.yaml ├── pnpm-workspace.yaml └── scripts ├── jestEnv.cjs ├── jestGlobalSetup.cjs ├── jestGlobalTeardown.cjs ├── jestPerTestSetup.ts ├── patchFileDeps.cjs ├── release.cjs └── verifyCommit.cjs /.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | charset = utf-8 5 | indent_style = space 6 | indent_size = 2 7 | end_of_line = lf 8 | insert_final_newline = true 9 | trim_trailing_whitespace = true 10 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | * text=auto eol=lf 2 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/config.yml: -------------------------------------------------------------------------------- 1 | blank_issues_enabled: false 2 | contact_links: 3 | - name: Discord Chat 4 | url: https://chat.vitejs.dev 5 | about: Ask questions and discuss with other Vite users in real time. 6 | - name: Questions & Discussions 7 | url: https://github.com/vitejs/vite/discussions 8 | about: Use GitHub discussions for message-board style questions and discussions. 9 | -------------------------------------------------------------------------------- /.github/issue-workflow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/divriots/browser-vite/5721afb654901fd14b629f0b4d7eafe4587ea189/.github/issue-workflow.png -------------------------------------------------------------------------------- /.github/pr-workflow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/divriots/browser-vite/5721afb654901fd14b629f0b4d7eafe4587ea189/.github/pr-workflow.png -------------------------------------------------------------------------------- /.github/semantic.yml: -------------------------------------------------------------------------------- 1 | titleOnly: true 2 | types: 3 | - feat 4 | - fix 5 | - docs 6 | - dx 7 | - refactor 8 | - perf 9 | - test 10 | - workflow 11 | - build 12 | - ci 13 | - chore 14 | - types 15 | - wip 16 | - release 17 | - deps 18 | -------------------------------------------------------------------------------- /.github/workflows/issue-close-require.yml: -------------------------------------------------------------------------------- 1 | name: Issue Close Require 2 | 3 | on: 4 | schedule: 5 | - cron: "0 0 * * *" 6 | 7 | jobs: 8 | close-issues: 9 | runs-on: ubuntu-latest 10 | steps: 11 | - name: need reproduction 12 | uses: actions-cool/issues-helper@v2 13 | with: 14 | actions: "close-issues" 15 | token: ${{ secrets.GITHUB_TOKEN }} 16 | labels: "need reproduction" 17 | inactive-day: 3 18 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | node_modules 3 | dist 4 | dist-ssr 5 | TODOs.md 6 | *.log 7 | temp 8 | explorations 9 | .idea 10 | *.local 11 | /packages/vite/LICENSE 12 | *.cpuprofile 13 | /.vscode/ 14 | /packages/playground/ssr-deps/node-addon/build/ 15 | -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | docs/.vitepress/dist/ 2 | packages/vite/dist/ 3 | packages/vite/temp/ 4 | packages/plugin-react/dist/ 5 | packages/plugin-vue/dist/ 6 | packages/*/CHANGELOG.md 7 | LICENSE.md 8 | .prettierignore 9 | pnpm-lock.yaml 10 | pnpm-workspace.yaml 11 | packages/playground/tsconfig-json-load-error/has-error/tsconfig.json 12 | -------------------------------------------------------------------------------- /.prettierrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "semi": false, 3 | "tabWidth": 2, 4 | "singleQuote": true, 5 | "printWidth": 80, 6 | "trailingComma": "none", 7 | "overrides": [ 8 | { 9 | "files": ["*.json5"], 10 | "options": { 11 | "singleQuote": false, 12 | "quoteProps": "preserve" 13 | } 14 | }, 15 | { 16 | "files": ["*.yml"], 17 | "options": { 18 | "singleQuote": false 19 | } 20 | } 21 | ] 22 | } 23 | -------------------------------------------------------------------------------- /docs/images/bundler.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/divriots/browser-vite/5721afb654901fd14b629f0b4d7eafe4587ea189/docs/images/bundler.png -------------------------------------------------------------------------------- /docs/images/esm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/divriots/browser-vite/5721afb654901fd14b629f0b4d7eafe4587ea189/docs/images/esm.png -------------------------------------------------------------------------------- /docs/images/graph.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/divriots/browser-vite/5721afb654901fd14b629f0b4d7eafe4587ea189/docs/images/graph.png -------------------------------------------------------------------------------- /docs/images/vercel-configuration.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/divriots/browser-vite/5721afb654901fd14b629f0b4d7eafe4587ea189/docs/images/vercel-configuration.png -------------------------------------------------------------------------------- /docs/images/vite-plugin-inspect.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/divriots/browser-vite/5721afb654901fd14b629f0b4d7eafe4587ea189/docs/images/vite-plugin-inspect.png -------------------------------------------------------------------------------- /docs/public/_headers: -------------------------------------------------------------------------------- 1 | /assets/* 2 | cache-control: max-age=31536000 3 | cache-control: immutable 4 | 5 | /*.svg 6 | cache-control: max-age=604800 7 | cache-control: immutable 8 | 9 | /*.png 10 | cache-control: max-age=604800 11 | cache-control: immutable 12 | -------------------------------------------------------------------------------- /docs/public/divriots.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/divriots/browser-vite/5721afb654901fd14b629f0b4d7eafe4587ea189/docs/public/divriots.png -------------------------------------------------------------------------------- /docs/public/finclip.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/divriots/browser-vite/5721afb654901fd14b629f0b4d7eafe4587ea189/docs/public/finclip.png -------------------------------------------------------------------------------- /docs/public/vite.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/divriots/browser-vite/5721afb654901fd14b629f0b4d7eafe4587ea189/docs/public/vite.mp3 -------------------------------------------------------------------------------- /docs/public/voice.svg: -------------------------------------------------------------------------------- 1 | 7 | -------------------------------------------------------------------------------- /docs/public/vuejobs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/divriots/browser-vite/5721afb654901fd14b629f0b4d7eafe4587ea189/docs/public/vuejobs.png -------------------------------------------------------------------------------- /netlify.toml: -------------------------------------------------------------------------------- 1 | [build.environment] 2 | NODE_VERSION = "16" 3 | NPM_FLAGS = "--version" # prevent Netlify npm install 4 | [build] 5 | publish = "docs/.vitepress/dist" 6 | command = "npx pnpm i --store=node_modules/.pnpm-store && npm run ci-docs" -------------------------------------------------------------------------------- /packages/create-app/README.md: -------------------------------------------------------------------------------- 1 | # @vitejs/create-app 2 | 3 | ## DEPRECATED 4 | 5 | Use `npm init vite` instead 6 | -------------------------------------------------------------------------------- /packages/create-vite/template-lit-ts/_gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | .DS_Store 3 | dist 4 | types 5 | *.local 6 | -------------------------------------------------------------------------------- /packages/create-vite/template-lit-ts/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 | 5 | 6 | 7 |This is child content
13 |This is child content
13 |Hello Vite + Preact!
8 |9 | 15 | Learn Preact 16 | 17 |
18 | > 19 | ) 20 | } 21 | -------------------------------------------------------------------------------- /packages/create-vite/template-preact-ts/src/index.css: -------------------------------------------------------------------------------- 1 | html, 2 | body { 3 | height: 100%; 4 | width: 100%; 5 | padding: 0; 6 | margin: 0; 7 | background: #fafafa; 8 | font-family: 'Helvetica Neue', arial, sans-serif; 9 | font-weight: 400; 10 | color: #444; 11 | -webkit-font-smoothing: antialiased; 12 | -moz-osx-font-smoothing: grayscale; 13 | } 14 | 15 | * { 16 | box-sizing: border-box; 17 | } 18 | 19 | #app { 20 | height: 100%; 21 | text-align: center; 22 | background-color: #673ab8; 23 | color: #fff; 24 | font-size: 1.5em; 25 | padding-top: 100px; 26 | } 27 | 28 | .link { 29 | color: #fff; 30 | } 31 | -------------------------------------------------------------------------------- /packages/create-vite/template-preact-ts/src/main.tsx: -------------------------------------------------------------------------------- 1 | import { render } from 'preact' 2 | import { App } from './app' 3 | import './index.css' 4 | 5 | render(Hello Vite + Preact!
8 |9 | 15 | Learn Preact 16 | 17 |
18 | > 19 | ) 20 | } 21 | -------------------------------------------------------------------------------- /packages/create-vite/template-preact/src/main.jsx: -------------------------------------------------------------------------------- 1 | import { render } from 'preact' 2 | import { App } from './app' 3 | import './index.css' 4 | 5 | render(