Skip to content
This repository was archived by the owner on Apr 2, 2025. It is now read-only.

Latest commit

 

History

History
274 lines (194 loc) · 5.14 KB

File metadata and controls

274 lines (194 loc) · 5.14 KB

DEPENDENCIES

Table of Contents

Next.js

Automatic Installation

$ npx create-next-app@14.2.20 .

✔ Would you like to use TypeScript? Yes
✔ Would you like to use ESLint? Yes
✔ Would you like to use Tailwind CSS? Yes
✔ Would you like to use `src/` directory? No
✔ Would you like to use App Router? (recommended) Yes
✔ Would you like to customize the default import alias (@/*)? No

$ node -v > .nvmrc

Shadcn

Run the init command to create a new Next.js project or to setup an existing one:

npx shadcn@latest init -d

Use the add command to add components and dependencies to your project.

npx shadcn@latest add -a

This will add/install all shadcn components (overwrite if present).

npx shadcn@latest add -a -y -o

Add tanstack/react-table dependency:

npm install @tanstack/react-table

Add the Toaster component. Edit app/layout.tsx:

import { Toaster } from '@/components/ui/sonner'

export default function RootLayout({
  children,
}: Readonly<{
  children: React.ReactNode;
}>) {
  return (
    <html lang="en">
      <body>
        {children}
        <Toaster richColors closeButton />
      </body>
    </html>
  );
}

Tailwindcss

Install Tailwind CSS

npm install -D tailwindcss@3 postcss autoprefixer

Add Tailwind to your PostCSS configuration. postcss.config.js:

module.exports = {
  plugins: {
    tailwindcss: {},
    autoprefixer: {},
  }
}

Get started with Tailwind CSS

Auth.js

Installing Auth.js

npm install next-auth@beta

Setup Environment

npx auth secret

Installing Prisma Adapter

npm install @prisma/client @auth/prisma-adapter
npm install prisma --save-dev
npm install tsx --save-dev

If you're not using a Prisma Postgres database, you won't need the @prisma/extension-accelerate package.

npm install @prisma/extension-accelerate

Apply schema to database.

npx prisma migrate dev --name init

The easiest way to explore and manipulate your data in all of your Prisma projects.

npx prisma studio

Zustand

Bear necessities for state management in React

npm install zustand

React Query

Powerful asynchronous state management, server-state utilities and data fetching for the web. TS/JS, React Query, Solid Query, Svelte Query and Vue Query.

npm install @tanstack/react-query

Nodemailer

Send e-mails with Node.JS.

npm install nodemailer
npm install --save-dev @types/nodemailer

Browserslist

Share target browsers between different front-end tools, like Autoprefixer, Stylelint and babel-preset-env.

npm install browserslist

Edit package.json:

{
  "browserslist": [
    "defaults and fully supports es6-module",
    "maintained node versions"
  ],
}

bcrypt.js

Optimized bcrypt in plain JavaScript with zero dependencies.

npm install bcryptjs @types/bcryptjs

Jose (JSONWebToken)

JWA, JWS, JWE, JWT, JWK, JWKS for Node.js, Browser, Cloudflare Workers, Deno, Bun, and other Web-interoperable runtimes.

npm install jose

Day.js

Day.js 2kB immutable date-time library alternative to Moment.js with the same modern API.

npm install dayjs

qs

A querystring parser with nesting support

npm install qs @types/qs

cookies-next

Getting, setting and removing cookies on both client and server with next.js

npm install cookies-next@4

React Icons

svg react icons of popular icon packs

npm install react-icons

ESLint

ESLint is a tool for identifying and reporting on patterns found in ECMAScript/JavaScript code.

npm install --save-dev eslint eslint-plugin-react eslint-plugin-react-hooks
npm install --save-dev eslint-plugin-import eslint-import-resolver-typescript
npm install --save-dev @typescript-eslint/parser @typescript-eslint/eslint-plugin
npm install --save-dev @next/eslint-plugin-next

Find and fix problems in your JavaScript code.

npx eslint ./app
npx eslint --fix ./{app,components,config,context,hooks,lib,queries,store,types}

Prettier

Prettier is an opinionated code formatter.

npm install --save-dev prettier eslint-plugin-prettier eslint-config-prettier
npm install --save-dev eslint-plugin-tailwindcss prettier-plugin-tailwindcss
npm install --save-dev prettier-plugin-prisma

To format a file in-place.

npx prettier --check "./app/**/*.{ts,tsx}"
npx prettier --write "./{app,components,config,context,hooks,lib,queries,store,types}/**/*.{ts,tsx}"