---
version: '3'

tasks:
  esprint:
    deps:
      - :install:modules:local
      - :install:npm:esprint
    summary: |
      # Lint with `eslint` across multiple threads

      DEVELOPER NOTE: This feature might not work. I was unable to get this working.

      This task will lint the project using `esprint`. Using `esprint` allows you to run `eslint`
      across multiple threads which improves performance in most cases (especially for larger
      projects). It is capable of linting JSON, YML, JS, TS, and HTML as long as the correct
      `package.json` dependencies are installed.

      **Example usage:**
      `task lint:esprint`
    vars:
      DOCKER_CONTAINER:
        sh: echo $container
    cmds:
      - '{{.NPX_HANDLE}}esprint{{if eq .DOCKER_CONTAINER "docker"}} check{{end}}'

  esprint:debug:
    deps:
      - :install:modules:local
      - :install:npm:esprint
    cmds:
      - '{{.NPX_HANDLE}}esprint --esprintDebug'

  esprint:stop:
    deps:
      - :install:modules:local
      - :install:npm:esprint
    cmds:
      - '{{.NPX_HANDLE}}esprint stop'
