'Wait seconds before running next task on scripts package.jscon
What I want to do is when I run npm run dev
to execute those both tasks I need to wait for 5 seconds until next task runs.
Run the npm run server
wait for 5 seconds and then npm run client
"scripts": {
"start": "node ./bin/www",
"server": "nodemon start",
"client": "gulp",
"dev": "concurrently 'npm run server' 'npm run client'",
}
Solution 1:[1]
Assuming you're on Linux, you can use sleep command:
"dev": "concurrently 'npm run server' 'sleep 5 && npm run client'"
Solution 2:[2]
Use Sleep and Background tasks.
Depending on what these tasks do, you might not need concurrently
. You might be able to get away with just using &
to run one of them as a background task.
The general pattern is as follows:
( sleep 5 && delayed_command ) & immediate_command
So in your case, it would look something like this:
"dev": "( sleep 5 && npm run client ) & npm run server"
If you don't want the output from one of the commands, you can add > /dev/null 2>&1
after the command, like this:
"dev": "( sleep 5 && npm run client > /dev/null 2>&1 ) & npm run server"
Solution 3:[3]
Adding to @TGrif answer, chain scripts with double ampersand && to execute them sequntially. So to execute sleep command first, put && after it and then write npm run client. So the second command(npm run client) will execute only when the first(sleep) is complete.
Solution 4:[4]
node -e "setTimeout(()=>{},5000)" && npm run client
Solution 5:[5]
Cross platform solution for your particular problem, without installing any additional lib. Just invoking a JS script that waits certain time to end.
"scripts": {
"start": "node ./bin/www",
"server": "nodemon start",
"client": "gulp",
"delayed-client": "node -e \"setTimeout(() => process.exit(0), 5000)\" && npm run client",
"dev": "concurrently npm:server npm:delayed-client",
}
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
Solution | Source |
---|---|
Solution 1 | TGrif |
Solution 2 | |
Solution 3 | Avantika Saini |
Solution 4 | Littleboy Harry |
Solution 5 |