Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit cf6346d

Browse files
committed
feat(karma-esm): use file watcher for reloading karma
1 parent 1030dbc commit cf6346d

File tree

3 files changed

+8
-32
lines changed

3 files changed

+8
-32
lines changed

packages/karma-esm/package.json

+1
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@
3434
"es-dev-server": "^1.14.2",
3535
"minimatch": "^3.0.4",
3636
"portfinder": "^1.0.21",
37+
"chokidar": "^3.0.2",
3738
"request": "^2.88.0"
3839
},
3940
"devDependencies": {

packages/karma-esm/src/esm-middleware.js

+6-7
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,8 @@
22
const request = require('request');
33
const minimatch = require('minimatch');
44
const portfinder = require('portfinder');
5-
const { startServer, createConfig, messageChannelEndpoint } = require('es-dev-server');
5+
const chokidar = require('chokidar');
6+
const { startServer, createConfig } = require('es-dev-server');
67
const { createEsmConfig } = require('./esm-config.js');
78

89
async function setupDevServer(karmaConfig, esmConfig, watch, babelConfig, karmaEmitter) {
@@ -28,14 +29,12 @@ async function setupDevServer(karmaConfig, esmConfig, watch, babelConfig, karmaE
2829
babelConfig,
2930
});
3031

31-
await startServer(esDevServerConfig);
32+
const fileWatcher = chokidar.watch([]);
33+
await startServer(esDevServerConfig, fileWatcher);
3234

3335
if (watch) {
34-
const messageChannel = request(`http://127.0.0.1:${devServerPort}${messageChannelEndpoint}`);
35-
messageChannel.addListener('data', message => {
36-
if (message.toString('utf-8').startsWith('event: file-changed')) {
37-
karmaEmitter.refreshFiles();
38-
}
36+
fileWatcher.addListener('change', () => {
37+
karmaEmitter.refreshFiles();
3938
});
4039
}
4140

yarn.lock

+1-25
Original file line numberDiff line numberDiff line change
@@ -1991,30 +1991,6 @@
19911991
resolved "https://registry.yarnpkg.com/@open-wc/semantic-dom-diff/-/semantic-dom-diff-0.13.21.tgz#718b9ec5f9a98935fc775e577ad094ae8d8b7dea"
19921992
integrity sha512-BONpjHcGX2zFa9mfnwBCLEmlDsOHzT+j6Qt1yfK3MzFXFtAykfzFjAgaxPetu0YbBlCfXuMlfxI4vlRGCGMvFg==
19931993

1994-
"@open-wc/testing-karma-bs@file:./packages/testing-karma-bs":
1995-
version "1.1.48"
1996-
dependencies:
1997-
"@open-wc/testing-karma" "^3.1.23"
1998-
"@types/node" "^11.13.0"
1999-
karma-browserstack-launcher "^1.0.0"
2000-
2001-
"@open-wc/testing-karma@file:./packages/testing-karma":
2002-
version "3.1.23"
2003-
dependencies:
2004-
"@open-wc/karma-esm" "^2.4.2"
2005-
axe-core "^3.3.1"
2006-
istanbul-instrumenter-loader "^3.0.0"
2007-
karma "^4.0.0"
2008-
karma-chrome-launcher "^2.0.0"
2009-
karma-coverage-istanbul-reporter "^2.0.0"
2010-
karma-mocha "^1.0.0"
2011-
karma-mocha-reporter "^2.0.0"
2012-
karma-mocha-snapshot "^0.2.1"
2013-
karma-snapshot "^0.6.0"
2014-
karma-source-map-support "^1.3.0"
2015-
karma-sourcemap-loader "^0.3.0"
2016-
mocha "^6.2.0"
2017-
20181994
"@reach/router@^1.2.1":
20191995
version "1.2.1"
20201996
resolved "https://registry.yarnpkg.com/@reach/router/-/router-1.2.1.tgz#34ae3541a5ac44fa7796e5506a5d7274a162be4e"
@@ -5273,7 +5249,7 @@ chokidar@^2.0.0, chokidar@^2.0.2, chokidar@^2.0.3, chokidar@^2.0.4, chokidar@^2.
52735249
optionalDependencies:
52745250
fsevents "^1.2.7"
52755251

5276-
chokidar@^3.0.0:
5252+
chokidar@^3.0.0, chokidar@^3.0.2:
52775253
version "3.0.2"
52785254
resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.0.2.tgz#0d1cd6d04eb2df0327446188cd13736a3367d681"
52795255
integrity sha512-c4PR2egjNjI1um6bamCQ6bUNPDiyofNQruHvKgHQ4gDUP/ITSVSzNsiI5OWtHOsX323i5ha/kk4YmOZ1Ktg7KA==

0 commit comments

Comments
 (0)