@pipeline-builder/api-server 3.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +202 -0
- package/README.md +39 -0
- package/lib/api/app-factory.d.ts +71 -0
- package/lib/api/app-factory.js +212 -0
- package/lib/api/check-quota.d.ts +13 -0
- package/lib/api/check-quota.js +67 -0
- package/lib/api/context-middleware.d.ts +34 -0
- package/lib/api/context-middleware.js +45 -0
- package/lib/api/etag-middleware.d.ts +7 -0
- package/lib/api/etag-middleware.js +37 -0
- package/lib/api/get-context.d.ts +22 -0
- package/lib/api/get-context.js +31 -0
- package/lib/api/health-checks.d.ts +25 -0
- package/lib/api/health-checks.js +36 -0
- package/lib/api/idempotency-middleware.d.ts +9 -0
- package/lib/api/idempotency-middleware.js +64 -0
- package/lib/api/index.d.ts +15 -0
- package/lib/api/index.js +43 -0
- package/lib/api/metrics.d.ts +12 -0
- package/lib/api/metrics.js +83 -0
- package/lib/api/middleware-factory.d.ts +47 -0
- package/lib/api/middleware-factory.js +66 -0
- package/lib/api/middleware.d.ts +1 -0
- package/lib/api/middleware.js +14 -0
- package/lib/api/quota-helpers.d.ts +23 -0
- package/lib/api/quota-helpers.js +25 -0
- package/lib/api/request-types.d.ts +55 -0
- package/lib/api/request-types.js +62 -0
- package/lib/api/require-org-id.d.ts +14 -0
- package/lib/api/require-org-id.js +31 -0
- package/lib/api/route-wrapper.d.ts +50 -0
- package/lib/api/route-wrapper.js +62 -0
- package/lib/api/server.d.ts +79 -0
- package/lib/api/server.js +144 -0
- package/lib/api/tracing.d.ts +15 -0
- package/lib/api/tracing.js +53 -0
- package/lib/http/index.d.ts +2 -0
- package/lib/http/index.js +21 -0
- package/lib/http/sse-connection-manager.d.ts +145 -0
- package/lib/http/sse-connection-manager.js +329 -0
- package/lib/http/ws-manager.d.ts +37 -0
- package/lib/http/ws-manager.js +105 -0
- package/lib/index.d.ts +30 -0
- package/lib/index.js +51 -0
- package/package.json +143 -0
package/package.json
ADDED
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@pipeline-builder/api-server",
|
|
3
|
+
"description": "Express server infrastructure for Pipeline Builder: app factory, middleware (CORS, Helmet, rate limiting, idempotency, ETag), request context, route wrappers, health-check helpers, and SSE support.",
|
|
4
|
+
"repository": {
|
|
5
|
+
"type": "git",
|
|
6
|
+
"url": "git+https://github.com/mwashburn160/pipeline-builder.git"
|
|
7
|
+
},
|
|
8
|
+
"devDependencies": {
|
|
9
|
+
"@stylistic/eslint-plugin": "^2",
|
|
10
|
+
"@types/compression": "1.7.5",
|
|
11
|
+
"@types/cors": "2.8.19",
|
|
12
|
+
"@types/express": "5.0.6",
|
|
13
|
+
"@types/express-serve-static-core": "5.1.1",
|
|
14
|
+
"@types/jest": "^30.0.0",
|
|
15
|
+
"@types/jsonwebtoken": "9.0.10",
|
|
16
|
+
"@types/node": "25.3.0",
|
|
17
|
+
"@types/swagger-ui-express": "4.1.8",
|
|
18
|
+
"@typescript-eslint/eslint-plugin": "^8",
|
|
19
|
+
"@typescript-eslint/parser": "^8",
|
|
20
|
+
"eslint": "^9",
|
|
21
|
+
"eslint-import-resolver-typescript": "^4.4.4",
|
|
22
|
+
"eslint-plugin-import": "^2.32.0",
|
|
23
|
+
"jest": "^30.2.0",
|
|
24
|
+
"jest-junit": "^16",
|
|
25
|
+
"ts-jest": "^29.4.6",
|
|
26
|
+
"typescript": "5.9.3"
|
|
27
|
+
},
|
|
28
|
+
"dependencies": {
|
|
29
|
+
"@opentelemetry/exporter-trace-otlp-http": "0.213.0",
|
|
30
|
+
"@opentelemetry/resources": "2.6.0",
|
|
31
|
+
"@opentelemetry/sdk-node": "0.213.0",
|
|
32
|
+
"compression": "1.8.0",
|
|
33
|
+
"cors": "2.8.6",
|
|
34
|
+
"express": "5.2.1",
|
|
35
|
+
"express-rate-limit": "8.2.1",
|
|
36
|
+
"helmet": "8.1.0",
|
|
37
|
+
"ioredis": "5.6.1",
|
|
38
|
+
"jsonwebtoken": "9.0.3",
|
|
39
|
+
"prom-client": "15.1.3",
|
|
40
|
+
"rate-limit-redis": "4.2.0",
|
|
41
|
+
"swagger-ui-express": "5.0.1",
|
|
42
|
+
"uuid": "13.0.0",
|
|
43
|
+
"@pipeline-builder/api-core": "3.1.0",
|
|
44
|
+
"@pipeline-builder/pipeline-core": "3.1.0"
|
|
45
|
+
},
|
|
46
|
+
"keywords": [
|
|
47
|
+
"aws",
|
|
48
|
+
"codepipeline",
|
|
49
|
+
"codebuild",
|
|
50
|
+
"cicd",
|
|
51
|
+
"ci-cd",
|
|
52
|
+
"devops",
|
|
53
|
+
"cdk",
|
|
54
|
+
"aws-cdk",
|
|
55
|
+
"cloudformation",
|
|
56
|
+
"pipeline",
|
|
57
|
+
"pipeline-as-code",
|
|
58
|
+
"containerized",
|
|
59
|
+
"docker",
|
|
60
|
+
"kubernetes",
|
|
61
|
+
"plugins",
|
|
62
|
+
"typescript",
|
|
63
|
+
"self-service",
|
|
64
|
+
"multi-tenant",
|
|
65
|
+
"compliance",
|
|
66
|
+
"automation",
|
|
67
|
+
"infrastructure-as-code",
|
|
68
|
+
"iac",
|
|
69
|
+
"cli"
|
|
70
|
+
],
|
|
71
|
+
"engines": {
|
|
72
|
+
"node": ">= 24.14.0"
|
|
73
|
+
},
|
|
74
|
+
"main": "lib/index.js",
|
|
75
|
+
"license": "Apache-2.0",
|
|
76
|
+
"homepage": "https://mwashburn160.github.io/pipeline-builder/",
|
|
77
|
+
"version": "3.1.0",
|
|
78
|
+
"bugs": {
|
|
79
|
+
"url": "https://github.com/mwashburn160/pipeline-builder/issues"
|
|
80
|
+
},
|
|
81
|
+
"jest": {
|
|
82
|
+
"coverageProvider": "v8",
|
|
83
|
+
"testMatch": [
|
|
84
|
+
"<rootDir>/@(src|test)/**/*(*.)@(spec|test).ts?(x)",
|
|
85
|
+
"<rootDir>/@(src|test)/**/__tests__/**/*.ts?(x)"
|
|
86
|
+
],
|
|
87
|
+
"clearMocks": true,
|
|
88
|
+
"collectCoverage": true,
|
|
89
|
+
"coverageReporters": [
|
|
90
|
+
"json",
|
|
91
|
+
"lcov",
|
|
92
|
+
"clover",
|
|
93
|
+
"cobertura",
|
|
94
|
+
"text"
|
|
95
|
+
],
|
|
96
|
+
"coverageDirectory": "coverage",
|
|
97
|
+
"coveragePathIgnorePatterns": [
|
|
98
|
+
"/node_modules/"
|
|
99
|
+
],
|
|
100
|
+
"testPathIgnorePatterns": [
|
|
101
|
+
"/node_modules/"
|
|
102
|
+
],
|
|
103
|
+
"watchPathIgnorePatterns": [
|
|
104
|
+
"/node_modules/"
|
|
105
|
+
],
|
|
106
|
+
"reporters": [
|
|
107
|
+
"default",
|
|
108
|
+
[
|
|
109
|
+
"jest-junit",
|
|
110
|
+
{
|
|
111
|
+
"outputDirectory": "test-reports"
|
|
112
|
+
}
|
|
113
|
+
]
|
|
114
|
+
],
|
|
115
|
+
"transform": {
|
|
116
|
+
"^.+\\.[t]sx?$": [
|
|
117
|
+
"ts-jest",
|
|
118
|
+
{
|
|
119
|
+
"tsconfig": "tsconfig.dev.json"
|
|
120
|
+
}
|
|
121
|
+
]
|
|
122
|
+
},
|
|
123
|
+
"moduleNameMapper": {
|
|
124
|
+
"^uuid$": "<rootDir>/../../jest-uuid-stub.js"
|
|
125
|
+
},
|
|
126
|
+
"maxWorkers": 1
|
|
127
|
+
},
|
|
128
|
+
"types": "lib/index.d.ts",
|
|
129
|
+
"//": "~~ Generated by projen. To modify, edit .projenrc.js and run \"pnpm dlx projen\".",
|
|
130
|
+
"scripts": {
|
|
131
|
+
"build": "pnpm dlx projen build",
|
|
132
|
+
"compile": "pnpm dlx projen compile",
|
|
133
|
+
"default": "pnpm dlx projen default",
|
|
134
|
+
"eslint": "pnpm dlx projen eslint",
|
|
135
|
+
"package": "pnpm dlx projen package",
|
|
136
|
+
"post-compile": "pnpm dlx projen post-compile",
|
|
137
|
+
"pre-compile": "pnpm dlx projen pre-compile",
|
|
138
|
+
"test": "pnpm dlx projen test",
|
|
139
|
+
"test:watch": "pnpm dlx projen test:watch",
|
|
140
|
+
"watch": "pnpm dlx projen watch",
|
|
141
|
+
"projen": "pnpm dlx projen"
|
|
142
|
+
}
|
|
143
|
+
}
|