A sane, opinionated template for esm nextjs projects written in typescript.
Uses:
- biome for linting and formatting
- vitest for tests
- commitlint for linting commit messages
- husky for git hooks
- biome is a linter/formatter running on git hooks (pre-commit, pre-push)
- vitest as a test runner
Aside from that, does what the cli does.
Runs the project in watch mode, and will automatically restart on changes.
Builds the project to ./build
.
Runs the project in production mode using vite's preview server.
Runs tests with vitest.
Runs biome in fix mode (only safe fixes) to lint and format the project. Not only ./src
and ./test
, but also all "loose" config files around root (js, ts, json, jsonc) or other directories.
Runs type checking using tsc and the tsconfig.json
file, which is not the one used to build the project.
Yup.
You might want to install the recommended extensions in vscode. Search for @recommended in the extensions tab, they'll show up as "workspace recommendations".
If you have been using eslint and prettier and their extensions, you might want to disable eslint entirely and keep prettier as the formatter only for certain types of files.
I suggesting using the settings in .vscode/settings-example.json
, that should be pasted into your own .vscode/settings.json
. I'm not commiting the .vscode/settings.json
proper because it shouldn't be in VCS as it contains your personal settings.