{
    // 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": "Unit test",
            "skipFiles": ["<node_internals>/**"],
            "runtimeArgs": [],
            // "program": "${file}",
            "env": {
                "NODE_ENV": "test"
            },
            "args": [
                "--test",
                "--watch",
                "--no-warnings=ExperimentalWarning",
                "--loader=ts-node/esm",
                "--loader=esmock",
                "${workspaceRoot}/tests/ok.spec.ts"
            ],
            "protocol": "inspector",
            "cwd": "${workspaceRoot}",
            "internalConsoleOptions": "openOnSessionStart"
        },
        {
            "name": "ts-node",
            "type": "node",
            "request": "launch",
            "args": ["${relativeFile}"],
            "runtimeArgs": ["-r", "ts-node/register"],
            "cwd": "${workspaceRoot}",
            "protocol": "inspector",
            "internalConsoleOptions": "openOnSessionStart"
        },
        {
            "type": "node",
            "request": "launch",
            "name": "Mocha Tests",
            "env": {
                "NODE_ENV": "test"
            },
            "program": "${workspaceFolder}/node_modules/.bin/mocha",
            "args": [
                // "--loader",
                // "${workspaceFolder}/node_modules/ts-node/esm",
                "--register",
                "ts-node/register",
                "--extension",
                "ts",
                "--reporter",
                "dot",
                "--slow",
                "5000",
                "--colors",
                "${workspaceFolder}/src/**/*.spec.ts"
            ],
            "internalConsoleOptions": "openOnSessionStart",
            "skipFiles": ["<node_internals>/**"]
        },
        {
            "type": "node",
            "request": "launch",
            "name": "Uvu Tests",
            "env": {
                "NODE_ENV": "test",
                "NODE_OPTIONS": "--loader=esmock --loader=tsm"
            },
            // NODE_OPTIONS="--loader=esmock --loader=tsm" yarn c8 uvu tests
            "program": "${workspaceFolder}/node_modules/.bin/uvu",
            "args": [
                "${workspaceFolder}/tests"
                // "--loader",
                // "esmock",
                // "--loader",
                // "tsm"
                // "--loader",
                // "${workspaceFolder}/node_modules/ts-node/esm",
                // "--register",
                // "ts-node/register",
                // "--extension",
                // "ts",
                // "--reporter",
                // "dot",
                // "--slow",
                // "5000",
                // "--colors",
                // "${workspaceFolder}/src/**/*.spec.ts"
            ],
            // "internalConsoleOptions": "openOnSessionStart",
            "skipFiles": ["<node_internals>/**"]
        },
        {
            "type": "node",
            "request": "launch",
            "name": "Launch Program",
            "skipFiles": ["<node_internals>/**"],
            "program": "${workspaceFolder}/src/yourNodeIndex.js"
        }
    ]
}
