-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpackage.json
77 lines (77 loc) · 3.89 KB
/
package.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
{
"name": "artery",
"version": "1.0.0",
"license": "MIT",
"private": true,
"scripts": {
"prepare": "npx --yes husky install",
"build": "tsc ; cp -f static/* dist/",
"start": "node dist/index.js",
"watch-build": "tsc --watch",
"watch-start": "nodemon --delay 1 --watch dist/ --watch openapi.* --exec 'SWAGGER_STATS_USERNAME=local SWAGGER_STATS_PASSWORD=local npm run start'",
"dev": "concurrently -k -p '[{name}]' -n 'typescript,api' -c 'yellow.bold,cyan.bold' npm:watch-build npm:watch-start",
"dev:proxy": "concurrently -k -p '[{name}]' -n 'typescript,api,prism' -c 'yellow.bold,cyan.bold,magenta' npm:watch-build npm:watch-start npm:prism:proxy",
"sa": "semgrep --config auto --verbose --exclude trivy/junit.tpl",
"sec": "trivy fs --config trivy/trivy.yaml .",
"sec:html": "trivy fs --config trivy/trivy.yaml --format template --template @trivy/html.tpl --output results/trivy.html .",
"sec:junit": "trivy fs --config trivy/trivy.yaml --format template --template @trivy/junit.tpl --output results/trivy.junit.xml .",
"sec:sarif": "trivy fs --config trivy/trivy.yaml --format sarif --output results/trivy.sarif .",
"test": "jest",
"test:api": "concurrently --raw --success first -k npm:start npm:newman",
"test:all": "npm run test ; npm run test:api",
"lint": "tsc --noEmit && eslint --ext .ts 'src/**/*'",
"lint:fix": "eslint --ext .ts 'src/**/*' --fix",
"lint:spec": "spectral lint openapi.{json,yml,yaml}",
"prism:mock": "npx --yes --package=prism prism mock --dynamic openapi.yaml",
"prism:proxy": "npx --yes --package=prism prism proxy openapi.yaml http://localhost:8080 --errors",
"newman": "newman run portman/collection.postman.json --reporters cli,junit,htmlextra --reporter-junit-export results/newman.junit.xml --reporter-htmlextra-export results/newman.html",
"portman": "portman --cliOptionsFile portman/portman-newman.json",
"k6": "portman --cliOptionsFile portman/portman-k6.json ; postman-to-k6 tmp/k6.postman.json --iterations 10 --output k6/auto/tests.js ; docker-compose up -d ; open http://localhost:3000/d/k6/k6-load-testing-results ; docker-compose run k6 run --vus 100 --duration 30s /auto/tests.js",
"cats": "docker-compose up -d ; docker-compose run cats --contract=/var/openapi.yaml --server=http://api:8080 --blackbox --log=error --output=/var/results/cats",
"cats:ci": "docker-compose up -d ; docker-compose run cats --contract=/var/openapi.yaml --server=http://api:8080 --blackbox --reportFormat=JUNIT --output=/var/results/cats",
"release": "npx --yes standard-version"
},
"dependencies": {
"applicationinsights": "^2.5.1",
"axios": "^1.3.6",
"express": "^4.18.2",
"express-openapi-validator": "^4.13.8",
"helmet": "^6.1.5",
"morgan": "^1.10.0",
"prom-client": "^14.2.0",
"serve-favicon": "^2.5.0",
"swagger-stats": "^0.99.5"
},
"devDependencies": {
"@apideck/portman": "^1.22.0",
"@apideck/postman-to-k6": "^1.8.8",
"@commitlint/cli": "^17.6.1",
"@commitlint/config-conventional": "^17.6.1",
"@stoplight/spectral-cli": "^6.6.0",
"@types/express": "^4.17.17",
"@types/jest": "^29.5.1",
"@types/morgan": "^1.9.4",
"@types/node": "^18.16.1",
"@types/serve-favicon": "^2.5.4",
"@types/swagger-stats": "^0.95.8",
"@types/wait-on": "^5.3.1",
"@typescript-eslint/eslint-plugin": "^5.59.1",
"@typescript-eslint/parser": "^5.59.1",
"@useoptic/optic": "^0.42.14",
"concurrently": "^8.0.1",
"eslint": "^8.39.0",
"eslint-config-standard": "^17.0.0",
"eslint-plugin-import": "^2.27.5",
"eslint-plugin-jest": "^27.2.1",
"eslint-plugin-node": "^11.1.0",
"eslint-plugin-promise": "^6.1.1",
"jest": "^29.5.0",
"newman-reporter-htmlextra": "^1.22.11",
"nodemon": "^2.0.22",
"prettier": "^2.8.8",
"pretty-quick": "^3.1.3",
"ts-jest": "^29.1.0",
"typescript": "^5.0.4",
"wait-on": "^7.0.1"
}
}