slogan3

Ontwerp een GitHub Actions Workflow voor Geautomatiseerde Codekwaliteitsbewaking

description

Met deze prompt kunnen gebruikers geautomatiseerde workflows creëren die consistente codekwaliteit waarborgen door populaire code-analysetools te integreren in GitHub Actions. Dit vermindert handmatige code reviews, dwingt coderingsstandaarden automatisch af en verbetert de gezondheid van de codebasis, wat de ontwikkeling efficiënter en betrouwbaarder maakt dan handmatige controles of eenvoudige workflows.

prompt

Help me een GitHub Actions workflow te maken die codekwaliteit afdwingt door tools zoals ESLint, Prettier of aangepaste scripts te integreren. Projecttype: <voer je projecttype in, bijvoorbeeld JavaScript, Python>. Te integreren codekwaliteits-too ...

try_prompt

generate_helper
disclaimerOnPageApi

ai_answers

provider: openai
model: gpt-4.1-nano
Hier is een voorbeeld van een GitHub Actions workflow die codekwaliteit afdwingt voor een JavaScript-project met ESLint en Prettier, volgens de Airbnb style guide: ```yaml name: Codekwaliteitscontrole on: push: branches: - main pull_request: branches: - main jobs: lint: name: Lint en formateer controle runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v3 - name: Set up Node.js uses: actions/setup-node@v3 with: node-version: '16' # Pas aan naar je gewenste Node-versie - name: Installeer dependencies run: npm install - name: Installeer ESLint en Prettier run: | npm install --save-dev eslint prettier eslint-config-airbnb-base eslint-plugin-import - name: Controleer code met ESLint run: | npx eslint src/**/*.js --max-warnings=0 - name: Controleer codeformaat met Prettier run: | npx prettier --check "src/**/*.js" - name: Optioneel: automatisch formatteren (alleen bij geslaagde checks) # Kan worden toegevoegd of omgezet naar automatisch formatteren ``` **Aanpassingen en tips:** - Zorg dat je een `.eslintrc.json` hebt met de Airbnb-configuratie, bijvoorbeeld: ```json { "extends": ["airbnb-base"], "rules": { // voeg hier je aangepaste regels toe } } ``` - Voeg Prettier configuratie toe via `.prettierrc` indien gewenst. - Pas de paden (`src/**/*.js`) aan naar jouw projectstructuur. - Je kunt ook linten en formatteren automatiseren door scripts toe te voegen in `package.json`. Met deze workflow wordt bij elke push of pull request gecontroleerd of de code voldoet aan de afgesproken codekwaliteit standaarden.
provider: deepseek
model: deepseek-chat
Zeker, hier is een complete GitHub Actions workflow-configuratie die ESLint en Prettier integreert met de Airbnb style guide: ```yaml name: Code Quality Check on: push: branches: [ main, develop ] pull_request: branches: [ main, develop ] jobs: code-quality: name: ESLint & Prettier Check runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v4 - name: Setup Node.js uses: actions/setup-node@v4 with: node-version: '20' cache: 'npm' - name: Install dependencies run: npm ci - name: Run ESLint run: npx eslint . --ext .js,.jsx,.ts,.tsx --max-warnings=0 - name: Check Prettier formatting run: npx prettier --check . ``` ## Vereiste package.json configuratie: Eerst moet je deze dev dependencies installeren: ```bash npm install --save-dev eslint prettier eslint-config-airbnb eslint-plugin-import eslint-plugin-jsx-a11y eslint-plugin-react eslint-plugin-react-hooks @typescript-eslint/eslint-plugin @typescript-eslint/parser ``` ## .eslintrc.json configuratie: ```json { "extends": ["airbnb", "prettier"], "plugins": ["prettier"], "rules": { "prettier/prettier": "error" } } ``` ## .prettierrc configuratie: ```json { "semi": true, "singleQuote": true, "tabWidth": 2, "trailingComma": "es5" } ``` ## Aanvullende opties: Voor TypeScript ondersteuning, voeg deze stappen toe aan de workflow: ```yaml - name: Run TypeScript compiler check run: npx tsc --noEmit ``` Voor automatische fixes bij pull requests kun je deze job toevoegen: ```yaml auto-fix: name: Auto Fix Formatting runs-on: ubuntu-latest if: github.event_name == 'pull_request' steps: - name: Checkout code uses: actions/checkout@v4 - name: Setup Node.js uses: actions/setup-node@v4 with: node-version: '20' - name: Install dependencies run: npm ci - name: Apply Prettier fixes run: npx prettier --write . - name: Commit fixes uses: stefanzweifel/git-auto-commit-action@v4 with: commit_message: 'style: auto-format with Prettier' ``` Deze workflow zal automatisch draaien bij pushes naar main/develop branches en pull requests, en zorgt ervoor dat alle code voldoet aan de Airbnb style guide.