{
  "configurations": [
    {
      "name": "(gdb) Launch transcode.js",
      "type": "cppdbg",
      "request": "launch",
      "program": "/usr/bin/node",
      "args": [
        "../example/transcodeAudio.js",
        "data/launch.mp4",
        "out.mp4"
      ],
      "stopAtEntry": false,
      "cwd": "${workspaceFolder}/test",
      "environment": [],
      "externalConsole": false,
      "MIMode": "gdb",
      "setupCommands": [
        {
          "description": "Enable pretty-printing for gdb",
          "text": "-enable-pretty-printing",
          "ignoreFailures": true
        },
        {
          "description": "Set Disassembly Flavor to Intel",
          "text": "-gdb-set disassembly-flavor intel",
          "ignoreFailures": true
        }
      ]
    },
    {
      "name": "(gdb) Launch mocha",
      "type": "cppdbg",
      "request": "launch",
      "program": "/usr/bin/node",
      "args": [
        "node_modules/mocha/lib/cli/cli.js",
        "--timeout",
        "0"
      ],
      "stopAtEntry": false,
      "cwd": "${workspaceFolder}",
      "environment": [
        {
          "name": "DEBUG_ALL",
          "value": "1"
        }
      ],
      "externalConsole": false,
      "MIMode": "gdb",
      "setupCommands": [
        {
          "description": "Enable pretty-printing for gdb",
          "text": "-enable-pretty-printing",
          "ignoreFailures": true
        },
        {
          "description": "Set Disassembly Flavor to Intel",
          "text": "-gdb-set disassembly-flavor intel",
          "ignoreFailures": true
        }
      ]
    },
    {
      "name": "(lldb) Launch mocha",
      "type": "cppdbg",
      "request": "launch",
      "program": "/usr/local/bin/node",
      "args": [
        "node_modules/mocha/lib/cli/cli.js",
        "--timeout",
        "0"
      ],
      "stopAtEntry": false,
      "cwd": "${workspaceFolder}",
      "environment": [
        {
          "name": "DEBUG_ALL",
          "value": "1"
        }
      ],
      "externalConsole": false,
      "MIMode": "lldb"
    },
    {
      "name": "(lldb) Attach",
      "type": "cppdbg",
      "request": "attach",
      "program": "/usr/local/bin/node",
      "MIMode": "lldb"
    },
    {
      "type": "node",
      "request": "launch",
      "name": "(node) Launch mocha",
      "skipFiles": [
        "<node_internals>/**"
      ],
      "args": [
        "-R",
        "tap",
        "--timeout",
        "0",
        "--v8-expose-gc",
        "--require",
        "ts-node/register",
        "--require",
        "tsconfig-paths/register",
        "test/*.test.ts"
      ],
      "env": {
        "DEBUG_ALL": "1"
      },
      "program": "${workspaceFolder}/node_modules/mocha/lib/cli/cli.js"
    },
    {
      "name": "(lldb) TypeScript generator",
      "type": "cppdbg",
      "request": "launch",
      "program": "/usr/local/bin/node",
      "args": [
        "-p",
        "require('./build/node-ffmpeg.node').__typescript"
      ],
      "stopAtEntry": false,
      "cwd": "${workspaceFolder}",
      "environment": [],
      "externalConsole": false,
      "MIMode": "lldb"
    },
  ]
}
