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

6
node_modules/aws4/.travis.yml generated vendored
View File

@@ -2,4 +2,8 @@ language: node_js
node_js:
- "0.10"
- "0.12"
- "4.2"
- "4"
- "6"
- "8"
- "10"
- "12"

4
node_modules/aws4/README.md generated vendored
View File

@@ -3,10 +3,10 @@ aws4
[![Build Status](https://secure.travis-ci.org/mhart/aws4.png?branch=master)](http://travis-ci.org/mhart/aws4)
A small utility to sign vanilla node.js http(s) request options using Amazon's
A small utility to sign vanilla Node.js http(s) request options using Amazon's
[AWS Signature Version 4](http://docs.amazonwebservices.com/general/latest/gr/signature-version-4.html).
Can also be used [in the browser](./browser).
If you want to sign and send AWS requests in a modern browser, or an environment like [Cloudflare Workers](https://developers.cloudflare.com/workers/), then check out [aws4fetch](https://github.com/mhart/aws4fetch) – otherwise you can also bundle this library for use [in the browser](./browser).
This signature is supported by nearly all Amazon services, including
[S3](http://docs.aws.amazon.com/AmazonS3/latest/API/),

47
node_modules/aws4/aws4.js generated vendored
View File

@@ -22,6 +22,10 @@ function encodeRfc3986(urlEncodedString) {
})
}
function encodeRfc3986Full(str) {
return encodeRfc3986(encodeURIComponent(str))
}
// request: { path | body, [host], [method], [headers], [service], [region] }
// credentials: { accessKeyId, secretAccessKey, [sessionToken] }
function RequestSigner(request, credentials) {
@@ -220,12 +224,22 @@ RequestSigner.prototype.canonicalString = function() {
}
if (query) {
queryStr = encodeRfc3986(querystring.stringify(Object.keys(query).sort().reduce(function(obj, key) {
var reducedQuery = Object.keys(query).reduce(function(obj, key) {
if (!key) return obj
obj[key] = !Array.isArray(query[key]) ? query[key] :
(firstValOnly ? query[key][0] : query[key].slice().sort())
obj[encodeRfc3986Full(key)] = !Array.isArray(query[key]) ? query[key] :
(firstValOnly ? query[key][0] : query[key])
return obj
}, {})))
}, {})
var encodedQueryPieces = []
Object.keys(reducedQuery).sort().forEach(function(key) {
if (!Array.isArray(reducedQuery[key])) {
encodedQueryPieces.push(key + '=' + encodeRfc3986Full(reducedQuery[key]))
} else {
reducedQuery[key].map(encodeRfc3986Full).sort()
.forEach(function(val) { encodedQueryPieces.push(key + '=' + val) })
}
})
queryStr = encodedQueryPieces.join('&')
}
if (pathStr !== '/') {
if (normalizePath) pathStr = pathStr.replace(/\/{2,}/g, '/')
@@ -233,8 +247,8 @@ RequestSigner.prototype.canonicalString = function() {
if (normalizePath && piece === '..') {
path.pop()
} else if (!normalizePath || piece !== '.') {
if (decodePath) piece = decodeURIComponent(piece)
path.push(encodeRfc3986(encodeURIComponent(piece)))
if (decodePath) piece = decodeURIComponent(piece).replace(/\+/g, ' ')
path.push(encodeRfc3986Full(piece))
}
return path
}, []).join('/')
@@ -289,8 +303,16 @@ RequestSigner.prototype.defaultCredentials = function() {
}
RequestSigner.prototype.parsePath = function() {
var path = this.request.path || '/',
queryIx = path.indexOf('?'),
var path = this.request.path || '/'
// S3 doesn't always encode characters > 127 correctly and
// all services don't encode characters > 255 correctly
// So if there are non-reserved chars (and it's not already all % encoded), just encode them all
if (/[^0-9A-Za-z;,/?:@&=+$\-_.!~*'()#%]/.test(path)) {
path = encodeURI(decodeURI(path))
}
var queryIx = path.indexOf('?'),
query = null
if (queryIx >= 0) {
@@ -298,15 +320,6 @@ RequestSigner.prototype.parsePath = function() {
path = path.slice(0, queryIx)
}
// S3 doesn't always encode characters > 127 correctly and
// all services don't encode characters > 255 correctly
// So if there are non-reserved chars (and it's not already all % encoded), just encode them all
if (/[^0-9A-Za-z!'()*\-._~%/]/.test(path)) {
path = path.split('/').map(function(piece) {
return encodeURIComponent(decodeURIComponent(piece))
}).join('/')
}
this.parsedPath = {
path: path,
query: query,

35
node_modules/aws4/package.json generated vendored
View File

@@ -1,33 +1,27 @@
{
"_args": [
[
"aws4@1.8.0",
"/Users/drew.heavner/Documents/Github/upload-google-play"
]
],
"_development": true,
"_from": "aws4@1.8.0",
"_id": "aws4@1.8.0",
"_from": "aws4@^1.8.0",
"_id": "aws4@1.9.1",
"_inBundle": false,
"_integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==",
"_integrity": "sha512-wMHVg2EOHaMRxbzgFJ9gtjOOCrI80OHLG14rxi28XwOW8ux6IiEbRCGGGqCtdAIg4FQCbW20k9RsT4y3gJlFug==",
"_location": "/aws4",
"_phantomChildren": {},
"_requested": {
"type": "version",
"type": "range",
"registry": true,
"raw": "aws4@1.8.0",
"raw": "aws4@^1.8.0",
"name": "aws4",
"escapedName": "aws4",
"rawSpec": "1.8.0",
"rawSpec": "^1.8.0",
"saveSpec": null,
"fetchSpec": "1.8.0"
"fetchSpec": "^1.8.0"
},
"_requiredBy": [
"/request"
],
"_resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz",
"_spec": "1.8.0",
"_where": "/Users/drew.heavner/Documents/Github/upload-google-play",
"_resolved": "https://registry.npmjs.org/aws4/-/aws4-1.9.1.tgz",
"_shasum": "7e33d8f7d449b3f673cd72deb9abdc552dbe528e",
"_spec": "aws4@^1.8.0",
"_where": "/Users/drew.heavner/Documents/Github/upload-google-play/node_modules/request",
"author": {
"name": "Michael Hart",
"email": "michael.hart.au@gmail.com",
@@ -36,6 +30,8 @@
"bugs": {
"url": "https://github.com/mhart/aws4/issues"
},
"bundleDependencies": false,
"deprecated": false,
"description": "Signs and prepares requests using AWS Signature Version 4",
"devDependencies": {
"mocha": "^2.4.5",
@@ -102,7 +98,8 @@
"url": "git+https://github.com/mhart/aws4.git"
},
"scripts": {
"test": "mocha ./test/fast.js ./test/slow.js -b -t 100s -R list"
"integration": "node ./test/slow.js",
"test": "mocha ./test/fast.js -b -t 100s -R list"
},
"version": "1.8.0"
"version": "1.9.1"
}