step-node-agent 3.21.3 → 3.21.5

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.
@@ -5,6 +5,13 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [v1.2.1](https://github.com/ljharb/get-intrinsic/compare/v1.2.0...v1.2.1) - 2023-05-13
9
+
10
+ ### Commits
11
+
12
+ - [Fix] avoid a crash in envs without `__proto__` [`7bad8d0`](https://github.com/ljharb/get-intrinsic/commit/7bad8d061bf8721733b58b73a2565af2b6756b64)
13
+ - [Dev Deps] update `es-abstract` [`c60e6b7`](https://github.com/ljharb/get-intrinsic/commit/c60e6b7b4cf9660c7f27ed970970fd55fac48dc5)
14
+
8
15
  ## [v1.2.0](https://github.com/ljharb/get-intrinsic/compare/v1.1.3...v1.2.0) - 2023-01-19
9
16
 
10
17
  ### Commits
@@ -43,18 +43,23 @@ var ThrowTypeError = $gOPD
43
43
  : throwTypeError;
44
44
 
45
45
  var hasSymbols = require('has-symbols')();
46
+ var hasProto = require('has-proto')();
46
47
 
47
- var getProto = Object.getPrototypeOf || function (x) { return x.__proto__; }; // eslint-disable-line no-proto
48
+ var getProto = Object.getPrototypeOf || (
49
+ hasProto
50
+ ? function (x) { return x.__proto__; } // eslint-disable-line no-proto
51
+ : null
52
+ );
48
53
 
49
54
  var needsEval = {};
50
55
 
51
- var TypedArray = typeof Uint8Array === 'undefined' ? undefined : getProto(Uint8Array);
56
+ var TypedArray = typeof Uint8Array === 'undefined' || !getProto ? undefined : getProto(Uint8Array);
52
57
 
53
58
  var INTRINSICS = {
54
59
  '%AggregateError%': typeof AggregateError === 'undefined' ? undefined : AggregateError,
55
60
  '%Array%': Array,
56
61
  '%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer,
57
- '%ArrayIteratorPrototype%': hasSymbols ? getProto([][Symbol.iterator]()) : undefined,
62
+ '%ArrayIteratorPrototype%': hasSymbols && getProto ? getProto([][Symbol.iterator]()) : undefined,
58
63
  '%AsyncFromSyncIteratorPrototype%': undefined,
59
64
  '%AsyncFunction%': needsEval,
60
65
  '%AsyncGenerator%': needsEval,
@@ -84,10 +89,10 @@ var INTRINSICS = {
84
89
  '%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array,
85
90
  '%isFinite%': isFinite,
86
91
  '%isNaN%': isNaN,
87
- '%IteratorPrototype%': hasSymbols ? getProto(getProto([][Symbol.iterator]())) : undefined,
92
+ '%IteratorPrototype%': hasSymbols && getProto ? getProto(getProto([][Symbol.iterator]())) : undefined,
88
93
  '%JSON%': typeof JSON === 'object' ? JSON : undefined,
89
94
  '%Map%': typeof Map === 'undefined' ? undefined : Map,
90
- '%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols ? undefined : getProto(new Map()[Symbol.iterator]()),
95
+ '%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols || !getProto ? undefined : getProto(new Map()[Symbol.iterator]()),
91
96
  '%Math%': Math,
92
97
  '%Number%': Number,
93
98
  '%Object%': Object,
@@ -100,10 +105,10 @@ var INTRINSICS = {
100
105
  '%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect,
101
106
  '%RegExp%': RegExp,
102
107
  '%Set%': typeof Set === 'undefined' ? undefined : Set,
103
- '%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols ? undefined : getProto(new Set()[Symbol.iterator]()),
108
+ '%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols || !getProto ? undefined : getProto(new Set()[Symbol.iterator]()),
104
109
  '%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer,
105
110
  '%String%': String,
106
- '%StringIteratorPrototype%': hasSymbols ? getProto(''[Symbol.iterator]()) : undefined,
111
+ '%StringIteratorPrototype%': hasSymbols && getProto ? getProto(''[Symbol.iterator]()) : undefined,
107
112
  '%Symbol%': hasSymbols ? Symbol : undefined,
108
113
  '%SyntaxError%': $SyntaxError,
109
114
  '%ThrowTypeError%': ThrowTypeError,
@@ -119,12 +124,14 @@ var INTRINSICS = {
119
124
  '%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet
120
125
  };
121
126
 
122
- try {
123
- null.error; // eslint-disable-line no-unused-expressions
124
- } catch (e) {
125
- // https://github.com/tc39/proposal-shadowrealm/pull/384#issuecomment-1364264229
126
- var errorProto = getProto(getProto(e));
127
- INTRINSICS['%Error.prototype%'] = errorProto;
127
+ if (getProto) {
128
+ try {
129
+ null.error; // eslint-disable-line no-unused-expressions
130
+ } catch (e) {
131
+ // https://github.com/tc39/proposal-shadowrealm/pull/384#issuecomment-1364264229
132
+ var errorProto = getProto(getProto(e));
133
+ INTRINSICS['%Error.prototype%'] = errorProto;
134
+ }
128
135
  }
129
136
 
130
137
  var doEval = function doEval(name) {
@@ -142,7 +149,7 @@ var doEval = function doEval(name) {
142
149
  }
143
150
  } else if (name === '%AsyncIteratorPrototype%') {
144
151
  var gen = doEval('%AsyncGenerator%');
145
- if (gen) {
152
+ if (gen && getProto) {
146
153
  value = getProto(gen.prototype);
147
154
  }
148
155
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "get-intrinsic",
3
- "version": "1.2.0",
3
+ "version": "1.2.1",
4
4
  "description": "Get and robustly cache all JS language-level intrinsics at first require time",
5
5
  "main": "index.js",
6
6
  "exports": {
@@ -52,7 +52,7 @@
52
52
  "aud": "^2.0.2",
53
53
  "auto-changelog": "^2.4.0",
54
54
  "call-bind": "^1.0.2",
55
- "es-abstract": "^1.21.1",
55
+ "es-abstract": "^1.21.2",
56
56
  "es-value-fixtures": "^1.4.2",
57
57
  "eslint": "=8.8.0",
58
58
  "evalmd": "^0.0.19",
@@ -79,6 +79,7 @@
79
79
  "dependencies": {
80
80
  "function-bind": "^1.1.1",
81
81
  "has": "^1.0.3",
82
+ "has-proto": "^1.0.1",
82
83
  "has-symbols": "^1.0.3"
83
84
  },
84
85
  "testling": {
@@ -0,0 +1,5 @@
1
+ {
2
+ "root": true,
3
+
4
+ "extends": "@ljharb",
5
+ }
@@ -0,0 +1,12 @@
1
+ # These are supported funding model platforms
2
+
3
+ github: [ljharb]
4
+ patreon: # Replace with a single Patreon username
5
+ open_collective: # Replace with a single Open Collective username
6
+ ko_fi: # Replace with a single Ko-fi username
7
+ tidelift: npm/has-proto
8
+ community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
9
+ liberapay: # Replace with a single Liberapay username
10
+ issuehunt: # Replace with a single IssueHunt username
11
+ otechie: # Replace with a single Otechie username
12
+ custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
@@ -0,0 +1,23 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project will be documented in this file.
4
+
5
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
6
+ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
+
8
+ ## [v1.0.1](https://github.com/inspect-js/has-proto/compare/v1.0.0...v1.0.1) - 2022-12-21
9
+
10
+ ### Commits
11
+
12
+ - [meta] correct URLs and description [`ef34483`](https://github.com/inspect-js/has-proto/commit/ef34483ca0d35680f271b6b96e35526151b25dfc)
13
+ - [patch] add an additional criteria [`e81959e`](https://github.com/inspect-js/has-proto/commit/e81959ed7c7a77fbf459f00cb4ef824f1099497f)
14
+ - [Dev Deps] update `aud` [`2bec2c4`](https://github.com/inspect-js/has-proto/commit/2bec2c47b072b122ff5443fba0263f6dc649531f)
15
+
16
+ ## v1.0.0 - 2022-12-12
17
+
18
+ ### Commits
19
+
20
+ - Initial implementation, tests, readme [`6886fea`](https://github.com/inspect-js/has-proto/commit/6886fea578f67daf69a7920b2eb7637ea6ebb0bc)
21
+ - Initial commit [`99129c8`](https://github.com/inspect-js/has-proto/commit/99129c8f42471ac89cb681ba9cb9d52a583eb94f)
22
+ - npm init [`2844ad8`](https://github.com/inspect-js/has-proto/commit/2844ad8e75b84d66a46765b3bab9d2e8ea692e10)
23
+ - Only apps should have lockfiles [`c65bc5e`](https://github.com/inspect-js/has-proto/commit/c65bc5e40b9004463f7336d47c67245fb139a36a)
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2022 Inspect JS
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,38 @@
1
+ # has-proto <sup>[![Version Badge][npm-version-svg]][package-url]</sup>
2
+
3
+ [![github actions][actions-image]][actions-url]
4
+ [![coverage][codecov-image]][codecov-url]
5
+ [![License][license-image]][license-url]
6
+ [![Downloads][downloads-image]][downloads-url]
7
+
8
+ [![npm badge][npm-badge-png]][package-url]
9
+
10
+ Does this environment have the ability to set the [[Prototype]] of an object on creation with `__proto__`?
11
+
12
+ ## Example
13
+
14
+ ```js
15
+ var hasProto = require('has-proto');
16
+ var assert = require('assert');
17
+
18
+ assert.equal(typeof hasProto(), 'boolean');
19
+ ```
20
+
21
+ ## Tests
22
+ Simply clone the repo, `npm install`, and run `npm test`
23
+
24
+ [package-url]: https://npmjs.org/package/has-proto
25
+ [npm-version-svg]: https://versionbadg.es/inspect-js/has-proto.svg
26
+ [deps-svg]: https://david-dm.org/inspect-js/has-proto.svg
27
+ [deps-url]: https://david-dm.org/inspect-js/has-proto
28
+ [dev-deps-svg]: https://david-dm.org/inspect-js/has-proto/dev-status.svg
29
+ [dev-deps-url]: https://david-dm.org/inspect-js/has-proto#info=devDependencies
30
+ [npm-badge-png]: https://nodei.co/npm/has-proto.png?downloads=true&stars=true
31
+ [license-image]: https://img.shields.io/npm/l/has-proto.svg
32
+ [license-url]: LICENSE
33
+ [downloads-image]: https://img.shields.io/npm/dm/has-proto.svg
34
+ [downloads-url]: https://npm-stat.com/charts.html?package=has-proto
35
+ [codecov-image]: https://codecov.io/gh/inspect-js/has-proto/branch/main/graphs/badge.svg
36
+ [codecov-url]: https://app.codecov.io/gh/inspect-js/has-proto/
37
+ [actions-image]: https://img.shields.io/endpoint?url=https://github-actions-badge-u3jn4tfpocch.runkit.sh/inspect-js/has-proto
38
+ [actions-url]: https://github.com/inspect-js/has-proto/actions
@@ -0,0 +1,11 @@
1
+ 'use strict';
2
+
3
+ var test = {
4
+ foo: {}
5
+ };
6
+
7
+ var $Object = Object;
8
+
9
+ module.exports = function hasProto() {
10
+ return { __proto__: test }.foo === test.foo && !({ __proto__: null } instanceof $Object);
11
+ };
@@ -0,0 +1,74 @@
1
+ {
2
+ "name": "has-proto",
3
+ "version": "1.0.1",
4
+ "description": "Does this environment have the ability to get the [[Prototype]] of an object on creation with `__proto__`?",
5
+ "main": "index.js",
6
+ "exports": {
7
+ ".": "./index.js",
8
+ "./package.json": "./package.json"
9
+ },
10
+ "scripts": {
11
+ "prepack": "npmignore --auto --commentLines=autogenerated",
12
+ "prepublishOnly": "safe-publish-latest",
13
+ "prepublish": "not-in-publish || npm run prepublishOnly",
14
+ "lint": "eslint --ext=js,mjs .",
15
+ "pretest": "npm run lint",
16
+ "tests-only": "tape 'test/**/*.js'",
17
+ "test": "npm run tests-only",
18
+ "posttest": "aud --production",
19
+ "version": "auto-changelog && git add CHANGELOG.md",
20
+ "postversion": "auto-changelog && git add CHANGELOG.md && git commit --no-edit --amend && git tag -f \"v$(node -e \"console.log(require('./package.json').version)\")\""
21
+ },
22
+ "repository": {
23
+ "type": "git",
24
+ "url": "git+https://github.com/inspect-js/has-proto.git"
25
+ },
26
+ "keywords": [
27
+ "prototype",
28
+ "proto",
29
+ "set",
30
+ "get",
31
+ "__proto__",
32
+ "getPrototypeOf",
33
+ "setPrototypeOf",
34
+ "has"
35
+ ],
36
+ "author": "Jordan Harband <ljharb@gmail.com>",
37
+ "funding": {
38
+ "url": "https://github.com/sponsors/ljharb"
39
+ },
40
+ "license": "MIT",
41
+ "bugs": {
42
+ "url": "https://github.com/inspect-js/has-proto/issues"
43
+ },
44
+ "homepage": "https://github.com/inspect-js/has-proto#readme",
45
+ "testling": {
46
+ "files": "test/index.js"
47
+ },
48
+ "devDependencies": {
49
+ "@ljharb/eslint-config": "^21.0.0",
50
+ "aud": "^2.0.2",
51
+ "auto-changelog": "^2.4.0",
52
+ "eslint": "=8.8.0",
53
+ "in-publish": "^2.0.1",
54
+ "npmignore": "^0.3.0",
55
+ "safe-publish-latest": "^2.0.0",
56
+ "tape": "^5.6.1"
57
+ },
58
+ "engines": {
59
+ "node": ">= 0.4"
60
+ },
61
+ "auto-changelog": {
62
+ "output": "CHANGELOG.md",
63
+ "template": "keepachangelog",
64
+ "unreleased": false,
65
+ "commitLimit": false,
66
+ "backfillLimit": false,
67
+ "hideCredit": true
68
+ },
69
+ "publishConfig": {
70
+ "ignore": [
71
+ ".github/workflows"
72
+ ]
73
+ }
74
+ }
@@ -0,0 +1,19 @@
1
+ 'use strict';
2
+
3
+ var test = require('tape');
4
+ var hasProto = require('../');
5
+
6
+ test('hasProto', function (t) {
7
+ var result = hasProto();
8
+ t.equal(typeof result, 'boolean', 'returns a boolean (' + result + ')');
9
+
10
+ var obj = { __proto__: null };
11
+ if (result) {
12
+ t.notOk('toString' in obj, 'null object lacks toString');
13
+ } else {
14
+ t.ok('toString' in obj, 'without proto, null object has toString');
15
+ t.equal(obj.__proto__, null); // eslint-disable-line no-proto
16
+ }
17
+
18
+ t.end();
19
+ });
@@ -5,6 +5,19 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [v2.13.0](https://github.com/inspect-js/is-core-module/compare/v2.12.1...v2.13.0) - 2023-08-05
9
+
10
+ ### Commits
11
+
12
+ - [Dev Deps] update `@ljharb/eslint-config`, `aud`, `semver`, `tape` [`c75b263`](https://github.com/inspect-js/is-core-module/commit/c75b263d047cb53430c3970107e5eb64d6cd6c0c)
13
+ - [New] `node:test/reporters` and `wasi`/`node:wasi` are in v18.17 [`d76cbf8`](https://github.com/inspect-js/is-core-module/commit/d76cbf8e9b208acfd98913fed5a5f45cb15fe5dc)
14
+
15
+ ## [v2.12.1](https://github.com/inspect-js/is-core-module/compare/v2.12.0...v2.12.1) - 2023-05-16
16
+
17
+ ### Commits
18
+
19
+ - [Fix] `test/reporters` now requires the `node:` prefix as of v20.2 [`12183d0`](https://github.com/inspect-js/is-core-module/commit/12183d0d8e4edf56b6ce18a1b3be54bfce10175b)
20
+
8
21
  ## [v2.12.0](https://github.com/inspect-js/is-core-module/compare/v2.11.0...v2.12.0) - 2023-04-10
9
22
 
10
23
  ### Commits
@@ -114,8 +114,8 @@
114
114
  "node:string_decoder": [">= 14.18 && < 15", ">= 16"],
115
115
  "sys": [">= 0.4 && < 0.7", ">= 0.8"],
116
116
  "node:sys": [">= 14.18 && < 15", ">= 16"],
117
- "test/reporters": [">= 19.9", ">= 20"],
118
- "node:test/reporters": [">= 19.9", ">= 20"],
117
+ "test/reporters": ">= 19.9 && < 20.2",
118
+ "node:test/reporters": [">= 18.17 && < 19", ">= 19.9", ">= 20"],
119
119
  "node:test": [">= 16.17 && < 17", ">= 18"],
120
120
  "timers": true,
121
121
  "node:timers": [">= 14.18 && < 15", ">= 16"],
@@ -149,8 +149,8 @@
149
149
  "node:v8": [">= 14.18 && < 15", ">= 16"],
150
150
  "vm": true,
151
151
  "node:vm": [">= 14.18 && < 15", ">= 16"],
152
- "wasi": [">= 13.4 && < 13.5", ">= 20"],
153
- "node:wasi": ">= 20",
152
+ "wasi": [">= 13.4 && < 13.5", ">= 18.17 && < 19", ">= 20"],
153
+ "node:wasi": [">= 18.17 && < 19", ">= 20"],
154
154
  "worker_threads": ">= 11.7",
155
155
  "node:worker_threads": [">= 14.18 && < 15", ">= 16"],
156
156
  "zlib": ">= 0.5",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "is-core-module",
3
- "version": "2.12.0",
3
+ "version": "2.13.0",
4
4
  "description": "Is this specifier a node.js core module?",
5
5
  "main": "index.js",
6
6
  "sideEffects": false,
@@ -45,8 +45,8 @@
45
45
  "has": "^1.0.3"
46
46
  },
47
47
  "devDependencies": {
48
- "@ljharb/eslint-config": "^21.0.1",
49
- "aud": "^2.0.2",
48
+ "@ljharb/eslint-config": "^21.1.0",
49
+ "aud": "^2.0.3",
50
50
  "auto-changelog": "^2.4.0",
51
51
  "eslint": "=8.8.0",
52
52
  "in-publish": "^2.0.1",
@@ -54,8 +54,8 @@
54
54
  "npmignore": "^0.3.0",
55
55
  "nyc": "^10.3.2",
56
56
  "safe-publish-latest": "^2.0.0",
57
- "semver": "^6.3.0",
58
- "tape": "^5.6.3"
57
+ "semver": "^6.3.1",
58
+ "tape": "^5.6.6"
59
59
  },
60
60
  "auto-changelog": {
61
61
  "output": "CHANGELOG.md",
@@ -114,6 +114,8 @@
114
114
  "node:string_decoder": [">= 14.18 && < 15", ">= 16"],
115
115
  "sys": [">= 0.4 && < 0.7", ">= 0.8"],
116
116
  "node:sys": [">= 14.18 && < 15", ">= 16"],
117
+ "test/reporters": ">= 19.9 && < 20.2",
118
+ "node:test/reporters": [">= 18.17 && < 19", ">= 19.9", ">= 20"],
117
119
  "node:test": [">= 16.17 && < 17", ">= 18"],
118
120
  "timers": true,
119
121
  "node:timers": [">= 14.18 && < 15", ">= 16"],
@@ -147,7 +149,8 @@
147
149
  "node:v8": [">= 14.18 && < 15", ">= 16"],
148
150
  "vm": true,
149
151
  "node:vm": [">= 14.18 && < 15", ">= 16"],
150
- "wasi": ">= 13.4 && < 13.5",
152
+ "wasi": [">= 13.4 && < 13.5", ">= 18.17 && < 19", ">= 20"],
153
+ "node:wasi": [">= 18.17 && < 19", ">= 20"],
151
154
  "worker_threads": ">= 11.7",
152
155
  "node:worker_threads": [">= 14.18 && < 15", ">= 16"],
153
156
  "zlib": ">= 0.5",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "resolve",
3
3
  "description": "resolve like require.resolve() on behalf of files asynchronously and synchronously",
4
- "version": "1.22.2",
4
+ "version": "1.22.4",
5
5
  "repository": {
6
6
  "type": "git",
7
7
  "url": "git://github.com/browserify/resolve.git"
@@ -30,9 +30,9 @@
30
30
  "test:multirepo": "cd ./test/resolver/multirepo && npm install && npm test"
31
31
  },
32
32
  "devDependencies": {
33
- "@ljharb/eslint-config": "^21.0.1",
33
+ "@ljharb/eslint-config": "^21.1.0",
34
34
  "array.prototype.map": "^1.0.5",
35
- "aud": "^2.0.2",
35
+ "aud": "^2.0.3",
36
36
  "copy-dir": "^1.3.0",
37
37
  "eclint": "^2.8.1",
38
38
  "eslint": "=8.8.0",
@@ -43,9 +43,9 @@
43
43
  "object-keys": "^1.1.1",
44
44
  "rimraf": "^2.7.1",
45
45
  "safe-publish-latest": "^2.0.0",
46
- "semver": "^6.3.0",
46
+ "semver": "^6.3.1",
47
47
  "tap": "0.4.13",
48
- "tape": "^5.6.3",
48
+ "tape": "^5.6.6",
49
49
  "tmp": "^0.0.31"
50
50
  },
51
51
  "license": "MIT",
@@ -58,7 +58,7 @@
58
58
  "url": "https://github.com/sponsors/ljharb"
59
59
  },
60
60
  "dependencies": {
61
- "is-core-module": "^2.11.0",
61
+ "is-core-module": "^2.13.0",
62
62
  "path-parse": "^1.0.7",
63
63
  "supports-preserve-symlinks-flag": "^1.0.0"
64
64
  },
@@ -1,19 +1,26 @@
1
1
  {
2
2
  "name": "semver",
3
- "version": "5.7.1",
3
+ "version": "5.7.2",
4
4
  "description": "The semantic version parser used by npm.",
5
5
  "main": "semver.js",
6
6
  "scripts": {
7
- "test": "tap",
8
- "preversion": "npm test",
9
- "postversion": "npm publish",
10
- "postpublish": "git push origin --all; git push origin --tags"
7
+ "test": "tap test/ --100 --timeout=30",
8
+ "lint": "echo linting disabled",
9
+ "postlint": "template-oss-check",
10
+ "template-oss-apply": "template-oss-apply --force",
11
+ "lintfix": "npm run lint -- --fix",
12
+ "snap": "tap test/ --100 --timeout=30",
13
+ "posttest": "npm run lint"
11
14
  },
12
15
  "devDependencies": {
13
- "tap": "^13.0.0-rc.18"
16
+ "@npmcli/template-oss": "4.17.0",
17
+ "tap": "^12.7.0"
14
18
  },
15
19
  "license": "ISC",
16
- "repository": "https://github.com/npm/node-semver",
20
+ "repository": {
21
+ "type": "git",
22
+ "url": "https://github.com/npm/node-semver.git"
23
+ },
17
24
  "bin": {
18
25
  "semver": "./bin/semver"
19
26
  },
@@ -22,7 +29,10 @@
22
29
  "range.bnf",
23
30
  "semver.js"
24
31
  ],
25
- "tap": {
26
- "check-coverage": true
32
+ "author": "GitHub Inc.",
33
+ "templateOSS": {
34
+ "//@npmcli/template-oss": "This file is partially managed by @npmcli/template-oss. Edits may be overwritten.",
35
+ "content": "./scripts/template-oss",
36
+ "version": "4.17.0"
27
37
  }
28
38
  }
@@ -26,11 +26,39 @@ var MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER ||
26
26
  // Max safe segment length for coercion.
27
27
  var MAX_SAFE_COMPONENT_LENGTH = 16
28
28
 
29
+ var MAX_SAFE_BUILD_LENGTH = MAX_LENGTH - 6
30
+
29
31
  // The actual regexps go on exports.re
30
32
  var re = exports.re = []
33
+ var safeRe = exports.safeRe = []
31
34
  var src = exports.src = []
32
35
  var R = 0
33
36
 
37
+ var LETTERDASHNUMBER = '[a-zA-Z0-9-]'
38
+
39
+ // Replace some greedy regex tokens to prevent regex dos issues. These regex are
40
+ // used internally via the safeRe object since all inputs in this library get
41
+ // normalized first to trim and collapse all extra whitespace. The original
42
+ // regexes are exported for userland consumption and lower level usage. A
43
+ // future breaking change could export the safer regex only with a note that
44
+ // all input should have extra whitespace removed.
45
+ var safeRegexReplacements = [
46
+ ['\\s', 1],
47
+ ['\\d', MAX_LENGTH],
48
+ [LETTERDASHNUMBER, MAX_SAFE_BUILD_LENGTH],
49
+ ]
50
+
51
+ function makeSafeRe (value) {
52
+ for (var i = 0; i < safeRegexReplacements.length; i++) {
53
+ var token = safeRegexReplacements[i][0]
54
+ var max = safeRegexReplacements[i][1]
55
+ value = value
56
+ .split(token + '*').join(token + '{0,' + max + '}')
57
+ .split(token + '+').join(token + '{1,' + max + '}')
58
+ }
59
+ return value
60
+ }
61
+
34
62
  // The following Regular Expressions can be used for tokenizing,
35
63
  // validating, and parsing SemVer version strings.
36
64
 
@@ -40,14 +68,14 @@ var R = 0
40
68
  var NUMERICIDENTIFIER = R++
41
69
  src[NUMERICIDENTIFIER] = '0|[1-9]\\d*'
42
70
  var NUMERICIDENTIFIERLOOSE = R++
43
- src[NUMERICIDENTIFIERLOOSE] = '[0-9]+'
71
+ src[NUMERICIDENTIFIERLOOSE] = '\\d+'
44
72
 
45
73
  // ## Non-numeric Identifier
46
74
  // Zero or more digits, followed by a letter or hyphen, and then zero or
47
75
  // more letters, digits, or hyphens.
48
76
 
49
77
  var NONNUMERICIDENTIFIER = R++
50
- src[NONNUMERICIDENTIFIER] = '\\d*[a-zA-Z-][a-zA-Z0-9-]*'
78
+ src[NONNUMERICIDENTIFIER] = '\\d*[a-zA-Z-]' + LETTERDASHNUMBER + '*'
51
79
 
52
80
  // ## Main Version
53
81
  // Three dot-separated numeric identifiers.
@@ -89,7 +117,7 @@ src[PRERELEASELOOSE] = '(?:-?(' + src[PRERELEASEIDENTIFIERLOOSE] +
89
117
  // Any combination of digits, letters, or hyphens.
90
118
 
91
119
  var BUILDIDENTIFIER = R++
92
- src[BUILDIDENTIFIER] = '[0-9A-Za-z-]+'
120
+ src[BUILDIDENTIFIER] = LETTERDASHNUMBER + '+'
93
121
 
94
122
  // ## Build Metadata
95
123
  // Plus sign, followed by one or more period-separated build metadata
@@ -174,6 +202,7 @@ src[LONETILDE] = '(?:~>?)'
174
202
  var TILDETRIM = R++
175
203
  src[TILDETRIM] = '(\\s*)' + src[LONETILDE] + '\\s+'
176
204
  re[TILDETRIM] = new RegExp(src[TILDETRIM], 'g')
205
+ safeRe[TILDETRIM] = new RegExp(makeSafeRe(src[TILDETRIM]), 'g')
177
206
  var tildeTrimReplace = '$1~'
178
207
 
179
208
  var TILDE = R++
@@ -189,6 +218,7 @@ src[LONECARET] = '(?:\\^)'
189
218
  var CARETTRIM = R++
190
219
  src[CARETTRIM] = '(\\s*)' + src[LONECARET] + '\\s+'
191
220
  re[CARETTRIM] = new RegExp(src[CARETTRIM], 'g')
221
+ safeRe[CARETTRIM] = new RegExp(makeSafeRe(src[CARETTRIM]), 'g')
192
222
  var caretTrimReplace = '$1^'
193
223
 
194
224
  var CARET = R++
@@ -210,6 +240,7 @@ src[COMPARATORTRIM] = '(\\s*)' + src[GTLT] +
210
240
 
211
241
  // this one has to use the /g flag
212
242
  re[COMPARATORTRIM] = new RegExp(src[COMPARATORTRIM], 'g')
243
+ safeRe[COMPARATORTRIM] = new RegExp(makeSafeRe(src[COMPARATORTRIM]), 'g')
213
244
  var comparatorTrimReplace = '$1$2$3'
214
245
 
215
246
  // Something like `1.2.3 - 1.2.4`
@@ -238,6 +269,14 @@ for (var i = 0; i < R; i++) {
238
269
  debug(i, src[i])
239
270
  if (!re[i]) {
240
271
  re[i] = new RegExp(src[i])
272
+
273
+ // Replace all greedy whitespace to prevent regex dos issues. These regex are
274
+ // used internally via the safeRe object since all inputs in this library get
275
+ // normalized first to trim and collapse all extra whitespace. The original
276
+ // regexes are exported for userland consumption and lower level usage. A
277
+ // future breaking change could export the safer regex only with a note that
278
+ // all input should have extra whitespace removed.
279
+ safeRe[i] = new RegExp(makeSafeRe(src[i]))
241
280
  }
242
281
  }
243
282
 
@@ -262,7 +301,7 @@ function parse (version, options) {
262
301
  return null
263
302
  }
264
303
 
265
- var r = options.loose ? re[LOOSE] : re[FULL]
304
+ var r = options.loose ? safeRe[LOOSE] : safeRe[FULL]
266
305
  if (!r.test(version)) {
267
306
  return null
268
307
  }
@@ -317,7 +356,7 @@ function SemVer (version, options) {
317
356
  this.options = options
318
357
  this.loose = !!options.loose
319
358
 
320
- var m = version.trim().match(options.loose ? re[LOOSE] : re[FULL])
359
+ var m = version.trim().match(options.loose ? safeRe[LOOSE] : safeRe[FULL])
321
360
 
322
361
  if (!m) {
323
362
  throw new TypeError('Invalid Version: ' + version)
@@ -731,6 +770,7 @@ function Comparator (comp, options) {
731
770
  return new Comparator(comp, options)
732
771
  }
733
772
 
773
+ comp = comp.trim().split(/\s+/).join(' ')
734
774
  debug('comparator', comp, options)
735
775
  this.options = options
736
776
  this.loose = !!options.loose
@@ -747,7 +787,7 @@ function Comparator (comp, options) {
747
787
 
748
788
  var ANY = {}
749
789
  Comparator.prototype.parse = function (comp) {
750
- var r = this.options.loose ? re[COMPARATORLOOSE] : re[COMPARATOR]
790
+ var r = this.options.loose ? safeRe[COMPARATORLOOSE] : safeRe[COMPARATOR]
751
791
  var m = comp.match(r)
752
792
 
753
793
  if (!m) {
@@ -861,9 +901,16 @@ function Range (range, options) {
861
901
  this.loose = !!options.loose
862
902
  this.includePrerelease = !!options.includePrerelease
863
903
 
864
- // First, split based on boolean or ||
904
+ // First reduce all whitespace as much as possible so we do not have to rely
905
+ // on potentially slow regexes like \s*. This is then stored and used for
906
+ // future error messages as well.
865
907
  this.raw = range
866
- this.set = range.split(/\s*\|\|\s*/).map(function (range) {
908
+ .trim()
909
+ .split(/\s+/)
910
+ .join(' ')
911
+
912
+ // First, split based on boolean or ||
913
+ this.set = this.raw.split('||').map(function (range) {
867
914
  return this.parseRange(range.trim())
868
915
  }, this).filter(function (c) {
869
916
  // throw out any that are not relevant for whatever reason
@@ -871,7 +918,7 @@ function Range (range, options) {
871
918
  })
872
919
 
873
920
  if (!this.set.length) {
874
- throw new TypeError('Invalid SemVer Range: ' + range)
921
+ throw new TypeError('Invalid SemVer Range: ' + this.raw)
875
922
  }
876
923
 
877
924
  this.format()
@@ -890,28 +937,23 @@ Range.prototype.toString = function () {
890
937
 
891
938
  Range.prototype.parseRange = function (range) {
892
939
  var loose = this.options.loose
893
- range = range.trim()
894
940
  // `1.2.3 - 1.2.4` => `>=1.2.3 <=1.2.4`
895
- var hr = loose ? re[HYPHENRANGELOOSE] : re[HYPHENRANGE]
941
+ var hr = loose ? safeRe[HYPHENRANGELOOSE] : safeRe[HYPHENRANGE]
896
942
  range = range.replace(hr, hyphenReplace)
897
943
  debug('hyphen replace', range)
898
944
  // `> 1.2.3 < 1.2.5` => `>1.2.3 <1.2.5`
899
- range = range.replace(re[COMPARATORTRIM], comparatorTrimReplace)
900
- debug('comparator trim', range, re[COMPARATORTRIM])
945
+ range = range.replace(safeRe[COMPARATORTRIM], comparatorTrimReplace)
946
+ debug('comparator trim', range, safeRe[COMPARATORTRIM])
901
947
 
902
948
  // `~ 1.2.3` => `~1.2.3`
903
- range = range.replace(re[TILDETRIM], tildeTrimReplace)
949
+ range = range.replace(safeRe[TILDETRIM], tildeTrimReplace)
904
950
 
905
951
  // `^ 1.2.3` => `^1.2.3`
906
- range = range.replace(re[CARETTRIM], caretTrimReplace)
907
-
908
- // normalize spaces
909
- range = range.split(/\s+/).join(' ')
952
+ range = range.replace(safeRe[CARETTRIM], caretTrimReplace)
910
953
 
911
954
  // At this point, the range is completely trimmed and
912
955
  // ready to be split into comparators.
913
-
914
- var compRe = loose ? re[COMPARATORLOOSE] : re[COMPARATOR]
956
+ var compRe = loose ? safeRe[COMPARATORLOOSE] : safeRe[COMPARATOR]
915
957
  var set = range.split(' ').map(function (comp) {
916
958
  return parseComparator(comp, this.options)
917
959
  }, this).join(' ').split(/\s+/)
@@ -987,7 +1029,7 @@ function replaceTildes (comp, options) {
987
1029
  }
988
1030
 
989
1031
  function replaceTilde (comp, options) {
990
- var r = options.loose ? re[TILDELOOSE] : re[TILDE]
1032
+ var r = options.loose ? safeRe[TILDELOOSE] : safeRe[TILDE]
991
1033
  return comp.replace(r, function (_, M, m, p, pr) {
992
1034
  debug('tilde', comp, _, M, m, p, pr)
993
1035
  var ret
@@ -1028,7 +1070,7 @@ function replaceCarets (comp, options) {
1028
1070
 
1029
1071
  function replaceCaret (comp, options) {
1030
1072
  debug('caret', comp, options)
1031
- var r = options.loose ? re[CARETLOOSE] : re[CARET]
1073
+ var r = options.loose ? safeRe[CARETLOOSE] : safeRe[CARET]
1032
1074
  return comp.replace(r, function (_, M, m, p, pr) {
1033
1075
  debug('caret', comp, _, M, m, p, pr)
1034
1076
  var ret
@@ -1087,7 +1129,7 @@ function replaceXRanges (comp, options) {
1087
1129
 
1088
1130
  function replaceXRange (comp, options) {
1089
1131
  comp = comp.trim()
1090
- var r = options.loose ? re[XRANGELOOSE] : re[XRANGE]
1132
+ var r = options.loose ? safeRe[XRANGELOOSE] : safeRe[XRANGE]
1091
1133
  return comp.replace(r, function (ret, gtlt, M, m, p, pr) {
1092
1134
  debug('xRange', comp, ret, gtlt, M, m, p, pr)
1093
1135
  var xM = isX(M)
@@ -1157,10 +1199,10 @@ function replaceXRange (comp, options) {
1157
1199
  function replaceStars (comp, options) {
1158
1200
  debug('replaceStars', comp, options)
1159
1201
  // Looseness is ignored here. star is always as loose as it gets!
1160
- return comp.trim().replace(re[STAR], '')
1202
+ return comp.trim().replace(safeRe[STAR], '')
1161
1203
  }
1162
1204
 
1163
- // This function is passed to string.replace(re[HYPHENRANGE])
1205
+ // This function is passed to string.replace(safeRe[HYPHENRANGE])
1164
1206
  // M, m, patch, prerelease, build
1165
1207
  // 1.2 - 3.4.5 => >=1.2.0 <=3.4.5
1166
1208
  // 1.2.3 - 3.4 => >=1.2.0 <3.5.0 Any 3.4.x will do
@@ -1471,7 +1513,7 @@ function coerce (version) {
1471
1513
  return null
1472
1514
  }
1473
1515
 
1474
- var match = version.match(re[COERCE])
1516
+ var match = version.match(safeRe[COERCE])
1475
1517
 
1476
1518
  if (match == null) {
1477
1519
  return null
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "step-node-agent",
3
- "version": "3.21.3",
3
+ "version": "3.21.5",
4
4
  "description": "The official STEP Agent implementation for Node.js",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -1,39 +0,0 @@
1
- # changes log
2
-
3
- ## 5.7
4
-
5
- * Add `minVersion` method
6
-
7
- ## 5.6
8
-
9
- * Move boolean `loose` param to an options object, with
10
- backwards-compatibility protection.
11
- * Add ability to opt out of special prerelease version handling with
12
- the `includePrerelease` option flag.
13
-
14
- ## 5.5
15
-
16
- * Add version coercion capabilities
17
-
18
- ## 5.4
19
-
20
- * Add intersection checking
21
-
22
- ## 5.3
23
-
24
- * Add `minSatisfying` method
25
-
26
- ## 5.2
27
-
28
- * Add `prerelease(v)` that returns prerelease components
29
-
30
- ## 5.1
31
-
32
- * Add Backus-Naur for ranges
33
- * Remove excessively cute inspection methods
34
-
35
- ## 5.0
36
-
37
- * Remove AMD/Browserified build artifacts
38
- * Fix ltr and gtr when using the `*` range
39
- * Fix for range `*` with a prerelease identifier