---
version: '3'

tasks:
  detect-memory-leaks:
    deps:
      - :install:npm:fuite
    summary: |
      # Detect memory leaks

      Detect memory leaks in web applications with [fuite](https://github.com/nolanlawson/fuite).
      By default, fuite will assume that the site is a client-rendered web application, and it will
      search for internal links on the given page. Then for each link, it will:

      1. Click the link
      2. Press the browser back button
      3. Repeat to see if the scenario is leaking

      **Example usage:**
      `task web:profile:detect-memory-leaks -- https://example.com`
    log:
      error: Failed to run `{{.NPX_HANDLE}}fuite {{.CLI_ARGS}}`
      start: Running `{{.NPX_HANDLE}}fuite {{.CLI_ARGS}}`
      success: Successfully ran `{{.NPX_HANDLE}}fuite {{.CLI_ARGS}}`
    cmds:
      - |
        {{.NPX_HANDLE}}fuite {{.CLI_ARGS}}
