Skip to content

Commit cc7be6b

Browse files
committed
1 parent c0806ba commit cc7be6b

File tree

4 files changed

+49
-46
lines changed

4 files changed

+49
-46
lines changed

node_modules/is-core-module/core.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,7 @@
112112
"node:string_decoder": [">= 14.18 && < 15", ">= 16"],
113113
"sys": [">= 0.4 && < 0.7", ">= 0.8"],
114114
"node:sys": [">= 14.18 && < 15", ">= 16"],
115+
"node:test": ">= 18",
115116
"timers": true,
116117
"node:timers": [">= 14.18 && < 15", ">= 16"],
117118
"timers/promises": ">= 15",

node_modules/is-core-module/package.json

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,11 @@
11
{
22
"name": "is-core-module",
3-
"version": "2.8.1",
3+
"version": "2.9.0",
44
"description": "Is this specifier a node.js core module?",
55
"main": "index.js",
66
"sideEffects": false,
77
"exports": {
8-
".": [
9-
{
10-
"default": "./index.js"
11-
},
12-
"./index.js"
13-
],
8+
".": "./index.js",
149
"./package.json": "./package.json"
1510
},
1611
"scripts": {
@@ -49,14 +44,15 @@
4944
"has": "^1.0.3"
5045
},
5146
"devDependencies": {
52-
"@ljharb/eslint-config": "^20.1.0",
53-
"aud": "^1.1.5",
54-
"auto-changelog": "^2.3.0",
55-
"eslint": "^8.6.0",
47+
"@ljharb/eslint-config": "^21.0.0",
48+
"aud": "^2.0.0",
49+
"auto-changelog": "^2.4.0",
50+
"eslint": "=8.8.0",
51+
"mock-property": "^1.0.0",
5652
"nyc": "^10.3.2",
5753
"safe-publish-latest": "^2.0.0",
5854
"semver": "^6.3.0",
59-
"tape": "^5.4.0"
55+
"tape": "^5.5.3"
6056
},
6157
"auto-changelog": {
6258
"output": "CHANGELOG.md",

node_modules/is-core-module/test/index.js

Lines changed: 34 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
var test = require('tape');
44
var keys = require('object-keys');
55
var semver = require('semver');
6+
var mockProperty = require('mock-property');
7+
68
var isCore = require('../');
79
var data = require('../core.json');
810

@@ -51,16 +53,18 @@ test('core modules', function (t) {
5153
function () { require(mod); }, // eslint-disable-line no-loop-func
5254
'requiring ' + mod + ' does not throw'
5355
);
54-
if (supportsNodePrefix) {
55-
st.doesNotThrow(
56-
function () { require('node:' + mod); }, // eslint-disable-line no-loop-func
57-
'requiring node:' + mod + ' does not throw'
58-
);
59-
} else {
60-
st['throws'](
61-
function () { require('node:' + mod); }, // eslint-disable-line no-loop-func
62-
'requiring node:' + mod + ' throws'
63-
);
56+
if (mod.slice(0, 5) !== 'node:') {
57+
if (supportsNodePrefix) {
58+
st.doesNotThrow(
59+
function () { require('node:' + mod); }, // eslint-disable-line no-loop-func
60+
'requiring node:' + mod + ' does not throw'
61+
);
62+
} else {
63+
st['throws'](
64+
function () { require('node:' + mod); }, // eslint-disable-line no-loop-func
65+
'requiring node:' + mod + ' throws'
66+
);
67+
}
6468
}
6569
}
6670
}
@@ -79,6 +83,10 @@ test('core modules', function (t) {
7983
'v8/tools/tickprocessor',
8084
'v8/tools/profile'
8185
];
86+
// see https://github.com/nodejs/node/issues/42785
87+
if (semver.satisfies(process.version, '>= 18')) {
88+
libs = libs.concat('node:test');
89+
}
8290
for (var i = 0; i < libs.length; ++i) {
8391
var mod = libs[i];
8492
if (excludeList.indexOf(mod) === -1) {
@@ -87,16 +95,18 @@ test('core modules', function (t) {
8795
function () { require(mod); }, // eslint-disable-line no-loop-func
8896
'requiring ' + mod + ' does not throw'
8997
);
90-
if (supportsNodePrefix) {
91-
st.doesNotThrow(
92-
function () { require('node:' + mod); }, // eslint-disable-line no-loop-func
93-
'requiring node:' + mod + ' does not throw'
94-
);
95-
} else {
96-
st['throws'](
97-
function () { require('node:' + mod); }, // eslint-disable-line no-loop-func
98-
'requiring node:' + mod + ' throws'
99-
);
98+
if (mod.slice(0, 5) !== 'node:') {
99+
if (supportsNodePrefix) {
100+
st.doesNotThrow(
101+
function () { require('node:' + mod); }, // eslint-disable-line no-loop-func
102+
'requiring node:' + mod + ' does not throw'
103+
);
104+
} else {
105+
st['throws'](
106+
function () { require('node:' + mod); }, // eslint-disable-line no-loop-func
107+
'requiring node:' + mod + ' throws'
108+
);
109+
}
100110
}
101111
}
102112
}
@@ -105,18 +115,11 @@ test('core modules', function (t) {
105115
});
106116

107117
t.test('Object.prototype pollution', function (st) {
108-
/* eslint no-extend-native: 1 */
109118
var nonKey = 'not a core module';
110-
st.teardown(function () {
111-
delete Object.prototype.fs;
112-
delete Object.prototype.path;
113-
delete Object.prototype.http;
114-
delete Object.prototype[nonKey];
115-
});
116-
Object.prototype.fs = false;
117-
Object.prototype.path = '>= 999999999';
118-
Object.prototype.http = data.http;
119-
Object.prototype[nonKey] = true;
119+
st.teardown(mockProperty(Object.prototype, 'fs', { value: false }));
120+
st.teardown(mockProperty(Object.prototype, 'path', { value: '>= 999999999' }));
121+
st.teardown(mockProperty(Object.prototype, 'http', { value: data.http }));
122+
st.teardown(mockProperty(Object.prototype, nonKey, { value: true }));
120123

121124
st.equal(isCore('fs'), true, 'fs is a core module even if Object.prototype lies');
122125
st.equal(isCore('path'), true, 'path is a core module even if Object.prototype lies');

package-lock.json

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3848,9 +3848,10 @@
38483848
}
38493849
},
38503850
"node_modules/is-core-module": {
3851-
"version": "2.8.1",
3851+
"version": "2.9.0",
3852+
"resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.9.0.tgz",
3853+
"integrity": "sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==",
38523854
"inBundle": true,
3853-
"license": "MIT",
38543855
"dependencies": {
38553856
"has": "^1.0.3"
38563857
},
@@ -12662,7 +12663,9 @@
1266212663
}
1266312664
},
1266412665
"is-core-module": {
12665-
"version": "2.8.1",
12666+
"version": "2.9.0",
12667+
"resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.9.0.tgz",
12668+
"integrity": "sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==",
1266612669
"requires": {
1266712670
"has": "^1.0.3"
1266812671
}

0 commit comments

Comments
 (0)