@ashlr/hub 3.3.0 → 3.3.2
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.
- package/CHANGELOG.md +46 -2
- package/README.md +51 -38
- package/dist/build-identity.json +2 -2
- package/dist/cli/completions.js +1 -2
- package/dist/cli/completions.js.map +1 -1
- package/dist/cli/dashboard.js +5 -4
- package/dist/cli/dashboard.js.map +1 -1
- package/dist/cli/help.js +7 -10
- package/dist/cli/help.js.map +1 -1
- package/dist/cli/index.d.ts +0 -1
- package/dist/cli/index.js +0 -10
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/serve.js +7 -3
- package/dist/cli/serve.js.map +1 -1
- package/dist/cli/setup.d.ts +5 -3
- package/dist/cli/setup.js +14 -7
- package/dist/cli/setup.js.map +1 -1
- package/dist/cli/update.js +3 -1
- package/dist/cli/update.js.map +1 -1
- package/dist/core/daemon/activation-permit.d.ts +33 -268
- package/dist/core/daemon/activation-permit.js +106 -1111
- package/dist/core/daemon/activation-permit.js.map +1 -1
- package/dist/core/daemon/loop.d.ts +1 -13
- package/dist/core/daemon/loop.js +10 -113
- package/dist/core/daemon/loop.js.map +1 -1
- package/dist/core/daemon/service-install-authority.d.ts +5 -1
- package/dist/core/daemon/service-install-authority.js +7 -20
- package/dist/core/daemon/service-install-authority.js.map +1 -1
- package/dist/core/fleet/automerge-pass.js +28 -77
- package/dist/core/fleet/automerge-pass.js.map +1 -1
- package/dist/core/fleet/decisions-ledger.js +1 -1
- package/dist/core/fleet/decisions-ledger.js.map +1 -1
- package/dist/core/fleet/judge-trace.js +2 -1
- package/dist/core/fleet/judge-trace.js.map +1 -1
- package/dist/core/fleet/manager.d.ts +6 -0
- package/dist/core/fleet/manager.js +35 -17
- package/dist/core/fleet/manager.js.map +1 -1
- package/dist/core/fleet/post-merge-credit-label.d.ts +10 -0
- package/dist/core/fleet/post-merge-credit-label.js +13 -0
- package/dist/core/fleet/post-merge-credit-label.js.map +1 -0
- package/dist/core/fleet/post-merge-credit.d.ts +20 -38
- package/dist/core/fleet/post-merge-credit.js +38 -39
- package/dist/core/fleet/post-merge-credit.js.map +1 -1
- package/dist/core/fleet/self-improve.d.ts +7 -7
- package/dist/core/fleet/self-improve.js +104 -20
- package/dist/core/fleet/self-improve.js.map +1 -1
- package/dist/core/fleet/status.js +0 -1
- package/dist/core/fleet/status.js.map +1 -1
- package/dist/core/foundry/automerge-scope-policy.d.ts +2 -2
- package/dist/core/foundry/automerge-scope-policy.js +2 -9
- package/dist/core/foundry/automerge-scope-policy.js.map +1 -1
- package/dist/core/goals/store.js +60 -20
- package/dist/core/goals/store.js.map +1 -1
- package/dist/core/inbox/apply.js +3 -5
- package/dist/core/inbox/apply.js.map +1 -1
- package/dist/core/inbox/merge.d.ts +0 -84
- package/dist/core/inbox/merge.js +23 -277
- package/dist/core/inbox/merge.js.map +1 -1
- package/dist/core/learn/reflect.js +10 -0
- package/dist/core/learn/reflect.js.map +1 -1
- package/dist/core/onboard.d.ts +2 -0
- package/dist/core/onboard.js +9 -3
- package/dist/core/onboard.js.map +1 -1
- package/dist/core/run/orchestrator.js +2 -0
- package/dist/core/run/orchestrator.js.map +1 -1
- package/dist/core/types.d.ts +5 -4
- package/dist/core/types.js.map +1 -1
- package/dist/core/web/api.d.ts +6 -0
- package/dist/core/web/api.js +69 -11
- package/dist/core/web/api.js.map +1 -1
- package/dist/core/web/public/app.js +5 -1
- package/dist/core/web/public/next/assets/index-CDHQraxS.css +1 -0
- package/dist/core/web/public/next/assets/index-zVKD9krw.js +69 -0
- package/dist/core/web/public/next/assets/{index-Ct0mf8n4.js.map → index-zVKD9krw.js.map} +1 -1
- package/dist/core/web/public/next/index.html +2 -2
- package/dist/core/web/read-session-revocations.d.ts +26 -0
- package/dist/core/web/read-session-revocations.js +48 -0
- package/dist/core/web/read-session-revocations.js.map +1 -0
- package/dist/core/web/server.js +73 -27
- package/dist/core/web/server.js.map +1 -1
- package/dist/core/web/static.d.ts +1 -1
- package/dist/core/web/static.js +54 -20
- package/dist/core/web/static.js.map +1 -1
- package/dist/release-dependency-inventory.json +1 -1
- package/docs/RUNTIME_ACTIVATION_AUTHORITY.md +0 -11
- package/node_modules/fast-uri/index.js +201 -48
- package/node_modules/fast-uri/lib/schemes.js +9 -4
- package/node_modules/fast-uri/lib/utils.js +388 -91
- package/node_modules/fast-uri/package.json +1 -1
- package/node_modules/fast-uri/test/component-safe-serialization.test.js +105 -0
- package/node_modules/fast-uri/test/equal.test.js +31 -3
- package/node_modules/fast-uri/test/fixtures/uri-js-parse.json +2 -0
- package/node_modules/fast-uri/test/ipv6-canonical.test.js +34 -0
- package/node_modules/fast-uri/test/ipv6-validation.test.js +90 -0
- package/node_modules/fast-uri/test/malformed-percent.test.js +77 -0
- package/node_modules/fast-uri/test/malformed-urn.test.js +61 -0
- package/node_modules/fast-uri/test/parse.test.js +7 -3
- package/node_modules/fast-uri/test/query-fragment-normalization.test.js +33 -0
- package/node_modules/fast-uri/test/reserved-path-normalization.test.js +109 -0
- package/node_modules/fast-uri/test/scheme-validation.test.js +124 -0
- package/node_modules/fast-uri/test/security-normalization.test.js +101 -0
- package/node_modules/fast-uri/test/security.test.js +75 -3
- package/node_modules/fast-uri/test/urn-full-input.test.js +29 -0
- package/node_modules/fast-uri/test/websocket-query-preservation.test.js +24 -0
- package/node_modules/qs/.github/THREAT_MODEL.md +3 -3
- package/node_modules/qs/CHANGELOG.md +26 -0
- package/node_modules/qs/README.md +19 -1
- package/node_modules/qs/dist/qs.js +25 -25
- package/node_modules/qs/eslint.config.mjs +1 -1
- package/node_modules/qs/lib/parse.js +16 -6
- package/node_modules/qs/lib/stringify.js +23 -8
- package/node_modules/qs/lib/utils.js +57 -11
- package/node_modules/qs/package.json +8 -7
- package/node_modules/qs/test/parse.js +419 -0
- package/node_modules/qs/test/stringify.js +317 -0
- package/node_modules/qs/test/utils.js +206 -0
- package/package.json +5 -4
- package/schema/config.schema.json +7 -7
- package/dist/cli/activation.d.ts +0 -41
- package/dist/cli/activation.js +0 -485
- package/dist/cli/activation.js.map +0 -1
- package/dist/core/web/public/next/assets/index-CY0U241s.css +0 -1
- package/dist/core/web/public/next/assets/index-Ct0mf8n4.js +0 -69
|
@@ -36,6 +36,7 @@ var defaults = {
|
|
|
36
36
|
charsetSentinel: false,
|
|
37
37
|
commaRoundTrip: false,
|
|
38
38
|
delimiter: '&',
|
|
39
|
+
depth: Infinity,
|
|
39
40
|
encode: true,
|
|
40
41
|
encodeDotInKeys: false,
|
|
41
42
|
encoder: utils.encode,
|
|
@@ -80,10 +81,16 @@ var stringify = function stringify(
|
|
|
80
81
|
formatter,
|
|
81
82
|
encodeValuesOnly,
|
|
82
83
|
charset,
|
|
83
|
-
sideChannel
|
|
84
|
+
sideChannel,
|
|
85
|
+
depth,
|
|
86
|
+
currentDepth
|
|
84
87
|
) {
|
|
85
88
|
var obj = object;
|
|
86
89
|
|
|
90
|
+
if (currentDepth > depth) {
|
|
91
|
+
throw new RangeError('Input depth exceeded depth option of ' + depth);
|
|
92
|
+
}
|
|
93
|
+
|
|
87
94
|
var tmpSc = sideChannel;
|
|
88
95
|
var step = 0;
|
|
89
96
|
var findFlag = false;
|
|
@@ -103,9 +110,9 @@ var stringify = function stringify(
|
|
|
103
110
|
}
|
|
104
111
|
}
|
|
105
112
|
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
113
|
+
obj = typeof filter === 'function' ? filter(prefix, obj) : obj;
|
|
114
|
+
|
|
115
|
+
if (obj instanceof Date) {
|
|
109
116
|
obj = serializeDate(obj);
|
|
110
117
|
} else if (generateArrayPrefix === 'comma' && isArray(obj)) {
|
|
111
118
|
obj = utils.maybeMap(obj, function (value) {
|
|
@@ -158,7 +165,7 @@ var stringify = function stringify(
|
|
|
158
165
|
|
|
159
166
|
var adjustedPrefix = commaRoundTrip && isArray(obj) && obj.length === 1 ? encodedPrefix + '[]' : encodedPrefix;
|
|
160
167
|
|
|
161
|
-
if (allowEmptyArrays && isArray(obj) && obj.length === 0) {
|
|
168
|
+
if (allowEmptyArrays && isArray(obj) && obj.length === 0 && Object.keys(obj).length === 0) {
|
|
162
169
|
return adjustedPrefix + '[]';
|
|
163
170
|
}
|
|
164
171
|
|
|
@@ -198,7 +205,9 @@ var stringify = function stringify(
|
|
|
198
205
|
formatter,
|
|
199
206
|
encodeValuesOnly,
|
|
200
207
|
charset,
|
|
201
|
-
valueSideChannel
|
|
208
|
+
valueSideChannel,
|
|
209
|
+
depth,
|
|
210
|
+
currentDepth + 1
|
|
202
211
|
));
|
|
203
212
|
}
|
|
204
213
|
|
|
@@ -265,6 +274,7 @@ var normalizeStringifyOptions = function normalizeStringifyOptions(opts) {
|
|
|
265
274
|
charsetSentinel: typeof opts.charsetSentinel === 'boolean' ? opts.charsetSentinel : defaults.charsetSentinel,
|
|
266
275
|
commaRoundTrip: !!opts.commaRoundTrip,
|
|
267
276
|
delimiter: typeof opts.delimiter === 'undefined' ? defaults.delimiter : opts.delimiter,
|
|
277
|
+
depth: typeof opts.depth === 'number' ? opts.depth : defaults.depth,
|
|
268
278
|
encode: typeof opts.encode === 'boolean' ? opts.encode : defaults.encode,
|
|
269
279
|
encodeDotInKeys: typeof opts.encodeDotInKeys === 'boolean' ? opts.encodeDotInKeys : defaults.encodeDotInKeys,
|
|
270
280
|
encoder: typeof opts.encoder === 'function' ? opts.encoder : defaults.encoder,
|
|
@@ -324,9 +334,12 @@ module.exports = function (object, opts) {
|
|
|
324
334
|
if (options.skipNulls && value === null) {
|
|
325
335
|
continue;
|
|
326
336
|
}
|
|
337
|
+
|
|
338
|
+
var encodedKey = options.encodeDotInKeys ? String(key).replace(/\./g, '%2E') : String(key);
|
|
339
|
+
|
|
327
340
|
pushToArray(keys, stringify(
|
|
328
341
|
value,
|
|
329
|
-
|
|
342
|
+
encodedKey,
|
|
330
343
|
generateArrayPrefix,
|
|
331
344
|
commaRoundTrip,
|
|
332
345
|
options.allowEmptyArrays,
|
|
@@ -342,7 +355,9 @@ module.exports = function (object, opts) {
|
|
|
342
355
|
options.formatter,
|
|
343
356
|
options.encodeValuesOnly,
|
|
344
357
|
options.charset,
|
|
345
|
-
sideChannel
|
|
358
|
+
sideChannel,
|
|
359
|
+
options.depth,
|
|
360
|
+
0
|
|
346
361
|
));
|
|
347
362
|
}
|
|
348
363
|
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var formats = require('./formats');
|
|
4
4
|
var getSideChannel = require('side-channel');
|
|
5
|
+
var defineProperty = require('es-define-property');
|
|
5
6
|
|
|
6
7
|
var has = Object.prototype.hasOwnProperty;
|
|
7
8
|
var isArray = Array.isArray;
|
|
@@ -66,6 +67,19 @@ var arrayToObject = function arrayToObject(source, options) {
|
|
|
66
67
|
return obj;
|
|
67
68
|
};
|
|
68
69
|
|
|
70
|
+
var setProperty = function setProperty(obj, key, value) {
|
|
71
|
+
if (key === '__proto__' && defineProperty) {
|
|
72
|
+
defineProperty(obj, key, {
|
|
73
|
+
configurable: true,
|
|
74
|
+
enumerable: true,
|
|
75
|
+
value: value,
|
|
76
|
+
writable: true
|
|
77
|
+
});
|
|
78
|
+
} else {
|
|
79
|
+
obj[key] = value;
|
|
80
|
+
}
|
|
81
|
+
};
|
|
82
|
+
|
|
69
83
|
var merge = function merge(target, source, options) {
|
|
70
84
|
/* eslint no-param-reassign: 0 */
|
|
71
85
|
if (!source) {
|
|
@@ -75,7 +89,10 @@ var merge = function merge(target, source, options) {
|
|
|
75
89
|
if (typeof source !== 'object' && typeof source !== 'function') {
|
|
76
90
|
if (isArray(target)) {
|
|
77
91
|
var nextIndex = target.length;
|
|
78
|
-
if (options && typeof options.arrayLimit === 'number' && nextIndex
|
|
92
|
+
if (options && typeof options.arrayLimit === 'number' && nextIndex >= options.arrayLimit) {
|
|
93
|
+
if (options.throwOnLimitExceeded) {
|
|
94
|
+
throw new RangeError('Array limit exceeded. Only ' + options.arrayLimit + ' element' + (options.arrayLimit === 1 ? '' : 's') + ' allowed in an array.');
|
|
95
|
+
}
|
|
79
96
|
return markOverflow(arrayToObject(target.concat(source), options), nextIndex);
|
|
80
97
|
}
|
|
81
98
|
target[nextIndex] = source;
|
|
@@ -115,6 +132,9 @@ var merge = function merge(target, source, options) {
|
|
|
115
132
|
}
|
|
116
133
|
var combined = [target].concat(source);
|
|
117
134
|
if (options && typeof options.arrayLimit === 'number' && combined.length > options.arrayLimit) {
|
|
135
|
+
if (options.throwOnLimitExceeded) {
|
|
136
|
+
throw new RangeError('Array limit exceeded. Only ' + options.arrayLimit + ' element' + (options.arrayLimit === 1 ? '' : 's') + ' allowed in an array.');
|
|
137
|
+
}
|
|
118
138
|
return markOverflow(arrayToObject(combined, options), combined.length - 1);
|
|
119
139
|
}
|
|
120
140
|
return combined;
|
|
@@ -138,6 +158,12 @@ var merge = function merge(target, source, options) {
|
|
|
138
158
|
target[i] = item;
|
|
139
159
|
}
|
|
140
160
|
});
|
|
161
|
+
if (options && typeof options.arrayLimit === 'number' && target.length > options.arrayLimit) {
|
|
162
|
+
if (options.throwOnLimitExceeded) {
|
|
163
|
+
throw new RangeError('Array limit exceeded. Only ' + options.arrayLimit + ' element' + (options.arrayLimit === 1 ? '' : 's') + ' allowed in an array.');
|
|
164
|
+
}
|
|
165
|
+
return markOverflow(arrayToObject(target, options), target.length - 1);
|
|
166
|
+
}
|
|
141
167
|
return target;
|
|
142
168
|
}
|
|
143
169
|
|
|
@@ -145,9 +171,9 @@ var merge = function merge(target, source, options) {
|
|
|
145
171
|
var value = source[key];
|
|
146
172
|
|
|
147
173
|
if (has.call(acc, key)) {
|
|
148
|
-
acc
|
|
174
|
+
setProperty(acc, key, merge(acc[key], value, options));
|
|
149
175
|
} else {
|
|
150
|
-
acc
|
|
176
|
+
setProperty(acc, key, value);
|
|
151
177
|
}
|
|
152
178
|
|
|
153
179
|
if (isOverflow(source) && !isOverflow(acc)) {
|
|
@@ -166,7 +192,7 @@ var merge = function merge(target, source, options) {
|
|
|
166
192
|
|
|
167
193
|
var assign = function assignSingleSource(target, source) {
|
|
168
194
|
return Object.keys(source).reduce(function (acc, key) {
|
|
169
|
-
acc
|
|
195
|
+
setProperty(acc, key, source[key]);
|
|
170
196
|
return acc;
|
|
171
197
|
}, target);
|
|
172
198
|
};
|
|
@@ -212,6 +238,13 @@ var encode = function encode(str, defaultEncoder, charset, kind, format) {
|
|
|
212
238
|
var out = '';
|
|
213
239
|
for (var j = 0; j < string.length; j += limit) {
|
|
214
240
|
var segment = string.length >= limit ? string.slice(j, j + limit) : string;
|
|
241
|
+
if (j + limit < string.length) {
|
|
242
|
+
var last = segment.charCodeAt(segment.length - 1);
|
|
243
|
+
if (last >= 0xD800 && last <= 0xDBFF) {
|
|
244
|
+
segment = segment.slice(0, -1);
|
|
245
|
+
j -= 1;
|
|
246
|
+
}
|
|
247
|
+
}
|
|
215
248
|
var arr = [];
|
|
216
249
|
|
|
217
250
|
for (var i = 0; i < segment.length; ++i) {
|
|
@@ -265,7 +298,7 @@ var encode = function encode(str, defaultEncoder, charset, kind, format) {
|
|
|
265
298
|
|
|
266
299
|
var compact = function compact(value) {
|
|
267
300
|
var queue = [{ obj: { o: value }, prop: 'o' }];
|
|
268
|
-
var refs =
|
|
301
|
+
var refs = getSideChannel();
|
|
269
302
|
|
|
270
303
|
for (var i = 0; i < queue.length; ++i) {
|
|
271
304
|
var item = queue[i];
|
|
@@ -275,9 +308,9 @@ var compact = function compact(value) {
|
|
|
275
308
|
for (var j = 0; j < keys.length; ++j) {
|
|
276
309
|
var key = keys[j];
|
|
277
310
|
var val = obj[key];
|
|
278
|
-
if (typeof val === 'object' && val !== null && refs.
|
|
311
|
+
if (typeof val === 'object' && val !== null && !refs.has(val)) {
|
|
279
312
|
queue[queue.length] = { obj: obj, prop: key };
|
|
280
|
-
refs
|
|
313
|
+
refs.set(val, true);
|
|
281
314
|
}
|
|
282
315
|
}
|
|
283
316
|
}
|
|
@@ -296,20 +329,33 @@ var isBuffer = function isBuffer(obj) {
|
|
|
296
329
|
return false;
|
|
297
330
|
}
|
|
298
331
|
|
|
299
|
-
return !!(obj.constructor && obj.constructor.isBuffer && obj.constructor.isBuffer(obj));
|
|
332
|
+
return !!(obj.constructor && typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj));
|
|
300
333
|
};
|
|
301
334
|
|
|
302
|
-
var combine = function combine(a, b, arrayLimit, plainObjects) {
|
|
335
|
+
var combine = function combine(a, b, arrayLimit, plainObjects, throwOnLimitExceeded) {
|
|
303
336
|
// If 'a' is already an overflow object, add to it
|
|
304
337
|
if (isOverflow(a)) {
|
|
305
|
-
|
|
306
|
-
|
|
338
|
+
if (throwOnLimitExceeded) {
|
|
339
|
+
throw new RangeError('Array limit exceeded. Only ' + arrayLimit + ' element' + (arrayLimit === 1 ? '' : 's') + ' allowed in an array.');
|
|
340
|
+
}
|
|
341
|
+
// spread `b` one level, matching the `[].concat(a, b)` used below, so a
|
|
342
|
+
// collection appended to an already-overflowed object is flattened
|
|
343
|
+
// rather than nested under a single index
|
|
344
|
+
var bValues = isArray(b) ? b : [b];
|
|
345
|
+
var newIndex = getMaxIndex(a);
|
|
346
|
+
for (var i = 0; i < bValues.length; ++i) {
|
|
347
|
+
newIndex += 1;
|
|
348
|
+
a[newIndex] = bValues[i];
|
|
349
|
+
}
|
|
307
350
|
setMaxIndex(a, newIndex);
|
|
308
351
|
return a;
|
|
309
352
|
}
|
|
310
353
|
|
|
311
354
|
var result = [].concat(a, b);
|
|
312
355
|
if (result.length > arrayLimit) {
|
|
356
|
+
if (throwOnLimitExceeded) {
|
|
357
|
+
throw new RangeError('Array limit exceeded. Only ' + arrayLimit + ' element' + (arrayLimit === 1 ? '' : 's') + ' allowed in an array.');
|
|
358
|
+
}
|
|
313
359
|
return markOverflow(arrayToObject(result, { plainObjects: plainObjects }), result.length - 1);
|
|
314
360
|
}
|
|
315
361
|
return result;
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "qs",
|
|
3
3
|
"description": "A querystring parser that supports nesting and arrays, with a depth limit",
|
|
4
4
|
"homepage": "https://github.com/ljharb/qs",
|
|
5
|
-
"version": "6.
|
|
5
|
+
"version": "6.16.0",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
|
8
8
|
"url": "https://github.com/ljharb/qs.git"
|
|
@@ -31,19 +31,20 @@
|
|
|
31
31
|
"node": ">=0.6"
|
|
32
32
|
},
|
|
33
33
|
"dependencies": {
|
|
34
|
-
"
|
|
34
|
+
"es-define-property": "^1.0.1",
|
|
35
|
+
"side-channel": "^1.1.1"
|
|
35
36
|
},
|
|
36
37
|
"devDependencies": {
|
|
37
38
|
"@browserify/envify": "^6.0.0",
|
|
38
39
|
"@browserify/uglifyify": "^6.0.0",
|
|
39
|
-
"@ljharb/eslint-config": "^22.2.
|
|
40
|
+
"@ljharb/eslint-config": "^22.2.4",
|
|
40
41
|
"browserify": "^16.5.2",
|
|
41
42
|
"bundle-collapser": "^1.4.0",
|
|
42
43
|
"common-shakeify": "~1.0.0",
|
|
43
44
|
"eclint": "^2.8.1",
|
|
44
45
|
"es-value-fixtures": "^1.7.1",
|
|
45
|
-
"eslint": "^9.
|
|
46
|
-
"evalmd": "^0.0.
|
|
46
|
+
"eslint": "^10.9.0",
|
|
47
|
+
"evalmd": "^0.0.22",
|
|
47
48
|
"for-each": "^0.3.5",
|
|
48
49
|
"glob": "=10.3.7",
|
|
49
50
|
"has-bigints": "^1.1.0",
|
|
@@ -56,7 +57,7 @@
|
|
|
56
57
|
"jackspeak": "=2.1.1",
|
|
57
58
|
"jiti": "^0.0.0",
|
|
58
59
|
"mkdirp": "^0.5.5",
|
|
59
|
-
"mock-property": "^1.1.
|
|
60
|
+
"mock-property": "^1.1.2",
|
|
60
61
|
"module-deps": "^6.2.3",
|
|
61
62
|
"npmignore": "^0.3.5",
|
|
62
63
|
"nyc": "^10.3.2",
|
|
@@ -64,7 +65,7 @@
|
|
|
64
65
|
"qs-iconv": "^1.0.4",
|
|
65
66
|
"safe-publish-latest": "^2.0.0",
|
|
66
67
|
"safer-buffer": "^2.1.2",
|
|
67
|
-
"tape": "^5.
|
|
68
|
+
"tape": "^5.10.2",
|
|
68
69
|
"unassertify": "^3.0.1"
|
|
69
70
|
},
|
|
70
71
|
"scripts": {
|