@promster/hapi 9.0.0 → 10.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.
@@ -1,6 +1,6 @@
1
- import type { TPromsterOptions } from '@promster/types';
2
- import type { Server } from '@hapi/hapi';
3
- import { createPlugin, getRequestRecorder, signalIsUp, signalIsNotUp } from './plugin';
1
+ import { type Server } from '@hapi/hapi';
2
+ import { type TPromsterOptions, createPlugin, getRequestRecorder, signalIsUp, signalIsNotUp } from "./plugin/index.js";
4
3
  import { getSummary, getContentType, Prometheus, defaultRegister, defaultNormalizers, timing } from '@promster/metrics';
5
4
  declare const instrument: (server: Server, options: TPromsterOptions) => Promise<Server<import("@hapi/hapi").ServerApplicationState> & void>;
6
- export { createPlugin, getRequestRecorder, signalIsUp, signalIsNotUp, getSummary, getContentType, Prometheus, defaultRegister, defaultNormalizers, instrument, timing, };
5
+ export { type TPromsterOptions, createPlugin, getRequestRecorder, signalIsUp, signalIsNotUp, getSummary, getContentType, Prometheus, defaultRegister, defaultNormalizers, instrument, timing, };
6
+ export * from '@promster/types';
@@ -1,2 +1,2 @@
1
- import { createPlugin, getRequestRecorder, signalIsUp, signalIsNotUp } from './plugin';
2
- export { createPlugin, getRequestRecorder, signalIsUp, signalIsNotUp };
1
+ import { type TPromsterOptions, createPlugin, getRequestRecorder, signalIsUp, signalIsNotUp } from "./plugin.js";
2
+ export { type TPromsterOptions, createPlugin, getRequestRecorder, signalIsUp, signalIsNotUp, };
@@ -1,12 +1,16 @@
1
- import type { TPromsterOptions } from '@promster/types';
2
- import type { TRequestRecorder } from '@promster/metrics';
3
- import type { Plugin } from '@hapi/hapi';
1
+ import { type TOptionalPromsterOptions, type TLabelValues } from '@promster/types';
2
+ import { type TRequestRecorder } from '@promster/metrics';
3
+ import { type Plugin, type Request, type ResponseObject } from '@hapi/hapi';
4
4
  declare const getRequestRecorder: () => TRequestRecorder;
5
5
  declare const signalIsUp: () => void;
6
6
  declare const signalIsNotUp: () => void;
7
7
  declare const getAreServerEventsSupported: (actualVersion: string) => boolean;
8
8
  declare const getDoesResponseNeedInvocation: (actualVersion: string) => boolean;
9
+ type TSkipFunction = <TRequest extends Request, TResponse extends ResponseObject>(_req: TRequest, _res: TResponse, _labels: TLabelValues) => boolean;
10
+ export type TPromsterOptions = TOptionalPromsterOptions & {
11
+ skip?: TSkipFunction;
12
+ };
9
13
  declare const createPlugin: ({ options: pluginOptions, }?: {
10
14
  options?: TPromsterOptions;
11
- }) => Plugin<unknown, void>;
15
+ }) => Plugin<unknown>;
12
16
  export { createPlugin, getRequestRecorder, signalIsUp, signalIsNotUp, getAreServerEventsSupported, getDoesResponseNeedInvocation, };
@@ -1 +1,2 @@
1
1
  export * from "./declarations/src/index";
2
+ //# sourceMappingURL=promster-hapi.cjs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"promster-hapi.cjs.d.ts","sourceRoot":"","sources":["./declarations/src/index.d.ts"],"names":[],"mappings":"AAAA"}
@@ -5,6 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var semver = require('semver');
6
6
  var merge = require('merge-options');
7
7
  var metrics = require('@promster/metrics');
8
+ var types = require('@promster/types');
8
9
 
9
10
  function _interopDefault (e) { return e && e.__esModule ? e : { 'default': e }; }
10
11
 
@@ -13,7 +14,7 @@ var merge__default = /*#__PURE__*/_interopDefault(merge);
13
14
 
14
15
  var pkg = {
15
16
  name: "@promster/hapi",
16
- version: "9.0.0",
17
+ version: "10.0.0",
17
18
  description: "Hapi server integrations of promster",
18
19
  main: "dist/promster-hapi.cjs.js",
19
20
  typings: "dist/promster-hapi.cjs.d.ts",
@@ -49,18 +50,19 @@ var pkg = {
49
50
  "prometheus"
50
51
  ],
51
52
  dependencies: {
52
- "@promster/metrics": "^10.0.0",
53
+ "@promster/metrics": "^11.0.0",
54
+ "@promster/types": "^5.0.0",
53
55
  "merge-options": "3.0.4",
54
56
  semver: "7.5.4",
55
- tslib: "2.4.1"
57
+ tslib: "2.6.2"
56
58
  },
57
59
  devDependencies: {
58
60
  "@hapi/boom": "10.0.1",
59
61
  "@hapi/hapi": "21.3.2",
60
- "@promster/types": "^4.0.0",
61
62
  "@types/hapi__hapi": "20.0.13",
62
63
  "parse-prometheus-text-format": "1.1.1",
63
- "@promster/server": "workspace:*"
64
+ "@promster/server": "workspace:*",
65
+ "@types/semver": "7.5.1"
64
66
  }
65
67
  };
66
68
 
@@ -106,7 +108,9 @@ const createPlugin = ({
106
108
  } = {
107
109
  options: undefined
108
110
  }) => {
109
- const allDefaultedOptions = merge__default["default"](metrics.createHttpMetrics.defaultOptions, metrics.createGcMetrics.defaultOptions, metrics.createRequestRecorder.defaultOptions, metrics.createGcObserver.defaultOptions, metrics.defaultNormalizers, pluginOptions);
111
+ const allDefaultedOptions = merge__default["default"](metrics.createHttpMetrics.defaultOptions, metrics.createGcMetrics.defaultOptions, metrics.createRequestRecorder.defaultOptions,
112
+ // @ts-expect-error
113
+ metrics.createGcObserver.defaultOptions, metrics.defaultNormalizers, pluginOptions);
110
114
  const shouldSkipMetricsByEnvironment = metrics.skipMetricsInEnvironment(allDefaultedOptions);
111
115
  const httpMetrics = metrics.createHttpMetrics(allDefaultedOptions);
112
116
  const gcMetrics = metrics.createGcMetrics(allDefaultedOptions);
@@ -141,6 +145,7 @@ const createPlugin = ({
141
145
  req: request,
142
146
  res: response
143
147
  }),
148
+ // eslint-disable-next-line camelcase
144
149
  status_code: allDefaultedOptions.normalizeStatusCode(extractStatusCode(request), {
145
150
  req: request,
146
151
  res: response
@@ -157,6 +162,8 @@ const createPlugin = ({
157
162
  responseContentLength
158
163
  });
159
164
  }
165
+
166
+ // @ts-expect-error - this is the older Hapi version
160
167
  if (doesResponseNeedInvocation) response.continue();
161
168
  };
162
169
 
@@ -222,3 +229,9 @@ exports.getRequestRecorder = getRequestRecorder;
222
229
  exports.instrument = instrument;
223
230
  exports.signalIsNotUp = signalIsNotUp;
224
231
  exports.signalIsUp = signalIsUp;
232
+ Object.keys(types).forEach(function (k) {
233
+ if (k !== 'default' && !exports.hasOwnProperty(k)) Object.defineProperty(exports, k, {
234
+ enumerable: true,
235
+ get: function () { return types[k]; }
236
+ });
237
+ });
@@ -5,6 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var semver = require('semver');
6
6
  var merge = require('merge-options');
7
7
  var metrics = require('@promster/metrics');
8
+ var types = require('@promster/types');
8
9
 
9
10
  function _interopDefault (e) { return e && e.__esModule ? e : { 'default': e }; }
10
11
 
@@ -13,7 +14,7 @@ var merge__default = /*#__PURE__*/_interopDefault(merge);
13
14
 
14
15
  var pkg = {
15
16
  name: "@promster/hapi",
16
- version: "9.0.0",
17
+ version: "10.0.0",
17
18
  description: "Hapi server integrations of promster",
18
19
  main: "dist/promster-hapi.cjs.js",
19
20
  typings: "dist/promster-hapi.cjs.d.ts",
@@ -49,18 +50,19 @@ var pkg = {
49
50
  "prometheus"
50
51
  ],
51
52
  dependencies: {
52
- "@promster/metrics": "^10.0.0",
53
+ "@promster/metrics": "^11.0.0",
54
+ "@promster/types": "^5.0.0",
53
55
  "merge-options": "3.0.4",
54
56
  semver: "7.5.4",
55
- tslib: "2.4.1"
57
+ tslib: "2.6.2"
56
58
  },
57
59
  devDependencies: {
58
60
  "@hapi/boom": "10.0.1",
59
61
  "@hapi/hapi": "21.3.2",
60
- "@promster/types": "^4.0.0",
61
62
  "@types/hapi__hapi": "20.0.13",
62
63
  "parse-prometheus-text-format": "1.1.1",
63
- "@promster/server": "workspace:*"
64
+ "@promster/server": "workspace:*",
65
+ "@types/semver": "7.5.1"
64
66
  }
65
67
  };
66
68
 
@@ -106,7 +108,9 @@ const createPlugin = ({
106
108
  } = {
107
109
  options: undefined
108
110
  }) => {
109
- const allDefaultedOptions = merge__default["default"](metrics.createHttpMetrics.defaultOptions, metrics.createGcMetrics.defaultOptions, metrics.createRequestRecorder.defaultOptions, metrics.createGcObserver.defaultOptions, metrics.defaultNormalizers, pluginOptions);
111
+ const allDefaultedOptions = merge__default["default"](metrics.createHttpMetrics.defaultOptions, metrics.createGcMetrics.defaultOptions, metrics.createRequestRecorder.defaultOptions,
112
+ // @ts-expect-error
113
+ metrics.createGcObserver.defaultOptions, metrics.defaultNormalizers, pluginOptions);
110
114
  const shouldSkipMetricsByEnvironment = metrics.skipMetricsInEnvironment(allDefaultedOptions);
111
115
  const httpMetrics = metrics.createHttpMetrics(allDefaultedOptions);
112
116
  const gcMetrics = metrics.createGcMetrics(allDefaultedOptions);
@@ -141,6 +145,7 @@ const createPlugin = ({
141
145
  req: request,
142
146
  res: response
143
147
  }),
148
+ // eslint-disable-next-line camelcase
144
149
  status_code: allDefaultedOptions.normalizeStatusCode(extractStatusCode(request), {
145
150
  req: request,
146
151
  res: response
@@ -157,6 +162,8 @@ const createPlugin = ({
157
162
  responseContentLength
158
163
  });
159
164
  }
165
+
166
+ // @ts-expect-error - this is the older Hapi version
160
167
  if (doesResponseNeedInvocation) response.continue();
161
168
  };
162
169
 
@@ -222,3 +229,9 @@ exports.getRequestRecorder = getRequestRecorder;
222
229
  exports.instrument = instrument;
223
230
  exports.signalIsNotUp = signalIsNotUp;
224
231
  exports.signalIsUp = signalIsUp;
232
+ Object.keys(types).forEach(function (k) {
233
+ if (k !== 'default' && !exports.hasOwnProperty(k)) Object.defineProperty(exports, k, {
234
+ enumerable: true,
235
+ get: function () { return types[k]; }
236
+ });
237
+ });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@promster/hapi",
3
- "version": "9.0.0",
3
+ "version": "10.0.0",
4
4
  "description": "Hapi server integrations of promster",
5
5
  "main": "dist/promster-hapi.cjs.js",
6
6
  "typings": "dist/promster-hapi.cjs.d.ts",
@@ -36,17 +36,18 @@
36
36
  "prometheus"
37
37
  ],
38
38
  "dependencies": {
39
- "@promster/metrics": "^10.0.0",
39
+ "@promster/metrics": "^11.0.0",
40
+ "@promster/types": "^5.0.0",
40
41
  "merge-options": "3.0.4",
41
42
  "semver": "7.5.4",
42
- "tslib": "2.4.1"
43
+ "tslib": "2.6.2"
43
44
  },
44
45
  "devDependencies": {
45
46
  "@hapi/boom": "10.0.1",
46
47
  "@hapi/hapi": "21.3.2",
47
- "@promster/types": "^4.0.0",
48
48
  "@types/hapi__hapi": "20.0.13",
49
49
  "parse-prometheus-text-format": "1.1.1",
50
- "@promster/server": "8.0.0"
50
+ "@types/semver": "7.5.1",
51
+ "@promster/server": "9.0.0"
51
52
  }
52
53
  }