1
+ 'use strict'
2
+
3
+ // eslint-disable no-console
4
+
1
5
const NAMESPACE = 'datadog'
2
6
3
7
const instrumented = Object . keys ( require ( '../datadog-instrumentations/src/helpers/hooks.js' ) )
4
8
const rawBuiltins = require ( 'module' ) . builtinModules
5
9
10
+ warnIfUnsupported ( )
11
+
6
12
const builtins = new Set ( )
7
13
8
14
for ( const builtin of rawBuiltins ) {
@@ -37,7 +43,6 @@ module.exports.setup = function (build) {
37
43
const pkg = require ( pathToPackageJson )
38
44
39
45
if ( DEBUG ) {
40
- // eslint-disable-next-line no-console
41
46
console . log ( `resolve ${ packageName } @${ pkg . version } ` )
42
47
}
43
48
@@ -64,7 +69,6 @@ module.exports.setup = function (build) {
64
69
65
70
build . onLoad ( { filter : / .* / , namespace : NAMESPACE } , args => {
66
71
if ( DEBUG ) {
67
- // eslint-disable-next-line no-console
68
72
console . log ( `load ${ args . path } @${ args . pluginData . version } ` )
69
73
}
70
74
@@ -88,3 +92,13 @@ module.exports.setup = function (build) {
88
92
}
89
93
} )
90
94
}
95
+
96
+ function warnIfUnsupported ( ) {
97
+ const [ major , minor ] = process . versions . node . split ( '.' ) . map ( Number )
98
+ if ( major < 14 || ( major === 14 && minor < 17 ) ) {
99
+ console . error ( 'WARNING: Esbuild support isn\'t available for older versions of Node.js.' )
100
+ console . error ( `Expected: Node.js >= v14.17. Actual: Node.js = ${ process . version } .` )
101
+ console . error ( 'This application may build properly with this version of Node.js, but unless a' )
102
+ console . error ( 'more recent version is used at runtime, third party packages won\'t be instrumented.' )
103
+ }
104
+ }
0 commit comments