start-server-and-test
Version:
Starts server, waits for URL, then runs test command; when the tests end, shuts down server
114 lines (113 loc) • 5.07 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.11",
"author": "Gleb Bahmutov <gleb.bahmutov@gmail.com>",
"bugs": {
"url": "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/",
"type": "commonjs",
"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": "cross-env START_SERVER_AND_TEST_INSECURE=1 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-expected-403": "node src/bin/start.js --expected 403 start-403 9000 \"echo Waited\"",
"demo-interval": "cross-env WAIT_ON_INTERVAL=1000 node src/bin/start.js start http://127.0.0.1:9000 test2",
"demo-timeout": "cross-env 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-test-commands": "node src/bin/start.js 9000 \"npm run message && npm run message2\"",
"demo-json-server": "cross-env 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": "cross-env 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": "cross-env 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": "cross-env 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": "^10.1.0",
"husky": "9.1.7",
"json-server": "^0.17.4",
"minimist": "1.2.8",
"mocha": "^11.7.6",
"prettier": "^3.8.1",
"sinon": "22.0.0",
"sinon-chai": "3.7.0",
"snap-shot-it": "7.9.10"
},
"dependencies": {
"arg": "5.0.2",
"check-more-types": "2.24.0",
"debug": "4.4.3",
"execa": "5.1.1",
"lazy-ass": "2.0.3",
"tree-kill": "1.2.2",
"wait-on": "9.0.10"
}
}