start-server-and-test
Version:
Starts server, waits for URL, then runs test command; when the tests end, shuts down server
113 lines (112 loc) • 5.02 kB
JSON
{
"name": "start-server-and-test",
"description": "Starts server, waits for URL, then runs test command; when the tests end, shuts down server",
"version": "3.0.5",
"author": "Gleb Bahmutov <gleb.bahmutov@gmail.com>",
"bugs": "https://github.com/bahmutov/start-server-and-test/issues",
"bin": {
"start-server-and-test": "src/bin/start.js",
"server-test": "src/bin/start.js",
"start-test": "src/bin/start.js"
},
"engines": {
"node": "^22 || >=24"
},
"files": [
"src/**/*.js",
"!src/**/*-spec.js"
],
"homepage": "https://github.com/bahmutov/start-server-and-test#readme",
"keywords": [
"ci",
"parallel",
"server",
"start",
"test",
"utility",
"wait"
],
"license": "MIT",
"main": "src/",
"private": false,
"publishConfig": {
"registry": "https://registry.npmjs.org/"
},
"repository": {
"type": "git",
"url": "git+https://github.com/bahmutov/start-server-and-test.git"
},
"scripts": {
"lint": "prettier --write src/**/*.js",
"prelint": "npm run pretty",
"pretest": "npm run lint",
"pretty": "prettier --write src/**/*.js",
"size": "t=\"$(npm pack .)\"; wc -c \"${t}\"; tar tvf \"${t}\"; rm \"${t}\";",
"test": "npm run unit",
"unit": "mocha test/helper src/*-spec.js",
"semantic-release": "semantic-release",
"start": "node test/server.js",
"start-with-child": "node test/server-as-child.js",
"start-multiple": "node test/multiple-servers.js",
"start-https": "node test/https-server.js",
"start-fail": "node test/server-fail.js",
"start-304": "node test/server-304.js",
"start-403": "node test/server-403.js",
"start-cross-env": "cross-env FOO=bar node test/server.js",
"test2": "curl http://127.0.0.1:9000",
"test3": "curl http://127.0.0.1:9000 && curl http://127.0.0.1:9001",
"test4": "curl --insecure https://127.0.0.1:9000",
"message": "echo Hi there 👋",
"message2": "echo Hi there 2 👋",
"demo": "node src/bin/start.js http://127.0.0.1:9000 message",
"demo2": "node src/bin/start.js start http://127.0.0.1:9000 test2",
"demo3": "node src/bin/start.js start-with-child http://127.0.0.1:9000 test",
"demo4": "node src/bin/start.js 9000",
"demo5": "node src/bin/start.js start-with-child 9000",
"demo6": "node src/bin/start.js :9000",
"demo7": "node src/bin/start.js :9000 test2",
"demo8": "node src/bin/start.js start-multiple \":9000|:9001\" test3",
"demo9": "node src/bin/start.js start-https \"https://127.0.0.1:9000\" test4",
"demo10": "node src/bin/start.js start-fail http://127.0.0.1:9000 test",
"demo11": "node src/bin/start.js http-get://127.0.0.1:9000",
"demo12": "node src/bin/start.js start-304 9000 test2",
"demo-expect-403": "node src/bin/start.js --expect 403 start-403 9000 'echo Waited'",
"demo-interval": "WAIT_ON_INTERVAL=1000 node src/bin/start.js start http://127.0.0.1:9000 test2",
"demo-timeout": "WAIT_ON_TIMEOUT=10000 node src/bin/start.js start http://127.0.0.1:9000 test2",
"demo-cross-env": "node src/bin/start.js start-cross-env 9000",
"demo-commands": "node src/bin/start.js 'node test/server.js --port 8800' 8800 'node test/client --port 8800'",
"demo-multiple": "node src/bin/start.js 'node test/server --port 6000' 6000 'node test/server --port 6010' 6010 'curl http://127.0.0.1:6000 && curl http://127.0.0.1:6010'",
"demo-multiple:windows": "node src/bin/start.js \"node test/server --port 6000\" 6000 \"node test/server --port 6010\" 6010 \"curl http://127.0.0.1:6000 && curl http://127.0.0.1:6010\"",
"demo-multiple-test-commands": "node src/bin/start.js 9000 'npm run message && npm run message2'",
"demo-json-server": "WAIT_ON_TIMEOUT=10000 DEBUG=start-server-and-test node src/bin/start.js 'json-server test/data.json' localhost:3000 'echo json-server working'",
"demo-ip6": "WAIT_ON_TIMEOUT=10000 DEBUG=start-server-and-test node src/bin/start.js 'node test/ip6.mjs' localhost:8000 'echo server with ::1 working'",
"demo-zero": "WAIT_ON_TIMEOUT=10000 node src/bin/start.js 'node test/zero.mjs' 8000 'echo server with 0.0.0.0 working'",
"demo-zero-127": "WAIT_ON_TIMEOUT=10000 node src/bin/start.js 'node test/zero.mjs' http://127.0.0.1:8000 'echo server with 0.0.0.0 working'",
"demo-zero-explicit": "node src/bin/start.js 'node test/zero.mjs' http://0.0.0.0:8000 'echo server with 0.0.0.0 working'",
"prepare": "husky"
},
"devDependencies": {
"@types/node": "^25.5.0",
"chai": "4.5.0",
"cross-env": "7.0.3",
"got": "9.6.0",
"husky": "9.1.7",
"json-server": "^0.17.4",
"minimist": "1.2.8",
"mocha": "7.2.0",
"prettier": "^3.8.1",
"sinon": "9.2.4",
"sinon-chai": "3.7.0",
"snap-shot-it": "7.9.10"
},
"dependencies": {
"arg": "5.0.2",
"bluebird": "3.7.2",
"check-more-types": "2.24.0",
"debug": "4.4.3",
"execa": "5.1.1",
"lazy-ass": "1.6.0",
"tree-kill": "1.2.2",
"wait-on": "9.0.10"
}
}