Closed stychu closed 8 months ago
You're not missing anything…
Seen here (I've snipped some of the output as it's not relevant):
$ cat nodemon.json
{
"watch": ["./root-server", ".env", "./src/lib/logger"],
"exec": "ts-node --project tsconfig.server.json ./root-server/server.ts",
"ext": "js ts"
}
$ nodemon --dump
[nodemon] 3.0.2
[nodemon] to restart at any time, enter `rs`
[nodemon] watching path(s): root-server .env src/lib/logger
[nodemon] watching extensions: js,ts
--------------
node: v20.6.0
nodemon: 3.0.2
command: /Users/remy/.nvm/versions/node/v20.6.0/bin/node /Users/remy/.nvm/versions/node/v20.6.0/bin/nodemon --dump
cwd: /Users/remy/dev/nodemon/issues/2183
OS: darwin x64
--------------
{
run: false,
system: { cwd: '/Users/remy/dev/nodemon/issues/2183' },
required: false,
dirs: [ '/Users/remy/dev/nodemon/issues/2183' ],
timeout: 1000,
options: {
dump: true,
watch: [
'./root-server',
'.env',
'./src/lib/logger',
re: /\.\/root\-server|\.env|\.\/src\/lib\/logger/
],
exec: 'ts-node --project tsconfig.server.json ./root-server/server.ts',
monitor: [
'./root-server',
'.env',
'./src/lib/logger',
'!**/.git/**',
'!**/.nyc_output/**',
'!**/.sass-cache/**',
'!**/bower_components/**',
'!**/coverage/**',
'!**/node_modules/**'
],
execOptions: {
script: null,
exec: 'ts-node --project tsconfig.server.json ./root-server/server.ts',
args: [],
scriptPosition: null,
nodeArgs: undefined,
execArgs: [],
ext: 'js,ts',
env: {}
}
},
command: {
raw: {
executable: 'ts-node --project tsconfig.server.json ./root-server/server.ts',
args: []
},
string: 'ts-node --project tsconfig.server.json ./root-server/server.ts'
}
}
--------------
Im not sure if my question was clear enough. I was asking if its possible to define nodemon configuration file as javascript file instead of json file in order to execute some bootstrap logic before nodemon picks up the config and runs.
nodemon.json
-> nodemon.js
or nodemon.config.js
I have a use case where I want to automate getting all files/folders that nodemon should watch for instead of manually setting them in json file.
https://github.com/sverweij/dependency-cruiser
Something like:
// nodemon.js
import { cruise } from "dependency-cruiser";
// automatically gather all dependency imports from ./another/folder that are contained within ./root-server
// so you dont have to remember or look for files that should cause server restart.
const cruiseResult = await cruise(["./root-server"]);
module.export = {
watch: ["./root-server", ...cruiseResult],
exec: "ts-node --project tsconfig.server.json ./root-server/server.ts",
ext: "js ts"
}
There's not currently support for a nodemon.config.js
type file, but you can require nodemon in a script and pass in a config (which is controlled through JavaScript): https://github.com/remy/nodemon/wiki/As-a-required-module
There's not currently support for a
nodemon.config.js
type file, but you can require nodemon in a script and pass in a config (which is controlled through JavaScript): Wiki: As a required module ()
Ahh that might work. I will look into it thanks !
Am I missing something or it's not possible to define custom js config file for nodemon to use it?
currently I have this
nodemon.json
I would like to run some logic to extract imported files into the root-server and add them the watch for nodemon but it's not possible with .json files.