Skip to content

Commit 1448aac

Browse files
committed
test: esm version check removed
1 parent 5d555b9 commit 1448aac

File tree

9 files changed

+16
-56
lines changed

9 files changed

+16
-56
lines changed

packages/aws-fargate/test/Control.js

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ const config = require('@instana/core/test/config');
1313
const AbstractServerlessControl = require('../../serverless/test/util/AbstractServerlessControl');
1414
const portfinder = require('../../collector/test/test_util/portfinder');
1515
const PATH_TO_INSTANA_FARGATE_PACKAGE = path.join(__dirname, '..');
16-
const isLatestEsmSupportedVersion = require('@instana/core').util.esm.isLatestEsmSupportedVersion;
1716
let execArg;
1817

1918
function Control(opts) {
@@ -99,9 +98,7 @@ Control.prototype.startMonitoredProcess = function startMonitoredProcess() {
9998
env.INSTANA_AGENT_KEY = this.instanaAgentKey;
10099
}
101100

102-
const loaderPath = isLatestEsmSupportedVersion(process.versions.node)
103-
? ['--import', `${path.join(__dirname, '..', 'esm-register.mjs')}`]
104-
: [`--experimental-loader=${path.join(__dirname, '..', 'esm-loader.mjs')}`];
101+
const loaderPath = ['--import', `${path.join(__dirname, '..', 'esm-register.mjs')}`];
105102

106103
if (this.opts.containerAppPath && this.opts.env && this.opts.env.ESM_TEST) {
107104
if (this.opts.containerAppPath.endsWith('.mjs')) {

packages/azure-container-services/test/Control.js

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ const fetch = require('node-fetch-v2');
1010
const portfinder = require('@instana/collector/test/test_util/portfinder');
1111
const config = require('@instana/core/test/config');
1212
const AbstractServerlessControl = require('../../serverless/test/util/AbstractServerlessControl');
13-
const isLatestEsmSupportedVersion = require('@instana/core').util.esm.isLatestEsmSupportedVersion;
1413

1514
const PATH_TO_INSTANA_AZURE_PACKAGE = path.join(__dirname, '..');
1615
let execArg;
@@ -59,9 +58,7 @@ class Control extends AbstractServerlessControl {
5958
env.INSTANA_AGENT_KEY = this.instanaAgentKey;
6059
}
6160

62-
const loaderPath = isLatestEsmSupportedVersion(process.versions.node)
63-
? ['--import', `${path.join(__dirname, '..', 'esm-register.mjs')}`]
64-
: [`--experimental-loader=${path.join(__dirname, '..', 'esm-loader.mjs')}`];
61+
const loaderPath = ['--import', `${path.join(__dirname, '..', 'esm-register.mjs')}`];
6562

6663
if (this.opts.containerAppPath && this.opts.env && this.opts.env.ESM_TEST) {
6764
execArg = this.opts.containerAppPath.endsWith('.mjs') ? loaderPath : ['--require', PATH_TO_INSTANA_AZURE_PACKAGE];

packages/collector/test/test_util/ProcessControls.js

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@ const globalAgent = require('../globalAgent');
2020
const portFinder = require('./portfinder');
2121
const sslDir = path.join(__dirname, '..', 'apps', 'ssl');
2222
const cert = fs.readFileSync(path.join(sslDir, 'cert'));
23-
const isLatestEsmSupportedVersion = require('@instana/core').util.esm.isLatestEsmSupportedVersion;
2423

2524
class ProcessControls {
2625
/**
@@ -57,10 +56,7 @@ class ProcessControls {
5756
}
5857

5958
if (process.env.RUN_ESM && !opts.execArgv) {
60-
const resolveEsmLoader = () =>
61-
isLatestEsmSupportedVersion(process.versions.node)
62-
? [`--import=${path.join(__dirname, '..', '..', 'esm-register.mjs')}`]
63-
: [`--experimental-loader=${path.join(__dirname, '..', '..', 'esm-loader.mjs')}`];
59+
const esmLoader = [`--import=${path.join(__dirname, '..', '..', 'esm-register.mjs')}`];
6460

6561
try {
6662
// Custom appPath is provided, use that. here we check the exact file name for esm app
@@ -72,13 +68,13 @@ class ProcessControls {
7268
const esmApp = testUtils.checkESMApp({ appPath: updatedPath });
7369

7470
if (esmApp) {
75-
opts.execArgv = resolveEsmLoader();
71+
opts.execArgv = esmLoader;
7672
opts.appPath = updatedPath;
7773
}
7874
} else if (opts?.dirname) {
7975
const esmApp = testUtils.checkESMApp({ appPath: path.join(opts.dirname, 'app.mjs') });
8076
if (esmApp) {
81-
opts.execArgv = resolveEsmLoader();
77+
opts.execArgv = esmLoader;
8278
opts.appPath = path.join(opts.dirname, 'app.mjs');
8379
}
8480
}

packages/collector/test/tracing/misc/typescript/ts_esm/ts_esm_test.js

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,16 +9,13 @@ const path = require('path');
99
const { execSync } = require('child_process');
1010
const config = require('../../../../../../core/test/config');
1111
const testUtils = require('../../../../../../core/test/test_util');
12-
const isLatestEsmSupportedVersion = require('../../../../../../core').util.esm.isLatestEsmSupportedVersion;
1312
const supportedVersion = require('../../../../../../core').tracing.supportedVersion;
1413
const ProcessControls = require('../../../../test_util/ProcessControls');
1514
const globalAgent = require('../../../../globalAgent');
1615

1716
const mochaSuiteFn = supportedVersion(process.versions.node) ? describe : describe.skip;
1817

19-
const loaderPath = isLatestEsmSupportedVersion(process.versions.node)
20-
? ['--import', path.join(__dirname, 'node_modules', '@instana', 'collector', 'esm-register.mjs')]
21-
: ['--experimental-loader', path.join(__dirname, 'node_modules', '@instana', 'collector', 'esm-loader.mjs')];
18+
const loaderPath = ['--import', path.join(__dirname, 'node_modules', '@instana', 'collector', 'esm-register.mjs')];
2219

2320
mochaSuiteFn('Typescript TS->ESM', function () {
2421
this.timeout(config.getTestTimeout() * 5);

packages/collector/test/tracing/sdk/multiple_installations/esm/test.js

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ const config = require('@instana/core/test/config');
1515
const testUtils = require('@instana/core/test/test_util');
1616
const ProcessControls = require('../../../../test_util/ProcessControls');
1717
const globalAgent = require('../../../../globalAgent');
18-
const isLatestEsmSupportedVersion = require('@instana/core').util.esm.isLatestEsmSupportedVersion;
1918
const mochaSuiteFn = supportedVersion(process.versions.node) ? describe : describe.skip;
2019

2120
mochaSuiteFn('[ESM] tracing/sdk/multiple_installations', function () {
@@ -40,9 +39,7 @@ mochaSuiteFn('[ESM] tracing/sdk/multiple_installations', function () {
4039
let controls;
4140

4241
before(async () => {
43-
const nodeOptions = isLatestEsmSupportedVersion(process.versions.node)
44-
? '--import ./load-instana.mjs'
45-
: '--experimental-loader ./load-instana.mjs';
42+
const nodeOptions = '--import ./load-instana.mjs';
4643
controls = new ProcessControls({
4744
useGlobalAgent: true,
4845
cwd: path.join(__dirname, 'src'),

packages/core/src/util/esm.js

Lines changed: 3 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -4,31 +4,16 @@
44

55
'use strict';
66

7-
const semver = require('semver');
8-
9-
/**
10-
* Check if the given Node.js version is the latest version that supports ESM.
11-
* @param {string} version - The Node.js version to check.
12-
* @returns {boolean} - True if the version is the latest that supports ESM, false otherwise.
13-
*/
14-
exports.isLatestEsmSupportedVersion = function isLatestEsmSupportedVersion(version) {
15-
// Reference: https://nodejs.org/en/blog/release/v18.19.0#esm-and-customization-hook-changes
16-
// Node.js v18.19 and above the loaders are off threaded
17-
// https://instana.slack.com/archives/G0118PFNN20/p1708556683665099
18-
return semver.gte(version, '18.19.0');
19-
};
20-
217
/**
228
* Check if the experimental loader flag is enabled and if the current Node.js version supports it.
239
* @returns {boolean} - True if the experimental loader is enabled and supported, false otherwise.
2410
* Node.js v18.19 and above we are not supporting --experimental-loader flag
2511
*/
2612
exports.hasExperimentalLoaderFlag = function hasExperimentalLoaderFlag() {
27-
const experimentalLoaderFlagIsSet =
13+
return (
2814
(process.env.NODE_OPTIONS && process.env.NODE_OPTIONS.includes('--experimental-loader')) ||
29-
(process.execArgv[0] && process.execArgv[0].includes('--experimental-loader'));
30-
31-
return experimentalLoaderFlagIsSet && exports.isLatestEsmSupportedVersion(process.versions.node);
15+
(process.execArgv[0] && process.execArgv[0].includes('--experimental-loader'))
16+
);
3217
};
3318

3419
/**

packages/google-cloud-run/test/Control.js

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ const fetch = require('node-fetch-v2');
1212
const portfinder = require('@instana/collector/test/test_util/portfinder');
1313
const config = require('@instana/core/test/config');
1414
const AbstractServerlessControl = require('../../serverless/test/util/AbstractServerlessControl');
15-
const isLatestEsmSupportedVersion = require('@instana/core').util.esm.isLatestEsmSupportedVersion;
1615
const PATH_TO_INSTANA_GOOGLE_CLOUD_RUN_PACKAGE = path.join(__dirname, '..');
1716

1817
function Control(opts) {
@@ -90,9 +89,7 @@ Control.prototype.startMonitoredProcess = function startMonitoredProcess() {
9089
env.INSTANA_AGENT_KEY = this.instanaAgentKey;
9190
}
9291

93-
const loaderPath = isLatestEsmSupportedVersion(process.versions.node)
94-
? ['--import', `${path.join(__dirname, '..', 'esm-register.mjs')}`]
95-
: [`--experimental-loader=${path.join(__dirname, '..', 'esm-loader.mjs')}`];
92+
const loaderPath = ['--import', `${path.join(__dirname, '..', 'esm-register.mjs')}`];
9693

9794
if (!this.opts.containerAppPath && this.opts.env && this.opts.env.ESM_TEST) {
9895
if (this.opts.containerAppPath.endsWith('.mjs')) {

packages/serverless-collector/test/Control.js

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ const fetch = require('node-fetch-v2');
1010
const portfinder = require('@instana/collector/test/test_util/portfinder');
1111
const config = require('@instana/core/test/config');
1212
const AbstractServerlessControl = require('../../serverless/test/util/AbstractServerlessControl');
13-
const isLatestEsmSupportedVersion = require('@instana/core').util.esm.isLatestEsmSupportedVersion;
1413

1514
const SERVERLESS_COLLECTOR_PATH = path.join(__dirname, '..');
1615
let execArg;
@@ -60,9 +59,7 @@ class Control extends AbstractServerlessControl {
6059
env.INSTANA_AGENT_KEY = this.instanaAgentKey;
6160
}
6261

63-
const loaderPath = isLatestEsmSupportedVersion(process.versions.node)
64-
? ['--import', `${path.join(__dirname, '..', 'esm-register.mjs')}`]
65-
: [`--experimental-loader=${path.join(__dirname, '..', 'esm-loader.mjs')}`];
62+
const loaderPath = ['--import', `${path.join(__dirname, '..', 'esm-register.mjs')}`];
6663

6764
if (this.opts.containerAppPath && this.opts.env && this.opts.env.ESM_TEST) {
6865
execArg = this.opts.containerAppPath.endsWith('.mjs') ? loaderPath : ['--require', SERVERLESS_COLLECTOR_PATH];

packages/shared-metrics/test/esm-loader/test.js

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,10 @@ const expect = require('chai').expect;
1010
const { supportedVersion } = require('@instana/core').tracing;
1111
const testUtils = require('@instana/core/test/test_util');
1212
const config = require('@instana/core/test/config');
13-
const isLatestEsmSupportedVersion = require('@instana/core').util.esm.isLatestEsmSupportedVersion;
1413

1514
const ProcessControls = require('../../../collector/test/test_util/ProcessControls');
16-
const loaderPath = isLatestEsmSupportedVersion(process.versions.node)
17-
? ['--import', '../../../../collector/esm-register.mjs']
18-
: ['--experimental-loader=../../../../collector/esm-loader.mjs'];
15+
const loaderPath = ['--import', '../../../../collector/esm-register.mjs'];
16+
1917
const mochaSuiteFn = supportedVersion(process.versions.node) ? describe : describe.skip;
2018

2119
mochaSuiteFn('ESM loader', function () {
@@ -121,9 +119,8 @@ mochaSuiteFn('ESM loader', function () {
121119
describe('case 4 (NODE_OPTIONS)', function () {
122120
this.timeout(config.getTestTimeout());
123121
let controls;
124-
const nodeOption = isLatestEsmSupportedVersion(process.versions.node)
125-
? '--import ../../../../collector/esm-register.mjs'
126-
: '--experimental-loader=../../../../collector/esm-loader.mjs';
122+
const nodeOption = '--import ../../../../collector/esm-register.mjs';
123+
127124
before(async () => {
128125
controls = new ProcessControls({
129126
env: {

0 commit comments

Comments
 (0)