encore.dev 1.35.3 → 1.36.1

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/log/mod.ts CHANGED
@@ -1,5 +1,5 @@
1
- import * as runtime from "../internal/runtime/mod";
2
1
  import { getCurrentRequest } from "../internal/reqtrack/mod";
2
+ import * as runtime from "../internal/runtime/mod";
3
3
 
4
4
  export type { Logger };
5
5
 
@@ -110,7 +110,7 @@ class Logger {
110
110
  level: runtime.LogLevel,
111
111
  errOrMsg: unknown,
112
112
  msgOrFields?: unknown,
113
- possibleFields?: unknown,
113
+ possibleFields?: unknown
114
114
  ) {
115
115
  let err: Error | undefined;
116
116
  let msg: string;
@@ -122,10 +122,6 @@ class Logger {
122
122
  err = undefined;
123
123
  msg = errOrMsg;
124
124
  fields = msgOrFields as FieldsObject | undefined;
125
-
126
- // if (possibleFields) {
127
- // throw new Error("Invalid arguments to log");
128
- // }
129
125
  } else if (typeof msgOrFields === "string") {
130
126
  // log(err, msg, fields?)
131
127
  if (errOrMsg) {
@@ -157,11 +153,10 @@ class Logger {
157
153
 
158
154
  const req = getCurrentRequest();
159
155
 
160
- this.impl.log(req, level, msg, err, fields);
156
+ this.impl.log(req, level, msg, err, undefined, fields);
161
157
  }
162
158
  }
163
159
 
164
- // TODO make this resolve to the current request logger instead.
165
160
  const log = new Logger(runtime.RT.logger());
166
161
 
167
162
  /**
@@ -197,20 +192,20 @@ export function warn(err: Error | unknown, fields?: FieldsObject): void;
197
192
  export function warn(
198
193
  err: Error | unknown,
199
194
  msg: string,
200
- fields?: FieldsObject,
195
+ fields?: FieldsObject
201
196
  ): void;
202
197
  export function warn(msg: string, fields?: FieldsObject): void;
203
198
  export function warn(
204
199
  errOrMsg: unknown,
205
200
  msgOrFields: unknown,
206
- fields?: unknown,
201
+ fields?: unknown
207
202
  ) {
208
203
  // the type cast here is just for TSC to be happy - the underlying method uses the same overloads so
209
204
  // will type check the arguments correctly
210
205
  log.warn(
211
206
  errOrMsg as Error,
212
207
  msgOrFields as string,
213
- fields as FieldsObject | undefined,
208
+ fields as FieldsObject | undefined
214
209
  );
215
210
  }
216
211
 
@@ -221,20 +216,20 @@ export function error(err: Error | unknown, fields?: FieldsObject): void;
221
216
  export function error(
222
217
  err: Error | unknown,
223
218
  msg: string,
224
- fields?: FieldsObject,
219
+ fields?: FieldsObject
225
220
  ): void;
226
221
  export function error(msg: string, fields?: FieldsObject): void;
227
222
  export function error(
228
223
  errOrMsg: unknown,
229
224
  msgOrFields: unknown,
230
- fields?: unknown,
225
+ fields?: unknown
231
226
  ) {
232
227
  // the type cast here is just for TSC to be happy - the underlying method uses the same overloads so
233
228
  // will type check the arguments correctly
234
229
  log.error(
235
230
  errOrMsg as Error,
236
231
  msgOrFields as string,
237
- fields as FieldsObject | undefined,
232
+ fields as FieldsObject | undefined
238
233
  );
239
234
  }
240
235
 
@@ -245,19 +240,19 @@ export function fatal(err: Error | unknown, fields?: FieldsObject): void;
245
240
  export function fatal(
246
241
  err: Error | unknown,
247
242
  msg: string,
248
- fields?: FieldsObject,
243
+ fields?: FieldsObject
249
244
  ): void;
250
245
  export function fatal(msg: string, fields?: FieldsObject): void;
251
246
  export function fatal(
252
247
  errOrMsg: unknown,
253
248
  msgOrFields: unknown,
254
- fields?: unknown,
249
+ fields?: unknown
255
250
  ) {
256
251
  // the type cast here is just for TSC to be happy - the underlying method uses the same overloads so
257
252
  // will type check the arguments correctly
258
253
  log.fatal(
259
254
  errOrMsg as Error,
260
255
  msgOrFields as string,
261
- fields as FieldsObject | undefined,
256
+ fields as FieldsObject | undefined
262
257
  );
263
258
  }
package/mod.ts CHANGED
@@ -1,4 +1,4 @@
1
- export { appMeta } from "./meta";
1
+ export { appMeta } from "./app_meta";
2
2
  export type {
3
3
  AppMeta,
4
4
  BuildMeta,
@@ -6,4 +6,14 @@ export type {
6
6
  DeployMeta,
7
7
  EnvironmentMeta,
8
8
  EnvironmentType,
9
- } from "./meta";
9
+ } from "./app_meta";
10
+
11
+ export { currentRequest } from "./req_meta";
12
+ export type {
13
+ APICallMeta,
14
+ APIDesc,
15
+ Method,
16
+ PubSubMessageMeta,
17
+ RequestMeta,
18
+ TraceData,
19
+ } from "./req_meta";
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "encore.dev",
3
3
  "description": "Encore's JavaScript/TypeScript SDK",
4
- "version": "1.35.3",
4
+ "version": "1.36.1",
5
5
  "license": "MPL-2.0",
6
6
  "bugs": {
7
7
  "url": "https://github.com/encoredev/encore/issues"
package/req_meta.ts ADDED
@@ -0,0 +1,100 @@
1
+ import { getCurrentRequest } from "./internal/reqtrack/mod";
2
+
3
+ export interface APIDesc {
4
+ service: string;
5
+ endpoint: string;
6
+ raw: boolean;
7
+ }
8
+
9
+ export type Method =
10
+ | "GET"
11
+ | "POST"
12
+ | "PUT"
13
+ | "PATCH"
14
+ | "DELETE"
15
+ | "HEAD"
16
+ | "OPTIONS"
17
+ | "CONNECT"
18
+ | "TRACE";
19
+
20
+ export interface APICallMeta {
21
+ type: "api-call";
22
+ api: APIDesc;
23
+ method: Method;
24
+ path: string;
25
+ pathAndQuery: string;
26
+ pathParams: Record<string, any>;
27
+ headers: Record<string, string | string[]>;
28
+ parsedPayload?: Record<string, any>;
29
+ }
30
+
31
+ export interface PubSubMessageMeta {
32
+ type: "pubsub-message";
33
+ service: string;
34
+ topic: string;
35
+ subscription: string;
36
+ messageId: string;
37
+ deliveryAttempt: number;
38
+ parsedPayload?: Record<string, any>;
39
+ }
40
+
41
+ export interface TraceData {
42
+ traceId: string;
43
+ spanId: string;
44
+ parentTraceId?: string;
45
+ parentSpanId?: string;
46
+ extCorrelationId?: string;
47
+ }
48
+
49
+ interface BaseRequestMeta {
50
+ trace?: TraceData;
51
+ }
52
+
53
+ export type RequestMeta = (APICallMeta | PubSubMessageMeta) & BaseRequestMeta;
54
+
55
+ // Returns metadata about the running Encore application.
56
+ //
57
+ // The metadata is cached and is the same object each call,
58
+ // and therefore must not be modified by the caller.
59
+ export function currentRequest(): RequestMeta | undefined {
60
+ const req = getCurrentRequest();
61
+ if (!req) {
62
+ return undefined;
63
+ }
64
+ const meta = req.meta();
65
+
66
+ const base: BaseRequestMeta = {
67
+ trace: meta.trace,
68
+ };
69
+
70
+ if (meta.apiCall) {
71
+ const api: APICallMeta = {
72
+ type: "api-call",
73
+ api: {
74
+ service: meta.apiCall.api.service,
75
+ endpoint: meta.apiCall.api.endpoint,
76
+ raw: meta.apiCall.api.raw,
77
+ },
78
+ method: meta.apiCall.method as Method,
79
+ path: meta.apiCall.path,
80
+ pathAndQuery: meta.apiCall.pathAndQuery,
81
+ pathParams: meta.apiCall.pathParams ?? {},
82
+ parsedPayload: meta.apiCall.parsedPayload,
83
+ headers: meta.apiCall.headers,
84
+ };
85
+ return { ...base, ...api };
86
+ } else if (meta.pubsubMessage) {
87
+ const msg: PubSubMessageMeta = {
88
+ type: "pubsub-message",
89
+ service: meta.pubsubMessage.service,
90
+ topic: meta.pubsubMessage.topic,
91
+ subscription: meta.pubsubMessage.subscription,
92
+ messageId: meta.pubsubMessage.id,
93
+ deliveryAttempt: meta.pubsubMessage.deliveryAttempt,
94
+ parsedPayload: meta.pubsubMessage.parsedPayload,
95
+ };
96
+ return { ...base, ...msg };
97
+ } else {
98
+ return undefined;
99
+ }
100
+ }
package/dist/meta.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"meta.js","sourceRoot":"","sources":["../meta.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,wBAAwB,CAAC;AA2ElD,yDAAyD;AACzD,EAAE;AACF,2DAA2D;AAC3D,oDAAoD;AACpD,MAAM,UAAU,OAAO;IACrB,qCAAqC;IACrC,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACpB,IAAI,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC;QAC9B,MAAM,GAAG;YACP,KAAK,EAAE,EAAE,CAAC,KAAK;YACf,UAAU,EAAE,EAAE,CAAC,UAAU;YACzB,WAAW,EAAE;gBACX,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI;gBACzB,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC;gBAClC,KAAK,EAAE,aAAa,CAAC,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC;aAC3C;YACD,KAAK,EAAE;gBACL,QAAQ,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ;gBAC3B,kBAAkB,EAAE,EAAE,CAAC,KAAK,CAAC,kBAAkB;aAChD;YACD,MAAM,EAAE;gBACN,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE;aACjB;SACF,CAAC;IACJ,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,OAAO,CAAC,MAA+B;IAC9C,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,OAAO,CAAC,eAAe,CAAC,UAAU;YACrC,OAAO,YAAY,CAAC;QACtB,KAAK,OAAO,CAAC,eAAe,CAAC,WAAW;YACtC,OAAO,aAAa,CAAC;QACvB,KAAK,OAAO,CAAC,eAAe,CAAC,SAAS;YACpC,OAAO,WAAW,CAAC;QACrB,KAAK,OAAO,CAAC,eAAe,CAAC,IAAI;YAC/B,OAAO,MAAM,CAAC;QAChB;YACE,OAAO,aAAa,CAAC;IACzB,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,MAA6B;IAClD,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,OAAO,CAAC,aAAa,CAAC,GAAG;YAC5B,OAAO,KAAK,CAAC;QACf,KAAK,OAAO,CAAC,aAAa,CAAC,GAAG;YAC5B,OAAO,KAAK,CAAC;QACf,KAAK,OAAO,CAAC,aAAa,CAAC,KAAK;YAC9B,OAAO,OAAO,CAAC;QACjB,KAAK,OAAO,CAAC,aAAa,CAAC,MAAM;YAC/B,OAAO,QAAQ,CAAC;QAClB,KAAK,OAAO,CAAC,aAAa,CAAC,KAAK;YAC9B,OAAO,OAAO,CAAC;QACjB;YACE,OAAO,OAAO,CAAC;IACnB,CAAC;AACH,CAAC;AAED,6CAA6C;AAC7C,IAAI,MAAM,GAAmB,IAAI,CAAC"}