From 966eb053131b052e7fc3b3b3adaf2d27ff05d7a3 Mon Sep 17 00:00:00 2001 From: Rigel Kent Date: Wed, 18 Apr 2018 16:08:36 +0200 Subject: [PATCH] feature: initial syndication feeds tests for instance-wide feeds --- package.json | 6 + server/tests/api/feeds/instance-feed.ts | 91 ++++++ server/tests/api/index-slow.ts | 1 + server/tests/utils/feeds/feeds.ts | 30 ++ server/tests/utils/index.ts | 1 + tsconfig.json | 4 +- yarn.lock | 376 ++++++++++++++++-------- 7 files changed, 389 insertions(+), 120 deletions(-) create mode 100644 server/tests/api/feeds/instance-feed.ts create mode 100644 server/tests/utils/feeds/feeds.ts diff --git a/package.json b/package.json index 5776f9fc6..100e00f51 100644 --- a/package.json +++ b/package.json @@ -106,10 +106,13 @@ "@types/bcrypt": "^1.0.0", "@types/body-parser": "^1.16.3", "@types/chai": "^4.0.4", + "@types/chai-json-schema": "^1.4.3", + "@types/chai-xml": "^0.3.1", "@types/config": "^0.0.34", "@types/express": "^4.0.35", "@types/express-rate-limit": "^2.9.3", "@types/kue": "^0.11.8", + "@types/libxmljs": "^0.14.31", "@types/lodash": "^4.14.64", "@types/magnet-uri": "^5.1.1", "@types/maildev": "^0.0.1", @@ -129,6 +132,9 @@ "@types/webtorrent": "^0.98.4", "@types/ws": "^4.0.0", "chai": "^4.1.1", + "chai-json-schema": "^1.5.0", + "chai-xml": "^0.3.2", + "libxmljs": "^0.18.7", "maildev": "^1.0.0-rc3", "mocha": "^5.0.0", "nodemon": "^1.11.0", diff --git a/server/tests/api/feeds/instance-feed.ts b/server/tests/api/feeds/instance-feed.ts new file mode 100644 index 000000000..e834e1db1 --- /dev/null +++ b/server/tests/api/feeds/instance-feed.ts @@ -0,0 +1,91 @@ +/* tslint:disable:no-unused-expression */ + +import * as chai from 'chai' +import 'mocha' +import { + getOEmbed, + getXMLfeed, + getJSONfeed, + flushTests, + killallServers, + ServerInfo, + setAccessTokensToServers, + uploadVideo, + flushAndRunMultipleServers, + wait +} from '../../utils' +import { runServer } from '../../utils/server/servers' +import { join } from 'path' +import * as libxmljs from 'libxmljs' + +chai.use(require('chai-xml')) +chai.use(require('chai-json-schema')) +chai.config.includeStack = true +const expect = chai.expect + +describe('Test instance-wide syndication feeds', () => { + let servers: ServerInfo[] = [] + + before(async function () { + this.timeout(30000) + + // Run servers + servers = await flushAndRunMultipleServers(2) + + await setAccessTokensToServers(servers) + + this.timeout(60000) + + const videoAttributes = { + name: 'my super name for server 1', + description: 'my super description for server 1', + fixture: 'video_short.webm' + } + await uploadVideo(servers[0].url, servers[0].accessToken, videoAttributes) + + await wait(10000) + }) + + it('should be well formed XML (covers RSS 2.0 and ATOM 1.0 endpoints)', async function () { + const rss = await getXMLfeed(servers[0].url) + expect(rss.text).xml.to.be.valid() + + const atom = await getXMLfeed(servers[0].url, 'atom') + expect(atom.text).xml.to.be.valid() + }) + + it('should be well formed JSON (covers JSON feed 1.0 endpoint)', async function () { + const json = await getJSONfeed(servers[0].url) + expect(JSON.parse(json.text)).to.be.jsonSchema({ 'type': 'object' }) + }) + + it('should contain a valid enclosure (covers RSS 2.0 endpoint)', async function () { + const rss = await getXMLfeed(servers[0].url) + const xmlDoc = libxmljs.parseXmlString(rss.text) + const xmlEnclosure = xmlDoc.get('/rss/channel/item/enclosure') + expect(xmlEnclosure).to.exist + expect(xmlEnclosure.attr('type').value()).to.be.equal('application/x-bittorrent') + expect(xmlEnclosure.attr('length').value()).to.be.equal('218910') + expect(xmlEnclosure.attr('url').value()).to.contain('720.torrent') + }) + + it('should contain a valid \'attachments\' object (covers JSON feed 1.0 endpoint)', async function () { + const json = await getJSONfeed(servers[0].url) + const jsonObj = JSON.parse(json.text) + expect(jsonObj.items.length).to.be.equal(1) + expect(jsonObj.items[0].attachments).to.exist + expect(jsonObj.items[0].attachments.length).to.be.eq(1) + expect(jsonObj.items[0].attachments[0].mime_type).to.be.eq('application/x-bittorrent') + expect(jsonObj.items[0].attachments[0].size_in_bytes).to.be.eq(218910) + expect(jsonObj.items[0].attachments[0].url).to.contain('720.torrent') + }) + + after(async function () { + killallServers(servers) + + // Keep the logs if the test failed + if (this['ok']) { + await flushTests() + } + }) +}) diff --git a/server/tests/api/index-slow.ts b/server/tests/api/index-slow.ts index cde546856..5f2f26095 100644 --- a/server/tests/api/index-slow.ts +++ b/server/tests/api/index-slow.ts @@ -1,5 +1,6 @@ // Order of the tests we want to execute import './videos/video-transcoder' +import './feeds/instance-feed' import './videos/multiple-servers' import './server/follows' import './server/jobs' diff --git a/server/tests/utils/feeds/feeds.ts b/server/tests/utils/feeds/feeds.ts new file mode 100644 index 000000000..20e68cf3d --- /dev/null +++ b/server/tests/utils/feeds/feeds.ts @@ -0,0 +1,30 @@ +import * as request from 'supertest' +import { readFileBufferPromise } from '../../../helpers/core-utils' + +function getXMLfeed (url: string, format?: string) { + const path = '/feeds/videos.xml' + + return request(url) + .get(path) + .query((format) ? { format: format } : {}) + .set('Accept', 'application/xml') + .expect(200) + .expect('Content-Type', /xml/) +} + +function getJSONfeed (url: string) { + const path = '/feeds/videos.json' + + return request(url) + .get(path) + .set('Accept', 'application/json') + .expect(200) + .expect('Content-Type', /json/) +} + +// --------------------------------------------------------------------------- + +export { + getXMLfeed, + getJSONfeed +} diff --git a/server/tests/utils/index.ts b/server/tests/utils/index.ts index d7789e517..5b560ca39 100644 --- a/server/tests/utils/index.ts +++ b/server/tests/utils/index.ts @@ -13,3 +13,4 @@ export * from './videos/video-abuses' export * from './videos/video-blacklist' export * from './videos/video-channels' export * from './videos/videos' +export * from './feeds/feeds' diff --git a/tsconfig.json b/tsconfig.json index 70d2c51c2..4254010e7 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -14,7 +14,9 @@ "es2017" ], "types": [ - "node" + "node", + "chai-xml", + "chai-json-schema" ] }, "exclude": [ diff --git a/yarn.lock b/yarn.lock index 9a43aa182..a51cfe121 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3,8 +3,8 @@ "@types/async@^2.0.40": - version "2.0.48" - resolved "https://registry.yarnpkg.com/@types/async/-/async-2.0.48.tgz#97436de4c84163b04f678066b3f77b01e58deb7a" + version "2.0.49" + resolved "https://registry.yarnpkg.com/@types/async/-/async-2.0.49.tgz#92e33d13f74c895cb9a7f38ba97db8431ed14bc0" "@types/babel-types@*", "@types/babel-types@^7.0.0": version "7.0.1" @@ -45,7 +45,19 @@ version "0.12.1" resolved "https://registry.yarnpkg.com/@types/caseless/-/caseless-0.12.1.tgz#9794c69c8385d0192acc471a540d1f8e0d16218a" -"@types/chai@^4.0.4": +"@types/chai-json-schema@^1.4.3": + version "1.4.3" + resolved "https://registry.yarnpkg.com/@types/chai-json-schema/-/chai-json-schema-1.4.3.tgz#1dd1e88ae911dd6e6e1c3c2d0e0397328aab0bfb" + dependencies: + "@types/tv4" "*" + +"@types/chai-xml@^0.3.1": + version "0.3.1" + resolved "https://registry.yarnpkg.com/@types/chai-xml/-/chai-xml-0.3.1.tgz#a9cc5812bd67e9c9221d1e9b4dfb0cca797fd40a" + dependencies: + "@types/chai" "*" + +"@types/chai@*", "@types/chai@^4.0.4": version "4.1.2" resolved "https://registry.yarnpkg.com/@types/chai/-/chai-4.1.2.tgz#f1af664769cfb50af805431c407425ed619daa21" @@ -102,9 +114,16 @@ "@types/node" "*" "@types/redis" "*" +"@types/libxmljs@^0.14.31": + version "0.14.31" + resolved "https://registry.yarnpkg.com/@types/libxmljs/-/libxmljs-0.14.31.tgz#34b2218b307e0d1a15a452162c5bca49de0bbf64" + dependencies: + "@types/events" "*" + "@types/node" "*" + "@types/lodash@*", "@types/lodash@^4.14.64": - version "4.14.106" - resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.106.tgz#6093e9a02aa567ddecfe9afadca89e53e5dce4dd" + version "4.14.107" + resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.107.tgz#b2d2ae3958bfb8ff828495cbe12214af9e4d035e" "@types/magnet-uri@*", "@types/magnet-uri@^5.1.1": version "5.1.1" @@ -145,8 +164,8 @@ "@types/express" "*" "@types/node@*", "@types/node@^9.3.0": - version "9.6.2" - resolved "https://registry.yarnpkg.com/@types/node/-/node-9.6.2.tgz#e49ac1adb458835e95ca6487bc20f916b37aff23" + version "9.6.5" + resolved "https://registry.yarnpkg.com/@types/node/-/node-9.6.5.tgz#ee700810fdf49ac1c399fc5980b7559b3e5a381d" "@types/node@6.0.41": version "6.0.41" @@ -207,8 +226,8 @@ "@types/validator" "*" "@types/sequelize@^4.0.55": - version "4.27.13" - resolved "https://registry.yarnpkg.com/@types/sequelize/-/sequelize-4.27.13.tgz#0e68a84d9a262eee2dbb154065e092a1bd74b4fe" + version "4.27.14" + resolved "https://registry.yarnpkg.com/@types/sequelize/-/sequelize-4.27.14.tgz#621dcc33db884e1fca368dc1b9fa7a60b38785d3" dependencies: "@types/bluebird" "*" "@types/continuation-local-storage" "*" @@ -223,8 +242,8 @@ "@types/mime" "*" "@types/sharp@^0.17.6": - version "0.17.7" - resolved "https://registry.yarnpkg.com/@types/sharp/-/sharp-0.17.7.tgz#3d9feeda1352ac84ae12264e748e87883ed12bf7" + version "0.17.8" + resolved "https://registry.yarnpkg.com/@types/sharp/-/sharp-0.17.8.tgz#0d02f36030549ccd29f31c1badd06c15a4e998ef" dependencies: "@types/node" "*" @@ -235,8 +254,8 @@ "@types/node" "*" "@types/superagent@*": - version "3.5.7" - resolved "https://registry.yarnpkg.com/@types/superagent/-/superagent-3.5.7.tgz#c170633e7dff01425b4712bb3afac3a12be49b7b" + version "3.5.8" + resolved "https://registry.yarnpkg.com/@types/superagent/-/superagent-3.5.8.tgz#da2b5d6a5bc77b4bf1b6d082ec4c3328ba5c3b9f" dependencies: "@types/node" "*" @@ -250,6 +269,10 @@ version "2.3.2" resolved "https://registry.yarnpkg.com/@types/tough-cookie/-/tough-cookie-2.3.2.tgz#e0d481d8bb282ad8a8c9e100ceb72c995fb5e709" +"@types/tv4@*": + version "1.2.29" + resolved "https://registry.yarnpkg.com/@types/tv4/-/tv4-1.2.29.tgz#4c6d2222b03245dd2104f4fd67f54d1658985911" + "@types/validator@*", "@types/validator@^9.4.0": version "9.4.0" resolved "https://registry.yarnpkg.com/@types/validator/-/validator-9.4.0.tgz#a4a80a31d3e4e094806ec446557808423379858d" @@ -491,6 +514,10 @@ assert-plus@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-0.2.0.tgz#d74e1b87e7affc0db8aadb7021f3fe48101ab234" +assertion-error@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-1.0.0.tgz#c7f85438fdd466bc7ca16ab90c81513797a5d23b" + assertion-error@^1.0.1: version "1.1.0" resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-1.1.0.tgz#e60b6b0e8f301bd97e5375215bda406c85118c0b" @@ -560,8 +587,8 @@ aws-sign2@~0.7.0: resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" aws4@^1.2.1, aws4@^1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.6.0.tgz#83ef5ca860b2b32e4a0deedee8c771b9db57471e" + version "1.7.0" + resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.7.0.tgz#d4d0e9b9dbfca77bf08eeb0a8a471550fe39e289" babel-code-frame@^6.22.0: version "6.26.0" @@ -603,6 +630,10 @@ base64-arraybuffer@0.1.5: version "0.1.5" resolved "https://registry.yarnpkg.com/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz#73926771923b5a19747ad666aa5cd4bf9c6e9ce8" +base64-js@~0.0.6: + version "0.0.8" + resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-0.0.8.tgz#1101e9544f4a76b1bc3b26d452ca96d7a35e7978" + base64id@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/base64id/-/base64id-1.0.0.tgz#47688cb99bb6804f0e06d3e763b1c32e57d8e6b6" @@ -670,6 +701,10 @@ binary-search@^1.2.0: version "1.3.3" resolved "https://registry.yarnpkg.com/binary-search/-/binary-search-1.3.3.tgz#b5adb6fb279a197be51b1ee8b0fb76fcdc61b429" +bindings@1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.2.1.tgz#14ad6113812d2d37d72e67b4cacb4bb726505f11" + bindings@^1.3.0, bindings@~1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.3.0.tgz#b346f6ecf6a95f5a815c5839fc7cdb22502f1ed7" @@ -871,16 +906,14 @@ brace-expansion@^1.0.0, brace-expansion@^1.1.7: concat-map "0.0.1" braces@^2.3.0, braces@^2.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.1.tgz#7086c913b4e5a08dbe37ac0ee6a2500c4ba691bb" + version "2.3.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" dependencies: arr-flatten "^1.1.0" array-unique "^0.3.2" - define-property "^1.0.0" extend-shallow "^2.0.1" fill-range "^4.0.0" isobject "^3.0.1" - kind-of "^6.0.2" repeat-element "^1.1.2" snapdragon "^0.8.1" snapdragon-node "^2.0.1" @@ -945,12 +978,12 @@ buffer-writer@1.0.1: resolved "https://registry.yarnpkg.com/buffer-writer/-/buffer-writer-1.0.1.tgz#22a936901e3029afcd7547eb4487ceb697a3bf08" bufferutil@^3.0.0: - version "3.0.3" - resolved "https://registry.yarnpkg.com/bufferutil/-/bufferutil-3.0.3.tgz#ce67caefde2282591e399528467fe623f68f4bd5" + version "3.0.4" + resolved "https://registry.yarnpkg.com/bufferutil/-/bufferutil-3.0.4.tgz#b9ea85d3749388110736d564a09ebd7cf6785138" dependencies: bindings "~1.3.0" - nan "~2.7.0" - prebuild-install "~2.3.0" + nan "~2.10.0" + prebuild-install "~2.5.0" builtin-modules@^1.0.0, builtin-modules@^1.1.1: version "1.1.1" @@ -1027,6 +1060,27 @@ center-align@^0.1.1: align-text "^0.1.3" lazy-cache "^1.0.3" +chai-json-schema@^1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/chai-json-schema/-/chai-json-schema-1.5.0.tgz#6960719e40f71fd5b377c9282e5c9a46799474f6" + dependencies: + jsonpointer.js "0.4.0" + tv4 "~1.2.7" + +chai-xml@^0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/chai-xml/-/chai-xml-0.3.2.tgz#61d0776aa8fd936a2178769adcaabf3bfb52b8b1" + dependencies: + chai "^1.9.1" + xml2js "^0.4.4" + +chai@^1.9.1: + version "1.10.0" + resolved "https://registry.yarnpkg.com/chai/-/chai-1.10.0.tgz#e4031cc87654461a75943e5a35ab46eaf39c1eb9" + dependencies: + assertion-error "1.0.0" + deep-eql "0.1.3" + chai@^4.1.1: version "4.1.2" resolved "https://registry.yarnpkg.com/chai/-/chai-4.1.2.tgz#0f64584ba642f0f2ace2806279f4f06ca23ad73c" @@ -1059,8 +1113,8 @@ chalk@^1.0.0, chalk@^1.1.1, chalk@^1.1.3: supports-color "^2.0.0" chalk@^2.0.1, chalk@^2.3.0: - version "2.3.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.3.2.tgz#250dc96b07491bfd601e648d66ddf5f60c7a5c65" + version "2.4.0" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.0.tgz#a060a297a6b57e15b61ca63ce84995daa0fe6e52" dependencies: ansi-styles "^3.2.1" escape-string-regexp "^1.0.5" @@ -1210,6 +1264,12 @@ coffee-script@~1.3.3: version "1.3.3" resolved "https://registry.yarnpkg.com/coffee-script/-/coffee-script-1.3.3.tgz#150d6b4cb522894369efed6a2101c20bc7f4a4f4" +coffee-script@~1.7.1: + version "1.7.1" + resolved "https://registry.yarnpkg.com/coffee-script/-/coffee-script-1.7.1.tgz#62996a861780c75e6d5069d13822723b73404bfc" + dependencies: + mkdirp "~0.3.5" + collection-visit@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" @@ -1284,8 +1344,8 @@ combined-stream@1.0.6, combined-stream@^1.0.5, combined-stream@~1.0.5: delayed-stream "~1.0.0" command-exists@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/command-exists/-/command-exists-1.2.2.tgz#12819c64faf95446ec0ae07fe6cafb6eb3708b22" + version "1.2.6" + resolved "https://registry.yarnpkg.com/command-exists/-/command-exists-1.2.6.tgz#577f8e5feb0cb0f159cd557a51a9be1bdd76e09e" commander@*, commander@^2.12.1, commander@^2.13.0, commander@^2.9.0: version "2.15.1" @@ -1443,8 +1503,8 @@ copy-descriptor@^0.1.0: resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" core-js@^2.4.0: - version "2.5.4" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.5.4.tgz#f2c8bf181f2a80b92f360121429ce63a2f0aeae0" + version "2.5.5" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.5.5.tgz#b14dde936c640c0579a6b50cabcc132dd6127e3b" core-util-is@1.0.2, core-util-is@~1.0.0: version "1.0.2" @@ -1596,6 +1656,12 @@ decompress-response@^3.3.0: dependencies: mimic-response "^1.0.0" +deep-eql@0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-0.1.3.tgz#ef558acab8de25206cd713906d74e56930eb69f2" + dependencies: + type-detect "0.1.1" + deep-eql@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-3.0.1.tgz#dfc9404400ad1c8fe023e7da1df1c147c4b444df" @@ -1704,12 +1770,24 @@ domelementtype@~1.1.1: version "1.1.3" resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.1.3.tgz#bd28773e2642881aec51544924299c5cd822185b" +domhandler@2.2: + version "2.2.1" + resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-2.2.1.tgz#59df9dcd227e808b365ae73e1f6684ac3d946fc2" + dependencies: + domelementtype "1" + domhandler@2.3: version "2.3.0" resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-2.3.0.tgz#2de59a0822d5027fabff6f032c2b25a2a8abe738" dependencies: domelementtype "1" +domutils@1.3: + version "1.3.0" + resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.3.0.tgz#9ad4d59b5af6ca684c62fe6d768ef170e70df192" + dependencies: + domelementtype "1" + domutils@1.4: version "1.4.3" resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.4.3.tgz#0865513796c6b306031850e175516baf80b72a6f" @@ -1964,8 +2042,8 @@ express-rate-limit@^2.11.0: defaults "^1.0.3" express-validator@^5.0.0: - version "5.1.1" - resolved "https://registry.yarnpkg.com/express-validator/-/express-validator-5.1.1.tgz#92f701ff70883ffe8d03dece507a6948881a7f92" + version "5.1.2" + resolved "https://registry.yarnpkg.com/express-validator/-/express-validator-5.1.2.tgz#1eecf5f583f8eeaf879563c38a2b3ac996eba1df" dependencies: lodash "^4.16.0" validator "^9.4.0" @@ -2349,9 +2427,9 @@ get-stdin@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" -get-stdin@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-5.0.1.tgz#122e161591e21ff4c52530305693f20e6393a398" +get-stdin@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-6.0.0.tgz#9e09bf712b360ab9225e812048f71fde9c89657b" get-stream@^3.0.0: version "3.0.0" @@ -2493,6 +2571,10 @@ graceful-fs@~1.2.0: version "1.2.3" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-1.2.3.tgz#15a4806a57547cb2d2dbf27f42e89a8c3451b364" +graceful-fs@~2.0.2: + version "2.0.3" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-2.0.3.tgz#7cd2cdb228a4a3f36e95efa6cc142de7d1a136d0" + "graceful-readlink@>= 1.0.0": version "1.0.1" resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725" @@ -2584,6 +2666,12 @@ grunt-contrib-watch@^0.6.1: lodash "~2.4.1" tiny-lr-fork "0.0.5" +grunt-embed@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/grunt-embed/-/grunt-embed-0.2.1.tgz#ea96e929e9b12f5aaf9479bf1a84f373c716b02e" + dependencies: + resource-embedder "~0.2.1" + grunt-legacy-log-utils@~0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/grunt-legacy-log-utils/-/grunt-legacy-log-utils-0.1.1.tgz#c0706b9dd9064e116f36f23fe4e6b048672c0f7e" @@ -2843,6 +2931,15 @@ hosted-git-info@^2.1.4: version "2.6.0" resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.6.0.tgz#23235b29ab230c576aab0d4f13fc046b0b038222" +htmlparser2@~3.5.0: + version "3.5.1" + resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.5.1.tgz#6f42f7657dd19c13f7d65de9118417394a0be6d0" + dependencies: + domelementtype "1" + domhandler "2.2" + domutils "1.3" + readable-stream "1.1" + htmlparser2@~3.8.1: version "3.8.3" resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.8.3.tgz#996c28b191516a8be86501a7d79757e5c70c1068" @@ -2906,7 +3003,7 @@ http-signature@~1.2.0: jsprim "^1.2.2" sshpk "^1.7.0" -iconv-lite@0.4.19, iconv-lite@~0.4.13: +iconv-lite@0.4.19: version "0.4.19" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.19.tgz#f7468f60135f5e5dad3399c0a81be9a1603a082b" @@ -2914,6 +3011,12 @@ iconv-lite@~0.2.11: version "0.2.11" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.2.11.tgz#1ce60a3a57864a292d1321ff4609ca4bb965adc8" +iconv-lite@~0.4.13: + version "0.4.21" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.21.tgz#c47f8733d02171189ebc4a400f3218d348094798" + dependencies: + safer-buffer "^2.1.0" + ignore-by-default@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/ignore-by-default/-/ignore-by-default-1.0.1.tgz#48ca6d72f6c6a3af00a9ad4ae6876be3889e2b09" @@ -2989,10 +3092,14 @@ ipaddr.js@1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.0.5.tgz#5fa78cf301b825c78abc3042d812723049ea23c7" -ipaddr.js@1.6.0, "ipaddr.js@>= 0.1.5", ipaddr.js@^1.0.1: +ipaddr.js@1.6.0: version "1.6.0" resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.6.0.tgz#e3fa357b773da619f26e95f049d055c72796f86b" +"ipaddr.js@>= 0.1.5", ipaddr.js@^1.0.1: + version "1.7.0" + resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.7.0.tgz#2206ed334afc32e01fed3ee838b6b2521068b9d2" + ipv6-normalize@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/ipv6-normalize/-/ipv6-normalize-1.0.1.tgz#1b3258290d365fa83239e89907dde4592e7620a8" @@ -3372,6 +3479,10 @@ jsonld@^1.0.1: semver "^5.5.0" xmldom "0.1.19" +jsonpointer.js@0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/jsonpointer.js/-/jsonpointer.js-0.4.0.tgz#002cb123f767aafdeb0196132ce5c4f9941ccaba" + jsonpointer@^4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-4.0.1.tgz#4fd92cb34e0e9db3c89c8622ecf51f9b978c6cb9" @@ -3500,6 +3611,14 @@ lcid@^1.0.0: dependencies: invert-kv "^1.0.0" +libxmljs@^0.18.7: + version "0.18.7" + resolved "https://registry.yarnpkg.com/libxmljs/-/libxmljs-0.18.7.tgz#3673eb17c74cbaffdef9f33cb83ddd82a25055b7" + dependencies: + bindings "1.2.1" + nan "~2.5.0" + node-pre-gyp "~0.6.32" + load-ip-set@^1.2.7: version "1.3.1" resolved "https://registry.yarnpkg.com/load-ip-set/-/load-ip-set-1.3.1.tgz#cfd050c6916e7ba0ca85d0b566e7854713eb495e" @@ -3667,8 +3786,8 @@ lodash@~2.4.1: resolved "https://registry.yarnpkg.com/lodash/-/lodash-2.4.2.tgz#fadd834b9683073da179b3eae6d9c0d15053f73e" logform@^1.2.1: - version "1.4.0" - resolved "https://registry.yarnpkg.com/logform/-/logform-1.4.0.tgz#ef987003101d4efcc2644ed21af137449a592596" + version "1.4.1" + resolved "https://registry.yarnpkg.com/logform/-/logform-1.4.1.tgz#372a84eedb01dbace3bfbcd32b78d556b5ea8333" dependencies: colors "^1.2.0" fecha "^2.3.2" @@ -3875,8 +3994,8 @@ mime@^1.3.4, mime@^1.4.1: resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" mime@^2.2.0: - version "2.2.2" - resolved "https://registry.yarnpkg.com/mime/-/mime-2.2.2.tgz#6b4c109d88031d7b5c23635f5b923da336d79121" + version "2.3.1" + resolved "https://registry.yarnpkg.com/mime/-/mime-2.3.1.tgz#b1621c54d63b97c47d3cfe7f7215f7d64517c369" mimelib@^0.3.0: version "0.3.1" @@ -3890,8 +4009,8 @@ mimic-response@^1.0.0: resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.0.tgz#df3d3652a73fded6b9b0b24146e6fd052353458e" minimalistic-assert@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.0.tgz#702be2dda6b37f4836bcb3f5db56641b64a1d3d3" + version "1.0.1" + resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" minimatch@0.3: version "0.3.0" @@ -3900,7 +4019,7 @@ minimatch@0.3: lru-cache "2" sigmund "~1.0.0" -"minimatch@2 || 3", minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.4, minimatch@~3.0.2: +"minimatch@2 || 3", minimatch@3.0.4, minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.4, minimatch@~3.0.2: version "3.0.4" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" dependencies: @@ -3957,9 +4076,13 @@ mkdirp@0.5.1, mkdirp@0.5.x, "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdi dependencies: minimist "0.0.8" +mkdirp@~0.3.5: + version "0.3.5" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.3.5.tgz#de3e5f8961c88c787ee1368df849ac4413eca8d7" + mocha@^5.0.0: - version "5.0.5" - resolved "https://registry.yarnpkg.com/mocha/-/mocha-5.0.5.tgz#e228e3386b9387a4710007a641f127b00be44b52" + version "5.1.0" + resolved "https://registry.yarnpkg.com/mocha/-/mocha-5.1.0.tgz#5ff11cc39c0bb65330ac6c41f9086634e3e3f686" dependencies: browser-stdout "1.3.1" commander "2.11.0" @@ -3969,18 +4092,19 @@ mocha@^5.0.0: glob "7.1.2" growl "1.10.3" he "1.1.1" + minimatch "3.0.4" mkdirp "0.5.1" supports-color "4.4.0" moment-timezone@^0.5.14: - version "0.5.14" - resolved "https://registry.yarnpkg.com/moment-timezone/-/moment-timezone-0.5.14.tgz#4eb38ff9538b80108ba467a458f3ed4268ccfcb1" + version "0.5.16" + resolved "https://registry.yarnpkg.com/moment-timezone/-/moment-timezone-0.5.16.tgz#661717d5f55b4d2c2e002262d726c83785192a5a" dependencies: moment ">= 2.9.0" "moment@>= 2.9.0", moment@^2.20.0: - version "2.22.0" - resolved "https://registry.yarnpkg.com/moment/-/moment-2.22.0.tgz#7921ade01017dd45186e7fee5f424f0b8663a730" + version "2.22.1" + resolved "https://registry.yarnpkg.com/moment/-/moment-2.22.1.tgz#529a2e9bf973f259c9643d237fda84de3a26e8ad" morgan@^1.5.3, morgan@^1.6.1: version "1.9.0" @@ -4046,13 +4170,13 @@ nan@2.6.2: version "2.6.2" resolved "https://registry.yarnpkg.com/nan/-/nan-2.6.2.tgz#e4ff34e6c95fdfb5aecc08de6596f43605a7db45" -nan@^2.10.0, nan@^2.3.0, nan@^2.7.0: +nan@^2.10.0, nan@^2.3.0, nan@^2.7.0, nan@~2.10.0: version "2.10.0" resolved "https://registry.yarnpkg.com/nan/-/nan-2.10.0.tgz#96d0cd610ebd58d4b4de9cc0c6828cda99c7548f" -nan@~2.7.0: - version "2.7.0" - resolved "https://registry.yarnpkg.com/nan/-/nan-2.7.0.tgz#d95bf721ec877e08db276ed3fc6eb78f9083ad46" +nan@~2.5.0: + version "2.5.1" + resolved "https://registry.yarnpkg.com/nan/-/nan-2.5.1.tgz#d5b01691253326a97a2bbee9e61c55d8d60351e2" nanomatch@^1.2.9: version "1.2.9" @@ -4105,7 +4229,7 @@ nib@~1.1.2: dependencies: stylus "0.54.5" -node-abi@^2.1.1, node-abi@^2.2.0: +node-abi@^2.2.0: version "2.3.0" resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-2.3.0.tgz#f3d554d6ac72a9ee16f0f4dc9548db7c08de4986" dependencies: @@ -4147,7 +4271,7 @@ node-pre-gyp@0.6.36: tar "^2.2.1" tar-pack "^3.4.0" -node-pre-gyp@^0.6.39: +node-pre-gyp@^0.6.39, node-pre-gyp@~0.6.32: version "0.6.39" resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.6.39.tgz#c00e96860b23c0e1420ac7befc5044e1d78d8649" dependencies: @@ -4467,23 +4591,17 @@ parse-json@^2.2.0: dependencies: error-ex "^1.2.0" -parse-torrent-file@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/parse-torrent-file/-/parse-torrent-file-4.1.0.tgz#44e12d1e456d4b4c03e1f7ce318ea6e9cdf6a94a" - dependencies: - bencode "^2.0.0" - simple-sha1 "^2.0.0" - uniq "^1.0.1" - parse-torrent@^5.8.0: - version "5.8.3" - resolved "https://registry.yarnpkg.com/parse-torrent/-/parse-torrent-5.8.3.tgz#f95ef23301239609de406794ad9f958a1bca1b6c" + version "5.9.0" + resolved "https://registry.yarnpkg.com/parse-torrent/-/parse-torrent-5.9.0.tgz#9232e9103ac4d80a95adb381621b8461db44f230" dependencies: + bencode "^2.0.0" blob-to-buffer "^1.2.6" - get-stdin "^5.0.1" + get-stdin "^6.0.0" magnet-uri "^5.1.3" - parse-torrent-file "^4.0.0" simple-get "^2.0.0" + simple-sha1 "^2.0.0" + uniq "^1.0.1" parsejson@0.0.3: version "0.0.3" @@ -4573,8 +4691,8 @@ pause-stream@0.0.11: through "~2.3" pem@^1.12.3: - version "1.12.4" - resolved "https://registry.yarnpkg.com/pem/-/pem-1.12.4.tgz#bc7bf58555d51fcdc970ed1052af949ee4df4de8" + version "1.12.5" + resolved "https://registry.yarnpkg.com/pem/-/pem-1.12.5.tgz#97bf2e459537c54e0ee5b0aa11b5ca18d6b5fef2" dependencies: md5 "^2.2.1" os-tmpdir "^1.0.1" @@ -4671,6 +4789,13 @@ posix-character-classes@^0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" +postcss@~0.3.2: + version "0.3.5" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-0.3.5.tgz#5073a3d062ef3ce592ac4a5fe6b8c2862ab83ceb" + dependencies: + base64-js "~0.0.6" + source-map "~0.1.33" + postgres-array@~1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/postgres-array/-/postgres-array-1.0.2.tgz#8e0b32eb03bf77a5c0a7851e0441c169a256a238" @@ -4689,9 +4814,9 @@ postgres-interval@^1.1.0: dependencies: xtend "^4.0.0" -prebuild-install@^2.5.1: - version "2.5.1" - resolved "https://registry.yarnpkg.com/prebuild-install/-/prebuild-install-2.5.1.tgz#0f234140a73760813657c413cdccdda58296b1da" +prebuild-install@^2.5.1, prebuild-install@~2.5.0: + version "2.5.3" + resolved "https://registry.yarnpkg.com/prebuild-install/-/prebuild-install-2.5.3.tgz#9f65f242782d370296353710e9bc843490c19f69" dependencies: detect-libc "^1.0.3" expand-template "^1.0.2" @@ -4709,25 +4834,6 @@ prebuild-install@^2.5.1: tunnel-agent "^0.6.0" which-pm-runs "^1.0.0" -prebuild-install@~2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/prebuild-install/-/prebuild-install-2.3.0.tgz#19481247df728b854ab57b187ce234211311b485" - dependencies: - expand-template "^1.0.2" - github-from-package "0.0.0" - minimist "^1.2.0" - mkdirp "^0.5.1" - node-abi "^2.1.1" - noop-logger "^0.1.1" - npmlog "^4.0.1" - os-homedir "^1.0.1" - pump "^1.0.1" - rc "^1.1.6" - simple-get "^1.4.2" - tar-fs "^1.13.0" - tunnel-agent "^0.6.0" - xtend "4.0.1" - prepend-http@^1.0.1: version "1.0.4" resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" @@ -5146,6 +5252,12 @@ render-media@^2.8.0: stream-to-blob-url "^2.0.0" videostream "^2.3.0" +reorient-css@~0.2.1: + version "0.2.2" + resolved "https://registry.yarnpkg.com/reorient-css/-/reorient-css-0.2.2.tgz#6f66fc49f6a214400e0221d14c965d1abd21ac96" + dependencies: + postcss "~0.3.2" + repeat-element@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.2.tgz#ef089a178d1483baae4d93eb98b4f9e4e11d990a" @@ -5252,11 +5364,21 @@ resolve-url@^0.2.1: resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" resolve@^1.1.6, resolve@^1.3.2: - version "1.6.0" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.6.0.tgz#0fbd21278b27b4004481c395349e7aba60a9ff5c" + version "1.7.1" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.7.1.tgz#aadd656374fd298aee895bc026b8297418677fd3" dependencies: path-parse "^1.0.5" +resource-embedder@~0.2.1: + version "0.2.2" + resolved "https://registry.yarnpkg.com/resource-embedder/-/resource-embedder-0.2.2.tgz#20688fb5143737ec33a23b372c9144cb48196426" + dependencies: + coffee-script "~1.7.1" + graceful-fs "~2.0.2" + htmlparser2 "~3.5.0" + lodash "~2.4.1" + reorient-css "~0.2.1" + ret@~0.1.10: version "0.1.15" resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" @@ -5314,6 +5436,10 @@ safe-regex@^1.1.0: dependencies: ret "~0.1.10" +safer-buffer@^2.1.0: + version "2.1.2" + resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" + sass-graph@^2.2.4: version "2.2.4" resolved "https://registry.yarnpkg.com/sass-graph/-/sass-graph-2.2.4.tgz#13fbd63cd1caf0908b9fd93476ad43a51d1e0b49" @@ -5327,6 +5453,10 @@ sax@0.5.x: version "0.5.8" resolved "https://registry.yarnpkg.com/sax/-/sax-0.5.8.tgz#d472db228eb331c2506b0e8c15524adb939d12c1" +sax@>=0.6.0: + version "1.2.4" + resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" + scripty@^1.5.0: version "1.7.2" resolved "https://registry.yarnpkg.com/scripty/-/scripty-1.7.2.tgz#92367b724cb77b086729691f7b01aa57f3ddd356" @@ -5549,14 +5679,6 @@ simple-concat@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/simple-concat/-/simple-concat-1.0.0.tgz#7344cbb8b6e26fb27d66b2fc86f9f6d5997521c6" -simple-get@^1.4.2: - version "1.4.3" - resolved "https://registry.yarnpkg.com/simple-get/-/simple-get-1.4.3.tgz#e9755eda407e96da40c5e5158c9ea37b33becbeb" - dependencies: - once "^1.3.1" - unzip-response "^1.0.0" - xtend "^4.0.0" - simple-get@^2.0.0, simple-get@^2.2.1, simple-get@^2.7.0: version "2.7.0" resolved "https://registry.yarnpkg.com/simple-get/-/simple-get-2.7.0.tgz#ad37f926d08129237ff08c4f2edfd6f10e0380b5" @@ -5718,7 +5840,7 @@ source-map-url@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3" -source-map@0.1.x: +source-map@0.1.x, source-map@~0.1.33: version "0.1.43" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.1.43.tgz#c24bc146ca517c1471f5dacbe2571b2b7f9e3346" dependencies: @@ -5771,8 +5893,8 @@ spdx-license-ids@^3.0.0: resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.0.tgz#7a7cd28470cc6d3a1cfe6d66886f6bc430d3ac87" spectacle-docs@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/spectacle-docs/-/spectacle-docs-1.0.2.tgz#b84d47bca9fa1f3e12ebc9d917d527936b47fca1" + version "1.0.3" + resolved "https://registry.yarnpkg.com/spectacle-docs/-/spectacle-docs-1.0.3.tgz#3b3c8e6f71bd8f2b5cb5dcf4651e8f709151e244" dependencies: bluebird "^3.4.7" cheerio "^0.19.0" @@ -5789,6 +5911,7 @@ spectacle-docs@^1.0.2: grunt-contrib-handlebars "^0.11.0" grunt-contrib-uglify "^0.11.0" grunt-contrib-watch "^0.6.1" + grunt-embed "^0.2.1" grunt-prettify "^0.4.0" grunt-sass "*" handlebars "^4.0.5" @@ -5929,8 +6052,8 @@ string-width@^2.0.0, string-width@^2.1.1: strip-ansi "^4.0.0" string2compact@^1.1.1: - version "1.2.2" - resolved "https://registry.yarnpkg.com/string2compact/-/string2compact-1.2.2.tgz#420b3a9ee1c46854919b4a2aeac65c43fa50597b" + version "1.2.3" + resolved "https://registry.yarnpkg.com/string2compact/-/string2compact-1.2.3.tgz#2baeaae4e8199dad9cbdec2b7964c836041fabc1" dependencies: addr-to-ip-port "^1.0.1" ipaddr.js "^1.0.1" @@ -6041,8 +6164,8 @@ supports-color@^3.2.3: has-flag "^1.0.0" supports-color@^5.2.0, supports-color@^5.3.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.3.0.tgz#5b24ac15db80fa927cf5227a4a33fd3c4c7676c0" + version "5.4.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.4.0.tgz#1c6b337402c2137605efe19f10fec390f6faab54" dependencies: has-flag "^3.0.0" @@ -6340,10 +6463,18 @@ tunnel-agent@~0.4.1: version "0.4.3" resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.4.3.tgz#6373db76909fe570e08d73583365ed828a74eeeb" +tv4@~1.2.7: + version "1.2.7" + resolved "https://registry.yarnpkg.com/tv4/-/tv4-1.2.7.tgz#bd29389afc73ade49ae5f48142b5d544bf68d120" + tweetnacl@^0.14.3, tweetnacl@~0.14.0: version "0.14.5" resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" +type-detect@0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-0.1.1.tgz#0ba5ec2a885640e470ea4e8505971900dac58822" + type-detect@^4.0.0: version "4.0.8" resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" @@ -6470,10 +6601,6 @@ unset-value@^1.0.0: has-value "^0.3.1" isobject "^3.0.0" -unzip-response@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/unzip-response/-/unzip-response-1.0.2.tgz#b984f0877fc0a89c2c773cc1ef7b5b232b5b06fe" - unzip-response@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/unzip-response/-/unzip-response-2.0.1.tgz#d2f0f737d16b0615e72a6935ed04214572d56f97" @@ -6483,8 +6610,8 @@ upath@^1.0.0: resolved "https://registry.yarnpkg.com/upath/-/upath-1.0.4.tgz#ee2321ba0a786c50973db043a50b7bcba822361d" update-notifier@^2.3.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-2.4.0.tgz#f9b4c700fbfd4ec12c811587258777d563d8c866" + version "2.5.0" + resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-2.5.0.tgz#d0744593e13f161e406acb1d9408b72cad08aff6" dependencies: boxen "^1.2.1" chalk "^2.0.1" @@ -6524,8 +6651,8 @@ use@^3.1.0: kind-of "^6.0.2" ut_metadata@^3.0.8: - version "3.2.0" - resolved "https://registry.yarnpkg.com/ut_metadata/-/ut_metadata-3.2.0.tgz#970e266f74d848bb6dca0a7ea674b2fb2520b528" + version "3.2.1" + resolved "https://registry.yarnpkg.com/ut_metadata/-/ut_metadata-3.2.1.tgz#72ce7165d6522fb8622fe7e604a878c3a3b155ff" dependencies: bencode "^2.0.0" bitfield "^2.0.0" @@ -6714,8 +6841,8 @@ window-size@^0.2.0: resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.2.0.tgz#b4315bb4214a3d7058ebeee892e13fa24d98b075" winston-transport@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/winston-transport/-/winston-transport-3.0.1.tgz#8008b15eef5660c4fb3fa094d58ccbd08528c58d" + version "3.1.0" + resolved "https://registry.yarnpkg.com/winston-transport/-/winston-transport-3.1.0.tgz#52b097176c5c26acf9c603630c57ffd575c42572" winston@3.0.0-rc1: version "3.0.0-rc1" @@ -6802,10 +6929,21 @@ xhr2@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/xhr2/-/xhr2-0.1.4.tgz#7f87658847716db5026323812f818cadab387a5f" +xml2js@^0.4.4: + version "0.4.19" + resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.4.19.tgz#686c20f213209e94abf0d1bcf1efaa291c7827a7" + dependencies: + sax ">=0.6.0" + xmlbuilder "~9.0.1" + xml@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/xml/-/xml-1.0.1.tgz#78ba72020029c5bc87b8a81a3cfcd74b4a2fc1e5" +xmlbuilder@~9.0.1: + version "9.0.7" + resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-9.0.7.tgz#132ee63d2ec5565c557e20f4c22df9aca686b10d" + xmldom@0.1.19: version "0.1.19" resolved "https://registry.yarnpkg.com/xmldom/-/xmldom-0.1.19.tgz#631fc07776efd84118bf25171b37ed4d075a0abc" @@ -6814,7 +6952,7 @@ xmlhttprequest-ssl@1.5.3: version "1.5.3" resolved "https://registry.yarnpkg.com/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.3.tgz#185a888c04eca46c3e4070d99f7b49de3528992d" -xtend@4.0.1, xtend@^4.0.0, xtend@^4.0.1: +xtend@^4.0.0, xtend@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" -- 2.25.1