Skip to content

Commit cc4e8e0

Browse files
committed
report: warn on process.report object access
Reduce the number of emitExperimentalWarning() call sites by making process.report emit a warning on access instead of each individual report function. PR-URL: #26414 Reviewed-By: Richard Lau <[email protected]> Reviewed-By: Wyatt Preul <[email protected]>
1 parent 30ee277 commit cc4e8e0

File tree

2 files changed

+10
-24
lines changed

2 files changed

+10
-24
lines changed

lib/internal/bootstrap/pre_execution.js

+9-1
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,15 @@ function initializeReport() {
4141
return;
4242
}
4343
const { report } = require('internal/process/report');
44-
process.report = report;
44+
const { emitExperimentalWarning } = require('internal/util');
45+
Object.defineProperty(process, 'report', {
46+
enumerable: false,
47+
configurable: true,
48+
get() {
49+
emitExperimentalWarning('report');
50+
return report;
51+
}
52+
});
4553
}
4654

4755
function setupSignalHandlers() {

lib/internal/process/report.js

+1-23
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,5 @@
11
'use strict';
2-
const {
3-
convertToValidSignal,
4-
emitExperimentalWarning
5-
} = require('internal/util');
2+
const { convertToValidSignal } = require('internal/util');
63
const {
74
ERR_INVALID_ARG_TYPE,
85
ERR_SYNTHETIC
@@ -11,8 +8,6 @@ const { validateString } = require('internal/validators');
118
const nr = internalBinding('report');
129
const report = {
1310
triggerReport(file, err) {
14-
emitExperimentalWarning('report');
15-
1611
if (typeof file === 'object' && file !== null) {
1712
err = file;
1813
file = undefined;
@@ -27,8 +22,6 @@ const report = {
2722
return nr.triggerReport('JavaScript API', 'API', file, err.stack);
2823
},
2924
getReport(err) {
30-
emitExperimentalWarning('report');
31-
3225
if (err === undefined)
3326
err = new ERR_SYNTHETIC();
3427
else if (err === null || typeof err !== 'object')
@@ -37,54 +30,42 @@ const report = {
3730
return nr.getReport(err.stack);
3831
},
3932
get directory() {
40-
emitExperimentalWarning('report');
4133
return nr.getDirectory();
4234
},
4335
set directory(dir) {
44-
emitExperimentalWarning('report');
4536
validateString(dir, 'directory');
4637
return nr.setDirectory(dir);
4738
},
4839
get filename() {
49-
emitExperimentalWarning('report');
5040
return nr.getFilename();
5141
},
5242
set filename(name) {
53-
emitExperimentalWarning('report');
5443
validateString(name, 'filename');
5544
return nr.setFilename(name);
5645
},
5746
get signal() {
58-
emitExperimentalWarning('report');
5947
return nr.getSignal();
6048
},
6149
set signal(sig) {
62-
emitExperimentalWarning('report');
6350
validateString(sig, 'signal');
6451
convertToValidSignal(sig); // Validate that the signal is recognized.
6552
removeSignalHandler();
6653
addSignalHandler(sig);
6754
return nr.setSignal(sig);
6855
},
6956
get reportOnFatalError() {
70-
emitExperimentalWarning('report');
7157
return nr.shouldReportOnFatalError();
7258
},
7359
set reportOnFatalError(trigger) {
74-
emitExperimentalWarning('report');
75-
7660
if (typeof trigger !== 'boolean')
7761
throw new ERR_INVALID_ARG_TYPE('trigger', 'boolean', trigger);
7862

7963
return nr.setReportOnFatalError(trigger);
8064
},
8165
get reportOnSignal() {
82-
emitExperimentalWarning('report');
8366
return nr.shouldReportOnSignal();
8467
},
8568
set reportOnSignal(trigger) {
86-
emitExperimentalWarning('report');
87-
8869
if (typeof trigger !== 'boolean')
8970
throw new ERR_INVALID_ARG_TYPE('trigger', 'boolean', trigger);
9071

@@ -93,12 +74,9 @@ const report = {
9374
addSignalHandler();
9475
},
9576
get reportOnUncaughtException() {
96-
emitExperimentalWarning('report');
9777
return nr.shouldReportOnUncaughtException();
9878
},
9979
set reportOnUncaughtException(trigger) {
100-
emitExperimentalWarning('report');
101-
10280
if (typeof trigger !== 'boolean')
10381
throw new ERR_INVALID_ARG_TYPE('trigger', 'boolean', trigger);
10482

0 commit comments

Comments
 (0)