-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcatalog.json
More file actions
138 lines (138 loc) · 4.49 KB
/
Copy pathcatalog.json
File metadata and controls
138 lines (138 loc) · 4.49 KB
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
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
{
"version": 1,
"groups": {
"tracing": { "title": "Tracing / APM", "exclusive": true },
"orm": { "title": "ORM / database", "exclusive": true },
"features": { "title": "Service features", "exclusive": false }
},
"packages": {
"opentelemetry": {
"group": "tracing",
"title": "OpenTelemetry instrumentation",
"deps": {
"@imqueue/opentelemetry-instrumentation-imqueue": "*",
"@opentelemetry/api": "*",
"@opentelemetry/instrumentation": "*",
"@opentelemetry/resources": "*",
"@opentelemetry/sdk-trace-node": "*",
"@opentelemetry/semantic-conventions": "*"
},
"snippets": { "preload": "import './telemetry.js';" },
"env": ["OTEL_EXPORTER_OTLP_ENDPOINT"],
"instructions": [
"OpenTelemetry: tracing is initialized in src/telemetry.ts (imported first at start-up).",
"OpenTelemetry: add the 'gcp' package to export traces to Google Cloud Trace."
]
},
"gcp": {
"group": "features",
"title": "Google Cloud Trace exporter (for OpenTelemetry)",
"deps": { "@google-cloud/opentelemetry-cloud-trace-exporter": "*" },
"env": ["GOOGLE_APPLICATION_CREDENTIALS"],
"instructions": [
"GCP trace export: requires the opentelemetry package; traces export to Google Cloud Trace when GOOGLE_APPLICATION_CREDENTIALS is set."
]
},
"dd-trace": {
"group": "tracing",
"title": "Datadog APM (dd-trace)",
"deps": { "@imqueue/dd-trace": "*" },
"snippets": { "preload": "import '@imqueue/dd-trace';" },
"env": ["DD_AGENT_HOST", "DD_TRACE_ENABLED"],
"instructions": [
"Datadog: ensure a Datadog agent is reachable via DD_AGENT_HOST."
]
},
"sequelize": {
"group": "orm",
"title": "Sequelize ORM",
"deps": { "@imqueue/sequelize": "*", "sequelize": "*" },
"instructions": [
"Sequelize: configure your database connection in config.ts."
]
},
"prisma": {
"group": "orm",
"title": "Prisma ORM",
"deps": { "@prisma/client": "*" },
"devDeps": { "prisma": "*" },
"instructions": [
"Prisma: run `npx prisma init` and define your schema."
]
},
"pg-prisma": {
"group": "orm",
"title": "Prisma ORM + @imqueue/pg-prisma toolkit",
"deps": {
"@imqueue/pg-prisma": "*",
"@imqueue/validation": "*",
"@prisma/client": "*",
"@prisma/adapter-pg": "*",
"pg": "*",
"zod": "*"
},
"devDeps": { "prisma": "*", "@types/pg": "*" },
"env": ["DATABASE_URL"],
"instructions": [
"pg-prisma: set DATABASE_URL, then run `npx prisma migrate dev` to create the database.",
"pg-prisma: edit prisma/schema.prisma and run `npx prisma generate` to (re)generate models."
]
},
"validation": {
"group": "features",
"title": "Input validation (@imqueue/validation)",
"deps": { "@imqueue/validation": "*", "zod": "*" },
"instructions": [
"validation: annotate argument classes with @validatable/@validate and methods with @validated."
]
},
"core": {
"group": "features",
"title": "@imqueue/core (direct dependency)",
"deps": { "@imqueue/core": "*" },
"instructions": [
"core: @imqueue/core is otherwise pulled in transitively by @imqueue/rpc; add it directly only if you import from it."
]
},
"pg-cache": {
"group": "features",
"title": "PostgreSQL query cache",
"deps": { "@imqueue/pg-cache": "*" }
},
"pg-pubsub": {
"group": "features",
"title": "PostgreSQL pub/sub",
"deps": { "@imqueue/pg-pubsub": "*" }
},
"tag-cache": {
"group": "features",
"title": "Tag-based cache",
"deps": { "@imqueue/tag-cache": "*" }
},
"job": {
"group": "features",
"title": "Background jobs",
"deps": { "@imqueue/job": "*" }
},
"net": {
"group": "features",
"title": "Network helpers",
"deps": { "@imqueue/net": "*" }
},
"http-protect": {
"group": "features",
"title": "HTTP protection",
"deps": { "@imqueue/http-protect": "*" }
},
"graphql-dependency": {
"group": "features",
"title": "GraphQL dependency resolution",
"deps": { "@imqueue/graphql-dependency": "*" }
},
"type-graphql-dependency": {
"group": "features",
"title": "TypeGraphQL dependency resolution",
"deps": { "@imqueue/type-graphql-dependency": "*" }
}
}
}