Ce repo contient le paquet npm correspondant à la configuration ESLint de l'agence Alsacréations.
- Règles communes à JavaScript et Vue/Nuxt
- Utilisation des règles ESLint de base (sans plugin)
- Utilisation du plugin
@typescript-eslint
. - Utilisation du parser
@typescript-eslint/parser
.
- Utilisation du plugin
eslint-plugin-vue
- Utilisation du parser
vue-eslint-parser
(ne rentre pas en conflit avec TypeScript)
- Utilisation du plugin
@nuxtjs/eslint-plugin
- Utilisation du plugin
prettier-plugin-astro
# npm, yarn, pnpm
# Si besoin au préalable pnpm init (pour disposer d'un fichier package.json)
npx eslint-config-alsacreations@latest init
JavaScript et TypeScript (sans framework)
# npm, yarn, pnpm
npm i --save-dev eslint-config-alsacreations @rushstack/eslint-patch eslint
# npm, yarn, pnpm
npm i --save-dev typescript
# npm, yarn, pnpm
npm i --save-dev prettier eslint-config-prettier
Vue (sans Nuxt)
# npm, yarn, pnpm
npm i --save-dev eslint-config-alsacreations @rushstack/eslint-patch eslint-plugin-vue eslint
# npm, yarn, pnpm
npm i --save-dev @vue/eslint-config-typescript typescript
# npm, yarn, pnpm
npm i --save-dev prettier @vue/eslint-config-prettier
Nuxt
# npm, yarn, pnpm
npm i --save-dev eslint-config-alsacreations @rushstack/eslint-patch @nuxtjs/eslint-config eslint
# npm, yarn, pnpm
npm i --save-dev @nuxtjs/eslint-config-typescript && npm uninstall @nuxtjs/eslint-config
# npm, yarn, pnpm
npm i --save-dev prettier @vue/eslint-config-prettier
Puis ajouter un fichier de configuration à la racine .eslintrc.js
ou équivalent.
require('@rushstack/eslint-patch/modern-module-resolution')
/* eslint-env node */
module.exports = {
root: true,
extends: [
'eslint:recommended',
'alsacreations/javascript',
// /!\ Ne choisir que l'un ou l'autre
'alsacreations/nuxt', // Nuxt tout seul
'alsacreations/vue', // Vue tout seul
// /!\ Ne choisir que l'un ou l'autre
'alsacreations/solid', // Solid tout seul
'alsacreations/solid-typescript', // Solid + TS
// /!\ Ne choisir que l'un ou l'autre
// /!\ Ne pas choisir 'alsacreations/nuxt' ni 'alsacreations/vue'
'alsacreations/nuxt-typescript', // Nuxt + TS
'alsacreations/vue-typescript', // Vue + TS
// /!\ Ne pas choisir si 'alsacreations/nuxt-typescript' ou 'alsacreations/vue-typescript' sont utilisés
'alsacreations/typescript', // TS tout seul
// /!\ Ne choisir que l'un ou l'autre
'alsacreations/prettier', // Prettier tout seul
'alsacreations/prettier-vue', // Vue + Prettier
],
parserOptions: {
ecmaVersion: 'latest',
},
}
- Forker le projet depuis ce repo.
- Installer pnpm si vous ne l'avez pas déjà.
- Installer les dépendances dans le projet
pnpm install
.
- Créer un sous-dossier
src/le-nom-configuration
. - Reprendre l'exemple des autres configurations.
- Ajouter votre nouvelle configuration dans le fichier
src/index.ts
. - Créer une pull request vers la branche
main
de ce repo.
Utilisation de conventional commits. Depuis ces commits, le changelog de chaque release est automatisé.
- Se connecter à Github via la ligne de commande
gh auth login
. - Lancer la commande
pnpm run release
à la racine du projet.