strong-error-handler 5.0.12 → 5.0.13

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.
@@ -30,16 +30,16 @@ jobs:
30
30
  objects.githubusercontent.com:443
31
31
 
32
32
  - name: Checkout repository
33
- uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1
33
+ uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
34
34
  with:
35
35
  persist-credentials: false
36
36
 
37
37
  - name: Initialize CodeQL
38
- uses: github/codeql-action/init@c36620d31ac7c881962c3d9dd939c40ec9434f2b # v3.26.12
38
+ uses: github/codeql-action/init@4f3212b61783c3c68e8309a0f18a699764811cda # v3.27.1
39
39
  with:
40
40
  languages: javascript-typescript
41
41
  config-file: .github/codeql/codeql-config.yml
42
42
 
43
43
  - name: Perform CodeQL Analysis
44
- uses: github/codeql-action/analyze@c36620d31ac7c881962c3d9dd939c40ec9434f2b # v3.26.12
44
+ uses: github/codeql-action/analyze@4f3212b61783c3c68e8309a0f18a699764811cda # v3.27.1
45
45
 
@@ -41,11 +41,11 @@ jobs:
41
41
  github.com:443
42
42
  nodejs.org:443
43
43
  registry.npmjs.org:443
44
- - uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1
44
+ - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
45
45
  with:
46
46
  persist-credentials: false
47
47
  - name: Use Node.js ${{ matrix.node-version }}
48
- uses: actions/setup-node@0a44ba7841725637a19e28fa30b79a866c81b0a6 # v4.0.4
48
+ uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0
49
49
  with:
50
50
  node-version: ${{ matrix.node-version }}
51
51
  cache: npm
@@ -68,11 +68,11 @@ jobs:
68
68
  github.com:443
69
69
  nodejs.org:443
70
70
  registry.npmjs.org:443
71
- - uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1
71
+ - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
72
72
  with:
73
73
  persist-credentials: false
74
74
  - name: Use Node.js 20
75
- uses: actions/setup-node@0a44ba7841725637a19e28fa30b79a866c81b0a6 # v4.0.4
75
+ uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0
76
76
  with:
77
77
  node-version: 20
78
78
  cache: 'npm'
@@ -96,12 +96,12 @@ jobs:
96
96
  allowed-endpoints: >
97
97
  github.com:443
98
98
  registry.npmjs.org:443
99
- - uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1
99
+ - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
100
100
  with:
101
101
  fetch-depth: 0
102
102
  persist-credentials: false
103
103
  - name: Use Node.js 20
104
- uses: actions/setup-node@0a44ba7841725637a19e28fa30b79a866c81b0a6 # v4.0.4
104
+ uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0
105
105
  with:
106
106
  node-version: 20
107
107
  cache: npm
@@ -132,11 +132,11 @@ jobs:
132
132
  allowed-endpoints: >
133
133
  github.com:443
134
134
  registry.npmjs.org:443
135
- - uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1
135
+ - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
136
136
  with:
137
137
  persist-credentials: false
138
138
  - name: Use Node.js 20
139
- uses: actions/setup-node@0a44ba7841725637a19e28fa30b79a866c81b0a6 # v4.0.4
139
+ uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0
140
140
  with:
141
141
  node-version: 20
142
142
  cache: npm
@@ -47,7 +47,7 @@ jobs:
47
47
  rekor.sigstore.dev:443
48
48
  tuf-repo-cdn.sigstore.dev:443
49
49
  www.bestpractices.dev:443
50
- - uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1
50
+ - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
51
51
  with:
52
52
  persist-credentials: false
53
53
 
@@ -73,6 +73,6 @@ jobs:
73
73
  retention-days: 90
74
74
 
75
75
  # Upload the results to GitHub's code scanning dashboard.
76
- - uses: github/codeql-action/upload-sarif@c36620d31ac7c881962c3d9dd939c40ec9434f2b # v3.26.12
76
+ - uses: github/codeql-action/upload-sarif@4f3212b61783c3c68e8309a0f18a699764811cda # v3.27.1
77
77
  with:
78
78
  sarif_file: results.sarif
package/CHANGES.md CHANGED
@@ -1,3 +1,29 @@
1
+ 2024-11-11, Version 5.0.13
2
+ ==========================
3
+
4
+ * chore: lock file maintenance (renovate[bot])
5
+
6
+ * chore: update github/codeql-action action to v3.27.1 (renovate[bot])
7
+
8
+ * chore: update dependency mocha to ^10.8.2 (renovate[bot])
9
+
10
+ * chore: update dependency mocha to ^10.8.1 (renovate[bot])
11
+
12
+ * chore: update actions/setup-node action to v4.1.0 (renovate[bot])
13
+
14
+ * chore: update actions/checkout action to v4.2.2 (renovate[bot])
15
+
16
+ * fix(html): avoid rendering [Object object] for undefined values (KalleV)
17
+
18
+ * chore: update dependency chai to ^5.1.2 (renovate[bot])
19
+
20
+ * chore: update github/codeql-action action to v3.27.0 (renovate[bot])
21
+
22
+ * chore: update dependency http-status to ^1.8.1 (renovate[bot])
23
+
24
+ * chore: update github/codeql-action action to v3.26.13 (renovate[bot])
25
+
26
+
1
27
  2024-10-10, Version 5.0.12
2
28
  ==========================
3
29
 
package/lib/send-html.js CHANGED
@@ -16,6 +16,8 @@ const compiledTemplates = {
16
16
 
17
17
  module.exports = sendHtml;
18
18
 
19
+ const STANDARD_PROPS = ['name', 'statusCode', 'message', 'stack'];
20
+
19
21
  /**
20
22
  * Sends HTML response to the client.
21
23
  *
@@ -24,7 +26,16 @@ module.exports = sendHtml;
24
26
  * @param {Object} options - The options object.
25
27
  */
26
28
  function sendHtml(res, data, options) {
27
- const toRender = {options, data};
29
+ // Filter out properties with undefined / null values and keep standard properties
30
+ const filteredData = Object.keys(data).reduce((obj, key) => {
31
+ if (data[key] || STANDARD_PROPS.includes(key)) {
32
+ obj[key] = data[key];
33
+ }
34
+ return obj;
35
+ }, {});
36
+
37
+ const toRender = {options, data: filteredData};
38
+
28
39
  // TODO: ability to call non-default template functions from options
29
40
  const body = compiledTemplates.default(toRender);
30
41
  sendResponse(res, body);
@@ -50,8 +61,7 @@ handlebars.registerHelper('partial', partial);
50
61
  * @returns {string} - The result of the Handlebars template.
51
62
  */
52
63
  function standardProps(prop, options) {
53
- const standardProps = ['name', 'statusCode', 'message', 'stack'];
54
- if (standardProps.indexOf(prop) === -1) {
64
+ if (STANDARD_PROPS.indexOf(prop) === -1) {
55
65
  return options.fn(this);
56
66
  }
57
67
  return options.inverse(this);
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "strong-error-handler",
3
3
  "description": "Error handler for use in development and production environments.",
4
4
  "license": "MIT",
5
- "version": "5.0.12",
5
+ "version": "5.0.13",
6
6
  "engines": {
7
7
  "node": ">=16"
8
8
  },
@@ -21,7 +21,7 @@
21
21
  "debug": "^4.3.7",
22
22
  "fast-safe-stringify": "^2.1.1",
23
23
  "handlebars": "^4.7.8",
24
- "http-status": "^1.7.4",
24
+ "http-status": "^1.8.1",
25
25
  "js2xmlparser": "^5.0.0",
26
26
  "strong-globalize": "^6.0.6"
27
27
  },
@@ -29,12 +29,12 @@
29
29
  "@commitlint/cli": "^19.5.0",
30
30
  "@commitlint/config-conventional": "^19.5.0",
31
31
  "@types/express": "^4.17.21",
32
- "chai": "^5.1.1",
32
+ "chai": "^5.1.2",
33
33
  "eslint": "^8.57.1",
34
34
  "eslint-config-loopback": "^13.1.0",
35
35
  "express": "^4.21.1",
36
36
  "lockfile-lint": "^4.14.0",
37
- "mocha": "^10.7.3",
37
+ "mocha": "^10.8.2",
38
38
  "supertest": "^7.0.0"
39
39
  },
40
40
  "browser": {