{
  // Use IntelliSense to learn about possible attributes.
  // Hover to view descriptions of existing attributes.
  // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
  "version": "0.2.0",
  "configurations": [
    {
      "type": "node",
      "request": "launch",
      "name": "sdk: integration test",
      "program": "${workspaceFolder}/node_modules/jest/bin/jest",
      "args": [
        "--runInBand",
        "--no-cache",
        "--collectCoverage=false",
        "--config=jest.integration.js",
        "--testTimeout=120000",
        "${relativeFile}"
      ],
      "console": "integratedTerminal",
      "internalConsoleOptions": "neverOpen"
    },
    {
      "type": "node",
      "request": "launch",
      "name": "sdk: unit test (browser, jsdom)",
      "program": "${workspaceFolder}/node_modules/jest/bin/jest",
      "args": [
        "--runInBand",
        "--no-cache",
        "--collectCoverage=false",
        "--testTimeout=120000",
        "--config=jest.browser.js",
        "${relativeFile}"
      ],
      "console": "integratedTerminal",
      "internalConsoleOptions": "neverOpen"
    },
    {
      "type": "node",
      "request": "launch",
      "name": "sdk: unit test (server, node)",
      "program": "${workspaceFolder}/node_modules/jest/bin/jest",
      "args": [
        "--runInBand",
        "--no-cache",
        "--collectCoverage=false",
        "--testTimeout=120000",
        "--config=jest.server.js",
        "${relativeFile}"
      ],
      "console": "integratedTerminal",
      "internalConsoleOptions": "neverOpen"
    },

    {
      "name": "sdk: e2e spec",
      "type": "node",
      "request": "launch",
      "args": [
        "wdio.conf.js", "--spec", "${file}"
      ],
      "cwd": "${workspaceFolder}/test/e2e",
      "autoAttachChildProcesses": true,
      "program": "${workspaceRoot}/test/e2e/node_modules/@wdio/cli/bin/wdio.js",
      "console": "integratedTerminal",
      "env": {
        "DEBUG": "1"
      }
    },

    {
      "name": "sample: static SPA",
      "type": "node",
      "request": "launch",
      "autoAttachChildProcesses": true,
      "console": "integratedTerminal",
      "cwd": "${workspaceRoot}/samples/generated/static-spa",
      "program": "server.js"
    },

    {
      "name": "sample: webpack SPA",
      "type": "node",
      "request": "launch",
      "autoAttachChildProcesses": true,
      "console": "integratedTerminal",
      "cwd": "${workspaceRoot}/samples/generated/webpack-spa",
      "program": "server.js"
    },

    {
      "name": "sample: express web (with oidc)",
      "type": "node",
      "request": "launch",
      "autoAttachChildProcesses": true,
      "console": "integratedTerminal",
      "cwd": "${workspaceRoot}/samples/generated/express-web-with-oidc",
      "program": "server.js"
    },

    {
      "name": "sample: express-embedded-auth-with-sdk (web server)",
      "type": "node",
      "request": "launch",
      "autoAttachChildProcesses": true,
      "console": "integratedTerminal",
      "cwd": "${workspaceRoot}/samples/generated/express-embedded-auth-with-sdk",
      "program": "web-server/server.js"
    },

    {
      "name": "sample: express-embedded-auth-with-sdk (resource server)",
      "type": "node",
      "request": "launch",
      "autoAttachChildProcesses": true,
      "console": "integratedTerminal",
      "cwd": "${workspaceRoot}/samples/generated/express-embedded-auth-with-sdk",
      "program": "resource-server/server.js"
    },

    {
      "name": "sample: express embedded widget",
      "type": "node",
      "request": "launch",
      "autoAttachChildProcesses": true,
      "console": "integratedTerminal",
      "cwd": "${workspaceRoot}/samples/generated/express-embedded-sign-in-widget",
      "program": "web-server/server.js"
    },

    {
      "name": "sample: test spec",
      "type": "node",
      "request": "launch",
      "args": ["wdio.conf.ts", "--spec", "${file}"],
      "cwd": "${workspaceFolder}/samples/test",
      "autoAttachChildProcesses": true,
      "program": "${workspaceRoot}/samples/test/node_modules/@wdio/cli/bin/wdio.js",
      "console": "integratedTerminal",
      "env": {
        "DEBUG": "1",
        "SAMPLE_NAME": "static-spa",
        "ORG_OIE_ENABLED": null
      }
    },

    {
      "name": "sample: test feature",
      "type": "node",
      "request": "launch",
      "args": ["cucumber.wdio.conf.ts", "--spec", "${file}"],
      "cwd": "${workspaceFolder}/samples/test",
      "autoAttachChildProcesses": true,
      "program": "${workspaceRoot}/samples/test/node_modules/@wdio/cli/bin/wdio.js",
      "console": "integratedTerminal",
      "env": {
        "DEBUG": "1"
      }
    },

    {
      "type": "node",
      "protocol": "inspector",
      "request": "launch",
      "name": "Debug Webpack",
      "program": "${workspaceRoot}/node_modules/.bin/webpack",
      "runtimeExecutable": "${env:HOME}/.nvm/versions/node/v12.13.0/bin/node",
      "args": [
          "--config",
          "${workspaceRoot}/webpack.dev.config.js"
      ],
      "autoAttachChildProcesses": true,
      "console": "integratedTerminal",
      "cwd": "${workspaceRoot}",
      "env": {
        "NODE_ENV": "development"
      }
    },

    {
      "type": "node",
      "request": "launch",
      "name": "Debug TSD",
      "program": "${workspaceFolder}/node_modules/jest/bin/jest",
      "args": [
        "--runInBand",
        "--no-cache",
        "--collectCoverage=false",
        "--config=jest.tsd.js",
        "--testTimeout=120000"
      ],
      "console": "integratedTerminal",
      "internalConsoleOptions": "neverOpen"
    },
  ]
}
