1 - Git

Initaliser un repo vide

git init
git commit --allow-empty -m 'First!'

Reset hard sur branche

git reset --hard origin/main
git clean -fd

2 - Bootstrap

2.1 - Init Next.js

Se placer dans le dossier qui sera la racine du projet.

Initialisation du repo

git init
git commit --allow-empty -m 'First!'

Initialisation du projet

npx create-next-app@latest . \
  --ts \
  --tailwind \
  --eslint \
  --app \
  --src-dir \
  --import-alias 'src/*' \
  --use-npm \
  --yes \
  --disable-git

git add .
git commit -m "build: npx create-next-app"

npm pkg set scripts.start="npm run dev"

git add .
git commit -m "build: start script"

Ajout de sass

npm i -D sass

git add .
git commit -m "build: install sass"

Ajout de prettier

npm i -D prettier eslint-config-prettier
curl -fsSL https://devdocs.nex.ws/files/prettier/.prettierrc -o ./.prettierrc

## Edit eslint.config.mjs to add prettier config
npx prettier -w eslint.config.mjs
perl -0777 -i -pe '
m{eslint-config-prettier/flat} or s/(import\s+nextTs[^\n]*\n)/$1import eslintConfigPrettier from \x27eslint-config-prettier\/flat\x27\n/;
 /eslintConfigPrettier\s*,/ or s/(\n\]\)\s*\n\s*\nexport\s+default)/\n  eslintConfigPrettier,\n$1/;
' eslint.config.mjs
npx prettier -w eslint.config.mjs

git add .
git commit -m "build: install prettier"
Si la commande perl échoue

Se référer à la documentation officielle : GitHub eslint-config-prettier #installation

Run prettier

npx prettier -w .

git add .
git commit -m "build: run prettier"

Ajout de njb

Setup du .npmrc, installation de @njb/corejs.

[ -f .npmrc ] && printf '\n' >> .npmrc
printf '%s\n%s\n' \
  '@njb:registry=https://gitlab.com/api/v4/packages/npm/' \
  '//gitlab.com/api/v4/packages/npm/:_authToken=${NJB_NPM_TOKEN}' >> .npmrc
npm i @njb/corejs

git add .
git commit -m "build: install @njb/corejs"
Spoiler: fichier .npmrc
@njb:registry=https://gitlab.com/api/v4/packages/npm/
//gitlab.com/api/v4/packages/npm/:_authToken=${NJB_NPM_TOKEN}

2.2 - Init NestJS

3 - Libraries

3.1 - Eslint (linter)

Installation dans un projet

Installer et configurer prettier :

npm i -D prettier
curl -fsSL https://devdocs.nex.ws/files/prettier/.prettierrc -o ./.prettierrc

Configuration recommandée

{
  "arrowParens": "avoid",
  "bracketSameLine": true,
  "printWidth": 120,
  "semi": false,
  "singleQuote": true,
  "tabWidth": 2,
  "trailingComma": "all"
}

3.2 - Prettier (formatter)

Installation dans un projet

Installer et configurer prettier :

npm i -D prettier
curl -fsSL https://devdocs.nex.ws/files/prettier/.prettierrc -o ./.prettierrc

Configuration recommandée

{
  "arrowParens": "avoid",
  "bracketSameLine": true,
  "printWidth": 120,
  "semi": false,
  "singleQuote": true,
  "tabWidth": 2,
  "trailingComma": "all"
}