How to tell Meteor has finished loading (so tests can run)

I am trying to config my Meteor project to use cypress (headless) and circle-ci. I don’t know how to ‘wait’ until meteor has finished loading before running my test command.

My 2 npm scripts are npm run start (to run meteor) and npm run cypress:headless to run the tests.

This doesn’t work as meteor doesn’t give an exit signal:

npm run start && npm run cypress:headless

This run cypress too quickly, before Meteor has had a chance to fully load:

npm run start & npm run cypress:headless

I feel like there is some simple reason I can’t figure out. Tests work fine in local-dev when running 2 separate tabs. Any help appreciated.

Cheers,
John

Found a solution using: https://github.com/bahmutov/start-server-and-test

Another option is using concurrently and wait-on npm packages