Heim > Web-Frontend > js-Tutorial > Verbessern Sie Ihren Entwicklungsworkflow mit Husky, Commitlint, Prettier und Lint-Staged

Verbessern Sie Ihren Entwicklungsworkflow mit Husky, Commitlint, Prettier und Lint-Staged

Susan Sarandon
Freigeben: 2024-11-01 06:03:31
Original
1053 Leute haben es durchsucht

Enhancing Your Development Workflow with Husky, Commitlint, Prettier, and Lint-Staged

Das Einrichten eines automatisierten Workflows kann die Codequalität und -konsistenz in Ihren Projekten erheblich verbessern. In diesem Leitfaden gehen wir Schritt für Schritt durch die Einrichtung von Husky, Commitlint, Prettier und Lint-Staged, um sicherzustellen, dass Ihre Codebasis konsistent formatiert ist, Commit-Nachrichtenkonventionen befolgt und nach jeder Zusammenführung über aktuelle Abhängigkeiten verfügt.

Husky einrichten

Husky hilft Ihnen bei der mühelosen Verwaltung von Git-Hooks und ermöglicht die Ausführung automatisierter Aufgaben wie Code-Qualitätsprüfungen vor jedem Commit.

Installation

Installieren Sie Husky als Entwicklungsabhängigkeit mit npm (wir werden npm in diesem Artikel verwenden):

npm install --save-dev husky
Nach dem Login kopieren

Initialisierung

Um ein .husky-Verzeichnis zu erstellen, in dem Git-Hooks gespeichert werden, führen Sie Folgendes aus:

npx husky init
Nach dem Login kopieren

Fügen Sie als Nächstes das folgende Skript in Ihre package.json ein, um Husky bei der Installation von Abhängigkeiten einzurichten:

"scripts": {
  "prepare": "husky install"
}
Nach dem Login kopieren

Commitlint konfigurieren

Commitlint stellt sicher, dass alle Commit-Nachrichten einem konsistenten Format folgen und einen sauberen Commit-Verlauf aufrechterhalten.

Installation

Installieren Sie Commitlint zusammen mit einer herkömmlichen Konfiguration:

npm install --save-dev @commitlint/config-conventional @commitlint/cli
Nach dem Login kopieren

Aufstellen

  1. Erstellen Sie einen Commit-Msg-Hook in .husky: Erstellen Sie nun eine neue Datei im .husky-Verzeichnis mit dem Namen commit-msg und fügen Sie diese Zeile hinzu:
npx husky add .husky/commit-msg "npx --no-install commitlint --edit \"\""
Nach dem Login kopieren
  1. Fügen Sie im Stammverzeichnis Ihres Projekts eine commitlint.config.js-Datei mit folgendem Inhalt hinzu:
module.exports = {
  extends: ['@commitlint/config-conventional'],
  rules: {
    //   TODO Add Scope Enum Here
    // 'scope-enum': [2, 'always', ['yourscope', 'yourscope']],
    'type-enum': [
      2,
      'always',
      [
        'feat',
        'fix',
        'docs',
        'chore',
        'style',
        'refactor',
        'ci',
        'test',
        'revert',
        'perf',
        'vercel',
      ],
    ],
  },
};
Nach dem Login kopieren

Hinzufügen von Lint-Staged und Prettier

Mit Lint-Staged können Sie Skripte für bereitgestellte Dateien ausführen, und Prettier erzwingt einen konsistenten Stil in Ihrer Codebasis.

Installation

Installieren Sie beide als Entwicklungsabhängigkeiten:

npm install --save-dev lint-staged prettier
Nach dem Login kopieren

Hübschere Konfiguration

Erstellen Sie eine .prettierrc.json-Datei in Ihrem Projektstammverzeichnis mit Ihrer bevorzugten Konfiguration. Hier ist ein Beispiel:

{
  "plugins": ["prettier-plugin-tailwindcss"],
  "printWidth": 120,
  "useTabs": false,
  "tabWidth": 2,
  "trailingComma": "es5", 
  "semi": true, 
  "singleQuote": true,
  "bracketSpacing": true, 
  "arrowParens": "always",
  "jsxSingleQuote": false, 
  "bracketSameLine": false,
  "endOfLine": "lf"
}
Nach dem Login kopieren

Lint-gestufte Konfiguration

Fügen Sie die folgende Konfiguration zu Ihrer package.json unter lint-staged hinzu:

"lint-staged": {
    "**/*.{js,jsx,ts,tsx}": [
      "eslint --max-warnings=0",
      "prettier --write"
    ],
    "**/*.{html,json,css,scss,md,mdx}": [
      "prettier -w"
    ]
  }
Nach dem Login kopieren

Fügen Sie einen Pre-Commit-Hook hinzu, um Lint-Staged auszuführen:

npx husky add .husky/pre-commit "npx lint-staged"
Nach dem Login kopieren

Hinzufügen eines Post-Merge-Hooks für Abhängigkeiten

Ein Post-Merge-Hook stellt sicher, dass Ihre Abhängigkeiten nach jeder Zusammenführung aktualisiert werden, indem Sie npm install oder einen beliebigen Paketmanager ausführen.

Erstellen Sie einen Post-Merge-Hook:

npx husky add .husky/post-merge "npm install"
Nach dem Login kopieren

Abschluss

Mit diesem Setup behält Ihr Projekt ein standardisiertes Commit-Nachrichtenformat bei, formatiert den Code automatisch und hält Abhängigkeiten nach der Zusammenführung auf dem neuesten Stand. Dieser robuste Workflow optimiert die Zusammenarbeit und verbessert die Codequalität, sodass Sie sich auf die Entwicklung großartiger Funktionen konzentrieren können.

Das obige ist der detaillierte Inhalt vonVerbessern Sie Ihren Entwicklungsworkflow mit Husky, Commitlint, Prettier und Lint-Staged. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:dev.to
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage