Project files
In app code ~/ names the source folder: import { greet } from "~/lib/greet" reads src/lib/greet.ts.
| File | Role |
|---|---|
vite.config.ts |
dusk() is the only plugin you add |
src/routes/** |
Pages, layouts and API routes; see routing |
src/app.tsx |
Root component, optional. Wraps every page, on the server and in the browser |
src/entry-server.ts |
Options of createHandler (everything but manifest), optional. export default or export const options |
src/entry-client.ts |
Replaces the generated client entry, optional. Call hydrateDusk yourself to pass router options |
src/routeTree.gen.ts |
Generated by dusk dev, dusk build and when route files change |
public/ |
Static files, served at / (Vite's own rule) |
dist/client, dist/server/entry.js, dist/dusk-manifest.json |
Build output |
In app code ~/ names the source folder: import { greet } from "~/lib/greet" reads src/lib/greet.ts. The plugin sets the
Vite alias and create-shadow-app sets the same path in tsconfig.json, so the type checker and the bundler agree. The alias
is ^~/ only: ~ without a slash, and packages whose names start with ~, are not touched.