Closed llimllib closed 7 months ago
This issue has been automatically marked as idle and stale because it hasn't had any recent activity. It will be automtically closed if no further activity occurs. If you think this is wrong, or the problem still persists, just pop a reply in the comments and @remy will (try!) to follow up. Thank you for contributing <3
I'm not seeing this behaviour locally.
Here's how I'm replicating:
❯ ls -tlr
-rw-r--r-- 1 remy staff 0 16 Apr 17:28 foo.txt
-rw-r--r-- 1 remy staff 16 16 Apr 17:28 hello.py
❯ cat *
print ("Hello")
DEBUG=* nodemon --ext py hello.py
Then when I run touch foo.txt
and then touch hello.py
foo doesn't restart, but hello does:
nodemon:watch chokidar watching: /Users/remy/dev/nodemon/issues/2193/foo.txt +0ms
nodemon:watch chokidar watching: /Users/remy/dev/nodemon/issues/2193/hello.py +1ms
nodemon watch is complete +14ms
Hello
nodemon:run bus.emit(exit) via SIGUSR2 +41ms
nodemon bus emit: exit +41ms
[nodemon] clean exit - waiting for changes before restart
nodemon:watch filterAndRestart on [ 'foo.txt' ] +3s
nodemon:match rules [
'!**/**/node_modules/**',
'!**/**/coverage/**',
'!**/**/bower_components/**',
'!**/**/.sass-cache/**',
'!**/**/.nyc_output/**',
'!**/**/.git/**',
'**/*.*'
] +0ms
nodemon:match matched /Users/remy/dev/nodemon/issues/2193/foo.txt rule: **/*.* +2ms
nodemon:match good [ '/Users/remy/dev/nodemon/issues/2193/foo.txt' ] +0ms
nodemon:watch matched? {"result":[],"ignored":0,"watched":1,"total":1} +3ms
nodemon:watch filterAndRestart on [ 'hello.py' ] +5s
nodemon:match rules [
'!**/**/.git/**',
'!**/**/.nyc_output/**',
'!**/**/.sass-cache/**',
'!**/**/bower_components/**',
'!**/**/coverage/**',
'!**/**/node_modules/**',
'**/*.*'
] +5s
nodemon:match matched /Users/remy/dev/nodemon/issues/2193/hello.py rule: **/*.* +1ms
nodemon:match good [ '/Users/remy/dev/nodemon/issues/2193/hello.py' ] +0ms
nodemon:watch matched? {"result":["/Users/remy/dev/nodemon/issues/2193/hello.py"],"ignored":0,"watched":1,"total":1} +1ms
[nodemon] restarting due to changes...
nodemon bus emit: restart +8s
nodemon bus new listener: start (0) +0ms
nodemon bus new listener: start (0) +0ms
[nodemon] starting `python hello.py`
nodemon:run spawn sh -c python hello.py +8s
nodemon bus emit: start +18ms
nodemon bus new listener: exit (1) +0ms
nodemon:run start watch on: [ '*.*', re: /.*\..*/ ] +15ms
nodemon:watch early exit on watch, still watching (1) +18ms
Hello
nodemon:run bus.emit(exit) via SIGUSR2 +41ms
nodemon bus emit: exit +41ms
[nodemon] clean exit - waiting for changes before restart
You're going to have to provide a pared down version to replicate with, otherwise there's nothing I can do to help…
I was misunderstanding that nodemon wants to watch all the files in the repo, and it notices every change, but only restarts the server on changes to files given by the --ext
argument.
Apologies for the noise.
node@v20.11.1, darwin@23.4.0
nodemon -v
:main: 0bfd65a1ea1729b2f44ed25c3c32790f541b91ae
DEBUG=nodemon:* node bin/nodemon.js --ext py .
Expected behaviour
I expected nodemon to only watch for
.py
files (or at least, if--ext
were additive, for .py as well as .js, .mjs, .coffee, .litcoffee, and .json).I ran this command inside a fresh checkout of this repository, so if I understand the documentation correctly it should only have been watching
test/fixtures/hello.py
Actual behaviour
doc/cli/whoami.txt
, and noted that nodemon restarted:I found this behavior the same in my employer's repository, and used this repostiory to reproduce it.
Giving it
test/fixtures/hello.py
with the commandDEBUG=nodemon:* node bin/nodemon.js --ext py test/fixtures/hello.py
resulted in the same behavior, of nodemon restarting on the change of any file at all.Steps to reproduce
DEBUG=nodemon:* node bin/nodemon.js --ext py .
, note that nodemon lists itself as watching every file in this repositorydoc/events.md
for example, and note thatnodemon
restartsIf applicable, please append the
--dump
flag on your command and include the output here ensuring to remove any sensitive/personal details or tokens.nodemon dump file
``` [33m[nodemon] main: 0bfd65a1ea1729b2f44ed25c3c32790f541b91ae (1 dirty files)[39m [33m[nodemon] to restart at any time, enter `rs`[39m [33m[nodemon] watching path(s): *.*[39m [33m[nodemon] watching extensions: py[39m -------------- node: v20.11.1 nodemon: main: 0bfd65a1ea1729b2f44ed25c3c32790f541b91ae (1 dirty files) command: /Users/llimllib/.local/share/mise/installs/node/20.11.1/bin/node /Users/llimllib/code/tmp/nodemon/bin/nodemon.js --ext py --dump cwd: /Users/llimllib/code/tmp/nodemon OS: darwin arm64 -------------- { run: false, system: { cwd: '/Users/llimllib/code/tmp/nodemon' }, required: false, dirs: [ '/Users/llimllib/code/tmp/nodemon' ], timeout: 1000, options: { dump: true, ignore: [ '**/.git/**', '**/.nyc_output/**', '**/.sass-cache/**', '**/bower_components/**', '**/coverage/**', '**/node_modules/**', re: /.*.*\/\.git\/.*.*|.*.*\/\.nyc_output\/.*.*|.*.*\/\.sass\-cache\/.*.*|.*.*\/bower_components\/.*.*|.*.*\/coverage\/.*.*|.*.*\/node_modules\/.*.*/ ], watch: [ '*.*', re: /.*\..*/ ], monitor: [ '*.*', '!**/.git/**', '!**/.nyc_output/**', '!**/.sass-cache/**', '!**/bower_components/**', '!**/coverage/**', '!**/node_modules/**' ], ignoreRoot: [ '**/.git/**', '**/.nyc_output/**', '**/.sass-cache/**', '**/bower_components/**', '**/coverage/**', '**/node_modules/**' ], restartable: 'rs', colours: true, execMap: { py: 'python', rb: 'ruby', ts: 'ts-node' }, stdin: true, runOnChangeOnly: false, verbose: false, signal: 'SIGUSR2', stdout: true, watchOptions: {}, execOptions: { script: './lib/nodemon', exec: 'node', args: [], scriptPosition: 0, nodeArgs: undefined, execArgs: [], ext: 'py', env: {} } }, load: [Function (anonymous)], reset: [Function: reset], lastStarted: 0, loaded: [], watchInterval: null, signal: 'SIGUSR2', command: { raw: { executable: 'node', args: [ './lib/nodemon' ] }, string: 'node ./lib/nodemon' } } -------------- ```