@promster/hapi 14.0.0 → 15.0.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/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2020 suǝʞǝǝpʇ
3
+ Copyright (c) 2025 suǝʞǝǝpʇ
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
@@ -1,6 +1,6 @@
1
- import { type Server } from '@hapi/hapi';
2
- import { type TPromsterOptions, createPlugin, getRequestRecorder, signalIsUp, signalIsNotUp } from "./plugin/index.js";
3
- import { getSummary, getContentType, Prometheus, defaultRegister, defaultNormalizers, timing } from '@promster/metrics';
1
+ import type { Server } from '@hapi/hapi';
2
+ import { Prometheus, defaultNormalizers, defaultRegister, getContentType, getSummary, timing } from '@promster/metrics';
3
+ import { type TPromsterOptions, createPlugin, getRequestRecorder, signalIsNotUp, signalIsUp } from "./plugin/index.js";
4
4
  declare const instrument: (server: Server, options: TPromsterOptions) => Promise<Server<import("@hapi/hapi").ServerApplicationState> & void>;
5
5
  export { type TPromsterOptions, createPlugin, getRequestRecorder, signalIsUp, signalIsNotUp, getSummary, getContentType, Prometheus, defaultRegister, defaultNormalizers, instrument, timing, };
6
6
  export * from '@promster/types';
@@ -1,2 +1,2 @@
1
- import { type TPromsterOptions, createPlugin, getRequestRecorder, signalIsUp, signalIsNotUp } from "./plugin.js";
1
+ import { type TPromsterOptions, createPlugin, getRequestRecorder, signalIsNotUp, signalIsUp } from "./plugin.js";
2
2
  export { type TPromsterOptions, createPlugin, getRequestRecorder, signalIsUp, signalIsNotUp, };
@@ -1,6 +1,6 @@
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';
1
+ import type { Plugin, Request, ResponseObject } from '@hapi/hapi';
2
+ import type { TRequestRecorder } from '@promster/metrics';
3
+ import type { TLabelValues, TOptionalPromsterOptions } from '@promster/types';
4
4
  declare const getRequestRecorder: () => TRequestRecorder;
5
5
  declare const signalIsUp: () => void;
6
6
  declare const signalIsNotUp: () => void;
@@ -1,2 +1,2 @@
1
- export * from "./declarations/src/index";
1
+ export * from "./declarations/src/index.js";
2
2
  //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvbXN0ZXItaGFwaS5janMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4vZGVjbGFyYXRpb25zL3NyYy9pbmRleC5kLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBIn0=
@@ -2,19 +2,19 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var semver = require('semver');
6
- var merge = require('merge-options');
7
5
  var metrics = require('@promster/metrics');
6
+ var merge = require('merge-options');
7
+ var semver = require('semver');
8
8
  var types = require('@promster/types');
9
9
 
10
10
  function _interopDefault (e) { return e && e.__esModule ? e : { 'default': e }; }
11
11
 
12
- var semver__default = /*#__PURE__*/_interopDefault(semver);
13
12
  var merge__default = /*#__PURE__*/_interopDefault(merge);
13
+ var semver__default = /*#__PURE__*/_interopDefault(semver);
14
14
 
15
15
  var pkg = {
16
16
  name: "@promster/hapi",
17
- version: "14.0.0",
17
+ version: "15.0.1",
18
18
  description: "Hapi server integrations of promster",
19
19
  main: "dist/promster-hapi.cjs.js",
20
20
  typings: "dist/promster-hapi.cjs.d.ts",
@@ -50,24 +50,22 @@ var pkg = {
50
50
  "prometheus"
51
51
  ],
52
52
  dependencies: {
53
- "@promster/metrics": "^14.0.0",
54
- "@promster/types": "^14.0.0",
53
+ "@promster/metrics": "workspace:*",
54
+ "@promster/types": "workspace:*",
55
55
  "merge-options": "3.0.4",
56
- semver: "7.6.0",
57
- tslib: "2.6.2"
56
+ semver: "7.7.1",
57
+ tslib: "2.8.1"
58
58
  },
59
59
  devDependencies: {
60
60
  "@hapi/boom": "10.0.1",
61
- "@hapi/hapi": "21.3.8",
62
- "@types/hapi__hapi": "20.0.13",
63
- "parse-prometheus-text-format": "1.1.1",
61
+ "@hapi/hapi": "21.4.0",
64
62
  "@promster/server": "workspace:*",
65
- "@types/semver": "7.5.8"
63
+ "@types/hapi__hapi": "21.0.0",
64
+ "@types/semver": "7.7.0",
65
+ "parse-prometheus-text-format": "1.1.1"
66
66
  }
67
67
  };
68
68
 
69
- // eslint-disable-next-line @typescript-eslint/consistent-type-definitions
70
-
71
69
  const extractPath = request => request.route.path.replace(/\?/g, '');
72
70
  const isBoomResponse = response => response.isBoom;
73
71
  const extractStatusCode = request => {
@@ -89,17 +87,17 @@ const signalIsUp = () => {
89
87
  if (!upMetric) {
90
88
  return;
91
89
  }
92
- upMetric.forEach(upMetricType => {
90
+ for (const upMetricType of upMetric) {
93
91
  upMetricType.set(1);
94
- });
92
+ }
95
93
  };
96
94
  const signalIsNotUp = () => {
97
95
  if (!upMetric) {
98
96
  return;
99
97
  }
100
- upMetric.forEach(upMetricType => {
98
+ for (const upMetricType of upMetric) {
101
99
  upMetricType.set(0);
102
- });
100
+ }
103
101
  };
104
102
  const getAreServerEventsSupported = actualVersion => Boolean(actualVersion && semver__default["default"].satisfies(actualVersion, '>= 17.0.0'));
105
103
  const getDoesResponseNeedInvocation = actualVersion => Boolean(actualVersion && semver__default["default"].satisfies(actualVersion, '< 17.0.0'));
@@ -145,14 +143,13 @@ const createPlugin = ({
145
143
  req: request,
146
144
  res: response
147
145
  }),
148
- // eslint-disable-next-line camelcase
149
146
  status_code: allDefaultedOptions.normalizeStatusCode(extractStatusCode(request), {
150
147
  req: request,
151
148
  res: response
152
149
  })
153
150
  }, (_allDefaultedOptions$ = allDefaultedOptions.getLabelValues) === null || _allDefaultedOptions$ === void 0 ? void 0 : _allDefaultedOptions$.call(allDefaultedOptions, request, {}));
154
151
  const requestContentLength = Number((_request$headers$cont = request === null || request === void 0 || (_request$headers = request.headers) === null || _request$headers === void 0 ? void 0 : _request$headers['content-length']) !== null && _request$headers$cont !== void 0 ? _request$headers$cont : 0);
155
- const responseContentLength = Number( // @ts-expect-error
152
+ const responseContentLength = Number(// @ts-expect-error
156
153
  (_request$response$hea = request === null || request === void 0 || (_request$response = request.response) === null || _request$response === void 0 || (_request$response = _request$response.headers) === null || _request$response === void 0 ? void 0 : _request$response['content-length']) !== null && _request$response$hea !== void 0 ? _request$response$hea : 0);
157
154
  const shouldSkipByRequest = (_allDefaultedOptions$2 = allDefaultedOptions.skip) === null || _allDefaultedOptions$2 === void 0 ? void 0 : _allDefaultedOptions$2.call(allDefaultedOptions, request, response, labels);
158
155
  if (!shouldSkipByRequest && !shouldSkipMetricsByEnvironment) {
@@ -164,7 +161,9 @@ const createPlugin = ({
164
161
  }
165
162
 
166
163
  // @ts-expect-error - this is the older Hapi version
167
- if (doesResponseNeedInvocation) response.continue();
164
+ if (doesResponseNeedInvocation) {
165
+ response.continue();
166
+ }
168
167
  };
169
168
 
170
169
  // NOTE: This version detection allows us to gracefully support both new and old Hapi APIs.
@@ -2,19 +2,19 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var semver = require('semver');
6
- var merge = require('merge-options');
7
5
  var metrics = require('@promster/metrics');
6
+ var merge = require('merge-options');
7
+ var semver = require('semver');
8
8
  var types = require('@promster/types');
9
9
 
10
10
  function _interopDefault (e) { return e && e.__esModule ? e : { 'default': e }; }
11
11
 
12
- var semver__default = /*#__PURE__*/_interopDefault(semver);
13
12
  var merge__default = /*#__PURE__*/_interopDefault(merge);
13
+ var semver__default = /*#__PURE__*/_interopDefault(semver);
14
14
 
15
15
  var pkg = {
16
16
  name: "@promster/hapi",
17
- version: "14.0.0",
17
+ version: "15.0.1",
18
18
  description: "Hapi server integrations of promster",
19
19
  main: "dist/promster-hapi.cjs.js",
20
20
  typings: "dist/promster-hapi.cjs.d.ts",
@@ -50,24 +50,22 @@ var pkg = {
50
50
  "prometheus"
51
51
  ],
52
52
  dependencies: {
53
- "@promster/metrics": "^14.0.0",
54
- "@promster/types": "^14.0.0",
53
+ "@promster/metrics": "workspace:*",
54
+ "@promster/types": "workspace:*",
55
55
  "merge-options": "3.0.4",
56
- semver: "7.6.0",
57
- tslib: "2.6.2"
56
+ semver: "7.7.1",
57
+ tslib: "2.8.1"
58
58
  },
59
59
  devDependencies: {
60
60
  "@hapi/boom": "10.0.1",
61
- "@hapi/hapi": "21.3.8",
62
- "@types/hapi__hapi": "20.0.13",
63
- "parse-prometheus-text-format": "1.1.1",
61
+ "@hapi/hapi": "21.4.0",
64
62
  "@promster/server": "workspace:*",
65
- "@types/semver": "7.5.8"
63
+ "@types/hapi__hapi": "21.0.0",
64
+ "@types/semver": "7.7.0",
65
+ "parse-prometheus-text-format": "1.1.1"
66
66
  }
67
67
  };
68
68
 
69
- // eslint-disable-next-line @typescript-eslint/consistent-type-definitions
70
-
71
69
  const extractPath = request => request.route.path.replace(/\?/g, '');
72
70
  const isBoomResponse = response => response.isBoom;
73
71
  const extractStatusCode = request => {
@@ -89,17 +87,17 @@ const signalIsUp = () => {
89
87
  if (!upMetric) {
90
88
  return;
91
89
  }
92
- upMetric.forEach(upMetricType => {
90
+ for (const upMetricType of upMetric) {
93
91
  upMetricType.set(1);
94
- });
92
+ }
95
93
  };
96
94
  const signalIsNotUp = () => {
97
95
  if (!upMetric) {
98
96
  return;
99
97
  }
100
- upMetric.forEach(upMetricType => {
98
+ for (const upMetricType of upMetric) {
101
99
  upMetricType.set(0);
102
- });
100
+ }
103
101
  };
104
102
  const getAreServerEventsSupported = actualVersion => Boolean(actualVersion && semver__default["default"].satisfies(actualVersion, '>= 17.0.0'));
105
103
  const getDoesResponseNeedInvocation = actualVersion => Boolean(actualVersion && semver__default["default"].satisfies(actualVersion, '< 17.0.0'));
@@ -145,14 +143,13 @@ const createPlugin = ({
145
143
  req: request,
146
144
  res: response
147
145
  }),
148
- // eslint-disable-next-line camelcase
149
146
  status_code: allDefaultedOptions.normalizeStatusCode(extractStatusCode(request), {
150
147
  req: request,
151
148
  res: response
152
149
  })
153
150
  }, (_allDefaultedOptions$ = allDefaultedOptions.getLabelValues) === null || _allDefaultedOptions$ === void 0 ? void 0 : _allDefaultedOptions$.call(allDefaultedOptions, request, {}));
154
151
  const requestContentLength = Number((_request$headers$cont = request === null || request === void 0 || (_request$headers = request.headers) === null || _request$headers === void 0 ? void 0 : _request$headers['content-length']) !== null && _request$headers$cont !== void 0 ? _request$headers$cont : 0);
155
- const responseContentLength = Number( // @ts-expect-error
152
+ const responseContentLength = Number(// @ts-expect-error
156
153
  (_request$response$hea = request === null || request === void 0 || (_request$response = request.response) === null || _request$response === void 0 || (_request$response = _request$response.headers) === null || _request$response === void 0 ? void 0 : _request$response['content-length']) !== null && _request$response$hea !== void 0 ? _request$response$hea : 0);
157
154
  const shouldSkipByRequest = (_allDefaultedOptions$2 = allDefaultedOptions.skip) === null || _allDefaultedOptions$2 === void 0 ? void 0 : _allDefaultedOptions$2.call(allDefaultedOptions, request, response, labels);
158
155
  if (!shouldSkipByRequest && !shouldSkipMetricsByEnvironment) {
@@ -164,7 +161,9 @@ const createPlugin = ({
164
161
  }
165
162
 
166
163
  // @ts-expect-error - this is the older Hapi version
167
- if (doesResponseNeedInvocation) response.continue();
164
+ if (doesResponseNeedInvocation) {
165
+ response.continue();
166
+ }
168
167
  };
169
168
 
170
169
  // NOTE: This version detection allows us to gracefully support both new and old Hapi APIs.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@promster/hapi",
3
- "version": "14.0.0",
3
+ "version": "15.0.1",
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,18 +36,18 @@
36
36
  "prometheus"
37
37
  ],
38
38
  "dependencies": {
39
- "@promster/metrics": "^14.0.0",
40
- "@promster/types": "^14.0.0",
41
39
  "merge-options": "3.0.4",
42
- "semver": "7.6.0",
43
- "tslib": "2.6.2"
40
+ "semver": "7.7.1",
41
+ "tslib": "2.8.1",
42
+ "@promster/metrics": "15.0.1",
43
+ "@promster/types": "15.0.1"
44
44
  },
45
45
  "devDependencies": {
46
46
  "@hapi/boom": "10.0.1",
47
- "@hapi/hapi": "21.3.8",
48
- "@types/hapi__hapi": "20.0.13",
47
+ "@hapi/hapi": "21.4.0",
48
+ "@types/hapi__hapi": "21.0.0",
49
+ "@types/semver": "7.7.0",
49
50
  "parse-prometheus-text-format": "1.1.1",
50
- "@types/semver": "7.5.8",
51
- "@promster/server": "14.0.0"
51
+ "@promster/server": "15.0.1"
52
52
  }
53
53
  }