Fixed #1 - Fixed the whatsnew-** script for loading release notes into builds

Added test to ensure that release notes are parsed properly
Updated to latest dependencies to fix security vulnerability
Updated GH Actions Workflow to run test before updating tag
Updated README.md to reflect proper whatsnew documentation.
This commit is contained in:
Drew Heavner
2020-01-30 11:14:51 -05:00
parent b6496ac4e3
commit bdde081050
2660 changed files with 251487 additions and 213182 deletions

45
node_modules/es-abstract/helpers/DefineOwnProperty.js generated vendored Normal file
View File

@@ -0,0 +1,45 @@
'use strict';
var GetIntrinsic = require('../GetIntrinsic');
var $defineProperty = GetIntrinsic('%Object.defineProperty%', true);
if ($defineProperty) {
try {
$defineProperty({}, 'a', { value: 1 });
} catch (e) {
// IE 8 has a broken defineProperty
$defineProperty = null;
}
}
var callBound = require('../helpers/callBound');
var $isEnumerable = callBound('Object.prototype.propertyIsEnumerable');
// eslint-disable-next-line max-params
module.exports = function DefineOwnProperty(IsDataDescriptor, SameValue, FromPropertyDescriptor, O, P, desc) {
if (!$defineProperty) {
if (!IsDataDescriptor(desc)) {
// ES3 does not support getters/setters
return false;
}
if (!desc['[[Configurable]]'] || !desc['[[Writable]]']) {
return false;
}
// fallback for ES3
if (P in O && $isEnumerable(O, P) !== !!desc['[[Enumerable]]']) {
// a non-enumerable existing property
return false;
}
// property does not exist at all, or exists but is enumerable
var V = desc['[[Value]]'];
// eslint-disable-next-line no-param-reassign
O[P] = V; // will use [[Define]]
return SameValue(O[P], V);
}
$defineProperty(O, P, FromPropertyDescriptor(desc));
return true;
};

21
node_modules/es-abstract/helpers/OwnPropertyKeys.js generated vendored Normal file
View File

@@ -0,0 +1,21 @@
'use strict';
var GetIntrinsic = require('../GetIntrinsic');
var callBind = require('./callBind');
var callBound = require('./callBound');
var $pushApply = callBind.apply(GetIntrinsic('%Array.prototype.push%'));
var $SymbolValueOf = callBound('Symbol.prototype.valueOf', true);
var $gOPN = GetIntrinsic('%Object.getOwnPropertyNames%', true);
var $gOPS = $SymbolValueOf ? GetIntrinsic('%Object.getOwnPropertySymbols%') : null;
var keys = require('object-keys');
module.exports = function OwnPropertyKeys(source) {
var ownKeys = ($gOPN || keys)(source);
if ($gOPS) {
$pushApply(ownKeys, $gOPS(source));
}
return ownKeys;
};

View File

@@ -8,42 +8,41 @@ var $SyntaxError = GetIntrinsic('%SyntaxError%');
var has = require('has');
var predicates = {
// https://ecma-international.org/ecma-262/6.0/#sec-property-descriptor-specification-type
'Property Descriptor': function isPropertyDescriptor(ES, Desc) {
if (ES.Type(Desc) !== 'Object') {
return false;
}
var allowed = {
'[[Configurable]]': true,
'[[Enumerable]]': true,
'[[Get]]': true,
'[[Set]]': true,
'[[Value]]': true,
'[[Writable]]': true
};
// https://ecma-international.org/ecma-262/6.0/#sec-property-descriptor-specification-type
'Property Descriptor': function isPropertyDescriptor(Type, Desc) {
if (Type(Desc) !== 'Object') {
return false;
}
var allowed = {
'[[Configurable]]': true,
'[[Enumerable]]': true,
'[[Get]]': true,
'[[Set]]': true,
'[[Value]]': true,
'[[Writable]]': true
};
for (var key in Desc) { // eslint-disable-line
if (has(Desc, key) && !allowed[key]) {
return false;
}
}
for (var key in Desc) { // eslint-disable-line
if (has(Desc, key) && !allowed[key]) {
return false;
}
}
var isData = has(Desc, '[[Value]]');
var IsAccessor = has(Desc, '[[Get]]') || has(Desc, '[[Set]]');
if (isData && IsAccessor) {
throw new $TypeError('Property Descriptors may not be both accessor and data descriptors');
}
return true;
}
var isData = has(Desc, '[[Value]]');
var IsAccessor = has(Desc, '[[Get]]') || has(Desc, '[[Set]]');
if (isData && IsAccessor) {
throw new $TypeError('Property Descriptors may not be both accessor and data descriptors');
}
return true;
}
};
module.exports = function assertRecord(ES, recordType, argumentName, value) {
var predicate = predicates[recordType];
if (typeof predicate !== 'function') {
throw new $SyntaxError('unknown record type: ' + recordType);
}
if (!predicate(ES, value)) {
throw new $TypeError(argumentName + ' must be a ' + recordType);
}
console.log(predicate(ES, value), value);
module.exports = function assertRecord(Type, recordType, argumentName, value) {
var predicate = predicates[recordType];
if (typeof predicate !== 'function') {
throw new $SyntaxError('unknown record type: ' + recordType);
}
if (!predicate(Type, value)) {
throw new $TypeError(argumentName + ' must be a ' + recordType);
}
};

View File

@@ -1,15 +1,20 @@
var bind = require('function-bind');
var has = bind.call(Function.call, Object.prototype.hasOwnProperty);
'use strict';
var $assign = Object.assign;
var GetIntrinsic = require('../GetIntrinsic');
var has = require('has');
var $assign = GetIntrinsic('%Object%').assign;
module.exports = function assign(target, source) {
if ($assign) {
return $assign(target, source);
}
// eslint-disable-next-line no-restricted-syntax
for (var key in source) {
if (has(source, key)) {
// eslint-disable-next-line no-param-reassign
target[key] = source[key];
}
}

17
node_modules/es-abstract/helpers/callBind.js generated vendored Normal file
View File

@@ -0,0 +1,17 @@
'use strict';
var bind = require('function-bind');
var GetIntrinsic = require('../GetIntrinsic');
var $Function = GetIntrinsic('%Function%');
var $apply = $Function.apply;
var $call = $Function.call;
module.exports = function callBind() {
return bind.apply($call, arguments);
};
module.exports.apply = function applyBind() {
return bind.apply($apply, arguments);
};

15
node_modules/es-abstract/helpers/callBound.js generated vendored Normal file
View File

@@ -0,0 +1,15 @@
'use strict';
var GetIntrinsic = require('../GetIntrinsic');
var callBind = require('./callBind');
var $indexOf = callBind(GetIntrinsic('String.prototype.indexOf'));
module.exports = function callBoundIntrinsic(name, allowMissing) {
var intrinsic = GetIntrinsic(name, !!allowMissing);
if (typeof intrinsic === 'function' && $indexOf(name, '.prototype.')) {
return callBind(intrinsic);
}
return intrinsic;
};

10
node_modules/es-abstract/helpers/every.js generated vendored Normal file
View File

@@ -0,0 +1,10 @@
'use strict';
module.exports = function every(array, predicate) {
for (var i = 0; i < array.length; i += 1) {
if (!predicate(array[i], i, array)) {
return false;
}
}
return true;
};

View File

@@ -2,6 +2,6 @@
module.exports = function forEach(array, callback) {
for (var i = 0; i < array.length; i += 1) {
callback(array[i], i, array);
callback(array[i], i, array); // eslint-disable-line callback-return
}
};

10
node_modules/es-abstract/helpers/getInferredName.js generated vendored Normal file
View File

@@ -0,0 +1,10 @@
'use strict';
var getInferredName;
try {
// eslint-disable-next-line no-new-func
getInferredName = Function('s', 'return { [s]() {} }[s].name;');
} catch (e) {}
var inferred = function () {};
module.exports = getInferredName && inferred.name === 'inferred' ? getInferredName : null;

45
node_modules/es-abstract/helpers/getIteratorMethod.js generated vendored Normal file
View File

@@ -0,0 +1,45 @@
'use strict';
var hasSymbols = require('has-symbols')();
var GetIntrinsic = require('../GetIntrinsic');
var callBound = require('./callBound');
var $iterator = GetIntrinsic('%Symbol.iterator%', true);
var $stringSlice = callBound('String.prototype.slice');
module.exports = function getIteratorMethod(ES, iterable) {
var usingIterator;
if (hasSymbols) {
usingIterator = ES.GetMethod(iterable, $iterator);
} else if (ES.IsArray(iterable)) {
usingIterator = function () {
var i = -1;
var arr = this; // eslint-disable-line no-invalid-this
return {
next: function () {
i += 1;
return {
done: i >= arr.length,
value: arr[i]
};
}
};
};
} else if (ES.Type(iterable) === 'String') {
usingIterator = function () {
var i = 0;
return {
next: function () {
var nextIndex = ES.AdvanceStringIndex(iterable, i, true);
var value = $stringSlice(iterable, i, nextIndex);
i = nextIndex;
return {
done: nextIndex > iterable.length,
value: value
};
}
};
};
}
return usingIterator;
};

View File

@@ -0,0 +1,15 @@
'use strict';
var GetIntrinsic = require('../GetIntrinsic');
var $gOPD = GetIntrinsic('%Object.getOwnPropertyDescriptor%');
if ($gOPD) {
try {
$gOPD([], 'length');
} catch (e) {
// IE 8 has a broken gOPD
$gOPD = null;
}
}
module.exports = $gOPD;

15
node_modules/es-abstract/helpers/getProto.js generated vendored Normal file
View File

@@ -0,0 +1,15 @@
'use strict';
var GetIntrinsic = require('../GetIntrinsic');
var originalGetProto = GetIntrinsic('%Object.getPrototypeOf%', true);
var $ArrayProto = GetIntrinsic('%Array.prototype%');
module.exports = originalGetProto || (
// eslint-disable-next-line no-proto
[].__proto__ === $ArrayProto
? function (O) {
return O.__proto__; // eslint-disable-line no-proto
}
: null
);

View File

@@ -0,0 +1,30 @@
'use strict';
var GetIntrinsic = require('../GetIntrinsic');
var callBound = require('./callBound');
var $SyntaxError = GetIntrinsic('%SyntaxError%');
var symToStr = callBound('Symbol.prototype.toString', true);
var getInferredName = require('./getInferredName');
module.exports = function getSymbolDescription(symbol) {
if (!symToStr) {
throw new $SyntaxError('Symbols are not supported in this environment');
}
var str = symToStr(symbol); // will throw if not a symbol
if (getInferredName) {
var name = getInferredName(symbol);
if (name === '') { return; }
// eslint-disable-next-line consistent-return
return name.slice(1, -1); // name.slice('['.length, -']'.length);
}
var desc = str.slice(7, -1); // str.slice('Symbol('.length, -')'.length);
if (desc) {
// eslint-disable-next-line consistent-return
return desc;
}
};

View File

@@ -1,3 +1,5 @@
'use strict';
var $isNaN = Number.isNaN || function (a) { return a !== a; };
module.exports = Number.isFinite || function (x) { return typeof x === 'number' && !$isNaN(x) && x !== Infinity && x !== -Infinity; };

View File

@@ -1,3 +1,5 @@
'use strict';
module.exports = Number.isNaN || function isNaN(a) {
return a !== a;
};

13
node_modules/es-abstract/helpers/isPrefixOf.js generated vendored Normal file
View File

@@ -0,0 +1,13 @@
'use strict';
var $strSlice = require('../helpers/callBound')('String.prototype.slice');
module.exports = function isPrefixOf(prefix, string) {
if (prefix === string) {
return true;
}
if (prefix.length > string.length) {
return false;
}
return $strSlice(string, 0, prefix.length) === prefix;
};

View File

@@ -1,3 +1,5 @@
'use strict';
module.exports = function isPrimitive(value) {
return value === null || (typeof value !== 'function' && typeof value !== 'object');
};

View File

@@ -0,0 +1,31 @@
'use strict';
var GetIntrinsic = require('../GetIntrinsic');
var has = require('has');
var $TypeError = GetIntrinsic('%TypeError%');
module.exports = function IsPropertyDescriptor(ES, Desc) {
if (ES.Type(Desc) !== 'Object') {
return false;
}
var allowed = {
'[[Configurable]]': true,
'[[Enumerable]]': true,
'[[Get]]': true,
'[[Set]]': true,
'[[Value]]': true,
'[[Writable]]': true
};
for (var key in Desc) { // eslint-disable-line
if (has(Desc, key) && !allowed[key]) {
return false;
}
}
if (ES.IsDataDescriptor(Desc) && ES.IsAccessorDescriptor(Desc)) {
throw new $TypeError('Property Descriptors may not be both accessor and data descriptors');
}
return true;
};

View File

@@ -0,0 +1,20 @@
'use strict';
var every = require('./every');
module.exports = function isSamePropertyDescriptor(ES, D1, D2) {
var fields = [
'[[Configurable]]',
'[[Enumerable]]',
'[[Get]]',
'[[Set]]',
'[[Value]]',
'[[Writable]]'
];
return every(fields, function (field) {
if ((field in D1) !== (field in D2)) {
return false;
}
return ES.SameValue(D1[field], D2[field]);
});
};

8
node_modules/es-abstract/helpers/maxSafeInteger.js generated vendored Normal file
View File

@@ -0,0 +1,8 @@
'use strict';
var GetIntrinsic = require('../GetIntrinsic');
var $Math = GetIntrinsic('%Math%');
var $Number = GetIntrinsic('%Number%');
module.exports = $Number.MAX_SAFE_INTEGER || $Math.pow(2, 53) - 1;

View File

@@ -1,3 +1,5 @@
'use strict';
module.exports = function mod(number, modulo) {
var remain = number % modulo;
return Math.floor(remain >= 0 ? remain : remain + modulo);

9
node_modules/es-abstract/helpers/padTimeComponent.js generated vendored Normal file
View File

@@ -0,0 +1,9 @@
'use strict';
var callBound = require('../helpers/callBound');
var $strSlice = callBound('String.prototype.slice');
module.exports = function padTimeComponent(c, count) {
return $strSlice('00' + c, -(count || 2));
};

11
node_modules/es-abstract/helpers/regexTester.js generated vendored Normal file
View File

@@ -0,0 +1,11 @@
'use strict';
var GetIntrinsic = require('../GetIntrinsic');
var $test = GetIntrinsic('RegExp.prototype.test');
var callBind = require('./callBind');
module.exports = function regexTester(regex) {
return callBind($test, regex);
};

16
node_modules/es-abstract/helpers/setProto.js generated vendored Normal file
View File

@@ -0,0 +1,16 @@
'use strict';
var GetIntrinsic = require('../GetIntrinsic');
var originalSetProto = GetIntrinsic('%Object.setPrototypeOf%', true);
var $ArrayProto = GetIntrinsic('%Array.prototype%');
module.exports = originalSetProto || (
// eslint-disable-next-line no-proto, no-negated-condition
[].__proto__ !== $ArrayProto
? null
: function (O, proto) {
O.__proto__ = proto; // eslint-disable-line no-proto, no-param-reassign
return O;
}
);

View File

@@ -1,3 +1,5 @@
'use strict';
module.exports = function sign(number) {
return number >= 0 ? 1 : -1;
};

19
node_modules/es-abstract/helpers/timeConstants.js generated vendored Normal file
View File

@@ -0,0 +1,19 @@
'use strict';
var HoursPerDay = 24;
var MinutesPerHour = 60;
var SecondsPerMinute = 60;
var msPerSecond = 1e3;
var msPerMinute = msPerSecond * SecondsPerMinute;
var msPerHour = msPerMinute * MinutesPerHour;
var msPerDay = 86400000;
module.exports = {
HoursPerDay: HoursPerDay,
MinutesPerHour: MinutesPerHour,
SecondsPerMinute: SecondsPerMinute,
msPerSecond: msPerSecond,
msPerMinute: msPerMinute,
msPerHour: msPerHour,
msPerDay: msPerDay
};