name: Linter

on:
  pull_request:

jobs:
  text-linter:
    name: TEXT linter
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      # Make sure that we only install the dependencies for textlint to speed up install
      - run: |
          mkdir -p tmp
          jq '.devDependencies |= with_entries( select(.key | startswith("textlint")))
              | del(.dependencies, .optionalDependencies)' \
              package.json > tmp/package-min.json
          cp tmp/package-min.json package.json
      - run: npm install --ignore-scripts --omit=optional
      - run: .github/workflows/scripts/textlint.sh

  markdown-linter:
    name: MARKDOWN linter
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      - name: Create and use reduced-dependencies package.json
        run: |
          mkdir -p tmp
          jq '.devDependencies |= with_entries(
                  select(.key | test("gulp|markdown|through|require|yargs"))
                )
                | del(.dependencies, .optionalDependencies)' \
            package.json > tmp/package-min.json
          cp tmp/package-min.json package.json
      - run: npm install --ignore-scripts --omit=optional
      - run: npm run check:markdown
