@lokalise/fastify-extras 13.1.0 → 14.0.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/dist/index.d.ts CHANGED
@@ -13,5 +13,5 @@ export type { ErrorObjectResolver, MetricsPluginOptions } from './plugins/metric
13
13
  export { prismaOtelTracingPlugin } from './plugins/opentelemetry/prismaOtelTracingPlugin';
14
14
  export type { PrismaOtelTracingPluginConfig } from './plugins/opentelemetry/prismaOtelTracingPlugin';
15
15
  export { publicHealthcheckPlugin } from './plugins/publicHealthcheckPlugin';
16
- export type { PublicHealthcheckPluginOptions, HealthCheck } from './plugins/publicHealthcheckPlugin';
16
+ export type { PublicHealthcheckPluginOptions, HealthCheck, HealthChecker, } from './plugins/publicHealthcheckPlugin';
17
17
  export { amplitudePlugin, Amplitude, type AmplitudeConfig, type CreateApiTrackingEventFn, } from './plugins/amplitudePlugin';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":";;;AAAA,yDAA6E;AAApE,8GAAA,aAAa,OAAA;AAAE,qHAAA,oBAAoB,OAAA;AAG5C,uFAI+C;AAH7C,4IAAA,4BAA4B,OAAA;AAC5B,4IAAA,4BAA4B,OAAA;AAC5B,oIAAA,oBAAoB,OAAA;AAItB,+FAGmD;AAFjD,oJAAA,gCAAgC,OAAA;AAChC,8IAAA,0BAA0B,OAAA;AAI5B,qFAG8C;AAF5C,0IAAA,2BAA2B,OAAA;AAC3B,oIAAA,qBAAqB,OAAA;AAIvB,+EAA6E;AAApE,oIAAA,wBAAwB,OAAA;AAOjC,yDAAuD;AAA9C,8GAAA,aAAa,OAAA;AAGtB,2FAAyF;AAAhF,kIAAA,uBAAuB,OAAA;AAGhC,6EAA2E;AAAlE,kIAAA,uBAAuB,OAAA;AAGhC,6DAKkC;AAJhC,kHAAA,eAAe,OAAA;AACf,4GAAA,SAAS,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":";;;AAAA,yDAA6E;AAApE,8GAAA,aAAa,OAAA;AAAE,qHAAA,oBAAoB,OAAA;AAG5C,uFAI+C;AAH7C,4IAAA,4BAA4B,OAAA;AAC5B,4IAAA,4BAA4B,OAAA;AAC5B,oIAAA,oBAAoB,OAAA;AAItB,+FAGmD;AAFjD,oJAAA,gCAAgC,OAAA;AAChC,8IAAA,0BAA0B,OAAA;AAI5B,qFAG8C;AAF5C,0IAAA,2BAA2B,OAAA;AAC3B,oIAAA,qBAAqB,OAAA;AAIvB,+EAA6E;AAApE,oIAAA,wBAAwB,OAAA;AAOjC,yDAAuD;AAA9C,8GAAA,aAAa,OAAA;AAGtB,2FAAyF;AAAhF,kIAAA,uBAAuB,OAAA;AAGhC,6EAA2E;AAAlE,kIAAA,uBAAuB,OAAA;AAOhC,6DAKkC;AAJhC,kHAAA,eAAe,OAAA;AACf,4GAAA,SAAS,OAAA"}
@@ -1,4 +1,3 @@
1
- import type { Either } from '@lokalise/node-core';
2
1
  import type { FastifyInstance } from 'fastify';
3
2
  export interface HealthcheckMetricsPluginOptions {
4
3
  healthChecks: readonly PrometheusHealthCheck[];
@@ -9,7 +8,7 @@ export type HealthcheckResult = {
9
8
  };
10
9
  export type PrometheusHealthCheck = {
11
10
  name: string;
12
- checker: (app: FastifyInstance) => Promise<Either<Error, HealthcheckResult>>;
11
+ checker: (app: FastifyInstance) => Promise<HealthcheckResult>;
13
12
  };
14
13
  declare function plugin(app: FastifyInstance, opts: HealthcheckMetricsPluginOptions, done: (err?: Error) => void): void;
15
14
  export declare const healthcheckMetricsPlugin: typeof plugin;
@@ -25,7 +25,7 @@ function plugin(app, opts, done) {
25
25
  help: `Whether ${check.name} was available at the time`,
26
26
  async collect() {
27
27
  const checkResult = await check.checker(app);
28
- if (checkResult.result?.checkPassed) {
28
+ if (checkResult.checkPassed) {
29
29
  this.set(1);
30
30
  }
31
31
  else {
@@ -38,11 +38,11 @@ function plugin(app, opts, done) {
38
38
  help: `How long the healthcheck for ${check.name} took`,
39
39
  async collect() {
40
40
  const checkResult = await check.checker(app);
41
- if (checkResult.result?.checkPassed) {
42
- this.set(checkResult.result.checkTimeInMsecs);
41
+ if (checkResult.checkPassed) {
42
+ this.set(checkResult.checkTimeInMsecs);
43
43
  }
44
44
  else {
45
- this.set(checkResult.result?.checkTimeInMsecs ?? 0);
45
+ this.set(checkResult.checkTimeInMsecs ?? 0);
46
46
  }
47
47
  },
48
48
  });
@@ -1 +1 @@
1
- {"version":3,"file":"healthcheckMetricsPlugin.js","sourceRoot":"","sources":["../../lib/plugins/healthcheckMetricsPlugin.ts"],"names":[],"mappings":";;;;AAEA,4EAA+B;AAE/B,MAAM,2BAA2B,GAAG,0BAA0B,CAAA;AAgB9D,SAAS,MAAM,CACb,GAAoB,EACpB,IAAqC,EACrC,IAA2B;IAE3B,MAAM,YAAY,GAAG,EAAE,CAAA;IAEvB,KAAK,MAAM,WAAW,IAAI,IAAI,CAAC,YAAY,EAAE;QAC3C,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE;YACvD,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;SACpC;KACF;IAED,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;QAC3B,OAAO,IAAI,CAAC,IAAI,KAAK,CAAC,8BAA8B,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAA;KACrF;IAED,IAAI;QACF,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,CAAA;QACrC,IAAI,CAAC,UAAU,EAAE;YACf,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAA;SACvD;QAED,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,YAAY,EAAE;YACrC,IAAI,UAAU,CAAC,KAAK,CAAC;gBACnB,IAAI,EAAE,GAAG,KAAK,CAAC,IAAI,eAAe;gBAClC,IAAI,EAAE,WAAW,KAAK,CAAC,IAAI,4BAA4B;gBACvD,KAAK,CAAC,OAAO;oBACX,MAAM,WAAW,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;oBAE5C,IAAI,WAAW,CAAC,MAAM,EAAE,WAAW,EAAE;wBACnC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;qBACZ;yBAAM;wBACL,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;qBACZ;gBACH,CAAC;aACF,CAAC,CAAA;YAEF,IAAI,UAAU,CAAC,KAAK,CAAC;gBACnB,IAAI,EAAE,GAAG,KAAK,CAAC,IAAI,gBAAgB;gBACnC,IAAI,EAAE,gCAAgC,KAAK,CAAC,IAAI,OAAO;gBACvD,KAAK,CAAC,OAAO;oBACX,MAAM,WAAW,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;oBAE5C,IAAI,WAAW,CAAC,MAAM,EAAE,WAAW,EAAE;wBACnC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAA;qBAC9C;yBAAM;wBACL,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,EAAE,gBAAgB,IAAI,CAAC,CAAC,CAAA;qBACpD;gBACH,CAAC;aACF,CAAC,CAAA;SACH;KACF;IAAC,OAAO,GAAY,EAAE;QACrB,OAAO,IAAI,CAAC,GAAY,CAAC,CAAA;KAC1B;IAED,IAAI,EAAE,CAAA;AACR,CAAC;AAEY,QAAA,wBAAwB,GAAG,IAAA,wBAAE,EAAC,MAAM,EAAE;IACjD,OAAO,EAAE,KAAK;IACd,IAAI,EAAE,4BAA4B;CACnC,CAAC,CAAA"}
1
+ {"version":3,"file":"healthcheckMetricsPlugin.js","sourceRoot":"","sources":["../../lib/plugins/healthcheckMetricsPlugin.ts"],"names":[],"mappings":";;;;AACA,4EAA+B;AAE/B,MAAM,2BAA2B,GAAG,0BAA0B,CAAA;AAgB9D,SAAS,MAAM,CACb,GAAoB,EACpB,IAAqC,EACrC,IAA2B;IAE3B,MAAM,YAAY,GAAG,EAAE,CAAA;IAEvB,KAAK,MAAM,WAAW,IAAI,IAAI,CAAC,YAAY,EAAE;QAC3C,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE;YACvD,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;SACpC;KACF;IAED,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;QAC3B,OAAO,IAAI,CAAC,IAAI,KAAK,CAAC,8BAA8B,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAA;KACrF;IAED,IAAI;QACF,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,CAAA;QACrC,IAAI,CAAC,UAAU,EAAE;YACf,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAA;SACvD;QAED,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,YAAY,EAAE;YACrC,IAAI,UAAU,CAAC,KAAK,CAAC;gBACnB,IAAI,EAAE,GAAG,KAAK,CAAC,IAAI,eAAe;gBAClC,IAAI,EAAE,WAAW,KAAK,CAAC,IAAI,4BAA4B;gBACvD,KAAK,CAAC,OAAO;oBACX,MAAM,WAAW,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;oBAE5C,IAAI,WAAW,CAAC,WAAW,EAAE;wBAC3B,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;qBACZ;yBAAM;wBACL,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;qBACZ;gBACH,CAAC;aACF,CAAC,CAAA;YAEF,IAAI,UAAU,CAAC,KAAK,CAAC;gBACnB,IAAI,EAAE,GAAG,KAAK,CAAC,IAAI,gBAAgB;gBACnC,IAAI,EAAE,gCAAgC,KAAK,CAAC,IAAI,OAAO;gBACvD,KAAK,CAAC,OAAO;oBACX,MAAM,WAAW,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;oBAE5C,IAAI,WAAW,CAAC,WAAW,EAAE;wBAC3B,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAA;qBACvC;yBAAM;wBACL,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,gBAAgB,IAAI,CAAC,CAAC,CAAA;qBAC5C;gBACH,CAAC;aACF,CAAC,CAAA;SACH;KACF;IAAC,OAAO,GAAY,EAAE;QACrB,OAAO,IAAI,CAAC,GAAY,CAAC,CAAA;KAC1B;IAED,IAAI,EAAE,CAAA;AACR,CAAC;AAEY,QAAA,wBAAwB,GAAG,IAAA,wBAAE,EAAC,MAAM,EAAE;IACjD,OAAO,EAAE,KAAK;IACd,IAAI,EAAE,4BAA4B;CACnC,CAAC,CAAA"}
@@ -31,10 +31,8 @@ describe('healthcheckMetricsPlugin', () => {
31
31
  // eslint-disable-next-line @typescript-eslint/require-await
32
32
  checker: async () => {
33
33
  return {
34
- result: {
35
- checkPassed: true,
36
- checkTimeInMsecs: 345,
37
- },
34
+ checkPassed: true,
35
+ checkTimeInMsecs: 345,
38
36
  };
39
37
  },
40
38
  },
@@ -52,10 +50,8 @@ describe('healthcheckMetricsPlugin', () => {
52
50
  // eslint-disable-next-line @typescript-eslint/require-await
53
51
  checker: async () => {
54
52
  return {
55
- result: {
56
- checkPassed: false,
57
- checkTimeInMsecs: 1450,
58
- },
53
+ checkPassed: false,
54
+ checkTimeInMsecs: 1450,
59
55
  };
60
56
  },
61
57
  },
@@ -73,10 +69,8 @@ describe('healthcheckMetricsPlugin', () => {
73
69
  // eslint-disable-next-line @typescript-eslint/require-await
74
70
  checker: async () => {
75
71
  return {
76
- result: {
77
- checkPassed: true,
78
- checkTimeInMsecs: 345,
79
- },
72
+ checkPassed: true,
73
+ checkTimeInMsecs: 345,
80
74
  };
81
75
  },
82
76
  },
@@ -85,10 +79,8 @@ describe('healthcheckMetricsPlugin', () => {
85
79
  // eslint-disable-next-line @typescript-eslint/require-await
86
80
  checker: async () => {
87
81
  return {
88
- result: {
89
- checkPassed: false,
90
- checkTimeInMsecs: 1450,
91
- },
82
+ checkPassed: false,
83
+ checkTimeInMsecs: 1450,
92
84
  };
93
85
  },
94
86
  },
@@ -108,10 +100,8 @@ describe('healthcheckMetricsPlugin', () => {
108
100
  // eslint-disable-next-line @typescript-eslint/require-await
109
101
  checker: async () => {
110
102
  return {
111
- result: {
112
- checkPassed: false,
113
- checkTimeInMsecs: 1450,
114
- },
103
+ checkPassed: false,
104
+ checkTimeInMsecs: 1450,
115
105
  };
116
106
  },
117
107
  },
@@ -1 +1 @@
1
- {"version":3,"file":"healthcheckMetricsPlugin.spec.js","sourceRoot":"","sources":["../../lib/plugins/healthcheckMetricsPlugin.spec.ts"],"names":[],"mappings":";;;AAAA,mDAA0D;AAE1D,8DAA6B;AAG7B,yEAAqE;AACrE,mDAA+C;AAE/C,IAAI,GAAoB,CAAA;AAExB,KAAK,UAAU,OAAO,CAAC,YAAqC;IAC1D,MAAM,OAAO,GAAG,IAAA,iBAAO,GAAE,CAAA;IACzB,GAAG,GAAG,OAAO,CAAA;IACb,MAAM,GAAG,CAAC,QAAQ,CAAC,6BAAa,EAAE;QAChC,WAAW,EAAE,SAAS;QACtB,aAAa,EAAE,KAAK;QACpB,mBAAmB,EAAE,CAAC,GAAY,EAAE,EAAE,CAAC,GAAG;KAC3C,CAAC,CAAA;IACF,MAAM,GAAG,CAAC,QAAQ,CAAC,mDAAwB,EAAE;QAC3C,YAAY;KACb,CAAC,CAAA;IAEF,MAAM,GAAG,CAAC,KAAK,EAAE,CAAA;IACjB,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,QAAQ,CAAC,0BAA0B,EAAE,GAAG,EAAE;IACxC,SAAS,CAAC,KAAK,IAAI,EAAE;QACnB,MAAM,GAAG,CAAC,KAAK,EAAE,CAAA;IACnB,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;QACpD,GAAG,GAAG,MAAM,OAAO,CAAC;YAClB;gBACE,IAAI,EAAE,kBAAkB;gBACxB,4DAA4D;gBAC5D,OAAO,EAAE,KAAK,IAAI,EAAE;oBAClB,OAAO;wBACL,MAAM,EAAE;4BACN,WAAW,EAAE,IAAI;4BACjB,gBAAgB,EAAE,GAAG;yBACtB;qBACF,CAAA;gBACH,CAAC;aACF;SACF,CAAC,CAAA;QAEF,MAAM,QAAQ,GAAG,MAAM,IAAA,mBAAO,EAAC,IAAA,uBAAW,EAAC,uBAAuB,CAAC,EAAE,UAAU,CAAC,CAAA;QAEhF,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QACjC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAC5C,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,iCAAiC,CAAC,CAAA;QACzE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,oCAAoC,CAAC,CAAA;IAC9E,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;QACpD,GAAG,GAAG,MAAM,OAAO,CAAC;YAClB;gBACE,IAAI,EAAE,kBAAkB;gBACxB,4DAA4D;gBAC5D,OAAO,EAAE,KAAK,IAAI,EAAE;oBAClB,OAAO;wBACL,MAAM,EAAE;4BACN,WAAW,EAAE,KAAK;4BAClB,gBAAgB,EAAE,IAAI;yBACvB;qBACF,CAAA;gBACH,CAAC;aACF;SACF,CAAC,CAAA;QAEF,MAAM,QAAQ,GAAG,MAAM,IAAA,mBAAO,EAAC,IAAA,uBAAW,EAAC,uBAAuB,CAAC,EAAE,UAAU,CAAC,CAAA;QAEhF,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QACjC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAC5C,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,iCAAiC,CAAC,CAAA;QACzE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,qCAAqC,CAAC,CAAA;IAC/E,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE;QACjD,GAAG,GAAG,MAAM,OAAO,CAAC;YAClB;gBACE,IAAI,EAAE,oBAAoB;gBAC1B,4DAA4D;gBAC5D,OAAO,EAAE,KAAK,IAAI,EAAE;oBAClB,OAAO;wBACL,MAAM,EAAE;4BACN,WAAW,EAAE,IAAI;4BACjB,gBAAgB,EAAE,GAAG;yBACtB;qBACF,CAAA;gBACH,CAAC;aACF;YACD;gBACE,IAAI,EAAE,oBAAoB;gBAC1B,4DAA4D;gBAC5D,OAAO,EAAE,KAAK,IAAI,EAAE;oBAClB,OAAO;wBACL,MAAM,EAAE;4BACN,WAAW,EAAE,KAAK;4BAClB,gBAAgB,EAAE,IAAI;yBACvB;qBACF,CAAA;gBACH,CAAC;aACF;SACF,CAAC,CAAA;QAEF,MAAM,QAAQ,GAAG,MAAM,IAAA,mBAAO,EAAC,IAAA,uBAAW,EAAC,uBAAuB,CAAC,EAAE,UAAU,CAAC,CAAA;QAEhF,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QACjC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAC5C,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,mCAAmC,CAAC,CAAA;QAC3E,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,sCAAsC,CAAC,CAAA;QAE9E,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,mCAAmC,CAAC,CAAA;QAC3E,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,uCAAuC,CAAC,CAAA;IACjF,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;QAClD,MAAM,MAAM,CACV,OAAO,CAAC;YACN;gBACE,IAAI,EAAE,kBAAkB;gBACxB,4DAA4D;gBAC5D,OAAO,EAAE,KAAK,IAAI,EAAE;oBAClB,OAAO;wBACL,MAAM,EAAE;4BACN,WAAW,EAAE,KAAK;4BAClB,gBAAgB,EAAE,IAAI;yBACvB;qBACF,CAAA;gBACH,CAAC;aACF;SACF,CAAC,CACH,CAAC,OAAO,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAA;IAC1C,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"healthcheckMetricsPlugin.spec.js","sourceRoot":"","sources":["../../lib/plugins/healthcheckMetricsPlugin.spec.ts"],"names":[],"mappings":"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"}
@@ -2,9 +2,15 @@ import type { Either } from '@lokalise/node-core';
2
2
  import type { FastifyInstance } from 'fastify';
3
3
  export interface PublicHealthcheckPluginOptions {
4
4
  responsePayload?: Record<string, unknown>;
5
+ url?: string;
6
+ logLevel?: 'fatal' | 'error' | 'warn' | 'info' | 'debug' | 'trace' | 'silent';
5
7
  healthChecks: readonly HealthCheck[];
6
8
  }
7
- export type HealthCheck = (app: FastifyInstance) => Promise<Either<Error, true>>;
9
+ export type HealthChecker = (app: FastifyInstance) => Promise<Either<Error, true>>;
10
+ export type HealthCheck = {
11
+ isMandatory: boolean;
12
+ checker: HealthChecker;
13
+ };
8
14
  declare function plugin(app: FastifyInstance, opts: PublicHealthcheckPluginOptions, done: () => void): void;
9
15
  export declare const publicHealthcheckPlugin: typeof plugin;
10
16
  export {};
@@ -6,29 +6,37 @@ const fastify_plugin_1 = tslib_1.__importDefault(require("fastify-plugin"));
6
6
  function plugin(app, opts, done) {
7
7
  const responsePayload = opts.responsePayload ?? {};
8
8
  app.route({
9
- url: '/',
9
+ url: opts.url ?? '/health',
10
10
  method: 'GET',
11
- logLevel: 'debug',
11
+ logLevel: opts.logLevel ?? 'info',
12
12
  schema: {
13
13
  // hide route from swagger plugins
14
14
  // @ts-expect-error
15
15
  hide: true,
16
16
  },
17
17
  handler: async (_, reply) => {
18
- let isHealthy = true;
18
+ let isFullyHealthy = true;
19
+ let isPartiallyHealthy = false;
19
20
  if (opts.healthChecks.length) {
20
21
  const results = await Promise.all(opts.healthChecks.map((healthcheck) => {
21
- return healthcheck(app);
22
+ return healthcheck.checker(app);
22
23
  }));
23
- if (results.find((entry) => {
24
- return !!entry.error;
25
- })) {
26
- isHealthy = false;
24
+ for (let i = 0; i < results.length; i++) {
25
+ const entry = results[i];
26
+ if (entry.error && opts.healthChecks[i].isMandatory) {
27
+ isFullyHealthy = false;
28
+ isPartiallyHealthy = false;
29
+ break;
30
+ }
31
+ if (entry.error && !opts.healthChecks[i].isMandatory) {
32
+ isFullyHealthy = false;
33
+ isPartiallyHealthy = true;
34
+ }
27
35
  }
28
36
  }
29
- return reply.status(isHealthy ? 200 : 500).send({
37
+ return reply.status(isFullyHealthy || isPartiallyHealthy ? 200 : 500).send({
30
38
  ...responsePayload,
31
- heartbeat: isHealthy ? 'HEALTHY' : 'FAIL',
39
+ heartbeat: isFullyHealthy ? 'HEALTHY' : isPartiallyHealthy ? 'PARTIALLY_HEALTHY' : 'FAIL',
32
40
  });
33
41
  },
34
42
  });
@@ -1 +1 @@
1
- {"version":3,"file":"publicHealthcheckPlugin.js","sourceRoot":"","sources":["../../lib/plugins/publicHealthcheckPlugin.ts"],"names":[],"mappings":";;;;AAEA,4EAA+B;AAS/B,SAAS,MAAM,CAAC,GAAoB,EAAE,IAAoC,EAAE,IAAgB;IAC1F,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,IAAI,EAAE,CAAA;IAClD,GAAG,CAAC,KAAK,CAAC;QACR,GAAG,EAAE,GAAG;QACR,MAAM,EAAE,KAAK;QACb,QAAQ,EAAE,OAAO;QACjB,MAAM,EAAE;YACN,kCAAkC;YAClC,mBAAmB;YACnB,IAAI,EAAE,IAAI;SACX;QACD,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE;YAC1B,IAAI,SAAS,GAAG,IAAI,CAAA;YACpB,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE;gBAC5B,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/B,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE;oBACpC,OAAO,WAAW,CAAC,GAAG,CAAC,CAAA;gBACzB,CAAC,CAAC,CACH,CAAA;gBACD,IACE,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;oBACrB,OAAO,CAAC,CAAC,KAAK,CAAC,KAAK,CAAA;gBACtB,CAAC,CAAC,EACF;oBACA,SAAS,GAAG,KAAK,CAAA;iBAClB;aACF;YAED,OAAO,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBAC9C,GAAG,eAAe;gBAClB,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM;aAC1C,CAAC,CAAA;QACJ,CAAC;KACF,CAAC,CAAA;IACF,IAAI,EAAE,CAAA;AACR,CAAC;AAEY,QAAA,uBAAuB,GAAG,IAAA,wBAAE,EAAC,MAAM,EAAE;IAChD,OAAO,EAAE,KAAK;IACd,IAAI,EAAE,2BAA2B;CAClC,CAAC,CAAA"}
1
+ {"version":3,"file":"publicHealthcheckPlugin.js","sourceRoot":"","sources":["../../lib/plugins/publicHealthcheckPlugin.ts"],"names":[],"mappings":";;;;AAEA,4EAA+B;AAgB/B,SAAS,MAAM,CAAC,GAAoB,EAAE,IAAoC,EAAE,IAAgB;IAC1F,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,IAAI,EAAE,CAAA;IAClD,GAAG,CAAC,KAAK,CAAC;QACR,GAAG,EAAE,IAAI,CAAC,GAAG,IAAI,SAAS;QAC1B,MAAM,EAAE,KAAK;QACb,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,MAAM;QACjC,MAAM,EAAE;YACN,kCAAkC;YAClC,mBAAmB;YACnB,IAAI,EAAE,IAAI;SACX;QACD,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE;YAC1B,IAAI,cAAc,GAAG,IAAI,CAAA;YACzB,IAAI,kBAAkB,GAAG,KAAK,CAAA;YAC9B,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE;gBAC5B,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/B,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE;oBACpC,OAAO,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;gBACjC,CAAC,CAAC,CACH,CAAA;gBAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACvC,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;oBACxB,IAAI,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;wBACnD,cAAc,GAAG,KAAK,CAAA;wBACtB,kBAAkB,GAAG,KAAK,CAAA;wBAC1B,MAAK;qBACN;oBACD,IAAI,KAAK,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;wBACpD,cAAc,GAAG,KAAK,CAAA;wBACtB,kBAAkB,GAAG,IAAI,CAAA;qBAC1B;iBACF;aACF;YAED,OAAO,KAAK,CAAC,MAAM,CAAC,cAAc,IAAI,kBAAkB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBACzE,GAAG,eAAe;gBAClB,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,MAAM;aAC1F,CAAC,CAAA;QACJ,CAAC;KACF,CAAC,CAAA;IACF,IAAI,EAAE,CAAA;AACR,CAAC;AAEY,QAAA,uBAAuB,GAAG,IAAA,wBAAE,EAAC,MAAM,EAAE;IAChD,OAAO,EAAE,KAAK;IACd,IAAI,EAAE,2BAA2B;CAClC,CAAC,CAAA"}
@@ -3,10 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
4
  const fastify_1 = tslib_1.__importDefault(require("fastify"));
5
5
  const publicHealthcheckPlugin_1 = require("./publicHealthcheckPlugin");
6
- const positiveHealthcheck = () => {
6
+ const positiveHealthcheckChecker = () => {
7
7
  return Promise.resolve({ result: true });
8
8
  };
9
- const negativeHealthcheck = () => {
9
+ const negativeHealthcheckChecker = () => {
10
10
  return Promise.resolve({ error: new Error('Something exploded') });
11
11
  };
12
12
  async function initApp(opts) {
@@ -22,31 +22,73 @@ describe('publicHealthcheckPlugin', () => {
22
22
  });
23
23
  it('returns a heartbeat', async () => {
24
24
  app = await initApp({ healthChecks: [] });
25
+ const response = await app.inject().get('/health').end();
26
+ expect(response.statusCode).toBe(200);
27
+ expect(response.json()).toEqual({ heartbeat: 'HEALTHY' });
28
+ });
29
+ it('returns a heartbeat on a custom endpoint', async () => {
30
+ app = await initApp({ healthChecks: [], url: '/' });
25
31
  const response = await app.inject().get('/').end();
26
32
  expect(response.statusCode).toBe(200);
27
33
  expect(response.json()).toEqual({ heartbeat: 'HEALTHY' });
28
34
  });
29
35
  it('returns custom heartbeat', async () => {
30
36
  app = await initApp({ responsePayload: { version: 1 }, healthChecks: [] });
31
- const response = await app.inject().get('/').end();
37
+ const response = await app.inject().get('/health').end();
32
38
  expect(response.statusCode).toBe(200);
33
39
  expect(response.json()).toEqual({ heartbeat: 'HEALTHY', version: 1 });
34
40
  });
35
- it('returns false if one healthcheck fails', async () => {
41
+ it('returns false if one mandatory healthcheck fails', async () => {
36
42
  app = await initApp({
37
43
  responsePayload: { version: 1 },
38
- healthChecks: [negativeHealthcheck, positiveHealthcheck],
44
+ healthChecks: [
45
+ {
46
+ isMandatory: true,
47
+ checker: negativeHealthcheckChecker,
48
+ },
49
+ {
50
+ isMandatory: true,
51
+ checker: positiveHealthcheckChecker,
52
+ },
53
+ ],
39
54
  });
40
- const response = await app.inject().get('/').end();
55
+ const response = await app.inject().get('/health').end();
41
56
  expect(response.statusCode).toBe(500);
42
57
  expect(response.json()).toEqual({ heartbeat: 'FAIL', version: 1 });
43
58
  });
59
+ it('returns partial if optional healthcheck fails', async () => {
60
+ app = await initApp({
61
+ responsePayload: { version: 1 },
62
+ healthChecks: [
63
+ {
64
+ isMandatory: false,
65
+ checker: negativeHealthcheckChecker,
66
+ },
67
+ {
68
+ isMandatory: true,
69
+ checker: positiveHealthcheckChecker,
70
+ },
71
+ ],
72
+ });
73
+ const response = await app.inject().get('/health').end();
74
+ expect(response.statusCode).toBe(200);
75
+ expect(response.json()).toEqual({ heartbeat: 'PARTIALLY_HEALTHY', version: 1 });
76
+ });
44
77
  it('returns true if all healthchecks pass', async () => {
45
78
  app = await initApp({
46
79
  responsePayload: { version: 1 },
47
- healthChecks: [positiveHealthcheck, positiveHealthcheck],
80
+ healthChecks: [
81
+ {
82
+ isMandatory: true,
83
+ checker: positiveHealthcheckChecker,
84
+ },
85
+ {
86
+ isMandatory: true,
87
+ checker: positiveHealthcheckChecker,
88
+ },
89
+ ],
48
90
  });
49
- const response = await app.inject().get('/').end();
91
+ const response = await app.inject().get('/health').end();
50
92
  expect(response.statusCode).toBe(200);
51
93
  expect(response.json()).toEqual({ heartbeat: 'HEALTHY', version: 1 });
52
94
  });
@@ -1 +1 @@
1
- {"version":3,"file":"publicHealthcheckPlugin.spec.js","sourceRoot":"","sources":["../../lib/plugins/publicHealthcheckPlugin.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"publicHealthcheckPlugin.spec.js","sourceRoot":"","sources":["../../lib/plugins/publicHealthcheckPlugin.spec.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lokalise/fastify-extras",
3
- "version": "13.1.0",
3
+ "version": "14.0.0",
4
4
  "description": "Opinionated set of fastify plugins, commonly used in Lokalise",
5
5
  "author": {
6
6
  "name": "Lokalise",