Skip to content

Commit 5541124

Browse files
committed
chore: Add support for VS Code debugging
* Add NPM scripts to start Karma ready for attaching the debugger * Add a launcher to attach to Chrome started by Karma * Add launchers to debug the preprocessor and bundling of tests * Add directories to be ignored by the tree and search
1 parent 351aabb commit 5541124

5 files changed

Lines changed: 142 additions & 1 deletion

File tree

.vscode/launch.json

Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
{
2+
// Pro informace o možných atributech použijte technologii IntelliSense.
3+
// Umístěním ukazatele myši zobrazíte popisy existujících atributů.
4+
// Další informace najdete tady: https://go.microsoft.com/fwlink/?linkid=830387
5+
"version": "0.2.0",
6+
"configurations": [
7+
{
8+
"name": "build bundles",
9+
"type": "node",
10+
"request": "launch",
11+
"program": "${workspaceFolder}/node_modules/rollup/dist/bin/rollup",
12+
"cwd": "${workspaceFolder}/test",
13+
"args": [
14+
"-c"
15+
],
16+
"skipFiles": [
17+
"<node_internals>/**"
18+
]
19+
},
20+
{
21+
"name": "run prefixes",
22+
"type": "node",
23+
"request": "launch",
24+
"program": "${workspaceFolder}/node_modules/karma/bin/karma",
25+
"cwd": "${workspaceFolder}/test",
26+
"args": [
27+
"start", "karma.prefixes.js"
28+
],
29+
"skipFiles": [
30+
"<node_internals>/**"
31+
]
32+
},
33+
{
34+
"name": "run handler",
35+
"type": "node",
36+
"request": "launch",
37+
"program": "${workspaceFolder}/node_modules/karma/bin/karma",
38+
"cwd": "${workspaceFolder}/test",
39+
"args": [
40+
"start", "karma.handler.js"
41+
],
42+
"skipFiles": [
43+
"<node_internals>/**"
44+
]
45+
},
46+
{
47+
"name": "run source-root",
48+
"type": "node",
49+
"request": "launch",
50+
"program": "${workspaceFolder}/node_modules/karma/bin/karma",
51+
"cwd": "${workspaceFolder}/test",
52+
"args": [
53+
"start", "karma.source-root.js"
54+
],
55+
"skipFiles": [
56+
"<node_internals>/**"
57+
]
58+
},
59+
{
60+
"name": "attach to browser",
61+
"type": "chrome",
62+
"request": "attach",
63+
// "url": "http://localhost:9876/debug.html",
64+
"address": "localhost",
65+
"port": 9222,
66+
"webRoot": "${workspaceRoot}",
67+
"pathMapping": {
68+
"/": "${workspaceRoot}/test",
69+
"/base/": "${workspaceRoot}/test/"
70+
},
71+
"sourceMapPathOverrides": {
72+
"/test/*": "../src/*"
73+
}
74+
}
75+
]
76+
}

.vscode/settings.json

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
{
2+
"files.exclude": {
3+
"**/.git": true,
4+
"**/.DS_Store": true,
5+
"**/Thumbs.db": true,
6+
"**/coverage": true
7+
},
8+
"search.exclude": {
9+
"**/node_modules": true,
10+
"**/*.code-search": true,
11+
"**/test/out": true
12+
}
13+
}

.vscode/tasks.json

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
{
2+
"version": "2.0.0",
3+
"tasks": [
4+
{
5+
"label": "debug prefixes",
6+
"type": "shell",
7+
"command": "karma",
8+
"options": {
9+
"cwd": "${workspaceRoot}/test"
10+
},
11+
"args": [
12+
"start", "karma.prefixes.js", "--reporters=progress",
13+
"--single-run=false", "--auto-watch"
14+
],
15+
"isBackground": true,
16+
"problemMatcher": {
17+
"owner": "karma",
18+
"fileLocation": "relative",
19+
"pattern": [
20+
{
21+
"regexp": "\\) (\\S.*) FAILED$",
22+
"message": 1
23+
},
24+
{
25+
"regexp": "^ at \\S+ \\(([^:]+):(\\d+):(\\d+)\\)$",
26+
"file": 1,
27+
"line": 2,
28+
"column": 3
29+
}
30+
],
31+
"background": {
32+
"activeOnStart": true,
33+
"beginsPattern": "\\[karma-server\\]",
34+
"endsPattern": "^TOTAL: (?:\\d+ FAILED, )?\\d+ SUCCESS$"
35+
// "endsPattern": "LOG MESSAGES FOR"
36+
}
37+
}
38+
}
39+
]
40+
}

package.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,9 @@
2222
},
2323
"license": "MIT",
2424
"scripts": {
25+
"debug:prefixes": "karma start test/karma.prefixes.js --reporters=progress --single-run=false --auto-watch",
26+
"debug:handler": "karma start test/karma.handler.js --reporters=progress --single-run=false --auto-watch",
27+
"debug:source-root": "karma start test/karma.source-root.js --reporters=progress --single-run=false --auto-watch",
2528
"pretest": "cd test && rollup -c",
2629
"test": "c8 karma start test/karma.prefixes.js && c8 --no-clean karma start test/karma.handler.js && c8 --no-clean karma start test/karma.source-root-value.js && c8 --no-clean karma start test/karma.source-root-function.js && c8 report -r text -r lcov && c8 check-coverage --100"
2730
},

test/karma.shared.js

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,16 @@ module.exports = function (config, testName) {
2222

2323
reporters: ['brief'],
2424

25-
browsers: ['ChromeHeadless'],
25+
browsers: ['ChromeDebugging'],
26+
27+
customLaunchers: {
28+
ChromeDebugging: {
29+
base: 'ChromeHeadless',
30+
flags: [
31+
'--remote-debugging-port=9222', '--use-mock-keychain'
32+
]
33+
}
34+
},
2635

2736
briefReporter: { renderOnRunCompleteOnly: !!process.env.CI },
2837

0 commit comments

Comments
 (0)