- Development
Before you get started, you will need to have the following tools installed on your machine:
This repository includes a list of suggested VS Code extensions. It's a good idea to use VS Code and accept its suggestion to install them, as they'll help with development.
The project uses environmental variables for configuration. Create a .env file in the root directory with the following key-value pairs:
-NEXT_PUBLIC_SITE_URL(required: The URL of the frontend App of the project
-NEXT_PUBLIC_SENTRY_DSN(optional: The URL of the Sentry service used for error logging and reporting.
-SENTRY_AUTH_TOKEN(optional: The authentication token for the Sentry service.
Note: There is already**.env.example** which can be used to setup the env quickly by removing the .example in their filename.
Adding a new environmental variable requires a zod schema update in the
envfolder and a new entry in theschema.jsfile in theserverSchemavariable orclientSchemavariable.
After you have set the environmental variables in the .env file, you can run the project locally by
git clone https://github.com/timelessco/next-ts-app-templatecd next-ts-app-templatepnpm installThis will download and install all the required dependencies for the project.
pnpm devOpen http://localhost:3000 with your browser to see the result.
You can start editing the page by modifying src/pages/index.js.
The page auto-updates as you edit the file.
To build the project to a production environment, you can use the
pnpm buildto build the production-ready version of the project.
This will create a .next directory with the compiled code and static assets.
Run the above built application locally using
pnpm startGuide on how to deploy Next.js to various hosting providers.
Check for all the below errors in one command using Turbo Repo
pnpm lint
AutoFix all the linting errors in one command using Turbo Repo
pnpm fix
Prettier is used to format code. It should be applied automatically when you save files in VS Code or make a Git commit.
Check the formatting errors
pnpm lint:prettier
AutoFix the formatting errors
pnpm fix:prettier
This package includes several forms of linting to enforce consistent code quality and styling. Each should be shown in VS Code, and can be run manually on the command-line.
ESLint: Extends recommended rules for the Next.js project that lints JavaScript/TypeScript source files and other files
Check for the linting errors
pnpm lint:eslint
AutoFix the linting errors
pnpm fix:eslint
TypeScript: Type checks all the files
Check for type errors
pnpm lint:types
knip: Checks all unused dependencies, exports & types
Check the spelling errors
pnpm lint:knip
Stylelint: Checks all css files
Check the css linting errors
pnpm lint:css
AutoFix the css linting errors
pnpm fix:css
Markdownlint: Checks all Markdown files
Check the markdown linting errors
pnpm lint:md
AutoFix the markdown linting errors
pnpm fix:md
cspell: Spell checks across all source files
Check the spelling errors
pnpm lint:spelling
AutoFix the spelling errors
pnpm fix:spelling
pnpm dedupe --check: Lints the pnpm-lock.yml file
Check for unnecessarily duplicated packages
pnpm check:packages