From 61463ff2393e6779f13ca1d3e9f119f2a81e0e8a Mon Sep 17 00:00:00 2001 From: Sam Therapy Date: Wed, 11 May 2022 20:35:34 +0200 Subject: [PATCH] Uhhhhh Signed-off-by: Sam Therapy --- .drone.yml | 28 +- .eslintignore | 3 +- .eslintrc.json | 45 +- .gitignore | 4 +- .prettierignore | 2 + README.md | 27 +- index.js | 160 ++ lib/convert.js | 400 ++--- lib/errorPage.js | 57 +- lib/template.ejs | 5 +- package.json | 57 +- {src/public => public/css}/masto-auto.css | 316 ++-- public/css/masto-dark.css | 199 +++ public/css/masto-light.css | 207 +++ public/css/misskey-auto.css | 428 +++++ public/css/misskey-dark.css | 209 +++ public/css/misskey-light.css | 216 +++ public/css/pleroma.css | 199 +++ public/css/stylesheet.css | 206 +++ public/img/gitea-logo.svg | 1 + {src/public => public/img}/github-logo.svg | 0 public/index.html | 128 ++ public/js/script.js | 41 + public/lib/infinite-scroll.pkgd.min.js | 17 + renovate.json | 4 +- src/build-styles.js | 22 - src/index.js | 130 -- src/public/css/masto-auto.css | 309 ---- src/public/css/masto-dark.css | 163 -- src/public/css/masto-light.css | 170 -- src/public/css/misskey-auto.css | 351 ----- src/public/css/misskey-dark.css | 171 -- src/public/css/misskey-light.css | 177 --- src/public/css/pleroma.css | 163 -- src/public/css/stylesheet.css | 118 -- src/public/index.html | 76 - src/public/infinite-scroll.js | 12 - src/public/js/script.js | 24 - src/public/masto-dark.css | 163 -- src/public/masto-light.css | 170 -- src/stylesrc/masto-auto.scss | 5 - src/stylesrc/masto-base.scss | 196 --- src/stylesrc/masto-dark.scss | 10 - src/stylesrc/masto-light.scss | 18 - src/stylesrc/mastodon-vars.scss | 8 - test/embedExample.html | 47 - test/result.html | 534 ------- test/sample.atom | 721 --------- test/test.js | 14 - yarn.lock | 1664 +++----------------- 50 files changed, 2782 insertions(+), 5613 deletions(-) create mode 100644 .prettierignore create mode 100644 index.js rename {src/public => public/css}/masto-auto.css (51%) create mode 100644 public/css/masto-dark.css create mode 100644 public/css/masto-light.css create mode 100644 public/css/misskey-auto.css create mode 100644 public/css/misskey-dark.css create mode 100644 public/css/misskey-light.css create mode 100644 public/css/pleroma.css create mode 100644 public/css/stylesheet.css create mode 100644 public/img/gitea-logo.svg rename {src/public => public/img}/github-logo.svg (100%) create mode 100644 public/index.html create mode 100644 public/js/script.js create mode 100644 public/lib/infinite-scroll.pkgd.min.js delete mode 100644 src/build-styles.js delete mode 100644 src/index.js delete mode 100644 src/public/css/masto-auto.css delete mode 100644 src/public/css/masto-dark.css delete mode 100644 src/public/css/masto-light.css delete mode 100644 src/public/css/misskey-auto.css delete mode 100644 src/public/css/misskey-dark.css delete mode 100644 src/public/css/misskey-light.css delete mode 100644 src/public/css/pleroma.css delete mode 100644 src/public/css/stylesheet.css delete mode 100644 src/public/index.html delete mode 100644 src/public/infinite-scroll.js delete mode 100644 src/public/js/script.js delete mode 100644 src/public/masto-dark.css delete mode 100644 src/public/masto-light.css delete mode 100644 src/stylesrc/masto-auto.scss delete mode 100644 src/stylesrc/masto-base.scss delete mode 100644 src/stylesrc/masto-dark.scss delete mode 100644 src/stylesrc/masto-light.scss delete mode 100644 src/stylesrc/mastodon-vars.scss delete mode 100644 test/embedExample.html delete mode 100644 test/result.html delete mode 100644 test/sample.atom delete mode 100644 test/test.js diff --git a/.drone.yml b/.drone.yml index 472918c..49f9aa2 100644 --- a/.drone.yml +++ b/.drone.yml @@ -3,19 +3,19 @@ type: docker name: default steps: -- name: dependencies - image: node - commands: - - yarn + - name: dependencies + image: node + commands: + - yarn -- name: lint - image: node - commands: - - yarn lint - depends: [dependencies] + - name: lint + image: node + commands: + - yarn lint:ci + depends: [dependencies] -- name: test - image: node - commands: - - yarn test - depends: [lint] \ No newline at end of file + - name: test + image: node + commands: + - yarn test + depends: [lint] diff --git a/.eslintignore b/.eslintignore index d78e05f..a9c0d63 100644 --- a/.eslintignore +++ b/.eslintignore @@ -1 +1,2 @@ -src/public/infinite-scroll.js \ No newline at end of file +src/public/lib/infinite-scroll.pkgd.min.js +.yarn/ \ No newline at end of file diff --git a/.eslintrc.json b/.eslintrc.json index 5a166a4..9c2ca8d 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -1,30 +1,19 @@ { - "env": { - "browser": true, - "es2021": true, - "node": true - }, - "extends": "eslint:recommended", - "parserOptions": { - "ecmaVersion": "latest", - "sourceType": "module" - }, - "rules": { - "indent": [ - "error", - 4 - ], - "linebreak-style": [ - "error", - "unix" - ], - "quotes": [ - "error", - "double" - ], - "semi": [ - "error", - "always" - ] - } + "env": { + "browser": true, + "es2021": true, + "node": true + }, + "parserOptions": { + "ecmaVersion": "latest", + "sourceType": "module" + }, + "plugins": ["prettier"], + "rules": { + "linebreak-style": ["error", "unix"], + "quotes": ["error", "double"], + "semi": ["error", "always"], + "prettier/prettier": ["error", { "singleQuote": false }] + }, + "extends": ["eslint:recommended", "plugin:prettier/recommended"] } diff --git a/.gitignore b/.gitignore index e93d8b5..83c18d8 100644 --- a/.gitignore +++ b/.gitignore @@ -127,4 +127,6 @@ dist .yarn/unplugged .yarn/build-state.yml .yarn/install-state.gz -.pnp.* \ No newline at end of file +.pnp.* + +.dccache \ No newline at end of file diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 0000000..a9c0d63 --- /dev/null +++ b/.prettierignore @@ -0,0 +1,2 @@ +src/public/lib/infinite-scroll.pkgd.min.js +.yarn/ \ No newline at end of file diff --git a/README.md b/README.md index 65a1211..e1f8dcb 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ https://www.fedifeed.com ## User guide -The homepage has a tool for generating iframe code for you, with a sensible `sandbox` attribute. The feeds fit comfortably in a 400px wide area. +The homepage has a tool for generating iframe code for you, with a sensible `sandbox` attribute. The feeds fit comfortably in a 400px wide area. ## API @@ -19,28 +19,29 @@ The homepage has a tool for generating iframe code for you, with a sensible `san > example: `/api/v1/feed?userurl=https%3A%2F%2Foctodon.social%2Fusers%2Ffenwick67&scale=90&theme=masto-light` -Returns a html page which displays a feed for a user URL. Note that URLs must be URI encoded (i.e. `encodeURIComponent('https://octodon.social/users/fenwick67')` ). +Returns a html page which displays a feed for a user URL. Note that URLs must be URI encoded (i.e. `encodeURIComponent('https://octodon.social/users/fenwick67')` ). Querystring options: -| option | required | description | -| ------ | -------- | ----------- | -| `userurl` | **\*** | Mastodon/Pleroma/Misskey account URL (usually `https://${instance}/users/${username}` for MastoAPI or `https://${instance}/@${username}` for Misskey) | -| `instance` | **\*\***| Mastodon/Pleroma/Misskey instance URL (usually `https://${instance}`) | -| `user` | **\*\*** | Mastodon/Pleroma/Misskey user ID (usually `${username}`) | -| `feedurl` | no | a URL to a page of an ActivityPub post collection. Only used for pages beyond the first. | -| `theme` | no | either `masto-dark`, `masto-light` or `masto-auto`, to select the UI theme (default is `masto-dark`). `auto` will appear masto-light unless the user sets up masto-dark mode on their device. | -| `boosts` | no | whether to show boosts or not | -| `replies` | no | whether to show replies or not | -| `size` | no | the scale of the UI in percent. | +| option | required | description | +| ---------- | -------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `userurl` | **\*** | Mastodon/Pleroma/Misskey account URL (usually `https://${instance}/users/${username}` for MastoAPI or `https://${instance}/@${username}` for Misskey) | +| `instance` | **\*\*** | Mastodon/Pleroma/Misskey instance URL (usually `https://${instance}`) | +| `user` | **\*\*** | Mastodon/Pleroma/Misskey user ID (usually `${username}`) | +| `feedurl` | no | a URL to a page of an ActivityPub post collection. Only used for pages beyond the first. | +| `theme` | no | either `masto-dark`, `masto-light` or `masto-auto`, to select the UI theme (default is `masto-dark`). `auto` will appear masto-light unless the user sets up masto-dark mode on their device. | +| `boosts` | no | whether to show boosts or not | +| `replies` | no | whether to show replies or not | +| `size` | no | the scale of the UI in percent. | \* `userurl` is required if `instance` and `user` are not specified.\*\*\* \ \*\* `instance` **and** `user` are required if `userurl` is not specified.\*\*\* \*\*\* **`userurl` and `instance`/`user` are mutually exclusive.** + ## Server Installation -This is a straightforward node project with zero databases or anything, you should just be able to run `yarn install` and then `yarn start` to get up and running. Set your `PORT` environment variable to change the port it listens on. +This is a straightforward node project with zero databases or anything, you should just be able to run `yarn install` and then `yarn start` to get up and running. Set your `PORT` environment variable to change the port it listens on. ## Improve me diff --git a/index.js b/index.js new file mode 100644 index 0000000..bf0a2a2 --- /dev/null +++ b/index.js @@ -0,0 +1,160 @@ +import Express from "express"; +// v2 api +import convertv2 from "./lib/convert.js"; +import serveStatic from "serve-static"; +import cors from "cors"; +import errorPage from "./lib/errorPage.js"; +import morgan from "morgan"; +import { detector } from "megalodon"; +import helmet from "helmet"; + +const app = Express(); +app.use( + helmet({ + contentSecurityPolicy: false, + crossOriginEmbedderPolicy: false, + crossOriginResourcePolicy: false, + }) +); + +const logger = morgan(":method :url :status via :referrer - :response-time ms"); + +app.use( + serveStatic("public", { + maxAge: "1d", + }) +); + +function doCache(res, durationSecs) { + res.set({ + "Cache-Control": "max-age=" + durationSecs, + }); +} + +// this just redirects to the +app.options("/api/feed", cors()); +app.get("/api/feed", cors(), logger, function (req, res) { + // get feed url + const feedUrl = req.query.url; + if (!feedUrl) { + res + .status(400) + .send(errorPage(400, "You need to specify a feed URL", null)); + return; + } + + const userUrl = feedUrl.replace(/\.atom.*/i, ""); + + const redirectUrl = "/api/v1/feed?"; + const qs = ["userurl=" + encodeURIComponent(userUrl), "api=v1"]; + + ["size", "theme", "boosts", "replies"].forEach((key) => { + if (typeof req.query[key] != "undefined") { + qs.push(key + "=" + encodeURIComponent(req.query[key])); + } + }); + + res.redirect(redirectUrl + qs.join("&")); +}); + +app.options("/api/v1/feed", cors()); +app.get("/api/v1/feed", cors(), logger, async function (req, res) { + // get feed url + // userUrl + let type = req.query.instance_type; + let userUrl = req.query.userurl; + if (userUrl === "" || userUrl === undefined) { + const user = req.query.user; + const instance = req.query.instance; + if (type === "" || type === undefined) { + type = await detector(instance).catch(() => ""); + } + if (type === "mastodon" || type === "pleroma") + userUrl = instance + "/users/" + user; + else if (type === "misskey") userUrl = instance + "/@" + user; + else { + res + .status(400) + .send(errorPage(400, "You need to specify a user URL", null)); + return; + } + } + + const feedUrl = req.query.feedurl; + + const opts = {}; + if (req.query.size) { + opts.size = req.query.size; + } + if (req.query.theme) { + opts.theme = req.query.theme; + if (opts.theme === "auto-auto") { + switch (type) { + case "mastodon": + opts.theme = "masto-auto"; + break; + case "pleroma": + opts.theme = "pleroma"; + break; + case "misskey": + opts.theme = "misskey-auto"; + break; + default: + break; + } + } else if (opts.theme === "auto-light") { + switch (type) { + case "mastodon": + opts.theme = "masto-light"; + break; + case "misskey": + opts.theme = "misskey-light"; + break; + case "pleroma": + opts.theme = "pleroma-light"; + break; + default: + break; + } + } else if (opts.theme === "auto-dark") { + switch (type) { + case "mastodon": + opts.theme = "masto-dark"; + break; + case "misskey": + opts.theme = "misskey-dark"; + break; + case "pleroma": + opts.theme = "pleroma-dark"; + break; + default: + break; + } + } + } + if (req.query.header) opts.header = req.query.header.toLowerCase() === "true"; + if (req.query.boosts) opts.boosts = req.query.boosts.toLowerCase() === "true"; + if (req.query.replies) + opts.replies = req.query.replies.toLowerCase() === "true"; + opts.instance_type = type; + opts.userUrl = userUrl; + opts.feedUrl = feedUrl; + opts.mastofeedUrl = req.url; + + convertv2(opts) + .then((data) => { + doCache(res, 60 * 60); + res.status(200).send(data); + }) + .catch((er) => { + res + .status(500) + .send(errorPage(500, null, { theme: opts.theme, size: opts.size })); + // TODO log the error + console.error(er, er.stack); + }); +}); + +app.listen(process.env.PORT || 8000, "127.0.0.1", function () { + console.log("Server started, listening on " + (process.env.PORT || 8000)); +}); diff --git a/lib/convert.js b/lib/convert.js index 61cf1c1..5dfd685 100644 --- a/lib/convert.js +++ b/lib/convert.js @@ -12,238 +12,258 @@ const hour = 3600000; // note: rejects on HTTP 4xx or 5xx async function apGet(url) { - - return new Promise(function(resolve,reject){ + return new Promise(function (resolve, reject) { + // fail early + if (!url) { + reject(new Error("URL is invalid")); + } - // fail early - if (!url){ - reject(new Error("URL is invalid")); - } - - got( { - url:url, - cache:map, - headers: { - "accept": "application/activity+json" - } - }) - .then(response=>JSON.parse(response.body)) - .then(resolve) - .catch(reject); - - }); - + got({ + url: url, + cache: map, + headers: { + accept: "application/activity+json", + }, + }) + .then((response) => JSON.parse(response.body)) + .then(resolve) + .catch(reject); + }); } // like Promise.all except returns null on error instead of failing all the promises -async function promiseSome(proms){ - - function noRejectWrap(prom){ - return new Promise(function(resolve){ - - prom // it's already been called - .then(resolve) - .catch( ()=>{ - // console.warn(e);// for debugging - resolve(null); - }); - +async function promiseSome(proms) { + function noRejectWrap(prom) { + return new Promise(function (resolve) { + prom // it's already been called + .then(resolve) + .catch(() => { + // console.warn(e);// for debugging + resolve(null); }); - } - - return await Promise.all(proms.map(noRejectWrap)); + }); + } + return await Promise.all(proms.map(noRejectWrap)); } export default async function (opts) { - // let opts = opts; + // let opts = opts; - let feedUrl = opts.feedUrl; - let userUrl = opts.userUrl; - let isIndex = false; + let feedUrl = opts.feedUrl; + let userUrl = opts.userUrl; + let isIndex = false; - if (!userUrl) { - throw new Error("need user URL"); + if (!userUrl) { + throw new Error("need user URL"); + } + + let user, feed; + + // get user and feed in parallel if I have both URLs. + // can cache feed aggressively since it is a specific start and end. + if (userUrl && feedUrl) { + [user, feed] = await Promise.all([apGet(userUrl), apGet(feedUrl)]); + } else { + // get user, then outbox, then feed + + user = await apGet(userUrl); + isIndex = true; + let outbox = await apGet(user.outbox); + + // outbox.first can be a string for a URL, or an object with stuffs in it + if (typeof outbox.first == "object") { + feed = outbox.first; + } else { + feed = await apGet(outbox.first); } + } - let user, feed; - - // get user and feed in parallel if I have both URLs. - // can cache feed aggressively since it is a specific start and end. - if (userUrl && feedUrl){ - [user, feed] = await Promise.all([ apGet(userUrl), apGet(feedUrl) ]); - }else{ - // get user, then outbox, then feed - - user = await apGet(userUrl,24 * hour); - isIndex = true; - let outbox = await apGet(user.outbox, 1 * hour); - - // outbox.first can be a string for a URL, or an object with stuffs in it - if (typeof outbox.first == "object"){ - feed = outbox.first; - } else { - feed = await apGet(outbox.first, hour/6);// 10 mins. Because the base feed URL can get new toots quickly. - } - - } - - let templateData = { - opts: opts,// from the request - meta: metaForUser(user), - items: await itemsForFeed(opts,user,feed), - nextPageLink: getNextPage(opts,user,feed), - isIndex: isIndex - }; - - return template(templateData); + let templateData = { + opts: opts, // from the request + meta: metaForUser(user), + items: await itemsForFeed(opts, user, feed), + nextPageLink: getNextPage(opts, user, feed), + isIndex: isIndex, + }; + return template(templateData); } function metaForUser(user) { - return { - avatar: user.icon && user.icon.url?user.icon.url:null, - headerImage:user.image && user.image.url?user.image.url:null, - title: user.name||user.preferredUsername||null, - description: user.summary||null, - link:user.url||"#" - }; + return { + avatar: user.icon && user.icon.url ? user.icon.url : null, + headerImage: user.image && user.image.url ? user.image.url : null, + title: user.name || user.preferredUsername || null, + description: user.summary || null, + link: user.url || "#", + }; } -async function itemsForFeed(opts,user,feed) { +async function itemsForFeed(opts, user, feed) { + let items = feed.orderedItems; - let items = feed.orderedItems; - - if (opts.boosts){ - // yes, I have to fetch all the fucking boosts for this whole feed apparently >:/ - let boostData = []; - let boostUrls = feed.orderedItems.filter(i=>i.type=="Announce").map(i=>i.object); - // console.log(boostUrls); - boostData = await promiseSome(boostUrls.map(apGet)); + if (opts.boosts) { + // yes, I have to fetch all the fucking boosts for this whole feed apparently >:/ + let boostData = []; + let boostUrls = feed.orderedItems + .filter((i) => i.type == "Announce") + .map((i) => i.object); + // console.log(boostUrls); + boostData = await promiseSome(boostUrls.map(apGet)); - // now get user data for each of those - let userData = await promiseSome(boostData.map(d=>d?d.attributedTo||"":null).map(apGet)); + // now get user data for each of those + let userData = await promiseSome( + boostData.map((d) => (d ? d.attributedTo || "" : null)).map(apGet) + ); - // put a ._userdata key on the item object if this is a boost - for (let i = 0; i < boostData.length; i ++){ - if (userData[i] && boostData[i]){ - boostData[i]._userdata = userData[i]; - } - } - - // some URLs may have failed but IDGAF - - // console.log(boostData[0]); - - boostData.forEach((boostToot)=>{ - - if (!boostToot){// failed request - return; - } - - // inject in-place into items - - let index = -1; - for (var i = 0; i < items.length; i ++){ - if (items[i].object == boostToot.id){ - index = i; - break; - } - } - - if (index == -1){ - console.warn("warning: couldn't match boost to item: ",boostToot); - return; - } - - boostToot.object = boostToot;// this lets the later stage parser access object without errors :) - items[i] = boostToot; - }); + // put a ._userdata key on the item object if this is a boost + for (let i = 0; i < boostData.length; i++) { + if (userData[i] && boostData[i]) { + boostData[i]._userdata = userData[i]; + } } + // some URLs may have failed but IDGAF - return items.filter((item)=>{ - return typeof item.object == "object";// handle weird cases - }).map((item)=>{ + // console.log(boostData[0]); - let enclosures = (item.object.attachment||[]).filter((a)=>{ - return a.type == "Document"; - }).map((a)=>{ - return { - name:a.name, - type:a.mediaType, - url:a.url - }; + boostData.forEach((boostToot) => { + if (!boostToot) { + // failed request + return; + } + + // inject in-place into items + + let index = -1; + for (var i = 0; i < items.length; i++) { + if (items[i].object == boostToot.id) { + index = i; + break; + } + } + + if (index == -1) { + console.warn(`warning: couldn't match boost to item: ${boostToot}`); + return; + } + + boostToot.object = boostToot; // this lets the later stage parser access object without errors :) + items[i] = boostToot; + }); + } + + return items + .filter((item) => { + return typeof item.object == "object"; // handle weird cases + }) + .map((item) => { + let enclosures = (item.object.attachment || []) + .filter((a) => { + return a.type == "Document"; + }) + .map((a) => { + return { + name: a.name, + type: a.mediaType, + url: a.url, + }; }); - let op = item._userdata?item._userdata:user; + let op = item._userdata ? item._userdata : user; - return { - isBoost:!!item._userdata, - title:item._userdata?user.preferredUsername+" shared a status by "+op.preferredUsername:"", - isReply:!!(item.object && item.object.inReplyTo), - hasCw:item.object.sensitive||false, - cw:item.object.summary, - content: item.object&&item.object.content?item.object.content:"",//TODO sanitize then render without entity escapes - atomHref:item.published?item.published.replace(/\W+/g,""):Math.random().toString().replace(".",""),// used for IDs - enclosures:enclosures, - stringDate:item.published?getTimeDisplay(Date.parse(item.published)):"", - permalink:item.object.id?item.object.id:"#", - author:{ - uri:op.url,// link to author page - avatar:op.icon&&op.icon.url?op.icon.url:"", - displayName:op.name || op.preferredUsername, - fullName:op.preferredUsername+"@"+(new URL(op.url).hostname), - } - }; + return { + isBoost: !!item._userdata, + title: item._userdata + ? user.preferredUsername + + " shared a status by " + + op.preferredUsername + : "", + isReply: !!(item.object && item.object.inReplyTo), + hasCw: item.object.sensitive || false, + cw: item.object.summary, + content: item.object && item.object.content ? item.object.content : "", //TODO sanitize then render without entity escapes + atomHref: item.published + ? item.published.replace(/\W+/g, "") + : Math.random().toString().replace("./g", ""), // used for IDs + enclosures: enclosures, + stringDate: item.published + ? getTimeDisplay(Date.parse(item.published)) + : "", + permalink: item.object.id ? item.object.id : "#", + author: { + uri: op.url, // link to author page + avatar: op.icon && op.icon.url ? op.icon.url : "", + displayName: op.name || op.preferredUsername, + fullName: op.preferredUsername + "@" + new URL(op.url).hostname, + }, + }; }); } -function getNextPage(opts,user,feed){ - //based on feed.next - if (!feed.next){return null;} - // take feed.next, uriencode it, then take user url, then take options.mastofeedUrl - //let base = opts.mastofeedUrl.slice(0,opts.mastofeedUrl.indexOf("?")); +function getNextPage(opts, user, feed) { + //based on feed.next + if (!feed.next) { + return null; + } + // take feed.next, uriencode it, then take user url, then take options.mastofeedUrl + //let base = opts.mastofeedUrl.slice(0,opts.mastofeedUrl.indexOf("?")); - let ret = "/api/v1/feed?userurl=" + encodeURIComponent(opts.userUrl) + "&feedurl=" +encodeURIComponent(feed.next) + "&instance_type=" + opts.instance_type; - - // add other params to the end - (["theme","header","size","boosts","replies"]).forEach((k)=>{ - if (typeof opts[k] != "undefined"){ - ret+=`&${k}=${ opts[k].toString() }`; - } - }); - return ret; + let ret = + "/api/v1/feed?userurl=" + + encodeURIComponent(opts.userUrl) + + "&feedurl=" + + encodeURIComponent(feed.next) + + "&instance_type=" + + opts.instance_type; + + // add other params to the end + ["theme", "header", "size", "boosts", "replies"].forEach((k) => { + if (typeof opts[k] != "undefined") { + ret += `&${k}=${opts[k].toString()}`; + } + }); + return ret; } - // utilities below function getTimeDisplay(d) { - // let d = d; - if (typeof d !== "object") { - d = new Date(d); - } - // convert to number - let dt = d.getTime(); - let now = Date.now(); + // let d = d; + if (typeof d !== "object") { + d = new Date(d); + } + // convert to number + let dt = d.getTime(); + let now = Date.now(); - let delta = now - dt; - - // over 6 days ago - if (delta > 1000 * 60 * 60 * 24 * 6) { - return isoDateToEnglish(d.toISOString()); - } else { - return format(dt); - } + let delta = now - dt; + // over 6 days ago + if (delta > 1000 * 60 * 60 * 24 * 6) { + return isoDateToEnglish(d.toISOString()); + } else { + return format(dt); + } } function isoDateToEnglish(d) { + let dt = d.split(/[t-]/gi); + let months = [ + "January", + "February", + "March", + "April", + "May", + "June", + "July", + "August", + "September", + "October", + "November", + "December", + ]; - let dt = d.split(/[t-]/ig); - let months = ["January", "February", "March", "April", "May", "June", - "July", "August", "September", "October", "November", "December"]; - - return months[Number(dt[1]) - 1] + " " + dt[2] + ", " + dt[0]; + return months[Number(dt[1]) - 1] + " " + dt[2] + ", " + dt[0]; } diff --git a/lib/errorPage.js b/lib/errorPage.js index 297d8bb..4e7df42 100644 --- a/lib/errorPage.js +++ b/lib/errorPage.js @@ -2,35 +2,34 @@ import { compile } from "ejs"; import { readFileSync } from "fs"; let template = compile(readFileSync("./lib/template.ejs", "utf8")); -export default function(code,message,displayOptions){ +export default function (code, message, displayOptions) { + let msg; + // const displayOptions = displayOptions || {}; - let msg; - // const displayOptions = displayOptions || {}; + if (code == 500 && !message) { + msg = + "

Sorry, we are having trouble fetching posts for this user. Please try again later.


If the issue persists, please open an issue on Gitea, or message sam@froth.zone

"; + } else { + msg = message || ""; + } - if (code == 500 && !message){ - msg = "

Sorry, we are having trouble fetching posts for this user. Please try again later.


If the issue persists, please open an issue on Gitea, or message sam@froth.zone

"; - }else{ - msg = message||""; - } + let options = { + opts: { + header: true, + theme: displayOptions?.theme || null, + size: displayOptions?.size || null, + }, + meta: { + title: code.toString(), + description: msg, + link: "#", + // avatar:'', + // headerImage:'' + }, + items: [], + nextPageLink: null, + isIndex: true, + }; - - let options = { - opts:{ - header:true, - theme:displayOptions.theme||null, - size:displayOptions.size||null - }, - meta:{ - title:code.toString(), - description:msg, - link:"#" - // avatar:'', - // headerImage:'' - }, - items:[], - nextPageLink:null, - isIndex:true - }; - - return template(options); -} \ No newline at end of file + return template(options); +} diff --git a/lib/template.ejs b/lib/template.ejs index cc31ec9..fcfee6c 100644 --- a/lib/template.ejs +++ b/lib/template.ejs @@ -1,3 +1,4 @@ + @@ -6,7 +7,7 @@ <% if (opts.theme && opts.theme.toLowerCase() == 'masto-light'){ %> - <% } else if (opts.theme && opts.theme.toLowerCase() == 'auto'){ %> + <% } else if (opts.theme && opts.theme.toLowerCase() == 'masto-auto'){ %> <% } else if (opts.theme && opts.theme.toLowerCase() == 'misskey-dark'){ %> @@ -113,7 +114,7 @@ <% } %> <% if ( isIndex ){ %> - + + + + +
+
+

Fedifeed

+

Embedded ActivityPub feeds for blogs, websites, etc.

+ Fork on Gitea + +
+
+
+
+
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+
+ +
+

+ +

+

Live Preview:

+ + + +
+
+ + diff --git a/public/js/script.js b/public/js/script.js new file mode 100644 index 0000000..3c13621 --- /dev/null +++ b/public/js/script.js @@ -0,0 +1,41 @@ +window.genUrl = function genUrl() { + function val(id) { + return document.getElementById(id).value; + } + + let user = val("usernamein"); + let instance = "https://" + val("urlin"); + + let showBoosts = (!document.getElementById("hideboosts").checked).toString(); + let showReplies = (!document.getElementById("hidereplies") + .checked).toString(); + let showHeader = document.getElementById("header").checked.toString(); + let portStr = + window.location.port && window.location.port != 80 + ? ":" + window.location.port + : ""; + + // Generate the URL for the iframe + // Prettier, WHY + let iframeUrl = `${window.location.protocol}//${ + window.location.hostname + }${portStr}/api/v1/feed?user=${encodeURIComponent( + user + )}&instance=${encodeURIComponent(instance)}&instance_type=&theme=${val( + "theme" + )}&size=${val( + "size" + )}&header=${showHeader}&replies=${showReplies}&boosts=${showBoosts}`; + + // Prettier, WHY + document.getElementById( + "result" + ).value = ``; + + let iframe = document.getElementById("frame"); + iframe.src = iframeUrl; + iframe.width = val("width"); + iframe.height = val("height"); +}; diff --git a/public/lib/infinite-scroll.pkgd.min.js b/public/lib/infinite-scroll.pkgd.min.js new file mode 100644 index 0000000..b0381cb --- /dev/null +++ b/public/lib/infinite-scroll.pkgd.min.js @@ -0,0 +1,17 @@ +/*! + * Infinite Scroll PACKAGED v4.0.1 + * Automatically add next page + * + * Licensed GPLv3 for open source use + * or Infinite Scroll Commercial License for commercial use + * + * https://infinite-scroll.com + * Copyright 2018-2020 Metafizzy + */ +!function(t,e){"object"==typeof module&&module.exports?module.exports=e(t,require("jquery")):t.jQueryBridget=e(t,t.jQuery)}(window,(function(t,e){let i=t.console,n=void 0===i?function(){}:function(t){i.error(t)};return function(i,o,s){(s=s||e||t.jQuery)&&(o.prototype.option||(o.prototype.option=function(t){t&&(this.options=Object.assign(this.options||{},t))}),s.fn[i]=function(t,...e){return"string"==typeof t?function(t,e,o){let r,l=`$().${i}("${e}")`;return t.each((function(t,h){let a=s.data(h,i);if(!a)return void n(`${i} not initialized. Cannot call method ${l}`);let c=a[e];if(!c||"_"==e.charAt(0))return void n(`${l} is not a valid method`);let u=c.apply(a,o);r=void 0===r?u:r})),void 0!==r?r:t}(this,t,e):(r=t,this.each((function(t,e){let n=s.data(e,i);n?(n.option(r),n._init()):(n=new o(e,r),s.data(e,i,n))})),this);var r})}})),function(t,e){"object"==typeof module&&module.exports?module.exports=e():t.EvEmitter=e()}("undefined"!=typeof window?window:this,(function(){function t(){}let e=t.prototype;return e.on=function(t,e){if(!t||!e)return this;let i=this._events=this._events||{},n=i[t]=i[t]||[];return n.includes(e)||n.push(e),this},e.once=function(t,e){if(!t||!e)return this;this.on(t,e);let i=this._onceEvents=this._onceEvents||{};return(i[t]=i[t]||{})[e]=!0,this},e.off=function(t,e){let i=this._events&&this._events[t];if(!i||!i.length)return this;let n=i.indexOf(e);return-1!=n&&i.splice(n,1),this},e.emitEvent=function(t,e){let i=this._events&&this._events[t];if(!i||!i.length)return this;i=i.slice(0),e=e||[];let n=this._onceEvents&&this._onceEvents[t];for(let o of i){n&&n[o]&&(this.off(t,o),delete n[o]),o.apply(this,e)}return this},e.allOff=function(){return delete this._events,delete this._onceEvents,this},t})),function(t,e){"object"==typeof module&&module.exports?module.exports=e(t):t.fizzyUIUtils=e(t)}(this,(function(t){let e={extend:function(t,e){return Object.assign(t,e)},modulo:function(t,e){return(t%e+e)%e},makeArray:function(t){if(Array.isArray(t))return t;if(null==t)return[];return"object"==typeof t&&"number"==typeof t.length?[...t]:[t]},removeFrom:function(t,e){let i=t.indexOf(e);-1!=i&&t.splice(i,1)},getParent:function(t,e){for(;t.parentNode&&t!=document.body;)if((t=t.parentNode).matches(e))return t},getQueryElement:function(t){return"string"==typeof t?document.querySelector(t):t},handleEvent:function(t){let e="on"+t.type;this[e]&&this[e](t)},filterFindElements:function(t,i){return(t=e.makeArray(t)).filter((t=>t instanceof HTMLElement)).reduce(((t,e)=>{if(!i)return t.push(e),t;e.matches(i)&&t.push(e);let n=e.querySelectorAll(i);return t=t.concat(...n)}),[])},debounceMethod:function(t,e,i){i=i||100;let n=t.prototype[e],o=e+"Timeout";t.prototype[e]=function(){clearTimeout(this[o]);let t=arguments;this[o]=setTimeout((()=>{n.apply(this,t),delete this[o]}),i)}},docReady:function(t){let e=document.readyState;"complete"==e||"interactive"==e?setTimeout(t):document.addEventListener("DOMContentLoaded",t)},toDashed:function(t){return t.replace(/(.)([A-Z])/g,(function(t,e,i){return e+"-"+i})).toLowerCase()}},i=t.console;return e.htmlInit=function(n,o){e.docReady((function(){let s="data-"+e.toDashed(o),r=document.querySelectorAll(`[${s}]`),l=t.jQuery;[...r].forEach((t=>{let e,r=t.getAttribute(s);try{e=r&&JSON.parse(r)}catch(e){return void(i&&i.error(`Error parsing ${s} on ${t.className}: ${e}`))}let h=new n(t,e);l&&l.data(t,o,h)}))}))},e})),function(t,e){"object"==typeof module&&module.exports?module.exports=e(t,require("ev-emitter"),require("fizzy-ui-utils")):t.InfiniteScroll=e(t,t.EvEmitter,t.fizzyUIUtils)}(window,(function(t,e,i){let n=t.jQuery,o={};function s(t,e){let r=i.getQueryElement(t);if(r){if((t=r).infiniteScrollGUID){let i=o[t.infiniteScrollGUID];return i.option(e),i}this.element=t,this.options={...s.defaults},this.option(e),n&&(this.$element=n(this.element)),this.create()}else console.error("Bad element for InfiniteScroll: "+(r||t))}s.defaults={},s.create={},s.destroy={};let r=s.prototype;Object.assign(r,e.prototype);let l=0;r.create=function(){let t=this.guid=++l;if(this.element.infiniteScrollGUID=t,o[t]=this,this.pageIndex=1,this.loadCount=0,this.updateGetPath(),this.getPath&&this.getPath()){this.updateGetAbsolutePath(),this.log("initialized",[this.element.className]),this.callOnInit();for(let t in s.create)s.create[t].call(this)}else console.error("Disabling InfiniteScroll")},r.option=function(t){Object.assign(this.options,t)},r.callOnInit=function(){let t=this.options.onInit;t&&t.call(this,this)},r.dispatchEvent=function(t,e,i){this.log(t,i);let o=e?[e].concat(i):i;if(this.emitEvent(t,o),!n||!this.$element)return;let s=t+=".infiniteScroll";if(e){let i=n.Event(e);i.type=t,s=i}this.$element.trigger(s,i)};let h={initialized:t=>`on ${t}`,request:t=>`URL: ${t}`,load:(t,e)=>`${t.title||""}. URL: ${e}`,error:(t,e)=>`${t}. URL: ${e}`,append:(t,e,i)=>`${i.length} items. URL: ${e}`,last:(t,e)=>`URL: ${e}`,history:(t,e)=>`URL: ${e}`,pageIndex:function(t,e){return`current page determined to be: ${t} from ${e}`}};r.log=function(t,e){if(!this.options.debug)return;let i=`[InfiniteScroll] ${t}`,n=h[t];n&&(i+=". "+n.apply(this,e)),console.log(i)},r.updateMeasurements=function(){this.windowHeight=t.innerHeight;let e=this.element.getBoundingClientRect();this.top=e.top+t.scrollY},r.updateScroller=function(){let e=this.options.elementScroll;if(e){if(this.scroller=!0===e?this.element:i.getQueryElement(e),!this.scroller)throw new Error(`Unable to find elementScroll: ${e}`)}else this.scroller=t},r.updateGetPath=function(){let t=this.options.path;if(!t)return void console.error(`InfiniteScroll path option required. Set as: ${t}`);let e=typeof t;"function"!=e?"string"==e&&t.match("{{#}}")?this.updateGetPathTemplate(t):this.updateGetPathSelector(t):this.getPath=t},r.updateGetPathTemplate=function(t){this.getPath=()=>{let e=this.pageIndex+1;return t.replace("{{#}}",e)};let e=t.replace(/(\\\?|\?)/,"\\?").replace("{{#}}","(\\d\\d?\\d?)"),i=new RegExp(e),n=location.href.match(i);n&&(this.pageIndex=parseInt(n[1],10),this.log("pageIndex",[this.pageIndex,"template string"]))};let a=[/^(.*?\/?page\/?)(\d\d?\d?)(.*?$)/,/^(.*?\/?\?page=)(\d\d?\d?)(.*?$)/,/(.*?)(\d\d?\d?)(?!.*\d)(.*?$)/],c=s.getPathParts=function(t){if(t)for(let e of a){let i=t.match(e);if(i){let[,t,e,n]=i;return{begin:t,index:e,end:n}}}};r.updateGetPathSelector=function(t){let e=document.querySelector(t);if(!e)return void console.error(`Bad InfiniteScroll path option. Next link not found: ${t}`);let i=e.getAttribute("href"),n=c(i);if(!n)return void console.error(`InfiniteScroll unable to parse next link href: ${i}`);let{begin:o,index:s,end:r}=n;this.isPathSelector=!0,this.getPath=()=>o+(this.pageIndex+1)+r,this.pageIndex=parseInt(s,10)-1,this.log("pageIndex",[this.pageIndex,"next link"])},r.updateGetAbsolutePath=function(){let t=this.getPath();if(t.match(/^http/)||t.match(/^\//))return void(this.getAbsolutePath=this.getPath);let{pathname:e}=location,i=t.match(/^\?/),n=e.substring(0,e.lastIndexOf("/")),o=i?e:n+"/";this.getAbsolutePath=()=>o+this.getPath()},s.create.hideNav=function(){let t=i.getQueryElement(this.options.hideNav);t&&(t.style.display="none",this.nav=t)},s.destroy.hideNav=function(){this.nav&&(this.nav.style.display="")},r.destroy=function(){this.allOff();for(let t in s.destroy)s.destroy[t].call(this);delete this.element.infiniteScrollGUID,delete o[this.guid],n&&this.$element&&n.removeData(this.element,"infiniteScroll")},s.throttle=function(t,e){let i,n;return e=e||200,function(){let o=+new Date,s=arguments,r=()=>{i=o,t.apply(this,s)};i&&o{if(!i.ok){let t=new Error(i.statusText);return this.onPageError(t,o,i),{response:i}}return i[t]().then((s=>("text"==t&&e&&(s=n.parseFromString(s,"text/html")),204==i.status?(this.lastPageReached(s,o),{body:s,response:i}):this.onPageLoad(s,o,i))))})).catch((t=>{this.onPageError(t,o)}));return this.dispatchEvent("request",null,[o,s]),s},i.onPageLoad=function(t,e,i){return this.options.append||(this.isLoading=!1),this.pageIndex++,this.loadCount++,this.dispatchEvent("load",null,[t,e,i]),this.appendNextPage(t,e,i)},i.appendNextPage=function(t,e,i){let{append:n,responseBody:s,domParseResponse:r}=this.options;if(!("text"==s&&r)||!n)return{body:t,response:i};let l=t.querySelectorAll(n),h={body:t,response:i,items:l};if(!l||!l.length)return this.lastPageReached(t,e),h;let a=o(l),c=()=>(this.appendItems(l,a),this.isLoading=!1,this.dispatchEvent("append",null,[t,e,l,i]),h);return this.options.outlayer?this.appendOutlayerItems(a,c):c()},i.appendItems=function(t,e){t&&t.length&&(function(t){let e=t.querySelectorAll("script");for(let t of e){let e=document.createElement("script"),i=t.attributes;for(let t of i)e.setAttribute(t.name,t.value);e.innerHTML=t.innerHTML,t.parentNode.replaceChild(e,t)}}(e=e||o(t)),this.element.appendChild(e))},i.appendOutlayerItems=function(i,n){let o=e.imagesLoaded||t.imagesLoaded;return o?new Promise((function(t){o(i,(function(){let e=n();t(e)}))})):(console.error("[InfiniteScroll] imagesLoaded required for outlayer option"),void(this.isLoading=!1))},i.onAppendOutlayer=function(t,e,i){this.options.outlayer.appended(i)},i.checkLastPage=function(t,e){let i,{checkLastPage:n,path:o}=this.options;if(n){if("function"==typeof o){if(!this.getPath())return void this.lastPageReached(t,e)}"string"==typeof n?i=n:this.isPathSelector&&(i=o),i&&t.querySelector&&(t.querySelector(i)||this.lastPageReached(t,e))}},i.lastPageReached=function(t,e){this.canLoad=!1,this.dispatchEvent("last",null,[t,e])},i.onPageError=function(t,e,i){return this.isLoading=!1,this.canLoad=!1,this.dispatchEvent("error",null,[t,e,i]),t},e.create.prefill=function(){if(!this.options.prefill)return;let t=this.options.append;t?(this.updateMeasurements(),this.updateScroller(),this.isPrefilling=!0,this.on("append",this.prefill),this.once("error",this.stopPrefill),this.once("last",this.stopPrefill),this.prefill()):console.error(`append option required for prefill. Set as :${t}`)},i.prefill=function(){let t=this.getPrefillDistance();this.isPrefilling=t>=0,this.isPrefilling?(this.log("prefill"),this.loadNextPage()):this.stopPrefill()},i.getPrefillDistance=function(){return this.options.elementScroll?this.scroller.clientHeight-this.scroller.scrollHeight:this.windowHeight-this.element.clientHeight},i.stopPrefill=function(){this.log("stopPrefill"),this.off("append",this.prefill)},e})),function(t,e){"object"==typeof module&&module.exports?module.exports=e(t,require("./core"),require("fizzy-ui-utils")):e(t,t.InfiniteScroll,t.fizzyUIUtils)}(window,(function(t,e,i){let n=e.prototype;return Object.assign(e.defaults,{scrollThreshold:400}),e.create.scrollWatch=function(){this.pageScrollHandler=this.onPageScroll.bind(this),this.resizeHandler=this.onResize.bind(this);let t=this.options.scrollThreshold;(t||0===t)&&this.enableScrollWatch()},e.destroy.scrollWatch=function(){this.disableScrollWatch()},n.enableScrollWatch=function(){this.isScrollWatching||(this.isScrollWatching=!0,this.updateMeasurements(),this.updateScroller(),this.on("last",this.disableScrollWatch),this.bindScrollWatchEvents(!0))},n.disableScrollWatch=function(){this.isScrollWatching&&(this.bindScrollWatchEvents(!1),delete this.isScrollWatching)},n.bindScrollWatchEvents=function(e){let i=e?"addEventListener":"removeEventListener";this.scroller[i]("scroll",this.pageScrollHandler),t[i]("resize",this.resizeHandler)},n.onPageScroll=e.throttle((function(){this.getBottomDistance()<=this.options.scrollThreshold&&this.dispatchEvent("scrollThreshold")})),n.getBottomDistance=function(){let e,i;return this.options.elementScroll?(e=this.scroller.scrollHeight,i=this.scroller.scrollTop+this.scroller.clientHeight):(e=this.top+this.element.clientHeight,i=t.scrollY+this.windowHeight),e-i},n.onResize=function(){this.updateMeasurements()},i.debounceMethod(e,"onResize",150),e})),function(t,e){"object"==typeof module&&module.exports?module.exports=e(t,require("./core"),require("fizzy-ui-utils")):e(t,t.InfiniteScroll,t.fizzyUIUtils)}(window,(function(t,e,i){let n=e.prototype;Object.assign(e.defaults,{history:"replace"});let o=document.createElement("a");return e.create.history=function(){if(!this.options.history)return;o.href=this.getAbsolutePath(),(o.origin||o.protocol+"//"+o.host)==location.origin?this.options.append?this.createHistoryAppend():this.createHistoryPageLoad():console.error(`[InfiniteScroll] cannot set history with different origin: ${o.origin} on ${location.origin} . History behavior disabled.`)},n.createHistoryAppend=function(){this.updateMeasurements(),this.updateScroller(),this.scrollPages=[{top:0,path:location.href,title:document.title}],this.scrollPage=this.scrollPages[0],this.scrollHistoryHandler=this.onScrollHistory.bind(this),this.unloadHandler=this.onUnload.bind(this),this.scroller.addEventListener("scroll",this.scrollHistoryHandler),this.on("append",this.onAppendHistory),this.bindHistoryAppendEvents(!0)},n.bindHistoryAppendEvents=function(e){let i=e?"addEventListener":"removeEventListener";this.scroller[i]("scroll",this.scrollHistoryHandler),t[i]("unload",this.unloadHandler)},n.createHistoryPageLoad=function(){this.on("load",this.onPageLoadHistory)},e.destroy.history=n.destroyHistory=function(){this.options.history&&this.options.append&&this.bindHistoryAppendEvents(!1)},n.onAppendHistory=function(t,e,i){if(!i||!i.length)return;let n=i[0],s=this.getElementScrollY(n);o.href=e,this.scrollPages.push({top:s,path:o.href,title:t.title})},n.getElementScrollY=function(e){if(this.options.elementScroll)return e.offsetTop-this.top;return e.getBoundingClientRect().top+t.scrollY},n.onScrollHistory=function(){let t=this.getClosestScrollPage();t!=this.scrollPage&&(this.scrollPage=t,this.setHistory(t.title,t.path))},i.debounceMethod(e,"onScrollHistory",150),n.getClosestScrollPage=function(){let e,i;e=this.options.elementScroll?this.scroller.scrollTop+this.scroller.clientHeight/2:t.scrollY+this.windowHeight/2;for(let t of this.scrollPages){if(t.top>=e)break;i=t}return i},n.setHistory=function(t,e){let i=this.options.history;i&&history[i+"State"]&&(history[i+"State"](null,t,e),this.options.historyTitle&&(document.title=t),this.dispatchEvent("history",null,[t,e]))},n.onUnload=function(){if(0===this.scrollPage.top)return;let e=t.scrollY-this.scrollPage.top+this.top;this.destroyHistory(),scrollTo(0,e)},n.onPageLoadHistory=function(t,e){this.setHistory(t.title,e)},e})),function(t,e){"object"==typeof module&&module.exports?module.exports=e(t,require("./core"),require("fizzy-ui-utils")):e(t,t.InfiniteScroll,t.fizzyUIUtils)}(window,(function(t,e,i){class n{constructor(t,e){this.element=t,this.infScroll=e,this.clickHandler=this.onClick.bind(this),this.element.addEventListener("click",this.clickHandler),e.on("request",this.disable.bind(this)),e.on("load",this.enable.bind(this)),e.on("error",this.hide.bind(this)),e.on("last",this.hide.bind(this))}onClick(t){t.preventDefault(),this.infScroll.loadNextPage()}enable(){this.element.removeAttribute("disabled")}disable(){this.element.disabled="disabled"}hide(){this.element.style.display="none"}destroy(){this.element.removeEventListener("click",this.clickHandler)}}return e.create.button=function(){let t=i.getQueryElement(this.options.button);t&&(this.button=new n(t,this))},e.destroy.button=function(){this.button&&this.button.destroy()},e.Button=n,e})),function(t,e){"object"==typeof module&&module.exports?module.exports=e(t,require("./core"),require("fizzy-ui-utils")):e(t,t.InfiniteScroll,t.fizzyUIUtils)}(window,(function(t,e,i){let n=e.prototype;function o(t){r(t,"none")}function s(t){r(t,"block")}function r(t,e){t&&(t.style.display=e)}return e.create.status=function(){let t=i.getQueryElement(this.options.status);t&&(this.statusElement=t,this.statusEventElements={request:t.querySelector(".infinite-scroll-request"),error:t.querySelector(".infinite-scroll-error"),last:t.querySelector(".infinite-scroll-last")},this.on("request",this.showRequestStatus),this.on("error",this.showErrorStatus),this.on("last",this.showLastStatus),this.bindHideStatus("on"))},n.bindHideStatus=function(t){let e=this.options.append?"append":"load";this[t](e,this.hideAllStatus)},n.showRequestStatus=function(){this.showStatus("request")},n.showErrorStatus=function(){this.showStatus("error")},n.showLastStatus=function(){this.showStatus("last"),this.bindHideStatus("off")},n.showStatus=function(t){s(this.statusElement),this.hideStatusEventElements(),s(this.statusEventElements[t])},n.hideAllStatus=function(){o(this.statusElement),this.hideStatusEventElements()},n.hideStatusEventElements=function(){for(let t in this.statusEventElements){o(this.statusEventElements[t])}},e})), +/*! + * imagesLoaded v4.1.4 + * JavaScript is all like "You images are done yet or what?" + * MIT License + */ +function(t,e){"use strict";"function"==typeof define&&define.amd?define(["ev-emitter/ev-emitter"],(function(i){return e(t,i)})):"object"==typeof module&&module.exports?module.exports=e(t,require("ev-emitter")):t.imagesLoaded=e(t,t.EvEmitter)}("undefined"!=typeof window?window:this,(function(t,e){"use strict";var i=t.jQuery,n=t.console;function o(t,e){for(var i in e)t[i]=e[i];return t}var s=Array.prototype.slice;function r(t,e,l){if(!(this instanceof r))return new r(t,e,l);var h,a=t;("string"==typeof t&&(a=document.querySelectorAll(t)),a)?(this.elements=(h=a,Array.isArray(h)?h:"object"==typeof h&&"number"==typeof h.length?s.call(h):[h]),this.options=o({},this.options),"function"==typeof e?l=e:o(this.options,e),l&&this.on("always",l),this.getImages(),i&&(this.jqDeferred=new i.Deferred),setTimeout(this.check.bind(this))):n.error("Bad element for imagesLoaded "+(a||t))}r.prototype=Object.create(e.prototype),r.prototype.options={},r.prototype.getImages=function(){this.images=[],this.elements.forEach(this.addElementImages,this)},r.prototype.addElementImages=function(t){"IMG"==t.nodeName&&this.addImage(t),!0===this.options.background&&this.addElementBackgroundImages(t);var e=t.nodeType;if(e&&l[e]){for(var i=t.querySelectorAll("img"),n=0;n { - if (typeof req.query[ key ] != "undefined") { - qs.push(key + "=" + encodeURIComponent(req.query[ key ])); - } - }); - - res.redirect(redirectUrl + qs.join("&")); -}); - -app.options("/api/v1/feed", cors()); -// http://localhost:8000/api/v1/feed?userurl=https%3A%2F%2Foctodon.social%2Fusers%2Ffenwick67 -app.get("/api/v1/feed", cors(), logger, async function (req, res) { - // get feed url - // userUrl - let type = req.query.instance_type; - let userUrl = req.query.userurl; - if (userUrl === "" || userUrl === undefined) { - const user = req.query.user; - const instance = req.query.instance; - if (type === "" || type === undefined) { - type = await detector(instance).catch(() => - "", - ); - } - if (type === "mastodon" || type === "pleroma") - userUrl = instance + "/users/" + user; - else if (type === "misskey") - userUrl = instance + "/@" + user; - else { - res.status(400); - res.send(errorPage(400, "You need to specify a user URL")); - return; - } - } - - const feedUrl = req.query.feedurl; - - const opts = {}; - if (req.query.size) { - opts.size = req.query.size; - } - if (req.query.theme) { - opts.theme = req.query.theme; - } - if (req.query.header) { - if (req.query.header.toLowerCase() == "no" || req.query.header.toLowerCase() == "false") { - opts.header = false; - } else { - opts.header = true; - } - } - opts.instance_type = type; - opts.boosts = true; - if (req.query.boosts) { - if (req.query.boosts.toLowerCase() == "no" || req.query.boosts.toLowerCase() == "false") { - opts.boosts = false; - } else { - opts.boosts = true; - } - } - - opts.replies = true; - if (req.query.replies) { - if (req.query.replies.toLowerCase() == "no" || req.query.replies.toLowerCase() == "false") { - opts.replies = false; - } else { - opts.replies = true; - } - } - opts.userUrl = userUrl; - opts.feedUrl = feedUrl; - opts.mastofeedUrl = req.url; - - convertv2(opts).then((data) => { - res.status(200); - doCache(res, 60 * 60); - res.send(data); - }).catch((er) => { - res.status(500); - res.send(errorPage(500, null, { theme: opts.theme, size: opts.size })); - // TODO log the error - console.error(er, er.stack); - }); -}); - -app.listen(process.env.PORT || 8000, "127.0.0.1", function () { - console.log("Server started, listening on " + (process.env.PORT || 8000)); -}); diff --git a/src/public/css/masto-auto.css b/src/public/css/masto-auto.css deleted file mode 100644 index 773c8d8..0000000 --- a/src/public/css/masto-auto.css +++ /dev/null @@ -1,309 +0,0 @@ -html, -body { - background-color: #ffffff; - font-family: 'Roboto', roboto, Arial, sans-serif; - color: #282c37; - font-weight: lighter; - overflow-x: hidden; - font-size: 100%; - word-break: break-word; } - -* { - margin: 0; - padding: 0; } - -a, -a * { - color: #2b90d9; } - -.meta { - background-color: #ecf0f4; } - -.header { - display: flex; - background-size: cover; - min-height: 8rem; - color: #282c37; } - .header .header-left, .header .header-right { - margin: 0; } - .header .header-left { - min-width: 8rem; - position: relative; - text-align: center; - background: rgba(255, 255, 255, 0.3); } - .header .header-left .avatar { - width: 6rem; - height: 6rem; - position: relative; - top: calc(50% - 3rem); } - .header .header-right { - flex-grow: 1; - font-size: 0.9rem; - padding: 0.9rem; - background: rgba(255, 255, 255, 0.85); } - .header .header-title { - font-size: 1.3rem; } - -.item { - padding: 1rem; - border-top: solid 1px #8494ab; } - -.item-content, -.cw, -.title { - font-size: 1.1rem; - font-weight: lighter; } - -.item-content *, .cw { - margin: 1rem 0; - line-height: 1.4rem; } - -.item-title, -.date, -.author-fullname { - color: #90a1ba; - font-size: 0.9rem; } - -.date { - margin: 1rem 0 0 0; - text-decoration: none; - display: block; } - -.date:hover { - text-decoration: underline; } - -.item-title { - margin-bottom: 0.7rem; } - -.author { - display: flex; - margin-bottom: 1rem; } - -.author-info { - margin: 0 1rem; - display: flex; - flex-direction: column; - justify-content: space-around; } - .author-info .author-displayname { - font-size: 1.2rem; - color: #282c37; - text-decoration: none; - display: block; - font-weight: bolder; } - -.avatar { - width: 3rem; - height: 3rem; - border: none; - border-radius: 10%; } - .avatar.circular { - border-radius: 100%; } - -.enclosures { - padding: 0.5em 0; - display: flex; - flex-wrap: wrap; - flex-direction: row; - overflow: hidden; } - -.enclosure { - display: flex; - flex: 1 1 auto; - width: 50%; - border: none; - max-height: 12rem; } - -a.enclosure { - cursor: zoom-in; } - -.enclosure > * { - flex: 1 1 auto; - width: 100%; - height: 100%; - object-fit: cover; } - -.meta .title { - font-weight: bold; } - -.hidden { - display: none; } - -.button { - padding: 0.5rem 1rem; - border: none; - margin: 1rem; - border-radius: 0.5rem; - display: inline-block; - text-decoration: none; - background: #2b90d9; - color: #282c37; - font-weight: 400; - cursor: pointer; - text-transform: uppercase; - user-select: none; } - -label.button { - padding: 0.25rem 0.5rem; - margin: 0.4rem; - background: #8494ab; - color: #ffffff; - font-size: 0.8rem; } - -input[type=checkbox] { - position: absolute; - left: -9999px; } - -input[type=checkbox]:checked ~ label::after { - content: " Less"; } - -input[type=checkbox]:not(:checked) ~ label::after { - content: " More"; } - -input[type=checkbox]:not(:checked) ~ div { - display: none; } - -.item-content, -.description, -.title, -html, -body { - font-weight: normal; } - -@media (prefers-color-scheme: masto-dark) { - html, - body { - background-color: #282c37; - font-family: 'Roboto', roboto, Arial, sans-serif; - color: #ffffff; - font-weight: lighter; - overflow-x: hidden; - font-size: 100%; - word-break: break-word; } - * { - margin: 0; - padding: 0; } - a, - a * { - color: #2b90d9; } - .meta { - background-color: #39404d; } - .header { - display: flex; - background-size: cover; - min-height: 8rem; - color: #ffffff; } - .header .header-left, .header .header-right { - margin: 0; } - .header .header-left { - min-width: 8rem; - position: relative; - text-align: center; - background: rgba(40, 44, 55, 0.3); } - .header .header-left .avatar { - width: 6rem; - height: 6rem; - position: relative; - top: calc(50% - 3rem); } - .header .header-right { - flex-grow: 1; - font-size: 0.9rem; - padding: 0.9rem; - background: rgba(40, 44, 55, 0.85); } - .header .header-title { - font-size: 1.3rem; } - .item { - padding: 1rem; - border-top: solid 1px #626d80; } - .item-content, - .cw, - .title { - font-size: 1.1rem; - font-weight: lighter; } - .item-content *, .cw { - margin: 1rem 0; - line-height: 1.4rem; } - .item-title, - .date, - .author-fullname { - color: #9baec8; - font-size: 0.9rem; } - .date { - margin: 1rem 0 0 0; - text-decoration: none; - display: block; } - .date:hover { - text-decoration: underline; } - .item-title { - margin-bottom: 0.7rem; } - .author { - display: flex; - margin-bottom: 1rem; } - .author-info { - margin: 0 1rem; - display: flex; - flex-direction: column; - justify-content: space-around; } - .author-info .author-displayname { - font-size: 1.2rem; - color: #ffffff; - text-decoration: none; - display: block; - font-weight: bolder; } - .avatar { - width: 3rem; - height: 3rem; - border: none; - border-radius: 10%; } - .avatar.circular { - border-radius: 100%; } - .enclosures { - padding: 0.5em 0; - display: flex; - flex-wrap: wrap; - flex-direction: row; - overflow: hidden; } - .enclosure { - display: flex; - flex: 1 1 auto; - width: 50%; - border: none; - max-height: 12rem; } - a.enclosure { - cursor: zoom-in; } - .enclosure > * { - flex: 1 1 auto; - width: 100%; - height: 100%; - object-fit: cover; } - .meta .title { - font-weight: bold; } - .hidden { - display: none; } - .button { - padding: 0.5rem 1rem; - border: none; - margin: 1rem; - border-radius: 0.5rem; - display: inline-block; - text-decoration: none; - background: #2b90d9; - color: #ffffff; - font-weight: 400; - cursor: pointer; - text-transform: uppercase; - user-select: none; } - label.button { - padding: 0.25rem 0.5rem; - margin: 0.4rem; - background: #626d80; - color: #282c37; - font-size: 0.8rem; } - input[type=checkbox] { - position: absolute; - left: -9999px; } - input[type=checkbox]:checked ~ label::after { - content: " Less"; } - input[type=checkbox]:not(:checked) ~ label::after { - content: " More"; } - input[type=checkbox]:not(:checked) ~ div { - display: none; } } diff --git a/src/public/css/masto-dark.css b/src/public/css/masto-dark.css deleted file mode 100644 index 6097115..0000000 --- a/src/public/css/masto-dark.css +++ /dev/null @@ -1,163 +0,0 @@ -html, -body { - background-color: #282c37; - font-family: 'Roboto', roboto, Arial, sans-serif; - color: #ffffff; - font-weight: lighter; - overflow-x: hidden; - font-size: 100%; - word-break: break-word; } - -* { - margin: 0; - padding: 0; } - -a, -a * { - color: #2b90d9; } - -.meta { - background-color: #39404d; } - -.header { - display: flex; - background-size: cover; - min-height: 8rem; - color: #ffffff; } - .header .header-left, .header .header-right { - margin: 0; } - .header .header-left { - min-width: 8rem; - position: relative; - text-align: center; - background: rgba(40, 44, 55, 0.3); } - .header .header-left .avatar { - width: 6rem; - height: 6rem; - position: relative; - top: calc(50% - 3rem); } - .header .header-right { - flex-grow: 1; - font-size: 0.9rem; - padding: 0.9rem; - background: rgba(40, 44, 55, 0.85); } - .header .header-title { - font-size: 1.3rem; } - -.item { - padding: 1rem; - border-top: solid 1px #626d80; } - -.item-content, -.cw, -.title { - font-size: 1.1rem; - font-weight: lighter; } - -.item-content *, .cw { - margin: 1rem 0; - line-height: 1.4rem; } - -.item-title, -.date, -.author-fullname { - color: #9baec8; - font-size: 0.9rem; } - -.date { - margin: 1rem 0 0 0; - text-decoration: none; - display: block; } - -.date:hover { - text-decoration: underline; } - -.item-title { - margin-bottom: 0.7rem; } - -.author { - display: flex; - margin-bottom: 1rem; } - -.author-info { - margin: 0 1rem; - display: flex; - flex-direction: column; - justify-content: space-around; } - .author-info .author-displayname { - font-size: 1.2rem; - color: #ffffff; - text-decoration: none; - display: block; - font-weight: bolder; } - -.avatar { - width: 3rem; - height: 3rem; - border: none; - border-radius: 10%; } - .avatar.circular { - border-radius: 100%; } - -.enclosures { - padding: 0.5em 0; - display: flex; - flex-wrap: wrap; - flex-direction: row; - overflow: hidden; } - -.enclosure { - display: flex; - flex: 1 1 auto; - width: 50%; - border: none; - max-height: 12rem; } - -a.enclosure { - cursor: zoom-in; } - -.enclosure > * { - flex: 1 1 auto; - width: 100%; - height: 100%; - object-fit: cover; } - -.meta .title { - font-weight: bold; } - -.hidden { - display: none; } - -.button { - padding: 0.5rem 1rem; - border: none; - margin: 1rem; - border-radius: 0.5rem; - display: inline-block; - text-decoration: none; - background: #2b90d9; - color: #ffffff; - font-weight: 400; - cursor: pointer; - text-transform: uppercase; - user-select: none; } - -label.button { - padding: 0.25rem 0.5rem; - margin: 0.4rem; - background: #626d80; - color: #282c37; - font-size: 0.8rem; } - -input[type=checkbox] { - position: absolute; - left: -9999px; } - -input[type=checkbox]:checked ~ label::after { - content: " Less"; } - -input[type=checkbox]:not(:checked) ~ label::after { - content: " More"; } - -input[type=checkbox]:not(:checked) ~ div { - display: none; } diff --git a/src/public/css/masto-light.css b/src/public/css/masto-light.css deleted file mode 100644 index d2ebe1e..0000000 --- a/src/public/css/masto-light.css +++ /dev/null @@ -1,170 +0,0 @@ -html, -body { - background-color: #ffffff; - font-family: 'Roboto', roboto, Arial, sans-serif; - color: #282c37; - font-weight: lighter; - overflow-x: hidden; - font-size: 100%; - word-break: break-word; } - -* { - margin: 0; - padding: 0; } - -a, -a * { - color: #2b90d9; } - -.meta { - background-color: #ecf0f4; } - -.header { - display: flex; - background-size: cover; - min-height: 8rem; - color: #282c37; } - .header .header-left, .header .header-right { - margin: 0; } - .header .header-left { - min-width: 8rem; - position: relative; - text-align: center; - background: rgba(255, 255, 255, 0.3); } - .header .header-left .avatar { - width: 6rem; - height: 6rem; - position: relative; - top: calc(50% - 3rem); } - .header .header-right { - flex-grow: 1; - font-size: 0.9rem; - padding: 0.9rem; - background: rgba(255, 255, 255, 0.85); } - .header .header-title { - font-size: 1.3rem; } - -.item { - padding: 1rem; - border-top: solid 1px #8494ab; } - -.item-content, -.cw, -.title { - font-size: 1.1rem; - font-weight: lighter; } - -.item-content *, .cw { - margin: 1rem 0; - line-height: 1.4rem; } - -.item-title, -.date, -.author-fullname { - color: #90a1ba; - font-size: 0.9rem; } - -.date { - margin: 1rem 0 0 0; - text-decoration: none; - display: block; } - -.date:hover { - text-decoration: underline; } - -.item-title { - margin-bottom: 0.7rem; } - -.author { - display: flex; - margin-bottom: 1rem; } - -.author-info { - margin: 0 1rem; - display: flex; - flex-direction: column; - justify-content: space-around; } - .author-info .author-displayname { - font-size: 1.2rem; - color: #282c37; - text-decoration: none; - display: block; - font-weight: bolder; } - -.avatar { - width: 3rem; - height: 3rem; - border: none; - border-radius: 10%; } - .avatar.circular { - border-radius: 100%; } - -.enclosures { - padding: 0.5em 0; - display: flex; - flex-wrap: wrap; - flex-direction: row; - overflow: hidden; } - -.enclosure { - display: flex; - flex: 1 1 auto; - width: 50%; - border: none; - max-height: 12rem; } - -a.enclosure { - cursor: zoom-in; } - -.enclosure > * { - flex: 1 1 auto; - width: 100%; - height: 100%; - object-fit: cover; } - -.meta .title { - font-weight: bold; } - -.hidden { - display: none; } - -.button { - padding: 0.5rem 1rem; - border: none; - margin: 1rem; - border-radius: 0.5rem; - display: inline-block; - text-decoration: none; - background: #2b90d9; - color: #282c37; - font-weight: 400; - cursor: pointer; - text-transform: uppercase; - user-select: none; } - -label.button { - padding: 0.25rem 0.5rem; - margin: 0.4rem; - background: #8494ab; - color: #ffffff; - font-size: 0.8rem; } - -input[type=checkbox] { - position: absolute; - left: -9999px; } - -input[type=checkbox]:checked ~ label::after { - content: " Less"; } - -input[type=checkbox]:not(:checked) ~ label::after { - content: " More"; } - -input[type=checkbox]:not(:checked) ~ div { - display: none; } - -.item-content, -.description, -.title, -html, -body { - font-weight: normal; } diff --git a/src/public/css/misskey-auto.css b/src/public/css/misskey-auto.css deleted file mode 100644 index 3b6376e..0000000 --- a/src/public/css/misskey-auto.css +++ /dev/null @@ -1,351 +0,0 @@ -html, -body { - background-color: rgb(249, 249, 249); - font-family: 'Roboto', roboto, Arial, sans-serif; - color: #282c37; - font-weight: lighter; - overflow-x: hidden; - font-size: 100%; - word-break: break-word; } - -* { - margin: 0; - padding: 0; } - -a, -a * { - color: rgb(68, 164, 193); } - -a[rel = "tag"] { - color: rgb(255, 145, 86); } - -.meta { - background-color: #ecf0f4; } - -.header { - display: flex; - background-size: cover; - min-height: 8rem; - color: #282c37; } - .header .header-left, .header .header-right { - margin: 0; } - .header .header-left { - min-width: 8rem; - position: relative; - text-align: center; - background: rgba(255, 255, 255, 0.3); } - .header .header-left .avatar { - width: 6rem; - height: 6rem; - position: relative; - top: calc(50% - 3rem); } - .header .header-right { - flex-grow: 1; - font-size: 0.9rem; - padding: 0.9rem; - background: rgba(255, 255, 255, 0.85); } - .header .header-title { - font-size: 1.3rem; } - -.item { - padding: 1rem; - border-top: solid 1px #8494ab; } - -.item-content, -.cw, -.title { - font-size: 1.1rem; - font-weight: lighter; } - -.item-content *, .cw { - margin: 1rem 0; - line-height: 1.4rem; } - -.item-title, -.date, -.author-fullname { - color: #90a1ba; - font-size: 0.9rem; } - -.date { - margin: 1rem 0 0 0; - text-decoration: none; - display: block; } - -.date:hover { - text-decoration: underline; } - -.item-title { - margin-bottom: 0.7rem; } - -.author { - display: flex; - margin-bottom: 1rem; } - -.author-info { - margin: 0 1rem; - display: flex; - flex-direction: column; - justify-content: space-around; } - .author-info .author-displayname { - font-size: 1.2rem; - color: #282c37; - text-decoration: none; - display: block; - font-weight: bolder; } - -.avatar { - width: 3rem; - height: 3rem; - border: none; - border-radius: 10%; } - .avatar.circular { - border-radius: 100%; } - -.enclosures { - padding: 0.5em 0; - display: flex; - flex-wrap: wrap; - flex-direction: row; - overflow: hidden; } - -.enclosure { - display: flex; - flex: 1 1 auto; - width: 50%; - border: none; - max-height: 12rem; } - -a.enclosure { - cursor: zoom-in; } - -.enclosure > * { - flex: 1 1 auto; - width: 100%; - height: 100%; - object-fit: cover; } - -.meta .title { - font-weight: bold; } - -.hidden { - display: none; } - -.u-url, - .mention{ - color: #86b300; } - -.button { - padding: 0.5rem 1rem; - border: none; - margin: 1rem; - border-radius: 0.5rem; - display: inline-block; - text-decoration: none; - background: #2b90d9; - color: #282c37; - font-weight: 400; - cursor: pointer; - text-transform: uppercase; - user-select: none; } - -label.button { - padding: 0.25rem 0.5rem; - margin: 0.4rem; - background: #8494ab; - color: #ffffff; - font-size: 0.8rem; } - -input[type=checkbox] { - position: absolute; - left: -9999px; } - -input[type=checkbox]:checked ~ label::after { - content: " Less"; } - -input[type=checkbox]:not(:checked) ~ label::after { - content: " More"; } - -input[type=checkbox]:not(:checked) ~ div { - display: none; } - -.item-content, -.description, -.title, -html, -body { - font-weight: normal; } - -@media (prefers-color-scheme: misskey-dark) { -html, -body { - background-color: #232323; - font-family: 'Roboto', roboto, Arial, sans-serif; - color: #dadada; - font-weight: lighter; - overflow-x: hidden; - font-size: 100%; - word-break: break-word; } - -* { - margin: 0; - padding: 0; } - -a, -a * { - color: rgb(134, 179, 0); } - -a[rel = "tag"] { - color: rgb(76, 184, 212); } - -.meta { - background-color: #39404d; } - -.header { - display: flex; - background-size: cover; - min-height: 8rem; - color: rgb(199, 209, 216); } - .header .header-left, .header .header-right { - margin: 0; } - .header .header-left { - min-width: 8rem; - position: relative; - text-align: center; - background: rgba(45, 45, 45, 0.3); } - .header .header-left .avatar { - width: 6rem; - height: 6rem; - position: relative; - top: calc(50% - 3rem); } - .header .header-right { - flex-grow: 1; - font-size: 0.9rem; - padding: 0.9rem; - background: rgba(45, 45, 45, 0.85); } - .header .header-title { - font-size: 1.3rem; } - -.item { - padding: 1rem; - border-top: solid 1px #626d80; } - -.item-content, -.cw, -.title { - font-size: 1.1rem; - font-weight: lighter; } - -.item-content *, .cw { - margin: 1rem 0; - line-height: 1.4rem; } - -.item-title, -.date, -.author-fullname { - color: #9baec8; - font-size: 0.9rem; - opacity: .5; } - -.date { - margin: 1rem 0 0 0; - text-decoration: none; - display: block; } - -.date:hover { - text-decoration: underline; } - -.item-title { - margin-bottom: 0.7rem; } - -.author { - display: flex; - margin-bottom: 1rem; } - -.author-info { - margin: 0 1rem; - display: flex; - flex-direction: column; - justify-content: space-around; } - .author-info .author-displayname { - font-size: 1.2rem; - color: #dadada; - text-decoration: none; - display: block; - font-weight: bolder; } - -.avatar { - width: 3rem; - height: 3rem; - border: none; - border-radius: 10%; } - .avatar.circular { - border-radius: 100%; } - -.enclosures { - padding: 0.5em 0; - display: flex; - flex-wrap: wrap; - flex-direction: row; - overflow: hidden; } - -.enclosure { - display: flex; - flex: 1 1 auto; - width: 50%; - border: none; - max-height: 12rem; } - -a.enclosure { - cursor: zoom-in; } - -.enclosure > * { - flex: 1 1 auto; - width: 100%; - height: 100%; - object-fit: cover; } - -.meta .title { - font-weight: bold; } - -.hidden { - display: none; } - -.u-url, - .mention{ - color: #86b300; } - -.button { - padding: 0.5rem 1rem; - border: none; - margin: 1rem; - border-radius: 0.5rem; - display: inline-block; - text-decoration: none; - background: rgba(255, 255, 255, 0.05); - color: rgba(255, 255, 255, 0.1); - font-weight: 400; - cursor: pointer; - text-transform: uppercase; - user-select: none; } - -label.button { - padding: 0.25rem 0.5rem; - margin: 0.4rem; - background: #626d80; - color: #282c37; - font-size: 0.8rem; } - -input[type=checkbox] { - position: absolute; - left: -9999px; } - -input[type=checkbox]:checked ~ label::after { - content: " Less"; } - -input[type=checkbox]:not(:checked) ~ label::after { - content: " More"; } - -input[type=checkbox]:not(:checked) ~ div { - display: none; } } - \ No newline at end of file diff --git a/src/public/css/misskey-dark.css b/src/public/css/misskey-dark.css deleted file mode 100644 index db4fa90..0000000 --- a/src/public/css/misskey-dark.css +++ /dev/null @@ -1,171 +0,0 @@ -html, -body { - background-color: #232323; - font-family: 'Roboto', roboto, Arial, sans-serif; - color: #dadada; - font-weight: lighter; - overflow-x: hidden; - font-size: 100%; - word-break: break-word; } - -* { - margin: 0; - padding: 0; } - -a, -a * { - color: rgb(134, 179, 0); } - -a[rel = "tag"] { - color: rgb(76, 184, 212); } - -.meta { - background-color: #39404d; } - -.header { - display: flex; - background-size: cover; - min-height: 8rem; - color: rgb(199, 209, 216); } - .header .header-left, .header .header-right { - margin: 0; } - .header .header-left { - min-width: 8rem; - position: relative; - text-align: center; - background: rgba(45, 45, 45, 0.3); } - .header .header-left .avatar { - width: 6rem; - height: 6rem; - position: relative; - top: calc(50% - 3rem); } - .header .header-right { - flex-grow: 1; - font-size: 0.9rem; - padding: 0.9rem; - background: rgba(45, 45, 45, 0.85); } - .header .header-title { - font-size: 1.3rem; } - -.item { - padding: 1rem; - border-top: solid 1px #626d80; } - -.item-content, -.cw, -.title { - font-size: 1.1rem; - font-weight: lighter; } - -.item-content *, .cw { - margin: 1rem 0; - line-height: 1.4rem; } - -.item-title, -.date, -.author-fullname { - color: #9baec8; - font-size: 0.9rem; - opacity: .5; } - -.date { - margin: 1rem 0 0 0; - text-decoration: none; - display: block; } - -.date:hover { - text-decoration: underline; } - -.item-title { - margin-bottom: 0.7rem; } - -.author { - display: flex; - margin-bottom: 1rem; } - -.author-info { - margin: 0 1rem; - display: flex; - flex-direction: column; - justify-content: space-around; } - .author-info .author-displayname { - font-size: 1.2rem; - color: #dadada; - text-decoration: none; - display: block; - font-weight: bolder; } - -.avatar { - width: 3rem; - height: 3rem; - border: none; - border-radius: 10%; } - .avatar.circular { - border-radius: 100%; } - -.enclosures { - padding: 0.5em 0; - display: flex; - flex-wrap: wrap; - flex-direction: row; - overflow: hidden; } - -.enclosure { - display: flex; - flex: 1 1 auto; - width: 50%; - border: none; - max-height: 12rem; } - -a.enclosure { - cursor: zoom-in; } - -.enclosure > * { - flex: 1 1 auto; - width: 100%; - height: 100%; - object-fit: cover; } - -.meta .title { - font-weight: bold; } - -.hidden { - display: none; } - -.u-url, - .mention{ - color: #86b300; } - -.button { - padding: 0.5rem 1rem; - border: none; - margin: 1rem; - border-radius: 0.5rem; - display: inline-block; - text-decoration: none; - background: rgba(255, 255, 255, 0.05); - color: rgba(255, 255, 255, 0.1); - font-weight: 400; - cursor: pointer; - text-transform: uppercase; - user-select: none; } - -label.button { - padding: 0.25rem 0.5rem; - margin: 0.4rem; - background: #626d80; - color: #282c37; - font-size: 0.8rem; } - -input[type=checkbox] { - position: absolute; - left: -9999px; } - -input[type=checkbox]:checked ~ label::after { - content: " Less"; } - -input[type=checkbox]:not(:checked) ~ label::after { - content: " More"; } - -input[type=checkbox]:not(:checked) ~ div { - display: none; } diff --git a/src/public/css/misskey-light.css b/src/public/css/misskey-light.css deleted file mode 100644 index f5f9d04..0000000 --- a/src/public/css/misskey-light.css +++ /dev/null @@ -1,177 +0,0 @@ -html, -body { - background-color: rgb(249, 249, 249); - font-family: 'Roboto', roboto, Arial, sans-serif; - color: #282c37; - font-weight: lighter; - overflow-x: hidden; - font-size: 100%; - word-break: break-word; } - -* { - margin: 0; - padding: 0; } - -a, -a * { - color: rgb(68, 164, 193); } - -a[rel = "tag"] { - color: rgb(255, 145, 86); } - -.meta { - background-color: #ecf0f4; } - -.header { - display: flex; - background-size: cover; - min-height: 8rem; - color: #282c37; } - .header .header-left, .header .header-right { - margin: 0; } - .header .header-left { - min-width: 8rem; - position: relative; - text-align: center; - background: rgba(255, 255, 255, 0.3); } - .header .header-left .avatar { - width: 6rem; - height: 6rem; - position: relative; - top: calc(50% - 3rem); } - .header .header-right { - flex-grow: 1; - font-size: 0.9rem; - padding: 0.9rem; - background: rgba(255, 255, 255, 0.85); } - .header .header-title { - font-size: 1.3rem; } - -.item { - padding: 1rem; - border-top: solid 1px #8494ab; } - -.item-content, -.cw, -.title { - font-size: 1.1rem; - font-weight: lighter; } - -.item-content *, .cw { - margin: 1rem 0; - line-height: 1.4rem; } - -.item-title, -.date, -.author-fullname { - color: #90a1ba; - font-size: 0.9rem; } - -.date { - margin: 1rem 0 0 0; - text-decoration: none; - display: block; } - -.date:hover { - text-decoration: underline; } - -.item-title { - margin-bottom: 0.7rem; } - -.author { - display: flex; - margin-bottom: 1rem; } - -.author-info { - margin: 0 1rem; - display: flex; - flex-direction: column; - justify-content: space-around; } - .author-info .author-displayname { - font-size: 1.2rem; - color: #282c37; - text-decoration: none; - display: block; - font-weight: bolder; } - -.avatar { - width: 3rem; - height: 3rem; - border: none; - border-radius: 10%; } - .avatar.circular { - border-radius: 100%; } - -.enclosures { - padding: 0.5em 0; - display: flex; - flex-wrap: wrap; - flex-direction: row; - overflow: hidden; } - -.enclosure { - display: flex; - flex: 1 1 auto; - width: 50%; - border: none; - max-height: 12rem; } - -a.enclosure { - cursor: zoom-in; } - -.enclosure > * { - flex: 1 1 auto; - width: 100%; - height: 100%; - object-fit: cover; } - -.meta .title { - font-weight: bold; } - -.hidden { - display: none; } - -.u-url, - .mention{ - color: #86b300; } - -.button { - padding: 0.5rem 1rem; - border: none; - margin: 1rem; - border-radius: 0.5rem; - display: inline-block; - text-decoration: none; - background: #2b90d9; - color: #282c37; - font-weight: 400; - cursor: pointer; - text-transform: uppercase; - user-select: none; } - -label.button { - padding: 0.25rem 0.5rem; - margin: 0.4rem; - background: #8494ab; - color: #ffffff; - font-size: 0.8rem; } - -input[type=checkbox] { - position: absolute; - left: -9999px; } - -input[type=checkbox]:checked ~ label::after { - content: " Less"; } - -input[type=checkbox]:not(:checked) ~ label::after { - content: " More"; } - -input[type=checkbox]:not(:checked) ~ div { - display: none; } - -.item-content, -.description, -.title, -html, -body { - font-weight: normal; } diff --git a/src/public/css/pleroma.css b/src/public/css/pleroma.css deleted file mode 100644 index 60e4ac1..0000000 --- a/src/public/css/pleroma.css +++ /dev/null @@ -1,163 +0,0 @@ -html, -body { - background-color: rgba(15, 22, 30, 1); - font-family: 'Roboto', roboto, Arial, sans-serif; - color: rgba(185, 185, 186, 1); - font-weight: lighter; - overflow-x: hidden; - font-size: 100%; - word-break: break-word; } - -* { - margin: 0; - padding: 0; } - -a, -a * { - color: #e2b188; } - -.meta { - background-color: #39404d; } - -.header { - display: flex; - background-size: cover; - min-height: 8rem; - color: rgba(185, 185, 186, 1); } - .header .header-left, .header .header-right { - margin: 0; } - .header .header-left { - min-width: 8rem; - position: relative; - text-align: center; - background: rgba(40, 44, 55, 0.3); } - .header .header-left .avatar { - width: 6rem; - height: 6rem; - position: relative; - top: calc(50% - 3rem); } - .header .header-right { - flex-grow: 1; - font-size: 0.9rem; - padding: 0.9rem; - background: rgba(40, 44, 55, 0.85); } - .header .header-title { - font-size: 1.3rem; } - -.item { - padding: 1rem; - border-top: solid 1px #626d80; } - -.item-content, -.cw, -.title { - font-size: 1.1rem; - font-weight: lighter; } - -.item-content *, .cw { - margin: 1rem 0; - line-height: 1.4rem; } - -.item-title, -.date, -.author-fullname { - color: rgba(185, 185, 186, 0.5); - font-size: 0.9rem; } - -.date { - margin: 1rem 0 0 0; - text-decoration: none; - display: block; } - -.date:hover { - text-decoration: underline; } - -.item-title { - margin-bottom: 0.7rem; } - -.author { - display: flex; - margin-bottom: 1rem; } - -.author-info { - margin: 0 1rem; - display: flex; - flex-direction: column; - justify-content: space-around; } - .author-info .author-displayname { - font-size: 1.2rem; - color: rgba(185, 185, 186, 1); - text-decoration: none; - display: block; - font-weight: bolder; } - -.avatar { - width: 3rem; - height: 3rem; - border: none; - border-radius: 10%; } - .avatar.circular { - border-radius: 100%; } - -.enclosures { - padding: 0.5em 0; - display: flex; - flex-wrap: wrap; - flex-direction: row; - overflow: hidden; } - -.enclosure { - display: flex; - flex: 1 1 auto; - width: 50%; - border: none; - max-height: 12rem; } - -a.enclosure { - cursor: zoom-in; } - -.enclosure > * { - flex: 1 1 auto; - width: 100%; - height: 100%; - object-fit: cover; } - -.meta .title { - font-weight: bold; } - -.hidden { - display: none; } - -.button { - padding: 0.5rem 1rem; - border: none; - margin: 1rem; - border-radius: 0.5rem; - display: inline-block; - text-decoration: none; - background: #2b90d9; - color: rgba(185, 185, 186, 1); - font-weight: 400; - cursor: pointer; - text-transform: uppercase; - user-select: none; } - -label.button { - padding: 0.25rem 0.5rem; - margin: 0.4rem; - background: #626d80; - color: #282c37; - font-size: 0.8rem; } - -input[type=checkbox] { - position: absolute; - left: -9999px; } - -input[type=checkbox]:checked ~ label::after { - content: " Less"; } - -input[type=checkbox]:not(:checked) ~ label::after { - content: " More"; } - -input[type=checkbox]:not(:checked) ~ div { - display: none; } diff --git a/src/public/css/stylesheet.css b/src/public/css/stylesheet.css deleted file mode 100644 index 5665634..0000000 --- a/src/public/css/stylesheet.css +++ /dev/null @@ -1,118 +0,0 @@ -/* - * Based on .css file from https://joinmastodon.org (by Gargron and latrani) - */ - -@import url(https://fonts.googleapis.com/css?family=Quando|Judson|Montserrat:500|Roboto:400,500); -a, abbr, acronym, address, applet, article, aside, audio, b, big, blockquote, -body, canvas, caption, center, cite, code, dd, del, details, dfn, div, dl, -dt, em, embed, fieldset, figcaption, figure, footer, form, h1, h2, h3, h4, -h5, h6, header, hgroup, html, i, iframe, img, ins, kbd, label, legend, li, -mark, menu, nav, object, ol, output, p, pre, q, ruby, s, samp, section, small, -span, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, -time, tr, tt, u, ul, var, video { - margin: 0; - padding: 0; - border: 0; - font-size: 100%; - font: inherit; - vertical-align: baseline -} - -article, aside, details, figcaption, figure, footer, header, hgroup, -menu, nav, section { - display: block -} - -a { - outline: 0 -} - -label, h3 { - color: #607ea7; - margin-bottom: 26px; - font-size: 16px; - line-height: 24px -} - -body { - text-rendering: optimizelegibility; - -webkit-font-feature-settings: "kern"; - font-feature-settings: "kern"; - -webkit-text-size-adjust: none; - -ms-text-size-adjust: none; - text-size-adjust: none; - box-sizing: border-box; - font-family: Roboto, sans-serif; - background-color: #000000; - color: #5f6b84; - font-size: 13px; - line-height: 18px; - font-weight: 400; - margin:1em -} - -h1 { - font-family: Montserrat, sans-serif; - font-size: 26px; - margin-bottom: 20px -} - -input[type="text"], input[type="number"], select { - outline: 0; - box-sizing: border-box; - border-radius: 4px; - display: block; - width: 100%; - border: none; - padding: 10px; - padding-right: 30px; - font-family: inherit; - background: #0e1013; - color: #9baec8; - font-size: 14px; - margin: 0 -} - -h4 { - font-family: Montserrat, sans-serif; - font-size: 16px; - line-height: 24px; - margin-bottom: 20px; - color: #9baec8 -} - -img { - width: 16px; - height: 16px; - opacity: .5; - -webkit-transition: opacity .25s linear; - transition: opacity .25s linear -} - -div { - max-width: 800px; - margin: 0 auto -} - -.iframe-contain { - display:block; - text-align:center; -} - -button, a { - display: inline-block; - text-align: center; - font-size: 16px; - text-decoration: none; - line-height: 36px; - padding: 4px 16px; - background: transparent; - border: 1px solid #9baec8; - border-radius: 4px; - padding: 3px 15px; - color: #9baec8; - cursor:pointer; -} -button:hover, a:hover { - background-color: #394150; -} \ No newline at end of file diff --git a/src/public/index.html b/src/public/index.html deleted file mode 100644 index 6de5162..0000000 --- a/src/public/index.html +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - - Fedifeed - embeddable ActivityPub feeds - - - - - -
-
-

Fedifeed

-

Embedded ActivityPub feeds for blogs, websites, etc.

- Fork on Github
-
-

-
- -
- -
- -
- -
- -
- -
- -
- -
- -
-
- -
-

- -

-

Live Preview:

- - - -
-
- - - diff --git a/src/public/infinite-scroll.js b/src/public/infinite-scroll.js deleted file mode 100644 index b5bb47b..0000000 --- a/src/public/infinite-scroll.js +++ /dev/null @@ -1,12 +0,0 @@ -/*! - * Infinite Scroll PACKAGED v3.0.5 - * Automatically add next page - * - * Licensed GPLv3 for open source use - * or Infinite Scroll Commercial License for commercial use - * - * https://infinite-scroll.com - * Copyright 2018 Metafizzy - */ - -!function(t,e){"function"==typeof define&&define.amd?define("jquery-bridget/jquery-bridget",["jquery"],function(i){return e(t,i);}):"object"==typeof module&&module.exports?module.exports=e(t,require("jquery")):t.jQueryBridget=e(t,t.jQuery);}(window,function(t,e){"use strict";function i(i,r,l){function a(t,e,n){var o,r="$()."+i+"(\""+e+"\")";return t.each(function(t,a){var h=l.data(a,i);if(!h)return void s(i+" not initialized. Cannot call methods, i.e. "+r);var c=h[e];if(!c||"_"==e.charAt(0))return void s(r+" is not a valid method");var u=c.apply(h,n);o=void 0===o?u:o;}),void 0!==o?o:t;}function h(t,e){t.each(function(t,n){var o=l.data(n,i);o?(o.option(e),o._init()):(o=new r(n,e),l.data(n,i,o));});}l=l||e||t.jQuery,l&&(r.prototype.option||(r.prototype.option=function(t){l.isPlainObject(t)&&(this.options=l.extend(!0,this.options,t));}),l.fn[i]=function(t){if("string"==typeof t){var e=o.call(arguments,1);return a(this,t,e);}return h(this,t),this;},n(l));}function n(t){!t||t&&t.bridget||(t.bridget=i);}var o=Array.prototype.slice,r=t.console,s="undefined"==typeof r?function(){}:function(t){r.error(t);};return n(e||t.jQuery),i;}),function(t,e){"function"==typeof define&&define.amd?define("ev-emitter/ev-emitter",e):"object"==typeof module&&module.exports?module.exports=e():t.EvEmitter=e();}("undefined"!=typeof window?window:this,function(){function t(){}var e=t.prototype;return e.on=function(t,e){if(t&&e){var i=this._events=this._events||{},n=i[t]=i[t]||[];return n.indexOf(e)==-1&&n.push(e),this;}},e.once=function(t,e){if(t&&e){this.on(t,e);var i=this._onceEvents=this._onceEvents||{},n=i[t]=i[t]||{};return n[e]=!0,this;}},e.off=function(t,e){var i=this._events&&this._events[t];if(i&&i.length){var n=i.indexOf(e);return n!=-1&&i.splice(n,1),this;}},e.emitEvent=function(t,e){var i=this._events&&this._events[t];if(i&&i.length){i=i.slice(0),e=e||[];for(var n=this._onceEvents&&this._onceEvents[t],o=0;o=0,this.isPrefilling?(this.log("prefill"),this.loadNextPage()):this.stopPrefill();},s.getPrefillDistance=function(){return this.options.elementScroll?this.scroller.clientHeight-this.scroller.scrollHeight:this.windowHeight-this.element.clientHeight;},s.stopPrefill=function(){this.log("stopPrefill"),this.off("append",this.prefill);},e;}),function(t,e){"function"==typeof define&&define.amd?define("infinite-scroll/js/scroll-watch",["./core","fizzy-ui-utils/utils"],function(i,n){return e(t,i,n);}):"object"==typeof module&&module.exports?module.exports=e(t,require("./core"),require("fizzy-ui-utils")):e(t,t.InfiniteScroll,t.fizzyUIUtils);}(window,function(t,e,i){var n=e.prototype;return e.defaults.scrollThreshold=400,e.create.scrollWatch=function(){this.pageScrollHandler=this.onPageScroll.bind(this),this.resizeHandler=this.onResize.bind(this);var t=this.options.scrollThreshold,e=t||0===t;e&&this.enableScrollWatch();},e.destroy.scrollWatch=function(){this.disableScrollWatch();},n.enableScrollWatch=function(){this.isScrollWatching||(this.isScrollWatching=!0,this.updateMeasurements(),this.updateScroller(),this.on("last",this.disableScrollWatch),this.bindScrollWatchEvents(!0));},n.disableScrollWatch=function(){this.isScrollWatching&&(this.bindScrollWatchEvents(!1),delete this.isScrollWatching);},n.bindScrollWatchEvents=function(e){var i=e?"addEventListener":"removeEventListener";this.scroller[i]("scroll",this.pageScrollHandler),t[i]("resize",this.resizeHandler);},n.onPageScroll=e.throttle(function(){var t=this.getBottomDistance();t<=this.options.scrollThreshold&&this.dispatchEvent("scrollThreshold");}),n.getBottomDistance=function(){return this.options.elementScroll?this.getElementBottomDistance():this.getWindowBottomDistance();},n.getWindowBottomDistance=function(){var e=this.top+this.element.clientHeight,i=t.pageYOffset+this.windowHeight;return e-i;},n.getElementBottomDistance=function(){var t=this.scroller.scrollHeight,e=this.scroller.scrollTop+this.scroller.clientHeight;return t-e;},n.onResize=function(){this.updateMeasurements();},i.debounceMethod(e,"onResize",150),e;}),function(t,e){"function"==typeof define&&define.amd?define("infinite-scroll/js/history",["./core","fizzy-ui-utils/utils"],function(i,n){return e(t,i,n);}):"object"==typeof module&&module.exports?module.exports=e(t,require("./core"),require("fizzy-ui-utils")):e(t,t.InfiniteScroll,t.fizzyUIUtils);}(window,function(t,e,i){var n=e.prototype;e.defaults.history="replace";var o=document.createElement("a");return e.create.history=function(){if(this.options.history){o.href=this.getAbsolutePath();var t=o.origin||o.protocol+"//"+o.host,e=t==location.origin;return e?void(this.options.append?this.createHistoryAppend():this.createHistoryPageLoad()):void console.error("[InfiniteScroll] cannot set history with different origin: "+o.origin+" on "+location.origin+" . History behavior disabled.");}},n.createHistoryAppend=function(){this.updateMeasurements(),this.updateScroller(),this.scrollPages=[{top:0,path:location.href,title:document.title}],this.scrollPageIndex=0,this.scrollHistoryHandler=this.onScrollHistory.bind(this),this.unloadHandler=this.onUnload.bind(this),this.scroller.addEventListener("scroll",this.scrollHistoryHandler),this.on("append",this.onAppendHistory),this.bindHistoryAppendEvents(!0);},n.bindHistoryAppendEvents=function(e){var i=e?"addEventListener":"removeEventListener";this.scroller[i]("scroll",this.scrollHistoryHandler),t[i]("unload",this.unloadHandler);},n.createHistoryPageLoad=function(){this.on("load",this.onPageLoadHistory);},e.destroy.history=n.destroyHistory=function(){var t=this.options.history&&this.options.append;t&&this.bindHistoryAppendEvents(!1);},n.onAppendHistory=function(t,e,i){if(i&&i.length){var n=i[0],r=this.getElementScrollY(n);o.href=e,this.scrollPages.push({top:r,path:o.href,title:t.title});}},n.getElementScrollY=function(t){return this.options.elementScroll?this.getElementElementScrollY(t):this.getElementWindowScrollY(t);},n.getElementWindowScrollY=function(e){var i=e.getBoundingClientRect();return i.top+t.pageYOffset;},n.getElementElementScrollY=function(t){return t.offsetTop-this.top;},n.onScrollHistory=function(){for(var t,e,i=this.getScrollViewY(),n=0;n=i)break;t=n,e=o;}t!=this.scrollPageIndex&&(this.scrollPageIndex=t,this.setHistory(e.title,e.path));},i.debounceMethod(e,"onScrollHistory",150),n.getScrollViewY=function(){return this.options.elementScroll?this.scroller.scrollTop+this.scroller.clientHeight/2:t.pageYOffset+this.windowHeight/2;},n.setHistory=function(t,e){var i=this.options.history,n=i&&history[i+"State"];n&&(history[i+"State"](null,t,e),this.options.historyTitle&&(document.title=t),this.dispatchEvent("history",null,[t,e]));},n.onUnload=function(){var e=this.scrollPageIndex;if(0!==e){var i=this.scrollPages[e],n=t.pageYOffset-i.top+this.top;this.destroyHistory(),scrollTo(0,n);}},n.onPageLoadHistory=function(t,e){this.setHistory(t.title,e);},e;}),function(t,e){"function"==typeof define&&define.amd?define("infinite-scroll/js/button",["./core","fizzy-ui-utils/utils"],function(i,n){return e(t,i,n);}):"object"==typeof module&&module.exports?module.exports=e(t,require("./core"),require("fizzy-ui-utils")):e(t,t.InfiniteScroll,t.fizzyUIUtils);}(window,function(t,e,i){function n(t,e){this.element=t,this.infScroll=e,this.clickHandler=this.onClick.bind(this),this.element.addEventListener("click",this.clickHandler),e.on("request",this.disable.bind(this)),e.on("load",this.enable.bind(this)),e.on("error",this.hide.bind(this)),e.on("last",this.hide.bind(this));}return e.create.button=function(){var t=i.getQueryElement(this.options.button);if(t)return void(this.button=new n(t,this));},e.destroy.button=function(){this.button&&this.button.destroy();},n.prototype.onClick=function(t){t.preventDefault(),this.infScroll.loadNextPage();},n.prototype.enable=function(){this.element.removeAttribute("disabled");},n.prototype.disable=function(){this.element.disabled="disabled";},n.prototype.hide=function(){this.element.style.display="none";},n.prototype.destroy=function(){this.element.removeEventListener("click",this.clickHandler);},e.Button=n,e;}),function(t,e){"function"==typeof define&&define.amd?define("infinite-scroll/js/status",["./core","fizzy-ui-utils/utils"],function(i,n){return e(t,i,n);}):"object"==typeof module&&module.exports?module.exports=e(t,require("./core"),require("fizzy-ui-utils")):e(t,t.InfiniteScroll,t.fizzyUIUtils);}(window,function(t,e,i){function n(t){r(t,"none");}function o(t){r(t,"block");}function r(t,e){t&&(t.style.display=e);}var s=e.prototype;return e.create.status=function(){var t=i.getQueryElement(this.options.status);t&&(this.statusElement=t,this.statusEventElements={request:t.querySelector(".infinite-scroll-request"),error:t.querySelector(".infinite-scroll-error"),last:t.querySelector(".infinite-scroll-last")},this.on("request",this.showRequestStatus),this.on("error",this.showErrorStatus),this.on("last",this.showLastStatus),this.bindHideStatus("on"));},s.bindHideStatus=function(t){var e=this.options.append?"append":"load";this[t](e,this.hideAllStatus);},s.showRequestStatus=function(){this.showStatus("request");},s.showErrorStatus=function(){this.showStatus("error");},s.showLastStatus=function(){this.showStatus("last"),this.bindHideStatus("off");},s.showStatus=function(t){o(this.statusElement),this.hideStatusEventElements();var e=this.statusEventElements[t];o(e);},s.hideAllStatus=function(){n(this.statusElement),this.hideStatusEventElements();},s.hideStatusEventElements=function(){for(var t in this.statusEventElements){var e=this.statusEventElements[t];n(e);}},e;}),function(t,e){"function"==typeof define&&define.amd?define(["infinite-scroll/js/core","infinite-scroll/js/page-load","infinite-scroll/js/scroll-watch","infinite-scroll/js/history","infinite-scroll/js/button","infinite-scroll/js/status"],e):"object"==typeof module&&module.exports&&(module.exports=e(require("./core"),require("./page-load"),require("./scroll-watch"),require("./history"),require("./button"),require("./status")));}(window,function(t){return t;}),function(t,e){"use strict";"function"==typeof define&&define.amd?define("imagesloaded/imagesloaded",["ev-emitter/ev-emitter"],function(i){return e(t,i);}):"object"==typeof module&&module.exports?module.exports=e(t,require("ev-emitter")):t.imagesLoaded=e(t,t.EvEmitter);}("undefined"!=typeof window?window:this,function(t,e){function i(t,e){for(var i in e)t[i]=e[i];return t;}function n(t){if(Array.isArray(t))return t;var e="object"==typeof t&&"number"==typeof t.length;return e?h.call(t):[t];}function o(t,e,r){if(!(this instanceof o))return new o(t,e,r);var s=t;return"string"==typeof t&&(s=document.querySelectorAll(t)),s?(this.elements=n(s),this.options=i({},this.options),"function"==typeof e?r=e:i(this.options,e),r&&this.on("always",r),this.getImages(),l&&(this.jqDeferred=new l.Deferred),void setTimeout(this.check.bind(this))):void a.error("Bad element for imagesLoaded "+(s||t));}function r(t){this.img=t;}function s(t,e){this.url=t,this.element=e,this.img=new Image;}var l=t.jQuery,a=t.console,h=Array.prototype.slice;o.prototype=Object.create(e.prototype),o.prototype.options={},o.prototype.getImages=function(){this.images=[],this.elements.forEach(this.addElementImages,this);},o.prototype.addElementImages=function(t){"IMG"==t.nodeName&&this.addImage(t),this.options.background===!0&&this.addElementBackgroundImages(t);var e=t.nodeType;if(e&&c[e]){for(var i=t.querySelectorAll("img"),n=0;n"; - - let iframe = document.getElementById("frame"); - iframe.src = iframeUrl; - iframe.width = val("width"); - iframe.height = val("height"); -}; \ No newline at end of file diff --git a/src/public/masto-dark.css b/src/public/masto-dark.css deleted file mode 100644 index 6097115..0000000 --- a/src/public/masto-dark.css +++ /dev/null @@ -1,163 +0,0 @@ -html, -body { - background-color: #282c37; - font-family: 'Roboto', roboto, Arial, sans-serif; - color: #ffffff; - font-weight: lighter; - overflow-x: hidden; - font-size: 100%; - word-break: break-word; } - -* { - margin: 0; - padding: 0; } - -a, -a * { - color: #2b90d9; } - -.meta { - background-color: #39404d; } - -.header { - display: flex; - background-size: cover; - min-height: 8rem; - color: #ffffff; } - .header .header-left, .header .header-right { - margin: 0; } - .header .header-left { - min-width: 8rem; - position: relative; - text-align: center; - background: rgba(40, 44, 55, 0.3); } - .header .header-left .avatar { - width: 6rem; - height: 6rem; - position: relative; - top: calc(50% - 3rem); } - .header .header-right { - flex-grow: 1; - font-size: 0.9rem; - padding: 0.9rem; - background: rgba(40, 44, 55, 0.85); } - .header .header-title { - font-size: 1.3rem; } - -.item { - padding: 1rem; - border-top: solid 1px #626d80; } - -.item-content, -.cw, -.title { - font-size: 1.1rem; - font-weight: lighter; } - -.item-content *, .cw { - margin: 1rem 0; - line-height: 1.4rem; } - -.item-title, -.date, -.author-fullname { - color: #9baec8; - font-size: 0.9rem; } - -.date { - margin: 1rem 0 0 0; - text-decoration: none; - display: block; } - -.date:hover { - text-decoration: underline; } - -.item-title { - margin-bottom: 0.7rem; } - -.author { - display: flex; - margin-bottom: 1rem; } - -.author-info { - margin: 0 1rem; - display: flex; - flex-direction: column; - justify-content: space-around; } - .author-info .author-displayname { - font-size: 1.2rem; - color: #ffffff; - text-decoration: none; - display: block; - font-weight: bolder; } - -.avatar { - width: 3rem; - height: 3rem; - border: none; - border-radius: 10%; } - .avatar.circular { - border-radius: 100%; } - -.enclosures { - padding: 0.5em 0; - display: flex; - flex-wrap: wrap; - flex-direction: row; - overflow: hidden; } - -.enclosure { - display: flex; - flex: 1 1 auto; - width: 50%; - border: none; - max-height: 12rem; } - -a.enclosure { - cursor: zoom-in; } - -.enclosure > * { - flex: 1 1 auto; - width: 100%; - height: 100%; - object-fit: cover; } - -.meta .title { - font-weight: bold; } - -.hidden { - display: none; } - -.button { - padding: 0.5rem 1rem; - border: none; - margin: 1rem; - border-radius: 0.5rem; - display: inline-block; - text-decoration: none; - background: #2b90d9; - color: #ffffff; - font-weight: 400; - cursor: pointer; - text-transform: uppercase; - user-select: none; } - -label.button { - padding: 0.25rem 0.5rem; - margin: 0.4rem; - background: #626d80; - color: #282c37; - font-size: 0.8rem; } - -input[type=checkbox] { - position: absolute; - left: -9999px; } - -input[type=checkbox]:checked ~ label::after { - content: " Less"; } - -input[type=checkbox]:not(:checked) ~ label::after { - content: " More"; } - -input[type=checkbox]:not(:checked) ~ div { - display: none; } diff --git a/src/public/masto-light.css b/src/public/masto-light.css deleted file mode 100644 index d2ebe1e..0000000 --- a/src/public/masto-light.css +++ /dev/null @@ -1,170 +0,0 @@ -html, -body { - background-color: #ffffff; - font-family: 'Roboto', roboto, Arial, sans-serif; - color: #282c37; - font-weight: lighter; - overflow-x: hidden; - font-size: 100%; - word-break: break-word; } - -* { - margin: 0; - padding: 0; } - -a, -a * { - color: #2b90d9; } - -.meta { - background-color: #ecf0f4; } - -.header { - display: flex; - background-size: cover; - min-height: 8rem; - color: #282c37; } - .header .header-left, .header .header-right { - margin: 0; } - .header .header-left { - min-width: 8rem; - position: relative; - text-align: center; - background: rgba(255, 255, 255, 0.3); } - .header .header-left .avatar { - width: 6rem; - height: 6rem; - position: relative; - top: calc(50% - 3rem); } - .header .header-right { - flex-grow: 1; - font-size: 0.9rem; - padding: 0.9rem; - background: rgba(255, 255, 255, 0.85); } - .header .header-title { - font-size: 1.3rem; } - -.item { - padding: 1rem; - border-top: solid 1px #8494ab; } - -.item-content, -.cw, -.title { - font-size: 1.1rem; - font-weight: lighter; } - -.item-content *, .cw { - margin: 1rem 0; - line-height: 1.4rem; } - -.item-title, -.date, -.author-fullname { - color: #90a1ba; - font-size: 0.9rem; } - -.date { - margin: 1rem 0 0 0; - text-decoration: none; - display: block; } - -.date:hover { - text-decoration: underline; } - -.item-title { - margin-bottom: 0.7rem; } - -.author { - display: flex; - margin-bottom: 1rem; } - -.author-info { - margin: 0 1rem; - display: flex; - flex-direction: column; - justify-content: space-around; } - .author-info .author-displayname { - font-size: 1.2rem; - color: #282c37; - text-decoration: none; - display: block; - font-weight: bolder; } - -.avatar { - width: 3rem; - height: 3rem; - border: none; - border-radius: 10%; } - .avatar.circular { - border-radius: 100%; } - -.enclosures { - padding: 0.5em 0; - display: flex; - flex-wrap: wrap; - flex-direction: row; - overflow: hidden; } - -.enclosure { - display: flex; - flex: 1 1 auto; - width: 50%; - border: none; - max-height: 12rem; } - -a.enclosure { - cursor: zoom-in; } - -.enclosure > * { - flex: 1 1 auto; - width: 100%; - height: 100%; - object-fit: cover; } - -.meta .title { - font-weight: bold; } - -.hidden { - display: none; } - -.button { - padding: 0.5rem 1rem; - border: none; - margin: 1rem; - border-radius: 0.5rem; - display: inline-block; - text-decoration: none; - background: #2b90d9; - color: #282c37; - font-weight: 400; - cursor: pointer; - text-transform: uppercase; - user-select: none; } - -label.button { - padding: 0.25rem 0.5rem; - margin: 0.4rem; - background: #8494ab; - color: #ffffff; - font-size: 0.8rem; } - -input[type=checkbox] { - position: absolute; - left: -9999px; } - -input[type=checkbox]:checked ~ label::after { - content: " Less"; } - -input[type=checkbox]:not(:checked) ~ label::after { - content: " More"; } - -input[type=checkbox]:not(:checked) ~ div { - display: none; } - -.item-content, -.description, -.title, -html, -body { - font-weight: normal; } diff --git a/src/stylesrc/masto-auto.scss b/src/stylesrc/masto-auto.scss deleted file mode 100644 index 78acd7b..0000000 --- a/src/stylesrc/masto-auto.scss +++ /dev/null @@ -1,5 +0,0 @@ -@import 'masto-light.scss'; - -@media (prefers-color-scheme: masto-dark) { - @import 'masto-dark.scss'; -} \ No newline at end of file diff --git a/src/stylesrc/masto-base.scss b/src/stylesrc/masto-base.scss deleted file mode 100644 index c43037b..0000000 --- a/src/stylesrc/masto-base.scss +++ /dev/null @@ -1,196 +0,0 @@ -$bg: #fff !default; -$bg2: darken($bg, 6) !default; -$fg: #000 !default; -$dim: lighten($fg, 50) !default; -$dimmer: darken($bg2, 10) !default; -$link: #09c !default; - -html, -body { - background-color: $bg; - font-family: 'Roboto', roboto, Arial, sans-serif; - color: $fg; - font-weight: lighter; - overflow-x:hidden; - font-size:100%; - word-break: break-word; -} - -* { - margin: 0; - padding: 0; -} - -a, -a * { - color: $link; -} - -.meta { - //padding: 1rem; - background-color: $bg2; -} - -.header{ - display:flex; - background-size:cover; - min-height:8rem; - color:$fg; - .header-left,.header-right{ - margin:0; - } - .header-left{ - min-width:8rem; - position:relative; - text-align:center; - background:transparentize($bg,0.7); - .avatar{ - width: 6rem; - height: 6rem; - position:relative; - top:calc(50% - 3rem); - } - } - .header-right{ - flex-grow:1; - font-size:0.9rem; - padding:0.9rem; - background:transparentize($bg,0.15); - } - .header-title{ - font-size:1.3rem; - } -} - -.item { - padding: 1rem; - border-top: solid 1px $dimmer; -} - -.item-content, -.cw, -.title { - font-size: 1.1rem; - font-weight:lighter; -} - - -.item-content *,.cw{ - margin: 1rem 0; - line-height:1.4rem; -} - -.item-title, -.date, -.author-fullname { - color: $dim; - font-size: 0.9rem; -} -.date{ - margin: 1rem 0 0 0; - text-decoration: none; - display:block; -} -.date:hover{ - text-decoration: underline; -} -.item-title{ - margin-bottom:0.7rem; -} - -.author { - display: flex; - margin-bottom: 1rem; -} - -.author-info { - margin: 0 1rem; - display: flex; - flex-direction: column; - justify-content: space-around; - .author-displayname { - font-size: 1.2rem; - color: $fg; - text-decoration: none; - display: block; - font-weight: bolder; - } -} - -.avatar { - width: 3rem; - height: 3rem; - border: none; - border-radius: 10%; - &.circular{ - border-radius: 100%; - } -} - -.enclosures { - padding: 0.5em 0; - display: flex; - flex-wrap:wrap; - flex-direction: row; - overflow: hidden; -} - -.enclosure{ - display:flex; - flex: 1 1 auto; - width:50%; - border: none; - max-height: 12rem; -} -a.enclosure{ - cursor: zoom-in; -} -.enclosure>*{ - flex: 1 1 auto; - width:100%; - height:100%; - object-fit: cover; -} -.meta .title{ - font-weight:bold; -} -.hidden{ - display:none; -} -.button{ - padding: 0.5rem 1rem; - border: none; - margin: 1rem; - border-radius: 0.5rem; - display: inline-block; - text-decoration: none; - background:$link; - color:$fg; - font-weight:400; - cursor: pointer; - text-transform: uppercase; - user-select: none; -} -label.button{ - padding: 0.25rem 0.5rem; - margin:0.4rem; - background:$dimmer; - color:$bg; - font-size:0.8rem; -} - -// checkbox hack stuff -input[type=checkbox] { - position: absolute; - left: -9999px; -} -input[type=checkbox]:checked ~ label::after{ - content:" Less"; -} -input[type=checkbox]:not(:checked) ~ label::after{ - content:" More"; -} - -input[type=checkbox]:not(:checked) ~ div{ - display:none; -} diff --git a/src/stylesrc/masto-dark.scss b/src/stylesrc/masto-dark.scss deleted file mode 100644 index a19a622..0000000 --- a/src/stylesrc/masto-dark.scss +++ /dev/null @@ -1,10 +0,0 @@ -@import 'mastodon-vars.scss'; - -$bg: $darkest; -$bg2: mix($darkest,$lighter,85%); -$fg: $white; -$dim: $lighter; -$dimmer: mix($darkest,$lighter,50%); -$link: $vibrant; - -@import 'masto-base.scss'; diff --git a/src/stylesrc/masto-light.scss b/src/stylesrc/masto-light.scss deleted file mode 100644 index da594d9..0000000 --- a/src/stylesrc/masto-light.scss +++ /dev/null @@ -1,18 +0,0 @@ -@import 'mastodon-vars.scss'; - -$bg: $white ; -$bg2: mix($lightest,$white); -$fg: $darkest; -$dim: mix($lighter,$darkest,90%); -$dimmer: mix($lighter,$darkest,80%); -$link: $vibrant; - -@import 'masto-base.scss'; - -.item-content, -.description, -.title, -html, -body { - font-weight:normal; -} diff --git a/src/stylesrc/mastodon-vars.scss b/src/stylesrc/mastodon-vars.scss deleted file mode 100644 index 24a9b8d..0000000 --- a/src/stylesrc/mastodon-vars.scss +++ /dev/null @@ -1,8 +0,0 @@ -$darkest: #282c37 !default; // darkest -$lightest: #d9e1e8 !default; // lightest -$lighter: #9baec8 !default; // lighter -$vibrant: #2b90d9 !default; // vibrant -$white: #ffffff !default; // white -$error: #df405a !default; // error red -$succ: #79bd9a !default; // succ green -$black: #000000 !default; // black diff --git a/test/embedExample.html b/test/embedExample.html deleted file mode 100644 index b62e20a..0000000 --- a/test/embedExample.html +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - diff --git a/test/result.html b/test/result.html deleted file mode 100644 index 838e394..0000000 --- a/test/result.html +++ /dev/null @@ -1,534 +0,0 @@ - - - - - - - - - - - - - -
- -
- - - - - -
- - fenwick 🦆 - -
- Engineer, Developer, Person. http://fenwick.pizza -
-
-
- -
- - - - -
- -
fenwick67 shared a status by cypnk@mastodon.social
- -
- - - -
- r҉ustic cy͠be̸rpu̵nk🤠🤖 -
cypnk@mastodon.social
-
-
-
-

So curl parrot.live is a thing

( Via twitter.com/darksim905/status/ )

-
- -
- - - - - -
- -
16 hours ago
-
- -
- -
fenwick67 shared a status by LinuxSocist@icosahedron.website
- -
- - - -
- Linux Socialist -
LinuxSocist@icosahedron.website
-
-
-
-

'Why we choose Godot Engine – Rock Milk'
medium.com/@rockmilkgames/why-

-
- -
16 hours ago
-
- -
- -
fenwick67 shared a status by meirlbot@mastodon.social
- -
- - - -
- me irl -
meirlbot@mastodon.social
-
-
- - -
- - - - - - - -
- -
16 hours ago
-
- -
- -
fenwick67 shared a status by natecull@mastodon.social
- -
- - - -
- Nate Cull -
natecull@mastodon.social
-
-
-
-

Medium needs to stop doing this, or people need to stop using Medium.

It's a website that hosts blogs.

That you read.

it doesn't need your Fooglebaceook account.

-
- -
- - - - - - - -
- -
16 hours ago
-
- -
- -
fenwick67 shared a status by tom@slime.global
- -
- - - -
- switched-on tom -
tom@slime.global
-
-
-
-

fuck you

-
- -
- - - - - -
- -
17 hours ago
-
- -
- -
fenwick67 shared a status by mcmoots@a.weirder.earth
- -
- - - -
- 👀🌲 -
mcmoots@a.weirder.earth
-
-
-
-

From yesterday. Even with a surprise snow it's still the most wonderful time of the year.

-
- -
- - - - - - - -
- -
18 hours ago
-
- -
- -
- - - -
- fenwick 🦆 -
fenwick67@octodon.social
-
-
-
-

@GinnyMcQueen these are so geometric I thought it was some plastic thing when I scrolled past

-
- -
18 hours ago
-
- -
- -
fenwick67 shared a status by fillertrack@slime.global
- -
- - - -
- 🐦birdtom🐦 -
fillertrack@slime.global
-
-
-
-

I am become death, destroyer of worlds.

-
- -
- - - - - -
- -
20 hours ago
-
- -
- -
- - - -
- fenwick 🦆 -
fenwick67@octodon.social
-
-
-
-

@zigg node's FS module on Windows is buggy enough that I recommend using the graceful-fs module in its place when you can

-
- -
1 day ago
-
- -
- -
- - - -
- fenwick 🦆 -
fenwick67@octodon.social
-
-
- - -
1 day ago
-
- -
- -
fenwick67 shared a status by kingu_platypus_gidora
- -
- - - -
- Anarkingu Gidora -
kingu_platypus_gidora@octodon.social
-
-
- - -
- - - - - - - -
- -
1 day ago
-
- -
- -
- - - -
- fenwick 🦆 -
fenwick67@octodon.social
-
-
-
-

@Mycroft the starter set is legit, it's easy to pick up and a surprising amount of content. Also, the SRD is free to download and there are free adventures on DM's guild.

-
- -
1 day ago
-
- -
- -
- - - -
- fenwick 🦆 -
fenwick67@octodon.social
-
-
-
-

@phenethylamine vlc?

-
- -
1 day ago
-
- -
- -
- - - -
- fenwick 🦆 -
fenwick67@octodon.social
-
-
-
-

@Shalazah welcome y'all

-
- -
1 day ago
-
- -
- -
fenwick67 shared a status by plsburydoughboy@kitty.town
- -
- - - -
- pls pet the kitty db -
plsburydoughboy@kitty.town
-
-
-
-

Marvel: “Infinity War is the most ambitious crossover event in history.”

Me, fighting off the bad vibes of the world:

-
- - - -
1 day ago
-
- -
- -
- - - -
- fenwick 🦆 -
fenwick67@octodon.social
-
-
-
-

@idesofmerch a radar chart would work great for this imo

-
- -
1 day ago
-
- -
- -
fenwick67 shared a status by weird_hell@cybre.space
- -
- - - -
- Display Neam -
weird_hell@cybre.space
-
-
-
-

if you can't be normal, stop trying to be normal.

Be weird. Go hard. Don't follow the advice.

-
- -
2 days ago
-
- -
- -
fenwick67 shared a status by irisjaycomics@mastodon.social
- -
- - - -
- ✨Iris Jay✨ -
irisjaycomics@mastodon.social
-
-
-
-

crossedwires.irisjay.net/?comic=02-106 NEW CROSSED WIRES UPDATE IS LIVE! It’s showdown time and nobody’s playing fair. #cyberpunk #webcomic #queercomics

Read from the beginning here: crossedwires.irisjay.net/?comi Buy the book here: oreillyjay.tictail.com/product … Send me a tip here: ko-fi.com/irisjay

-
- -
- - - - - - - -
- -
2 days ago
-
- -
- -
fenwick67 shared a status by omanreagan@scholar.social
- -
- - - -
- Michael 🚀 -
omanreagan@scholar.social
-
-
-
-

Most importantly, stop putting institutional events on Facebook, stop using it at universities, stop making participation in Facebook mandatory through your institutional, organization, and activist roles. You can be online, and social, and connected without supporting Facebook.

-
- -
2 days ago
-
- -
- -
fenwick67 shared a status by elomatreb@glitch.social
- -
- - - -
- elomatreb 🐟 -
elomatreb@glitch.social
-
-
-
-

Decades of programming language research destroyed in one sick own by a rotating coyote

-
- -
2 days ago
-
- -
- - - diff --git a/test/sample.atom b/test/sample.atom deleted file mode 100644 index 1a078d7..0000000 --- a/test/sample.atom +++ /dev/null @@ -1,721 +0,0 @@ - - - https://octodon.social/users/fenwick67.atom - fenwick 🦆 - Engineer, Developer, Person. http://fenwick.pizza - 2018-03-23T15:09:56Z - https://assets.octodon.social/accounts/avatars/000/008/871/original/d5281ad9c6c7401d.jpg - - https://octodon.social/users/fenwick67 - http://activitystrea.ms/schema/1.0/person - https://octodon.social/users/fenwick67 - fenwick67 - fenwick67@octodon.social - <p>Engineer, Developer, Person. <a href="http://fenwick.pizza" rel="nofollow noopener" target="_blank"><span class="invisible">http://</span><span class="">fenwick.pizza</span><span class="invisible"></span></a></p> - - - fenwick67 - fenwick 🦆 - Engineer, Developer, Person. http://fenwick.pizza - public - - - - - - - - https://octodon.social/users/fenwick67/statuses/99736382143914398/activity - 2018-03-24T01:53:36Z - 2018-03-24T01:53:36Z - fenwick67 shared a status by cypnk@mastodon.social - http://activitystrea.ms/schema/1.0/activity - http://activitystrea.ms/schema/1.0/share - - https://mastodon.social/users/cypnk/statuses/99736359953171849 - 2018-03-24T01:48:12Z - 2018-03-24T01:48:12Z - New status by cypnk@mastodon.social - - https://mastodon.social/users/cypnk - http://activitystrea.ms/schema/1.0/person - https://mastodon.social/users/cypnk - cypnk - cypnk@mastodon.social - <p>Coffee, Code, Cabins<br>New York 🇺🇲</p><p>Tor: <a href="http://zgmlocci2uheaw6y.onion" rel="nofollow noopener" target="_blank"><span class="invisible">http://</span><span class="">zgmlocci2uheaw6y.onion</span><span class="invisible"></span></a></p> - - - - cypnk - r҉ustic cy͠be̸rpu̵nk🤠🤖 - Coffee, Code, CabinsNew York 🇺🇲Tor: http://zgmlocci2uheaw6y.onion - public - - http://activitystrea.ms/schema/1.0/note - http://activitystrea.ms/schema/1.0/post - <p>So curl parrot.live is a thing</p><p>( Via <a href="https://twitter.com/darksim905/status/977256948918874112" rel="nofollow noopener" target="_blank"><span class="invisible">https://</span><span class="ellipsis">twitter.com/darksim905/status/</span><span class="invisible">977256948918874112</span></a> )</p> - - - public - - - - - <p>So curl parrot.live is a thing</p><p>( Via <a href="https://twitter.com/darksim905/status/977256948918874112" rel="nofollow noopener" target="_blank"><span class="invisible">https://</span><span class="ellipsis">twitter.com/darksim905/status/</span><span class="invisible">977256948918874112</span></a> )</p> - - public - - - - - - https://octodon.social/users/fenwick67/statuses/99736372019184621/activity - 2018-03-24T01:51:02Z - 2018-03-24T01:51:02Z - fenwick67 shared a status by LinuxSocist@icosahedron.website - http://activitystrea.ms/schema/1.0/activity - http://activitystrea.ms/schema/1.0/share - - https://icosahedron.website/users/LinuxSocist/statuses/99736289786218826 - 2018-03-24T01:30:11Z - 2018-03-24T01:30:11Z - New status by LinuxSocist@icosahedron.website - - https://icosahedron.website/users/LinuxSocist - http://activitystrea.ms/schema/1.0/person - https://icosahedron.website/users/LinuxSocist - LinuxSocist - LinuxSocist@icosahedron.website - <p>If you can't hack it then you don't own it.</p> - - - - LinuxSocist - Linux Socialist - If you can't hack it then you don't own it. - public - - http://activitystrea.ms/schema/1.0/note - http://activitystrea.ms/schema/1.0/post - <p>'Why we choose Godot Engine – Rock Milk'<br><a href="https://medium.com/@rockmilkgames/why-godot-engine-e0d4736d6eb0" rel="nofollow noopener" target="_blank"><span class="invisible">https://</span><span class="ellipsis">medium.com/@rockmilkgames/why-</span><span class="invisible">godot-engine-e0d4736d6eb0</span></a></p> - - public - - - - - <p>'Why we choose Godot Engine – Rock Milk'<br><a href="https://medium.com/@rockmilkgames/why-godot-engine-e0d4736d6eb0" rel="nofollow noopener" target="_blank"><span class="invisible">https://</span><span class="ellipsis">medium.com/@rockmilkgames/why-</span><span class="invisible">godot-engine-e0d4736d6eb0</span></a></p> - - public - - - - - - https://octodon.social/users/fenwick67/statuses/99736293961915027/activity - 2018-03-24T01:31:11Z - 2018-03-24T01:31:11Z - fenwick67 shared a status by meirlbot@mastodon.social - http://activitystrea.ms/schema/1.0/activity - http://activitystrea.ms/schema/1.0/share - - https://mastodon.social/users/meirlbot/statuses/99736260594446646 - 2018-03-24T01:22:45Z - 2018-03-24T01:22:45Z - New status by meirlbot@mastodon.social - - https://mastodon.social/users/meirlbot - http://activitystrea.ms/schema/1.0/person - https://mastodon.social/users/meirlbot - meirlbot - meirlbot@mastodon.social - <p>i'm a bot by <span class="h-card"><a href="https://ultrix.me/@corbin" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>corbin</span></a></span> that mirrors the latest posts from /r/me_irl</p><p>twitter: <a href="https://twitter.com/itmeirl" rel="nofollow noopener" target="_blank"><span class="invisible">https://</span><span class="">twitter.com/itmeirl</span><span class="invisible"></span></a></p> - - - - meirlbot - me irl - i'm a bot by @corbin that mirrors the latest posts from /r/me_irltwitter: https://twitter.com/itmeirl - public - - http://activitystrea.ms/schema/1.0/note - http://activitystrea.ms/schema/1.0/post - <p>me irl <a href="https://redd.it/86nbzr" rel="nofollow noopener" target="_blank"><span class="invisible">https://</span><span class="">redd.it/86nbzr</span><span class="invisible"></span></a></p> - - - public - - - - - <p>me irl <a href="https://redd.it/86nbzr" rel="nofollow noopener" target="_blank"><span class="invisible">https://</span><span class="">redd.it/86nbzr</span><span class="invisible"></span></a></p> - - public - - - - - - https://octodon.social/users/fenwick67/statuses/99736270823277858/activity - 2018-03-24T01:25:18Z - 2018-03-24T01:25:18Z - fenwick67 shared a status by natecull@mastodon.social - http://activitystrea.ms/schema/1.0/activity - http://activitystrea.ms/schema/1.0/share - - https://mastodon.social/users/natecull/statuses/99735315450345700 - 2018-03-23T21:22:24Z - 2018-03-23T21:22:24Z - New status by natecull@mastodon.social - - https://mastodon.social/users/natecull - http://activitystrea.ms/schema/1.0/person - https://mastodon.social/users/natecull - natecull - natecull@mastodon.social - <p>and we're all gonna shine a light together</p><p> <a href="http://natecull.org/wordpress/tomorrow/" rel="nofollow noopener" target="_blank"><span class="invisible">http://</span><span class="ellipsis">natecull.org/wordpress/tomorro</span><span class="invisible">w/</span></a></p> - - - natecull - Nate Cull - and we're all gonna shine a light together http://natecull.org/wordpress/tomorrow/ - public - - http://activitystrea.ms/schema/1.0/note - http://activitystrea.ms/schema/1.0/post - <p>Medium needs to stop doing this, or people need to stop using Medium.</p><p>It's a website that hosts blogs.</p><p>That you read.</p><p>it doesn't need your Fooglebaceook account.</p> - - - public - - - - - <p>Medium needs to stop doing this, or people need to stop using Medium.</p><p>It's a website that hosts blogs.</p><p>That you read.</p><p>it doesn't need your Fooglebaceook account.</p> - - public - - - - - - https://octodon.social/users/fenwick67/statuses/99736154791289301/activity - 2018-03-24T00:55:47Z - 2018-03-24T00:55:47Z - fenwick67 shared a status by tom@slime.global - http://activitystrea.ms/schema/1.0/activity - http://activitystrea.ms/schema/1.0/share - - https://slime.global/users/tom/statuses/99732325744900240 - 2018-03-23T08:42:08Z - 2018-03-23T08:42:08Z - New status by tom@slime.global - - https://slime.global/users/tom - http://activitystrea.ms/schema/1.0/person - https://slime.global/users/tom - tom - tom@slime.global - <p>systems engineer by day, instance admin by night! </p><p>also makes music &amp; takes photos. </p><p>nb, they/them ❤️ <a href="https://tom.ovh" rel="nofollow noopener" target="_blank"><span class="invisible">https://</span><span class="">tom.ovh</span><span class="invisible"></span></a> <a href="https://ko-fi.com/itstom" rel="nofollow noopener" target="_blank"><span class="invisible">https://</span><span class="">ko-fi.com/itstom</span><span class="invisible"></span></a> (EN/DE OK)</p> - - - - tom - switched-on tom - systems engineer by day, instance admin by night! also makes music &amp; takes photos. nb, they/them ❤️ https://tom.ovh https://ko-fi.com/itstom (EN/DE OK) - public - - http://activitystrea.ms/schema/1.0/comment - http://activitystrea.ms/schema/1.0/post - <p>fuck you</p> - - - public - - - - - - <p>fuck you</p> - - public - - - - - - https://octodon.social/users/fenwick67/statuses/99735931584316464/activity - 2018-03-23T23:59:02Z - 2018-03-23T23:59:02Z - fenwick67 shared a status by mcmoots@a.weirder.earth - http://activitystrea.ms/schema/1.0/activity - http://activitystrea.ms/schema/1.0/share - - https://a.weirder.earth/users/mcmoots/statuses/99735929849758025 - 2018-03-23T23:58:41Z - 2018-03-23T23:58:41Z - New status by mcmoots@a.weirder.earth - - https://a.weirder.earth/users/mcmoots - http://activitystrea.ms/schema/1.0/person - https://a.weirder.earth/users/mcmoots - mcmoots - mcmoots@a.weirder.earth - <p>your favorite non-masculine pronouns are fine</p><p>🌲🌿🍄<br>🌋🏔<br>🥗🥘<br>🍸🍷🍺 <br>🍩 🥧<br>😻</p> - - - mcmoots - 👀🌲 - your favorite non-masculine pronouns are fine🌲🌿🍄🌋🏔🥗🥘🍸🍷🍺 🍩 🥧😻 - public - - http://activitystrea.ms/schema/1.0/note - http://activitystrea.ms/schema/1.0/post - <p>From yesterday. Even with a surprise snow it's still the most wonderful time of the year.</p> - - - public - - - - - <p>From yesterday. Even with a surprise snow it's still the most wonderful time of the year.</p> - - public - - - - - - https://octodon.social/users/fenwick67/statuses/99735917404431053 - 2018-03-23T23:55:25Z - 2018-03-23T23:55:25Z - New status by fenwick67 - http://activitystrea.ms/schema/1.0/comment - http://activitystrea.ms/schema/1.0/post - - <p><span class="h-card"><a href="https://kitty.town/@GinnyMcQueen" class="u-url mention">@<span>GinnyMcQueen</span></a></span> these are so geometric I thought it was some plastic thing when I scrolled past</p> - - - public - - - - - - - https://octodon.social/users/fenwick67/statuses/99735390633117557/activity - 2018-03-23T21:41:27Z - 2018-03-23T21:41:27Z - fenwick67 shared a status by fillertrack@slime.global - http://activitystrea.ms/schema/1.0/activity - http://activitystrea.ms/schema/1.0/share - - https://slime.global/users/fillertrack/statuses/99732555261994849 - 2018-03-23T09:40:25Z - 2018-03-23T09:40:25Z - New status by fillertrack@slime.global - - https://slime.global/users/fillertrack - http://activitystrea.ms/schema/1.0/person - https://slime.global/users/fillertrack - fillertrack - fillertrack@slime.global - <p>Queer socialist grackle. Want to make video games and mixtapes. They/Them</p><p>Donations appreciated<br>ko-fi.com/fillertrack<br>paypal.me/imack666</p> - - - - fillertrack - 🐦birdtom🐦 - Queer socialist grackle. Want to make video games and mixtapes. They/ThemDonations appreciatedko-fi.com/fillertrackpaypal.me/imack666 - public - - http://activitystrea.ms/schema/1.0/note - http://activitystrea.ms/schema/1.0/post - <p>I am become death, destroyer of worlds.</p> - - - public - - - - - <p>I am become death, destroyer of worlds.</p> - - public - - - - - - https://octodon.social/users/fenwick67/statuses/99734417810440700 - 2018-03-23T17:34:03Z - 2018-03-23T17:34:03Z - New status by fenwick67 - http://activitystrea.ms/schema/1.0/comment - http://activitystrea.ms/schema/1.0/post - - <p><span class="h-card"><a href="https://cybre.space/@zigg" class="u-url mention">@<span>zigg</span></a></span> node&apos;s FS module on Windows is buggy enough that I recommend using the graceful-fs module in its place when you can</p> - - - public - - - - - - - https://octodon.social/users/fenwick67/statuses/99733847193567183 - 2018-03-23T15:08:56Z - 2018-03-23T15:08:56Z - New status by fenwick67 - http://activitystrea.ms/schema/1.0/comment - http://activitystrea.ms/schema/1.0/post - - <p><span class="h-card"><a href="https://octodon.social/@kingu_platypus_gidora" class="u-url mention">@<span>kingu_platypus_gidora</span></a></span> me tbh</p> - - - public - - - - - - - https://octodon.social/users/fenwick67/statuses/99733846304708662/activity - 2018-03-23T15:08:43Z - 2018-03-23T15:08:43Z - fenwick67 shared a status by kingu_platypus_gidora - http://activitystrea.ms/schema/1.0/activity - http://activitystrea.ms/schema/1.0/share - - https://octodon.social/users/kingu_platypus_gidora/statuses/99733830894126614 - 2018-03-23T15:04:48Z - 2018-03-23T15:04:48Z - New status by kingu_platypus_gidora - - https://octodon.social/users/kingu_platypus_gidora - http://activitystrea.ms/schema/1.0/person - https://octodon.social/users/kingu_platypus_gidora - kingu_platypus_gidora - kingu_platypus_gidora@octodon.social - <p>Hello World! I am Kingu<br />D*: <a href="https://diasp.org/people/37b279f2a9f2348d" rel="nofollow noopener" target="_blank"><span class="invisible">https://</span><span class="ellipsis">diasp.org/people/37b279f2a9f23</span><span class="invisible">48d</span></a><br />Music: <a href="https://kingu.reactoweb.com/" rel="nofollow noopener" target="_blank"><span class="invisible">https://</span><span class="">kingu.reactoweb.com/</span><span class="invisible"></span></a></p> - - - - kingu_platypus_gidora - Anarkingu Gidora - Hello World! I am Kingu -D*: https://diasp.org/people/37b279f2a9f2348d -Music: https://kingu.reactoweb.com/ - public - - http://activitystrea.ms/schema/1.0/note - http://activitystrea.ms/schema/1.0/post - - <p>.</p> - - - public - - - - - <p>RT <span class="h-card"><a href="https://octodon.social/@kingu_platypus_gidora" class="u-url mention">@<span>kingu_platypus_gidora</span></a></span> .</p> - - public - - - - - - https://octodon.social/users/fenwick67/statuses/99730862747105610 - 2018-03-23T02:29:57Z - 2018-03-23T02:29:57Z - New status by fenwick67 - http://activitystrea.ms/schema/1.0/comment - http://activitystrea.ms/schema/1.0/post - - <p><span class="h-card"><a href="https://meow.social/@Mycroft" class="u-url mention">@<span>Mycroft</span></a></span> the starter set is legit, it&apos;s easy to pick up and a surprising amount of content. Also, the SRD is free to download and there are free adventures on DM&apos;s guild.</p> - - - public - - - - - - - https://octodon.social/users/fenwick67/statuses/99730686004948111 - 2018-03-23T01:45:00Z - 2018-03-23T01:45:00Z - New status by fenwick67 - http://activitystrea.ms/schema/1.0/comment - http://activitystrea.ms/schema/1.0/post - - <p><span class="h-card"><a href="https://niu.moe/@phenethylamine" class="u-url mention">@<span>phenethylamine</span></a></span> vlc?</p> - - - public - - - - - - - https://octodon.social/users/fenwick67/statuses/99730669809908537 - 2018-03-23T01:40:53Z - 2018-03-23T01:40:53Z - New status by fenwick67 - http://activitystrea.ms/schema/1.0/comment - http://activitystrea.ms/schema/1.0/post - - <p><span class="h-card"><a href="https://octodon.social/@Shalazah" class="u-url mention">@<span>Shalazah</span></a></span> welcome y&apos;all</p> - - - public - - - - - - - https://octodon.social/users/fenwick67/statuses/99730661494096566/activity - 2018-03-23T01:38:46Z - 2018-03-23T01:38:46Z - fenwick67 shared a status by plsburydoughboy@kitty.town - http://activitystrea.ms/schema/1.0/activity - http://activitystrea.ms/schema/1.0/share - - https://kitty.town/users/plsburydoughboy/statuses/99730600493978927 - 2018-03-23T01:23:25Z - 2018-03-23T01:23:25Z - New status by plsburydoughboy@kitty.town - - https://kitty.town/users/plsburydoughboy - http://activitystrea.ms/schema/1.0/person - https://kitty.town/users/plsburydoughboy - plsburydoughboy - plsburydoughboy@kitty.town - <p></p> - - - - plsburydoughboy - pls pet the kitty db - - public - - http://activitystrea.ms/schema/1.0/note - http://activitystrea.ms/schema/1.0/post - <p>Marvel: “Infinity War is the most ambitious crossover event in history.”</p><p>Me, fighting off the bad vibes of the world:</p> - - - - - - public - - - - - <p>Marvel: “Infinity War is the most ambitious crossover event in history.”</p><p>Me, fighting off the bad vibes of the world:</p> - - public - - - - - - https://octodon.social/users/fenwick67/statuses/99729911231380605 - 2018-03-22T22:27:58Z - 2018-03-22T22:27:58Z - New status by fenwick67 - http://activitystrea.ms/schema/1.0/comment - http://activitystrea.ms/schema/1.0/post - - <p><span class="h-card"><a href="https://mastodon.social/@idesofmerch" class="u-url mention">@<span>idesofmerch</span></a></span> a radar chart would work great for this imo</p> - - - public - - - - - - - https://octodon.social/users/fenwick67/statuses/99728007954983808/activity - 2018-03-22T14:23:57Z - 2018-03-22T14:23:57Z - fenwick67 shared a status by weird_hell@cybre.space - http://activitystrea.ms/schema/1.0/activity - http://activitystrea.ms/schema/1.0/share - - https://cybre.space/users/weird_hell/statuses/99725634875265024 - 2018-03-22T04:20:27Z - 2018-03-22T04:20:27Z - New status by weird_hell@cybre.space - - https://cybre.space/users/weird_hell - http://activitystrea.ms/schema/1.0/person - https://cybre.space/users/weird_hell - weird_hell - weird_hell@cybre.space - <p>A robot that builds and maintains other, less complex robots.</p><p>Enby / bi/pan as hell / Some days really appreciates your food CWs. &lt;3</p> - - - - weird_hell - Display Neam - A robot that builds and maintains other, less complex robots.Enby / bi/pan as hell / Some days really appreciates your food CWs. &lt;3 - public - - http://activitystrea.ms/schema/1.0/note - http://activitystrea.ms/schema/1.0/post - <p>if you can't be normal, stop trying to be normal.</p><p>Be weird. Go hard. Don't follow the advice.</p> - - public - - - - - <p>if you can't be normal, stop trying to be normal.</p><p>Be weird. Go hard. Don't follow the advice.</p> - - public - - - - - - https://octodon.social/users/fenwick67/statuses/99727127483386833/activity - 2018-03-22T10:40:02Z - 2018-03-22T10:40:02Z - fenwick67 shared a status by irisjaycomics@mastodon.social - http://activitystrea.ms/schema/1.0/activity - http://activitystrea.ms/schema/1.0/share - - https://mastodon.social/users/irisjaycomics/statuses/99718925908910667 - 2018-03-20T23:54:19Z - 2018-03-20T23:54:19Z - New status by irisjaycomics@mastodon.social - - https://mastodon.social/users/irisjaycomics - http://activitystrea.ms/schema/1.0/person - https://mastodon.social/users/irisjaycomics - irisjaycomics - irisjaycomics@mastodon.social - <p>She/they. Comics: Crossed Wires, Epiphany, Golden Trick (writer). <a href="http://irisjay.net" rel="nofollow noopener" target="_blank"><span class="invisible">http://</span><span class="">irisjay.net</span><span class="invisible"></span></a>. Icon by @skollirubedo.</p> - - - - irisjaycomics - ✨Iris Jay✨ - She/they. Comics: Crossed Wires, Epiphany, Golden Trick (writer). http://irisjay.net. Icon by @skollirubedo. - public - - http://activitystrea.ms/schema/1.0/note - http://activitystrea.ms/schema/1.0/post - <p>crossedwires.irisjay.net/?comic=02-106 NEW CROSSED WIRES UPDATE IS LIVE! It’s showdown time and nobody’s playing fair. <a href="https://mastodon.social/tags/cyberpunk" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>cyberpunk</span></a> <a href="https://mastodon.social/tags/webcomic" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>webcomic</span></a> <a href="https://mastodon.social/tags/queercomics" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>queercomics</span></a> </p><p>Read from the beginning here: <a href="http://crossedwires.irisjay.net/?comic=001" rel="nofollow noopener" target="_blank"><span class="invisible">http://</span><span class="ellipsis">crossedwires.irisjay.net/?comi</span><span class="invisible">c=001</span></a> Buy the book here: <a href="http://oreillyjay.tictail.com/product/crossed-wires-volume-1" rel="nofollow noopener" target="_blank"><span class="invisible">http://</span><span class="ellipsis">oreillyjay.tictail.com/product</span><span class="invisible">/crossed-wires-volume-1</span></a> … Send me a tip here: <a href="http://ko-fi.com/irisjay" rel="nofollow noopener" target="_blank"><span class="invisible">http://</span><span class="">ko-fi.com/irisjay</span><span class="invisible"></span></a></p> - - - - - - public - - - - - <p>crossedwires.irisjay.net/?comic=02-106 NEW CROSSED WIRES UPDATE IS LIVE! It’s showdown time and nobody’s playing fair. <a href="https://mastodon.social/tags/cyberpunk" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>cyberpunk</span></a> <a href="https://mastodon.social/tags/webcomic" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>webcomic</span></a> <a href="https://mastodon.social/tags/queercomics" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>queercomics</span></a> </p><p>Read from the beginning here: <a href="http://crossedwires.irisjay.net/?comic=001" rel="nofollow noopener" target="_blank"><span class="invisible">http://</span><span class="ellipsis">crossedwires.irisjay.net/?comi</span><span class="invisible">c=001</span></a> Buy the book here: <a href="http://oreillyjay.tictail.com/product/crossed-wires-volume-1" rel="nofollow noopener" target="_blank"><span class="invisible">http://</span><span class="ellipsis">oreillyjay.tictail.com/product</span><span class="invisible">/crossed-wires-volume-1</span></a> … Send me a tip here: <a href="http://ko-fi.com/irisjay" rel="nofollow noopener" target="_blank"><span class="invisible">http://</span><span class="">ko-fi.com/irisjay</span><span class="invisible"></span></a></p> - - public - - - - - - https://octodon.social/users/fenwick67/statuses/99724279300280892/activity - 2018-03-21T22:35:42Z - 2018-03-21T22:35:42Z - fenwick67 shared a status by omanreagan@scholar.social - http://activitystrea.ms/schema/1.0/activity - http://activitystrea.ms/schema/1.0/share - - https://scholar.social/users/omanreagan/statuses/99723766503256517 - 2018-03-21T20:25:48Z - 2018-03-21T20:25:48Z - New status by omanreagan@scholar.social - - https://scholar.social/users/omanreagan - http://activitystrea.ms/schema/1.0/person - https://scholar.social/users/omanreagan - omanreagan - omanreagan@scholar.social - <p>Anthropologist. PhDing: exploration beyond Sol system, SETI, imagination, interstellar futures, sci-fi. [he/him, they/them] <a href="https://www.patreon.com/omanreagan" rel="nofollow noopener" target="_blank"><span class="invisible">https://www.</span><span class="">patreon.com/omanreagan</span><span class="invisible"></span></a></p> - - - - omanreagan - Michael 🚀 - Anthropologist. PhDing: exploration beyond Sol system, SETI, imagination, interstellar futures, sci-fi. [he/him, they/them] https://www.patreon.com/omanreagan - public - - http://activitystrea.ms/schema/1.0/comment - http://activitystrea.ms/schema/1.0/post - <p>Most importantly, stop putting institutional events on Facebook, stop using it at universities, stop making participation in Facebook mandatory through your institutional, organization, and activist roles. You can be online, and social, and connected without supporting Facebook.</p> - unlisted - - - - - - <p>Most importantly, stop putting institutional events on Facebook, stop using it at universities, stop making participation in Facebook mandatory through your institutional, organization, and activist roles. You can be online, and social, and connected without supporting Facebook.</p> - unlisted - - - - - - https://octodon.social/users/fenwick67/statuses/99723825992791716/activity - 2018-03-21T20:40:25Z - 2018-03-21T20:40:25Z - fenwick67 shared a status by elomatreb@glitch.social - http://activitystrea.ms/schema/1.0/activity - http://activitystrea.ms/schema/1.0/share - - https://glitch.social/users/elomatreb/statuses/99723784825017673 - 2018-03-21T20:29:58Z - 2018-03-21T20:29:58Z - New status by elomatreb@glitch.social - - https://glitch.social/users/elomatreb - http://activitystrea.ms/schema/1.0/person - https://glitch.social/users/elomatreb - elomatreb - elomatreb@glitch.social - <p>German, English</p><p>Ruby, High Voltage electronics, [Shockingly] bad at computers. Lives in northern Germany.</p><p><a href="https://ole.bertr.am/" rel="nofollow noopener" target="_blank"><span class="invisible">https://</span><span class="">ole.bertr.am/</span><span class="invisible"></span></a> - Previously <span class="h-card"><a href="https://anti.energy/@elomatreb" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>elomatreb</span></a></span></p> - - - - elomatreb - elomatreb 🐟 - German, EnglishRuby, High Voltage electronics, [Shockingly] bad at computers. Lives in northern Germany.https://ole.bertr.am/ - Previously @elomatreb - public - - http://activitystrea.ms/schema/1.0/note - http://activitystrea.ms/schema/1.0/post - <p>Decades of programming language research destroyed in one sick own by a rotating coyote</p> - - public - - - - - <p>Decades of programming language research destroyed in one sick own by a rotating coyote</p> - - public - - - - - diff --git a/test/test.js b/test/test.js deleted file mode 100644 index 49af60a..0000000 --- a/test/test.js +++ /dev/null @@ -1,14 +0,0 @@ -// do a test - - -import { createReadStream, writeFileSync } from "fs"; -import convert from "../lib/convert.js"; - - -let r = createReadStream("./test/sample.atom"); - -convert(r,function(er,data){ - if (er){return console.log("error: ",er);} - console.log("ok"); - writeFileSync("./test/result.html",data,"utf8"); -}); diff --git a/yarn.lock b/yarn.lock index 63b2473..24aaac8 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,27 +2,6 @@ # yarn lockfile v1 -"@babel/code-frame@^7.0.0": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.16.7.tgz#44416b6bd7624b998f5b1af5d470856c40138789" - integrity sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg== - dependencies: - "@babel/highlight" "^7.16.7" - -"@babel/helper-validator-identifier@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz#e8c602438c4a8195751243da9031d1607d247cad" - integrity sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw== - -"@babel/highlight@^7.16.7": - version "7.16.10" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.16.10.tgz#744f2eb81579d6eea753c227b0f570ad785aba88" - integrity sha512-5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw== - dependencies: - "@babel/helper-validator-identifier" "^7.16.7" - chalk "^2.0.0" - js-tokens "^4.0.0" - "@eslint/eslintrc@^1.2.3": version "1.2.3" resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.2.3.tgz#fcaa2bcef39e13d6e9e7f6271f4cc7cae1174886" @@ -38,11 +17,6 @@ minimatch "^3.1.2" strip-json-comments "^3.1.1" -"@gar/promisify@^1.0.1": - version "1.1.3" - resolved "https://registry.yarnpkg.com/@gar/promisify/-/promisify-1.1.3.tgz#555193ab2e3bb3b6adc3d551c9c030d9e860daf6" - integrity sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw== - "@humanwhocodes/config-array@^0.9.2": version "0.9.5" resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.9.5.tgz#2cbaf9a89460da24b5ca6531b8bbfc23e1df50c7" @@ -57,22 +31,6 @@ resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45" integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== -"@npmcli/fs@^1.0.0": - version "1.1.1" - resolved "https://registry.yarnpkg.com/@npmcli/fs/-/fs-1.1.1.tgz#72f719fe935e687c56a4faecf3c03d06ba593257" - integrity sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ== - dependencies: - "@gar/promisify" "^1.0.1" - semver "^7.3.5" - -"@npmcli/move-file@^1.0.1": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@npmcli/move-file/-/move-file-1.1.2.tgz#1a82c3e372f7cae9253eb66d72543d6b8685c674" - integrity sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg== - dependencies: - mkdirp "^1.0.4" - rimraf "^3.0.2" - "@sindresorhus/is@^4.6.0": version "4.6.0" resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-4.6.0.tgz#3c7c9c46e678feefe7a2e5bb609d3dbd665ffb3f" @@ -85,11 +43,6 @@ dependencies: defer-to-connect "^2.0.1" -"@tootallnate/once@1": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82" - integrity sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw== - "@types/cacheable-request@^6.0.2": version "6.0.2" resolved "https://registry.yarnpkg.com/@types/cacheable-request/-/cacheable-request-6.0.2.tgz#c324da0197de0a98a2312156536ae262429ff6b9" @@ -112,21 +65,11 @@ dependencies: "@types/node" "*" -"@types/minimist@^1.2.0": - version "1.2.2" - resolved "https://registry.yarnpkg.com/@types/minimist/-/minimist-1.2.2.tgz#ee771e2ba4b3dc5b372935d549fd9617bf345b8c" - integrity sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ== - "@types/node@*": version "17.0.23" resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.23.tgz#3b41a6e643589ac6442bdbd7a4a3ded62f33f7da" integrity sha512-UxDxWn7dl97rKVeVS61vErvw086aCYhDLyvRQZ5Rk65rZKepaFdm53GeqXaKBuOhED4e9uWq34IC3TdSdJJ2Gw== -"@types/normalize-package-data@^2.4.0": - version "2.4.1" - resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz#d3357479a0fdfdd5907fe67e17e0a85c906e1301" - integrity sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw== - "@types/oauth@^0.9.0": version "0.9.1" resolved "https://registry.yarnpkg.com/@types/oauth/-/oauth-0.9.1.tgz#e17221e7f7936b0459ae7d006255dff61adca305" @@ -148,11 +91,6 @@ dependencies: "@types/node" "*" -abbrev@1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" - integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== - accepts@~1.3.8: version "1.3.8" resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.8.tgz#0bf0be125b67014adcb0b0921e62db7bffe16b2e" @@ -183,24 +121,7 @@ agent-base@6, agent-base@^6.0.2: dependencies: debug "4" -agentkeepalive@^4.1.3: - version "4.2.1" - resolved "https://registry.yarnpkg.com/agentkeepalive/-/agentkeepalive-4.2.1.tgz#a7975cbb9f83b367f06c90cc51ff28fe7d499717" - integrity sha512-Zn4cw2NEqd+9fiSVWMscnjyQ1a8Yfoc5oBajLeo5w+YBHgDUcEBY2hS4YpTz6iN5f/2zQiktcuM6tS8x1p9dpA== - dependencies: - debug "^4.1.0" - depd "^1.1.2" - humanize-ms "^1.2.1" - -aggregate-error@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a" - integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA== - dependencies: - clean-stack "^2.0.0" - indent-string "^4.0.0" - -ajv@^6.10.0, ajv@^6.12.3, ajv@^6.12.4: +ajv@^6.10.0, ajv@^6.12.4: version "6.12.6" resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== @@ -215,40 +136,20 @@ ansi-regex@^5.0.1: resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== -ansi-styles@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" - integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== - dependencies: - color-convert "^1.9.0" - -ansi-styles@^4.0.0, ansi-styles@^4.1.0: +ansi-styles@^4.1.0: version "4.3.0" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== dependencies: color-convert "^2.0.1" -"aproba@^1.0.3 || ^2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/aproba/-/aproba-2.0.0.tgz#52520b8ae5b569215b354efc0caa3fe1e45a8adc" - integrity sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ== - -are-we-there-yet@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz#372e0e7bd279d8e94c653aaa1f67200884bf3e1c" - integrity sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw== +anymatch@~3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" + integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== dependencies: - delegates "^1.0.0" - readable-stream "^3.6.0" - -are-we-there-yet@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-3.0.0.tgz#ba20bd6b553e31d62fc8c31bd23d22b95734390d" - integrity sha512-0GWpv50YSOcLXaN6/FAKY3vfRbllXWV2xvfA/oKJF8pzFhWXPV+yjhJXDBbjscDYowv7Yw1A3uigpzn5iEGTyw== - dependencies: - delegates "^1.0.0" - readable-stream "^3.6.0" + normalize-path "^3.0.0" + picomatch "^2.0.4" argparse@^2.0.1: version "2.0.1" @@ -265,48 +166,16 @@ array-indexofobject@~0.0.1: resolved "https://registry.yarnpkg.com/array-indexofobject/-/array-indexofobject-0.0.1.tgz#aaa128e62c9b3c358094568c219ff64fe489d42a" integrity sha1-qqEo5iybPDWAlFaMIZ/2T+SJ1Co= -arrify@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" - integrity sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0= - -asn1@~0.2.3: - version "0.2.6" - resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.6.tgz#0d3a7bb6e64e02a90c0303b31f292868ea09a08d" - integrity sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ== - dependencies: - safer-buffer "~2.1.0" - -assert-plus@1.0.0, assert-plus@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" - integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= - -async-foreach@^0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/async-foreach/-/async-foreach-0.1.3.tgz#36121f845c0578172de419a97dbeb1d16ec34542" - integrity sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI= - -async@0.9.x: - version "0.9.2" - resolved "https://registry.yarnpkg.com/async/-/async-0.9.2.tgz#aea74d5e61c1f899613bf64bda66d4c78f2fd17d" - integrity sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0= +async@^3.2.3: + version "3.2.3" + resolved "https://registry.yarnpkg.com/async/-/async-3.2.3.tgz#ac53dafd3f4720ee9e8a160628f18ea91df196c9" + integrity sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g== asynckit@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= -aws-sign2@~0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" - integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= - -aws4@^1.8.0: - version "1.11.0" - resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.11.0.tgz#d61f46d83b2519250e2784daf5b09479a8b41c59" - integrity sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA== - axios@^0.26.0: version "0.26.0" resolved "https://registry.yarnpkg.com/axios/-/axios-0.26.0.tgz#9a318f1c69ec108f8cd5f3c3d390366635e13928" @@ -326,28 +195,28 @@ basic-auth@~2.0.1: dependencies: safe-buffer "5.1.2" -bcrypt-pbkdf@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" - integrity sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4= - dependencies: - tweetnacl "^0.14.3" +binary-extensions@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" + integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== -body-parser@1.19.2: - version "1.19.2" - resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.19.2.tgz#4714ccd9c157d44797b8b5607d72c0b89952f26e" - integrity sha512-SAAwOxgoCKMGs9uUAUFHygfLAyaniaoun6I8mFY9pRAJL9+Kec34aU+oIjDhTycub1jozEfEwx1W1IuOYxVSFw== +body-parser@1.20.0: + version "1.20.0" + resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.0.tgz#3de69bd89011c11573d7bfee6a64f11b6bd27cc5" + integrity sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg== dependencies: bytes "3.1.2" content-type "~1.0.4" debug "2.6.9" - depd "~1.1.2" - http-errors "1.8.1" + depd "2.0.0" + destroy "1.2.0" + http-errors "2.0.0" iconv-lite "0.4.24" - on-finished "~2.3.0" - qs "6.9.7" - raw-body "2.4.3" + on-finished "2.4.1" + qs "6.10.3" + raw-body "2.5.1" type-is "~1.6.18" + unpipe "1.0.0" brace-expansion@^1.1.7: version "1.1.11" @@ -357,35 +226,18 @@ brace-expansion@^1.1.7: balanced-match "^1.0.0" concat-map "0.0.1" +braces@~3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" + integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== + dependencies: + fill-range "^7.0.1" + bytes@3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5" integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== -cacache@^15.2.0: - version "15.3.0" - resolved "https://registry.yarnpkg.com/cacache/-/cacache-15.3.0.tgz#dc85380fb2f556fe3dda4c719bfa0ec875a7f1eb" - integrity sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ== - dependencies: - "@npmcli/fs" "^1.0.0" - "@npmcli/move-file" "^1.0.1" - chownr "^2.0.0" - fs-minipass "^2.0.0" - glob "^7.1.4" - infer-owner "^1.0.4" - lru-cache "^6.0.0" - minipass "^3.1.1" - minipass-collect "^1.0.2" - minipass-flush "^1.0.5" - minipass-pipeline "^1.2.2" - mkdirp "^1.0.3" - p-map "^4.0.0" - promise-inflight "^1.0.1" - rimraf "^3.0.2" - ssri "^8.0.1" - tar "^6.0.2" - unique-filename "^1.1.1" - cacheable-lookup@^6.0.4: version "6.0.4" resolved "https://registry.yarnpkg.com/cacheable-lookup/-/cacheable-lookup-6.0.4.tgz#65c0e51721bb7f9f2cb513aed6da4a1b93ad7dc8" @@ -404,40 +256,20 @@ cacheable-request@^7.0.2: normalize-url "^6.0.1" responselike "^2.0.0" +call-bind@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" + integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== + dependencies: + function-bind "^1.1.1" + get-intrinsic "^1.0.2" + callsites@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== -camelcase-keys@^6.2.2: - version "6.2.2" - resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-6.2.2.tgz#5e755d6ba51aa223ec7d3d52f25778210f9dc3c0" - integrity sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg== - dependencies: - camelcase "^5.3.1" - map-obj "^4.0.0" - quick-lru "^4.0.1" - -camelcase@^5.3.1: - version "5.3.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" - integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== - -caseless@~0.12.0: - version "0.12.0" - resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" - integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= - -chalk@^2.0.0, chalk@^2.4.2: - version "2.4.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" - integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== - dependencies: - ansi-styles "^3.2.1" - escape-string-regexp "^1.0.5" - supports-color "^5.3.0" - -chalk@^4.0.0, chalk@^4.1.2: +chalk@^4.0.0, chalk@^4.0.2: version "4.1.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== @@ -445,24 +277,20 @@ chalk@^4.0.0, chalk@^4.1.2: ansi-styles "^4.1.0" supports-color "^7.1.0" -chownr@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/chownr/-/chownr-2.0.0.tgz#15bfbe53d2eab4cf70f18a8cd68ebe5b3cb1dece" - integrity sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ== - -clean-stack@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" - integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== - -cliui@^7.0.2: - version "7.0.4" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" - integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== +"chokidar@>=3.0.0 <4.0.0": + version "3.5.3" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" + integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== dependencies: - string-width "^4.2.0" - strip-ansi "^6.0.0" - wrap-ansi "^7.0.0" + anymatch "~3.1.2" + braces "~3.0.2" + glob-parent "~5.1.2" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.6.0" + optionalDependencies: + fsevents "~2.3.2" clone-response@^1.0.2: version "1.0.2" @@ -471,13 +299,6 @@ clone-response@^1.0.2: dependencies: mimic-response "^1.0.0" -color-convert@^1.9.0: - version "1.9.3" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" - integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== - dependencies: - color-name "1.1.3" - color-convert@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" @@ -485,22 +306,12 @@ color-convert@^2.0.1: dependencies: color-name "~1.1.4" -color-name@1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" - integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= - color-name@~1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== -color-support@^1.1.2, color-support@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/color-support/-/color-support-1.1.3.tgz#93834379a1cc9a0c61f82f52f0d04322251bd5a2" - integrity sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg== - -combined-stream@^1.0.6, combined-stream@^1.0.8, combined-stream@~1.0.6: +combined-stream@^1.0.8: version "1.0.8" resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== @@ -512,11 +323,6 @@ concat-map@0.0.1: resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= -console-control-strings@^1.0.0, console-control-strings@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" - integrity sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4= - content-disposition@0.5.4: version "0.5.4" resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.4.tgz#8b82b4efac82512a02bb0b1dcec9d2c5e8eb5bfe" @@ -534,22 +340,17 @@ cookie-signature@1.0.6: resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" integrity sha1-4wOogrNCzD7oylE6eZmXNNqzriw= -cookie@0.4.2: - version "0.4.2" - resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.2.tgz#0e41f24de5ecf317947c82fc789e06a884824432" - integrity sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA== - -core-util-is@1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" - integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= +cookie@0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.5.0.tgz#d1f5d71adec6558c58f389987c366aa47e994f8b" + integrity sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw== core-util-is@~1.0.0: version "1.0.3" resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== -cors@^2.8.5: +cors@2.8.5: version "2.8.5" resolved "https://registry.yarnpkg.com/cors/-/cors-2.8.5.tgz#eac11da51592dd86b9f06f6e7ac293b3df875d29" integrity sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g== @@ -557,7 +358,7 @@ cors@^2.8.5: object-assign "^4" vary "^1" -cross-spawn@^7.0.2, cross-spawn@^7.0.3: +cross-spawn@^7.0.2: version "7.0.3" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== @@ -566,13 +367,6 @@ cross-spawn@^7.0.2, cross-spawn@^7.0.3: shebang-command "^2.0.0" which "^2.0.1" -dashdash@^1.12.0: - version "1.14.1" - resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" - integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA= - dependencies: - assert-plus "^1.0.0" - dayjs@^1.10.4: version "1.10.8" resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.10.8.tgz#267df4bc6276fcb33c04a6735287e3f429abec41" @@ -585,26 +379,13 @@ debug@2.6.9: dependencies: ms "2.0.0" -debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2: +debug@4, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2: version "4.3.4" resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== dependencies: ms "2.1.2" -decamelize-keys@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/decamelize-keys/-/decamelize-keys-1.1.0.tgz#d171a87933252807eb3cb61dc1c1445d078df2d9" - integrity sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk= - dependencies: - decamelize "^1.1.0" - map-obj "^1.0.0" - -decamelize@^1.1.0, decamelize@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" - integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= - decompress-response@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-6.0.0.tgz#ca387612ddb7e104bd16d85aab00d5ecf09c66fc" @@ -627,31 +408,16 @@ delayed-stream@~1.0.0: resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= -delegates@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" - integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o= - depd@2.0.0, depd@~2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df" integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== -depd@^1.1.2, depd@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" - integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak= - destroy@1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015" integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg== -destroy@~1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" - integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA= - doctrine@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" @@ -659,43 +425,23 @@ doctrine@^3.0.0: dependencies: esutils "^2.0.2" -ecc-jsbn@~0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" - integrity sha1-OoOpBOVDUyh4dMVkt1SThoSamMk= - dependencies: - jsbn "~0.1.0" - safer-buffer "^2.1.0" - ee-first@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= -ejs@^3.1.6: - version "3.1.6" - resolved "https://registry.yarnpkg.com/ejs/-/ejs-3.1.6.tgz#5bfd0a0689743bb5268b3550cceeebbc1702822a" - integrity sha512-9lt9Zse4hPucPkoP7FHDF0LQAlGyF9JVpnClFLFH3aSSbxmyoqINRpp/9wePWJTUl4KOQwRL72Iw3InHPDkoGw== +ejs@3.1.7: + version "3.1.7" + resolved "https://registry.yarnpkg.com/ejs/-/ejs-3.1.7.tgz#c544d9c7f715783dd92f0bddcf73a59e6962d006" + integrity sha512-BIar7R6abbUxDA3bfXrO4DSgwo8I+fB5/1zgujl3HLLjwd6+9iOnrT+t3grn2qbk9vOgBubXOFwX2m9axoFaGw== dependencies: - jake "^10.6.1" - -emoji-regex@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" - integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== + jake "^10.8.5" encodeurl@~1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k= -encoding@^0.1.12: - version "0.1.13" - resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.13.tgz#56574afdd791f54a8e9b2785c0582a2d26210fa9" - integrity sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A== - dependencies: - iconv-lite "^0.6.2" - end-of-stream@^1.1.0: version "1.4.4" resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" @@ -703,43 +449,28 @@ end-of-stream@^1.1.0: dependencies: once "^1.4.0" -env-paths@^2.2.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-2.2.1.tgz#420399d416ce1fbe9bc0a07c62fa68d67fd0f8f2" - integrity sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A== - -err-code@^2.0.2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/err-code/-/err-code-2.0.3.tgz#23c2f3b756ffdfc608d30e27c9a941024807e7f9" - integrity sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA== - -error-ex@^1.3.1: - version "1.3.2" - resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" - integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== - dependencies: - is-arrayish "^0.2.1" - -escalade@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" - integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== - escape-html@~1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg= -escape-string-regexp@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" - integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= - escape-string-regexp@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== +eslint-config-prettier@8.5.0: + version "8.5.0" + resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.5.0.tgz#5a81680ec934beca02c7b1a61cf8ca34b66feab1" + integrity sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q== + +eslint-plugin-prettier@4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-4.0.0.tgz#8b99d1e4b8b24a762472b4567992023619cb98e0" + integrity sha512-98MqmCJ7vJodoQK359bqQWaxOE0CS8paAz/GgjaZLyex4TTk3g9HugoO89EqWCrFiOqn9EVvcoo7gZzONCWVwQ== + dependencies: + prettier-linter-helpers "^1.0.0" + eslint-scope@^7.1.1: version "7.1.1" resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.1.1.tgz#fff34894c2f65e5226d3041ac480b4513a163642" @@ -844,62 +575,53 @@ etag@~1.8.1: resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc= -express@^4.17.2: - version "4.17.3" - resolved "https://registry.yarnpkg.com/express/-/express-4.17.3.tgz#f6c7302194a4fb54271b73a1fe7a06478c8f85a1" - integrity sha512-yuSQpz5I+Ch7gFrPCk4/c+dIBKlQUxtgwqzph132bsT6qhuzss6I8cLJQz7B3rFblzd6wtcI0ZbGltH/C4LjUg== +express@4.18.1: + version "4.18.1" + resolved "https://registry.yarnpkg.com/express/-/express-4.18.1.tgz#7797de8b9c72c857b9cd0e14a5eea80666267caf" + integrity sha512-zZBcOX9TfehHQhtupq57OF8lFZ3UZi08Y97dwFCkD8p9d/d2Y3M+ykKcwaMDEL+4qyUolgBDX6AblpR3fL212Q== dependencies: accepts "~1.3.8" array-flatten "1.1.1" - body-parser "1.19.2" + body-parser "1.20.0" content-disposition "0.5.4" content-type "~1.0.4" - cookie "0.4.2" + cookie "0.5.0" cookie-signature "1.0.6" debug "2.6.9" - depd "~1.1.2" + depd "2.0.0" encodeurl "~1.0.2" escape-html "~1.0.3" etag "~1.8.1" - finalhandler "~1.1.2" + finalhandler "1.2.0" fresh "0.5.2" + http-errors "2.0.0" merge-descriptors "1.0.1" methods "~1.1.2" - on-finished "~2.3.0" + on-finished "2.4.1" parseurl "~1.3.3" path-to-regexp "0.1.7" proxy-addr "~2.0.7" - qs "6.9.7" + qs "6.10.3" range-parser "~1.2.1" safe-buffer "5.2.1" - send "0.17.2" - serve-static "1.14.2" + send "0.18.0" + serve-static "1.15.0" setprototypeof "1.2.0" - statuses "~1.5.0" + statuses "2.0.1" type-is "~1.6.18" utils-merge "1.0.1" vary "~1.1.2" -extend@~3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" - integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== - -extsprintf@1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" - integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU= - -extsprintf@^1.2.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.1.tgz#8d172c064867f235c0c84a596806d279bf4bcc07" - integrity sha512-Wrk35e8ydCKDj/ArClo1VrPVmN8zph5V4AtHwIuHhvMXsKf73UT3BOD+azBIW+3wOJ4FhEH7zyaJCFvChjYvMA== - fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: version "3.1.3" resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== +fast-diff@^1.1.2: + version "1.2.0" + resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.2.0.tgz#73ee11982d86caaf7959828d519cfe927fac5f03" + integrity sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w== + fast-json-stable-stringify@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" @@ -910,7 +632,7 @@ fast-levenshtein@^2.0.6: resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= -feedparser@^2.2.10: +feedparser@2.2.10: version "2.2.10" resolved "https://registry.yarnpkg.com/feedparser/-/feedparser-2.2.10.tgz#d3fa509e7d64761dfa037bbbe563df9d52dfb038" integrity sha512-WoAOooa61V8/xuKMi2pEtK86qQ3ZH/M72EEGdqlOTxxb3m6ve1NPvZcmPFs3wEDfcBbFLId2GqZ4YjsYi+h1xA== @@ -939,27 +661,26 @@ filelist@^1.0.1: dependencies: minimatch "^3.0.4" -finalhandler@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.2.tgz#b7e7d000ffd11938d0fdb053506f6ebabe9f587d" - integrity sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA== +fill-range@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" + integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== + dependencies: + to-regex-range "^5.0.1" + +finalhandler@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.2.0.tgz#7d23fe5731b207b4640e4fcd00aec1f9207a7b32" + integrity sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg== dependencies: debug "2.6.9" encodeurl "~1.0.2" escape-html "~1.0.3" - on-finished "~2.3.0" + on-finished "2.4.1" parseurl "~1.3.3" - statuses "~1.5.0" + statuses "2.0.1" unpipe "~1.0.0" -find-up@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" - integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== - dependencies: - locate-path "^5.0.0" - path-exists "^4.0.0" - flat-cache@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11" @@ -978,11 +699,6 @@ follow-redirects@^1.14.8: resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.9.tgz#dd4ea157de7bfaf9ea9b3fbd85aa16951f78d8d7" integrity sha512-MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w== -forever-agent@~0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" - integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= - form-data-encoder@1.7.1: version "1.7.1" resolved "https://registry.yarnpkg.com/form-data-encoder/-/form-data-encoder-1.7.1.tgz#ac80660e4f87ee0d3d3c3638b7da8278ddb8ec96" @@ -997,15 +713,6 @@ form-data@^4.0.0: combined-stream "^1.0.8" mime-types "^2.1.12" -form-data@~2.3.2: - version "2.3.3" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" - integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ== - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.6" - mime-types "^2.1.12" - forwarded@0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811" @@ -1016,18 +723,16 @@ fresh@0.5.2: resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac= -fs-minipass@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-2.1.0.tgz#7f5036fdbf12c63c169190cbe4199c852271f9fb" - integrity sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg== - dependencies: - minipass "^3.0.0" - fs.realpath@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= +fsevents@~2.3.2: + version "2.3.2" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" + integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== + function-bind@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" @@ -1038,52 +743,14 @@ functional-red-black-tree@^1.0.1: resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= -gauge@^3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/gauge/-/gauge-3.0.2.tgz#03bf4441c044383908bcfa0656ad91803259b395" - integrity sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q== +get-intrinsic@^1.0.2: + version "1.1.1" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.1.tgz#15f59f376f855c446963948f0d24cd3637b4abc6" + integrity sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q== dependencies: - aproba "^1.0.3 || ^2.0.0" - color-support "^1.1.2" - console-control-strings "^1.0.0" - has-unicode "^2.0.1" - object-assign "^4.1.1" - signal-exit "^3.0.0" - string-width "^4.2.3" - strip-ansi "^6.0.1" - wide-align "^1.1.2" - -gauge@^4.0.0: - version "4.0.2" - resolved "https://registry.yarnpkg.com/gauge/-/gauge-4.0.2.tgz#c3777652f542b6ef62797246e8c7caddecb32cc7" - integrity sha512-aSPRm2CvA9R8QyU5eXMFPd+cYkyxLsXHd2l5/FOH2V/eml//M04G6KZOmTap07O1PvEwNcl2NndyLfK8g3QrKA== - dependencies: - ansi-regex "^5.0.1" - aproba "^1.0.3 || ^2.0.0" - color-support "^1.1.3" - console-control-strings "^1.1.0" - has-unicode "^2.0.1" - signal-exit "^3.0.7" - string-width "^4.2.3" - strip-ansi "^6.0.1" - wide-align "^1.1.5" - -gaze@^1.0.0: - version "1.1.3" - resolved "https://registry.yarnpkg.com/gaze/-/gaze-1.1.3.tgz#c441733e13b927ac8c0ff0b4c3b033f28812924a" - integrity sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g== - dependencies: - globule "^1.0.0" - -get-caller-file@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" - integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== - -get-stdin@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" - integrity sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4= + function-bind "^1.1.1" + has "^1.0.3" + has-symbols "^1.0.1" get-stream@^5.1.0: version "5.2.0" @@ -1097,13 +764,6 @@ get-stream@^6.0.1: resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== -getpass@^0.1.1: - version "0.1.7" - resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" - integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo= - dependencies: - assert-plus "^1.0.0" - glob-parent@^6.0.1: version "6.0.2" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" @@ -1111,7 +771,14 @@ glob-parent@^6.0.1: dependencies: is-glob "^4.0.3" -glob@^7.0.0, glob@^7.0.3, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4: +glob-parent@~5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" + integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== + dependencies: + is-glob "^4.0.1" + +glob@^7.1.3: version "7.2.0" resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023" integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== @@ -1123,18 +790,6 @@ glob@^7.0.0, glob@^7.0.3, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4: once "^1.3.0" path-is-absolute "^1.0.0" -glob@~7.1.1: - version "7.1.7" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.7.tgz#3b193e9233f01d42d0b3f78294bbeeb418f94a90" - integrity sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.0.4" - once "^1.3.0" - path-is-absolute "^1.0.0" - globals@^13.6.0, globals@^13.9.0: version "13.13.0" resolved "https://registry.yarnpkg.com/globals/-/globals-13.13.0.tgz#ac32261060d8070e2719dd6998406e27d2b5727b" @@ -1142,19 +797,10 @@ globals@^13.6.0, globals@^13.9.0: dependencies: type-fest "^0.20.2" -globule@^1.0.0: - version "1.3.3" - resolved "https://registry.yarnpkg.com/globule/-/globule-1.3.3.tgz#811919eeac1ab7344e905f2e3be80a13447973c2" - integrity sha512-mb1aYtDbIjTu4ShMB85m3UzjX9BVKe9WCzsnfMSZk+K5GpIbBOexgg4PPCt5eHDEG5/ZQAUX2Kct02zfiPLsKg== - dependencies: - glob "~7.1.1" - lodash "~4.17.10" - minimatch "~3.0.2" - -got@^12.0.1: - version "12.0.3" - resolved "https://registry.yarnpkg.com/got/-/got-12.0.3.tgz#c7314daab26d42039e624adbf98f6d442e5de749" - integrity sha512-hmdcXi/S0gcAtDg4P8j/rM7+j3o1Aq6bXhjxkDhRY2ipe7PHpvx/14DgTY2czHOLaGeU8VRvRecidwfu9qdFug== +got@12.0.4: + version "12.0.4" + resolved "https://registry.yarnpkg.com/got/-/got-12.0.4.tgz#e3b6bf6992425f904076fd71aac7030da5122de8" + integrity sha512-2Eyz4iU/ktq7wtMFXxzK7g5p35uNYLLdiZarZ5/Yn3IJlNEpBd5+dCgcAyxN8/8guZLszffwe3wVyw+DEVrpBg== dependencies: "@sindresorhus/is" "^4.6.0" "@szmarczak/http-timer" "^5.0.1" @@ -1170,43 +816,15 @@ got@^12.0.1: p-cancelable "^3.0.0" responselike "^2.0.0" -graceful-fs@^4.2.6: - version "4.2.9" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.9.tgz#041b05df45755e587a24942279b9d113146e1c96" - integrity sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ== - -har-schema@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" - integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI= - -har-validator@~5.1.3: - version "5.1.5" - resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.5.tgz#1f0803b9f8cb20c0fa13822df1ecddb36bde1efd" - integrity sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w== - dependencies: - ajv "^6.12.3" - har-schema "^2.0.0" - -hard-rejection@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/hard-rejection/-/hard-rejection-2.1.0.tgz#1c6eda5c1685c63942766d79bb40ae773cecd883" - integrity sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA== - -has-flag@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" - integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= - has-flag@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== -has-unicode@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" - integrity sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk= +has-symbols@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" + integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== has@^1.0.3: version "1.0.3" @@ -1215,34 +833,16 @@ has@^1.0.3: dependencies: function-bind "^1.1.1" -hosted-git-info@^2.1.4: - version "2.8.9" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9" - integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== +helmet@5.0.2: + version "5.0.2" + resolved "https://registry.yarnpkg.com/helmet/-/helmet-5.0.2.tgz#3264ec6bab96c82deaf65e3403c369424cb2366c" + integrity sha512-QWlwUZZ8BtlvwYVTSDTBChGf8EOcQ2LkGMnQJxSzD1mUu8CCjXJZq/BXP8eWw4kikRnzlhtYo3lCk0ucmYA3Vg== -hosted-git-info@^4.0.1: - version "4.1.0" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-4.1.0.tgz#827b82867e9ff1c8d0c4d9d53880397d2c86d224" - integrity sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA== - dependencies: - lru-cache "^6.0.0" - -http-cache-semantics@^4.0.0, http-cache-semantics@^4.1.0: +http-cache-semantics@^4.0.0: version "4.1.0" resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz#49e91c5cbf36c9b94bcfcd71c23d5249ec74e390" integrity sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ== -http-errors@1.8.1: - version "1.8.1" - resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.8.1.tgz#7c3f28577cbc8a207388455dbd62295ed07bd68c" - integrity sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g== - dependencies: - depd "~1.1.2" - inherits "2.0.4" - setprototypeof "1.2.0" - statuses ">= 1.5.0 < 2" - toidentifier "1.0.1" - http-errors@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-2.0.0.tgz#b7774a1486ef73cf7667ac9ae0858c012c57b9d3" @@ -1254,24 +854,6 @@ http-errors@2.0.0: statuses "2.0.1" toidentifier "1.0.1" -http-proxy-agent@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz#8a8c8ef7f5932ccf953c296ca8291b95aa74aa3a" - integrity sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg== - dependencies: - "@tootallnate/once" "1" - agent-base "6" - debug "4" - -http-signature@~1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" - integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE= - dependencies: - assert-plus "^1.0.0" - jsprim "^1.2.2" - sshpk "^1.7.0" - http2-wrapper@^2.1.10: version "2.1.10" resolved "https://registry.yarnpkg.com/http2-wrapper/-/http2-wrapper-2.1.10.tgz#307cd0cee2564723692ad34c2d570d12f10e83be" @@ -1288,13 +870,6 @@ https-proxy-agent@^5.0.0: agent-base "6" debug "4" -humanize-ms@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/humanize-ms/-/humanize-ms-1.2.1.tgz#c46e3159a293f6b896da29316d8b6fe8bb79bbed" - integrity sha1-xG4xWaKT9riW2ikxbYtv6Lt5u+0= - dependencies: - ms "^2.0.0" - iconv-lite@0.4.24: version "0.4.24" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" @@ -1302,18 +877,16 @@ iconv-lite@0.4.24: dependencies: safer-buffer ">= 2.1.2 < 3" -iconv-lite@^0.6.2: - version "0.6.3" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.3.tgz#a52f80bf38da1952eb5c681790719871a1a72501" - integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== - dependencies: - safer-buffer ">= 2.1.2 < 3.0.0" - ignore@^5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.0.tgz#6d3bac8fa7fe0d45d9f9be7bac2fc279577e345a" integrity sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ== +immutable@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/immutable/-/immutable-4.0.0.tgz#b86f78de6adef3608395efb269a91462797e2c23" + integrity sha512-zIE9hX70qew5qTUjSS7wi1iwj/l7+m54KWU247nhM3v806UdGj1yDndXj+IOYxxtW9zyLI+xqFNZjTuDaLUqFw== + import-fresh@^3.0.0, import-fresh@^3.2.1: version "3.3.0" resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" @@ -1327,16 +900,6 @@ imurmurhash@^0.1.4: resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= -indent-string@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" - integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== - -infer-owner@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/infer-owner/-/infer-owner-1.0.4.tgz#c4cefcaa8e51051c2a40ba2ce8a3d27295af9467" - integrity sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A== - inflight@^1.0.4: version "1.0.6" resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" @@ -1345,7 +908,7 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -inherits@2, inherits@2.0.4, inherits@^2.0.3, inherits@~2.0.3: +inherits@2, inherits@2.0.4, inherits@~2.0.3: version "2.0.4" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== @@ -1360,49 +923,29 @@ ipaddr.js@1.9.1: resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== -is-arrayish@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" - integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= - -is-core-module@^2.5.0, is-core-module@^2.8.1: - version "2.8.1" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.8.1.tgz#f59fdfca701d5879d0a6b100a40aa1560ce27211" - integrity sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA== +is-binary-path@~2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" + integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== dependencies: - has "^1.0.3" + binary-extensions "^2.0.0" is-extglob@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= -is-fullwidth-code-point@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" - integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== - -is-glob@^4.0.0, is-glob@^4.0.3: +is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: version "4.0.3" resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== dependencies: is-extglob "^2.1.1" -is-lambda@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-lambda/-/is-lambda-1.0.1.tgz#3d9877899e6a53efc0160504cde15f82e6f061d5" - integrity sha1-PZh3iZ5qU+/AFgUEzeFfgubwYdU= - -is-plain-obj@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" - integrity sha1-caUMhCnfync8kqOQpKA7OfzVHT4= - -is-typedarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" - integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== isarray@~1.0.0: version "1.0.0" @@ -1414,31 +957,16 @@ isexe@^2.0.0: resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= -isstream@~0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" - integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= - -jake@^10.6.1: - version "10.8.2" - resolved "https://registry.yarnpkg.com/jake/-/jake-10.8.2.tgz#ebc9de8558160a66d82d0eadc6a2e58fbc500a7b" - integrity sha512-eLpKyrfG3mzvGE2Du8VoPbeSkRry093+tyNjdYaBbJS9v17knImYGNXQCUV0gLxQtF82m3E8iRb/wdSQZLoq7A== +jake@^10.8.5: + version "10.8.5" + resolved "https://registry.yarnpkg.com/jake/-/jake-10.8.5.tgz#f2183d2c59382cb274226034543b9c03b8164c46" + integrity sha512-sVpxYeuAhWt0OTWITwT98oyV0GsXyMlXCF+3L1SuafBVUIr/uILGRB+NqwkzhgXKvoJpDIpQvqkUALgdmQsQxw== dependencies: - async "0.9.x" - chalk "^2.4.2" + async "^3.2.3" + chalk "^4.0.2" filelist "^1.0.1" minimatch "^3.0.4" -js-base64@^2.4.3: - version "2.6.4" - resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.6.4.tgz#f4e686c5de1ea1f867dbcad3d46d969428df98c4" - integrity sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ== - -js-tokens@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" - integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== - js-yaml@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" @@ -1446,51 +974,21 @@ js-yaml@^4.1.0: dependencies: argparse "^2.0.1" -jsbn@~0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" - integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= - json-buffer@3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13" integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== -json-parse-even-better-errors@^2.3.0: - version "2.3.1" - resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" - integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== - json-schema-traverse@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== -json-schema@0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.4.0.tgz#f7de4cf6efab838ebaeb3236474cbba5a1930ab5" - integrity sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA== - json-stable-stringify-without-jsonify@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= -json-stringify-safe@~5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" - integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= - -jsprim@^1.2.2: - version "1.4.2" - resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.2.tgz#712c65533a15c878ba59e9ed5f0e26d5b77c5feb" - integrity sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw== - dependencies: - assert-plus "1.0.0" - extsprintf "1.3.0" - json-schema "0.4.0" - verror "1.10.0" - keyv@^4.0.0: version "4.1.1" resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.1.1.tgz#02c538bfdbd2a9308cc932d4096f05ae42bfa06a" @@ -1498,11 +996,6 @@ keyv@^4.0.0: dependencies: json-buffer "3.0.1" -kind-of@^6.0.3: - version "6.0.3" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" - integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== - levn@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" @@ -1511,18 +1004,6 @@ levn@^0.4.1: prelude-ls "^1.2.1" type-check "~0.4.0" -lines-and-columns@^1.1.6: - version "1.2.4" - resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" - integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== - -locate-path@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" - integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== - dependencies: - p-locate "^4.1.0" - lodash.assign@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/lodash.assign/-/lodash.assign-4.2.0.tgz#0d99f3ccd7a6d261d19bdaeb9245005d285808e7" @@ -1548,11 +1029,6 @@ lodash.uniq@^4.5.0: resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M= -lodash@^4.17.11, lodash@^4.17.15, lodash@~4.17.10: - version "4.17.21" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" - integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== - lowercase-keys@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-2.0.0.tgz#2603e78b7b4b0006cbca2fbcc8a3202558ac9479" @@ -1563,51 +1039,12 @@ lowercase-keys@^3.0.0: resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-3.0.0.tgz#c5e7d442e37ead247ae9db117a9d0a467c89d4f2" integrity sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ== -lru-cache@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" - integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== - dependencies: - yallist "^4.0.0" - -make-fetch-happen@^9.1.0: - version "9.1.0" - resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz#53085a09e7971433e6765f7971bf63f4e05cb968" - integrity sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg== - dependencies: - agentkeepalive "^4.1.3" - cacache "^15.2.0" - http-cache-semantics "^4.1.0" - http-proxy-agent "^4.0.1" - https-proxy-agent "^5.0.0" - is-lambda "^1.0.1" - lru-cache "^6.0.0" - minipass "^3.1.3" - minipass-collect "^1.0.2" - minipass-fetch "^1.3.2" - minipass-flush "^1.0.5" - minipass-pipeline "^1.2.4" - negotiator "^0.6.2" - promise-retry "^2.0.1" - socks-proxy-agent "^6.0.0" - ssri "^8.0.0" - -map-obj@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" - integrity sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0= - -map-obj@^4.0.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-4.3.0.tgz#9304f906e93faae70880da102a9f1df0ea8bb05a" - integrity sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ== - media-typer@0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g= -megalodon@^4.0.0: +megalodon@4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/megalodon/-/megalodon-4.0.1.tgz#b04dc6ab2279e21faa3691f5f7b38639e4c61c19" integrity sha512-szX0kSjWJviYJkOFFD5TsGaDI9bosFetgRvS7PCOEUGZfyTGGgRYwtGjE+9nbqnFHXoRs0OxDp9+qFxk4i4mrg== @@ -1625,24 +1062,6 @@ megalodon@^4.0.0: uuid "^8.0.0" ws "8.5.0" -meow@^9.0.0: - version "9.0.0" - resolved "https://registry.yarnpkg.com/meow/-/meow-9.0.0.tgz#cd9510bc5cac9dee7d03c73ee1f9ad959f4ea364" - integrity sha512-+obSblOQmRhcyBt62furQqRAQpNyWXo8BuQ5bN7dG8wmwQ+vwHKp/rCFD4CrTP8CsDQD1sjoZ94K417XEUk8IQ== - dependencies: - "@types/minimist" "^1.2.0" - camelcase-keys "^6.2.2" - decamelize "^1.2.0" - decamelize-keys "^1.1.0" - hard-rejection "^2.1.0" - minimist-options "4.1.0" - normalize-package-data "^3.0.0" - read-pkg-up "^7.0.1" - redent "^3.0.0" - trim-newlines "^3.0.0" - type-fest "^0.18.0" - yargs-parser "^20.2.3" - merge-descriptors@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" @@ -1658,7 +1077,7 @@ mime-db@1.51.0: resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.51.0.tgz#d9ff62451859b18342d960850dc3cfb77e63fb0c" integrity sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g== -mime-types@^2.1.12, mime-types@~2.1.19, mime-types@~2.1.24, mime-types@~2.1.34: +mime-types@^2.1.12, mime-types@~2.1.24, mime-types@~2.1.34: version "2.1.34" resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.34.tgz#5a712f9ec1503511a945803640fafe09d3793c24" integrity sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A== @@ -1680,11 +1099,6 @@ mimic-response@^3.1.0: resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-3.1.0.tgz#2d1d59af9c1b129815accc2c46a022a5ce1fa3c9" integrity sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ== -min-indent@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869" - integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== - minimatch@^3.0.4, minimatch@^3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" @@ -1692,82 +1106,7 @@ minimatch@^3.0.4, minimatch@^3.1.2: dependencies: brace-expansion "^1.1.7" -minimatch@~3.0.2: - version "3.0.8" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.8.tgz#5e6a59bd11e2ab0de1cfb843eb2d82e546c321c1" - integrity sha512-6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q== - dependencies: - brace-expansion "^1.1.7" - -minimist-options@4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/minimist-options/-/minimist-options-4.1.0.tgz#c0655713c53a8a2ebd77ffa247d342c40f010619" - integrity sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A== - dependencies: - arrify "^1.0.1" - is-plain-obj "^1.1.0" - kind-of "^6.0.3" - -minipass-collect@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/minipass-collect/-/minipass-collect-1.0.2.tgz#22b813bf745dc6edba2576b940022ad6edc8c617" - integrity sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA== - dependencies: - minipass "^3.0.0" - -minipass-fetch@^1.3.2: - version "1.4.1" - resolved "https://registry.yarnpkg.com/minipass-fetch/-/minipass-fetch-1.4.1.tgz#d75e0091daac1b0ffd7e9d41629faff7d0c1f1b6" - integrity sha512-CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw== - dependencies: - minipass "^3.1.0" - minipass-sized "^1.0.3" - minizlib "^2.0.0" - optionalDependencies: - encoding "^0.1.12" - -minipass-flush@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/minipass-flush/-/minipass-flush-1.0.5.tgz#82e7135d7e89a50ffe64610a787953c4c4cbb373" - integrity sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw== - dependencies: - minipass "^3.0.0" - -minipass-pipeline@^1.2.2, minipass-pipeline@^1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz#68472f79711c084657c067c5c6ad93cddea8214c" - integrity sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A== - dependencies: - minipass "^3.0.0" - -minipass-sized@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/minipass-sized/-/minipass-sized-1.0.3.tgz#70ee5a7c5052070afacfbc22977ea79def353b70" - integrity sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g== - dependencies: - minipass "^3.0.0" - -minipass@^3.0.0, minipass@^3.1.0, minipass@^3.1.1, minipass@^3.1.3: - version "3.1.6" - resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.1.6.tgz#3b8150aa688a711a1521af5e8779c1d3bb4f45ee" - integrity sha512-rty5kpw9/z8SX9dmxblFA6edItUmwJgMeYDZRrwlIVN27i8gysGbznJwUggw2V/FVqFSDdWy040ZPS811DYAqQ== - dependencies: - yallist "^4.0.0" - -minizlib@^2.0.0, minizlib@^2.1.1: - version "2.1.2" - resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-2.1.2.tgz#e90d3466ba209b932451508a11ce3d3632145931" - integrity sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg== - dependencies: - minipass "^3.0.0" - yallist "^4.0.0" - -mkdirp@^1.0.3, mkdirp@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" - integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== - -morgan@^1.10.0: +morgan@1.10.0: version "1.10.0" resolved "https://registry.yarnpkg.com/morgan/-/morgan-1.10.0.tgz#091778abc1fc47cd3509824653dae1faab6b17d7" integrity sha512-AbegBVI4sh6El+1gNwvD5YIck7nSA36weD7xvIxG4in80j/UoK8AEGaWnnz8v1GxonMCltmlNs5ZKbGvl9b1XQ== @@ -1793,120 +1132,31 @@ ms@2.1.2: resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== -ms@2.1.3, ms@^2.0.0: +ms@2.1.3: version "2.1.3" resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== -nan@^2.13.2: - version "2.15.0" - resolved "https://registry.yarnpkg.com/nan/-/nan-2.15.0.tgz#3f34a473ff18e15c1b5626b62903b5ad6e665fee" - integrity sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ== - natural-compare@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= -negotiator@0.6.3, negotiator@^0.6.2: +negotiator@0.6.3: version "0.6.3" resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd" integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== -node-gyp@^8.4.1: - version "8.4.1" - resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-8.4.1.tgz#3d49308fc31f768180957d6b5746845fbd429937" - integrity sha512-olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w== - dependencies: - env-paths "^2.2.0" - glob "^7.1.4" - graceful-fs "^4.2.6" - make-fetch-happen "^9.1.0" - nopt "^5.0.0" - npmlog "^6.0.0" - rimraf "^3.0.2" - semver "^7.3.5" - tar "^6.1.2" - which "^2.0.2" - -node-sass@7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/node-sass/-/node-sass-7.0.1.tgz#ad4f6bc663de8acc0a9360db39165a1e2620aa72" - integrity sha512-uMy+Xt29NlqKCFdFRZyXKOTqGt+QaKHexv9STj2WeLottnlqZEEWx6Bj0MXNthmFRRdM/YwyNo/8Tr46TOM0jQ== - dependencies: - async-foreach "^0.1.3" - chalk "^4.1.2" - cross-spawn "^7.0.3" - gaze "^1.0.0" - get-stdin "^4.0.1" - glob "^7.0.3" - lodash "^4.17.15" - meow "^9.0.0" - nan "^2.13.2" - node-gyp "^8.4.1" - npmlog "^5.0.0" - request "^2.88.0" - sass-graph "4.0.0" - stdout-stream "^1.4.0" - "true-case-path" "^1.0.2" - -nopt@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/nopt/-/nopt-5.0.0.tgz#530942bb58a512fccafe53fe210f13a25355dc88" - integrity sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ== - dependencies: - abbrev "1" - -normalize-package-data@^2.5.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" - integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== - dependencies: - hosted-git-info "^2.1.4" - resolve "^1.10.0" - semver "2 || 3 || 4 || 5" - validate-npm-package-license "^3.0.1" - -normalize-package-data@^3.0.0: - version "3.0.3" - resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-3.0.3.tgz#dbcc3e2da59509a0983422884cd172eefdfa525e" - integrity sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA== - dependencies: - hosted-git-info "^4.0.1" - is-core-module "^2.5.0" - semver "^7.3.4" - validate-npm-package-license "^3.0.1" +normalize-path@^3.0.0, normalize-path@~3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" + integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== normalize-url@^6.0.1: version "6.1.0" resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-6.1.0.tgz#40d0885b535deffe3f3147bec877d05fe4c5668a" integrity sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A== -npmlog@^5.0.0: - version "5.0.1" - resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-5.0.1.tgz#f06678e80e29419ad67ab964e0fa69959c1eb8b0" - integrity sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw== - dependencies: - are-we-there-yet "^2.0.0" - console-control-strings "^1.1.0" - gauge "^3.0.0" - set-blocking "^2.0.0" - -npmlog@^6.0.0: - version "6.0.1" - resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-6.0.1.tgz#06f1344a174c06e8de9c6c70834cfba2964bba17" - integrity sha512-BTHDvY6nrRHuRfyjt1MAufLxYdVXZfd099H4+i1f0lPywNQyI4foeNXJRObB/uy+TYqUW0vAD9gbdSOXPst7Eg== - dependencies: - are-we-there-yet "^3.0.0" - console-control-strings "^1.1.0" - gauge "^4.0.0" - set-blocking "^2.0.0" - -oauth-sign@~0.9.0: - version "0.9.0" - resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" - integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== - oauth@^0.9.15: version "0.9.15" resolved "https://registry.yarnpkg.com/oauth/-/oauth-0.9.15.tgz#bd1fefaf686c96b75475aed5196412ff60cfb9c1" @@ -1917,11 +1167,16 @@ object-assign-deep@^0.4.0: resolved "https://registry.yarnpkg.com/object-assign-deep/-/object-assign-deep-0.4.0.tgz#43505d3679abb9686ab359b97ac14cc837a9d143" integrity sha512-54Uvn3s+4A/cMWx9tlRez1qtc7pN7pbQ+Yi7mjLjcBpWLlP+XbSHiHbQW6CElDiV4OvuzqnMrBdkgxI1mT8V/Q== -object-assign@^4, object-assign@^4.1.1: +object-assign@^4: version "4.1.1" resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= +object-inspect@^1.9.0: + version "1.12.0" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.0.tgz#6e2c120e868fd1fd18cb4f18c31741d0d6e776f0" + integrity sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g== + on-finished@2.4.1: version "2.4.1" resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.4.1.tgz#58c8c44116e54845ad57f14ab10b03533184ac3f" @@ -1965,32 +1220,6 @@ p-cancelable@^3.0.0: resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-3.0.0.tgz#63826694b54d61ca1c20ebcb6d3ecf5e14cd8050" integrity sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw== -p-limit@^2.2.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" - integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== - dependencies: - p-try "^2.0.0" - -p-locate@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" - integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== - dependencies: - p-limit "^2.2.0" - -p-map@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b" - integrity sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ== - dependencies: - aggregate-error "^3.0.0" - -p-try@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" - integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== - parent-module@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" @@ -1998,26 +1227,11 @@ parent-module@^1.0.0: dependencies: callsites "^3.0.0" -parse-json@^5.0.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" - integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== - dependencies: - "@babel/code-frame" "^7.0.0" - error-ex "^1.3.1" - json-parse-even-better-errors "^2.3.0" - lines-and-columns "^1.1.6" - parseurl@~1.3.3: version "1.3.3" resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== -path-exists@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" - integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== - path-is-absolute@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" @@ -2028,44 +1242,38 @@ path-key@^3.1.0: resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== -path-parse@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" - integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== - path-to-regexp@0.1.7: version "0.1.7" resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" integrity sha1-32BBeABfUi8V60SQ5yR6G/qmf4w= -performance-now@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" - integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= +picomatch@^2.0.4, picomatch@^2.2.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" + integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== prelude-ls@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== +prettier-linter-helpers@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz#d23d41fe1375646de2d0104d3454a3008802cf7b" + integrity sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w== + dependencies: + fast-diff "^1.1.2" + +prettier@2.6.2: + version "2.6.2" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.6.2.tgz#e26d71a18a74c3d0f0597f55f01fb6c06c206032" + integrity sha512-PkUpF+qoXTqhOeWL9fu7As8LXsIUZ1WYaJiY/a7McAQzxjk82OF0tibkFXVCDImZtWxbvojFjerkiLb0/q8mew== + process-nextick-args@~2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== -promise-inflight@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3" - integrity sha1-mEcocL8igTL8vdhoEputEsPAKeM= - -promise-retry@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/promise-retry/-/promise-retry-2.0.1.tgz#ff747a13620ab57ba688f5fc67855410c370da22" - integrity sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g== - dependencies: - err-code "^2.0.2" - retry "^0.12.0" - proxy-addr@~2.0.7: version "2.0.7" resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025" @@ -2074,11 +1282,6 @@ proxy-addr@~2.0.7: forwarded "0.2.0" ipaddr.js "1.9.1" -psl@^1.1.28: - version "1.8.0" - resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24" - integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ== - pump@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" @@ -2087,25 +1290,17 @@ pump@^3.0.0: end-of-stream "^1.1.0" once "^1.3.1" -punycode@^2.1.0, punycode@^2.1.1: +punycode@^2.1.0: version "2.1.1" resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== -qs@6.9.7: - version "6.9.7" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.9.7.tgz#4610846871485e1e048f44ae3b94033f0e675afe" - integrity sha512-IhMFgUmuNpyRfxA90umL7ByLlgRXu6tIfKPpF5TmcfRLlLCckfP/g3IQmju6jjpu+Hh8rA+2p6A27ZSPOOHdKw== - -qs@~6.5.2: - version "6.5.3" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.3.tgz#3aeeffc91967ef6e35c0e488ef46fb296ab76aad" - integrity sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA== - -quick-lru@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-4.0.1.tgz#5b8878f113a58217848c6482026c73e1ba57727f" - integrity sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g== +qs@6.10.3: + version "6.10.3" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.10.3.tgz#d6cde1b2ffca87b5aa57889816c5f81535e22e8e" + integrity sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ== + dependencies: + side-channel "^1.0.4" quick-lru@^5.1.1: version "5.1.1" @@ -2117,36 +1312,17 @@ range-parser@~1.2.1: resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== -raw-body@2.4.3: - version "2.4.3" - resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.3.tgz#8f80305d11c2a0a545c2d9d89d7a0286fcead43c" - integrity sha512-UlTNLIcu0uzb4D2f4WltY6cVjLi+/jEN4lgEUj3E04tpMDpUlkBo/eSn6zou9hum2VMNpCCUone0O0WeJim07g== +raw-body@2.5.1: + version "2.5.1" + resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.5.1.tgz#fe1b1628b181b700215e5fd42389f98b71392857" + integrity sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig== dependencies: bytes "3.1.2" - http-errors "1.8.1" + http-errors "2.0.0" iconv-lite "0.4.24" unpipe "1.0.0" -read-pkg-up@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-7.0.1.tgz#f3a6135758459733ae2b95638056e1854e7ef507" - integrity sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg== - dependencies: - find-up "^4.1.0" - read-pkg "^5.2.0" - type-fest "^0.8.1" - -read-pkg@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-5.2.0.tgz#7bf295438ca5a33e56cd30e053b34ee7250c93cc" - integrity sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg== - dependencies: - "@types/normalize-package-data" "^2.4.0" - normalize-package-data "^2.5.0" - parse-json "^5.0.0" - type-fest "^0.6.0" - -readable-stream@^2.0.1, readable-stream@^2.3.7: +readable-stream@^2.3.7: version "2.3.7" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== @@ -2159,59 +1335,18 @@ readable-stream@^2.0.1, readable-stream@^2.3.7: string_decoder "~1.1.1" util-deprecate "~1.0.1" -readable-stream@^3.6.0: +readdirp@~3.6.0: version "3.6.0" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" - integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" + integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== dependencies: - inherits "^2.0.3" - string_decoder "^1.1.1" - util-deprecate "^1.0.1" - -redent@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/redent/-/redent-3.0.0.tgz#e557b7998316bb53c9f1f56fa626352c6963059f" - integrity sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg== - dependencies: - indent-string "^4.0.0" - strip-indent "^3.0.0" + picomatch "^2.2.1" regexpp@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2" integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== -request@^2.88.0: - version "2.88.2" - resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3" - integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw== - dependencies: - aws-sign2 "~0.7.0" - aws4 "^1.8.0" - caseless "~0.12.0" - combined-stream "~1.0.6" - extend "~3.0.2" - forever-agent "~0.6.1" - form-data "~2.3.2" - har-validator "~5.1.3" - http-signature "~1.2.0" - is-typedarray "~1.0.0" - isstream "~0.1.2" - json-stringify-safe "~5.0.1" - mime-types "~2.1.19" - oauth-sign "~0.9.0" - performance-now "^2.1.0" - qs "~6.5.2" - safe-buffer "^5.1.2" - tough-cookie "~2.5.0" - tunnel-agent "^0.6.0" - uuid "^3.3.2" - -require-directory@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" - integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= - resolve-alpn@^1.2.0: version "1.2.1" resolved "https://registry.yarnpkg.com/resolve-alpn/-/resolve-alpn-1.2.1.tgz#b7adbdac3546aaaec20b45e7d8265927072726f9" @@ -2222,15 +1357,6 @@ resolve-from@^4.0.0: resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== -resolve@^1.10.0: - version "1.22.0" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.0.tgz#5e0b8c67c15df57a89bdbabe603a002f21731198" - integrity sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw== - dependencies: - is-core-module "^2.8.1" - path-parse "^1.0.7" - supports-preserve-symlinks-flag "^1.0.0" - responselike@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/responselike/-/responselike-2.0.0.tgz#26391bcc3174f750f9a79eacc40a12a5c42d7723" @@ -2238,11 +1364,6 @@ responselike@^2.0.0: dependencies: lowercase-keys "^2.0.0" -retry@^0.12.0: - version "0.12.0" - resolved "https://registry.yarnpkg.com/retry/-/retry-0.12.0.tgz#1b42a6266a21f07421d1b0b54b7dc167b01c013b" - integrity sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs= - rimraf@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" @@ -2255,70 +1376,30 @@ safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== -safe-buffer@5.2.1, safe-buffer@^5.0.1, safe-buffer@^5.1.2, safe-buffer@~5.2.0: +safe-buffer@5.2.1: version "5.2.1" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== -"safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: +"safer-buffer@>= 2.1.2 < 3": version "2.1.2" resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== -sass-graph@4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/sass-graph/-/sass-graph-4.0.0.tgz#fff8359efc77b31213056dfd251d05dadc74c613" - integrity sha512-WSO/MfXqKH7/TS8RdkCX3lVkPFQzCgbqdGsmSKq6tlPU+GpGEsa/5aW18JqItnqh+lPtcjifqdZ/VmiILkKckQ== +sass@1.51.0: + version "1.51.0" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.51.0.tgz#25ea36cf819581fe1fe8329e8c3a4eaaf70d2845" + integrity sha512-haGdpTgywJTvHC2b91GSq+clTKGbtkkZmVAb82jZQN/wTy6qs8DdFm2lhEQbEwrY0QDRgSQ3xDurqM977C3noA== dependencies: - glob "^7.0.0" - lodash "^4.17.11" - scss-tokenizer "^0.3.0" - yargs "^17.2.1" + chokidar ">=3.0.0 <4.0.0" + immutable "^4.0.0" + source-map-js ">=0.6.2 <2.0.0" sax@^1.2.4: version "1.2.4" resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== -scss-tokenizer@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/scss-tokenizer/-/scss-tokenizer-0.3.0.tgz#ef7edc3bc438b25cd6ffacf1aa5b9ad5813bf260" - integrity sha512-14Zl9GcbBvOT9057ZKjpz5yPOyUWG2ojd9D5io28wHRYsOrs7U95Q+KNL87+32p8rc+LvDpbu/i9ZYjM9Q+FsQ== - dependencies: - js-base64 "^2.4.3" - source-map "^0.7.1" - -"semver@2 || 3 || 4 || 5": - version "5.7.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" - integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== - -semver@^7.3.4, semver@^7.3.5: - version "7.3.5" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7" - integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== - dependencies: - lru-cache "^6.0.0" - -send@0.17.2: - version "0.17.2" - resolved "https://registry.yarnpkg.com/send/-/send-0.17.2.tgz#926622f76601c41808012c8bf1688fe3906f7820" - integrity sha512-UJYB6wFSJE3G00nEivR5rgWp8c2xXvJ3OPWPhmuteU0IKj8nKbG3DrjiOmLwpnHGYWAVwA69zmTm++YG0Hmwww== - dependencies: - debug "2.6.9" - depd "~1.1.2" - destroy "~1.0.4" - encodeurl "~1.0.2" - escape-html "~1.0.3" - etag "~1.8.1" - fresh "0.5.2" - http-errors "1.8.1" - mime "1.6.0" - ms "2.1.3" - on-finished "~2.3.0" - range-parser "~1.2.1" - statuses "~1.5.0" - send@0.18.0: version "0.18.0" resolved "https://registry.yarnpkg.com/send/-/send-0.18.0.tgz#670167cc654b05f5aa4a767f9113bb371bc706be" @@ -2338,17 +1419,7 @@ send@0.18.0: range-parser "~1.2.1" statuses "2.0.1" -serve-static@1.14.2: - version "1.14.2" - resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.14.2.tgz#722d6294b1d62626d41b43a013ece4598d292bfa" - integrity sha512-+TMNA9AFxUEGuC0z2mevogSnn9MXKb4fa7ngeRMJaaGv8vTwnIEkKi+QGvPt33HSnf8pRS+WGM0EbMtCJLKMBQ== - dependencies: - encodeurl "~1.0.2" - escape-html "~1.0.3" - parseurl "~1.3.3" - send "0.17.2" - -serve-static@^1.14.2: +serve-static@1.15.0: version "1.15.0" resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.15.0.tgz#faaef08cffe0a1a62f60cad0c4e513cff0ac9540" integrity sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g== @@ -2358,11 +1429,6 @@ serve-static@^1.14.2: parseurl "~1.3.3" send "0.18.0" -set-blocking@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" - integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= - setprototypeof@1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424" @@ -2380,17 +1446,21 @@ shebang-regex@^3.0.0: resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== -signal-exit@^3.0.0, signal-exit@^3.0.7: - version "3.0.7" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" - integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== +side-channel@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" + integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== + dependencies: + call-bind "^1.0.0" + get-intrinsic "^1.0.2" + object-inspect "^1.9.0" smart-buffer@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/smart-buffer/-/smart-buffer-4.2.0.tgz#6e1d71fa4f18c05f7d0ff216dd16a481d0e8d9ae" integrity sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg== -socks-proxy-agent@^6.0.0, socks-proxy-agent@^6.1.0: +socks-proxy-agent@^6.1.0: version "6.1.1" resolved "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-6.1.1.tgz#e664e8f1aaf4e1fb3df945f09e3d94f911137f87" integrity sha512-t8J0kG3csjA4g6FTbsMOWws+7R7vuRC8aQ/wy3/1OWmsgwA68zs/+cExQ0koSitUDXqhufF/YJr9wtNMZHw5Ew== @@ -2407,92 +1477,16 @@ socks@^2.6.1: ip "^1.1.5" smart-buffer "^4.2.0" -source-map@^0.7.1: - version "0.7.3" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" - integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== - -spdx-correct@^3.0.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9" - integrity sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w== - dependencies: - spdx-expression-parse "^3.0.0" - spdx-license-ids "^3.0.0" - -spdx-exceptions@^2.1.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d" - integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== - -spdx-expression-parse@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679" - integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== - dependencies: - spdx-exceptions "^2.1.0" - spdx-license-ids "^3.0.0" - -spdx-license-ids@^3.0.0: - version "3.0.11" - resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz#50c0d8c40a14ec1bf449bae69a0ea4685a9d9f95" - integrity sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g== - -sshpk@^1.7.0: - version "1.17.0" - resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.17.0.tgz#578082d92d4fe612b13007496e543fa0fbcbe4c5" - integrity sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ== - dependencies: - asn1 "~0.2.3" - assert-plus "^1.0.0" - bcrypt-pbkdf "^1.0.0" - dashdash "^1.12.0" - ecc-jsbn "~0.1.1" - getpass "^0.1.1" - jsbn "~0.1.0" - safer-buffer "^2.0.2" - tweetnacl "~0.14.0" - -ssri@^8.0.0, ssri@^8.0.1: - version "8.0.1" - resolved "https://registry.yarnpkg.com/ssri/-/ssri-8.0.1.tgz#638e4e439e2ffbd2cd289776d5ca457c4f51a2af" - integrity sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ== - dependencies: - minipass "^3.1.1" +"source-map-js@>=0.6.2 <2.0.0": + version "1.0.2" + resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" + integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== statuses@2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63" integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== -"statuses@>= 1.5.0 < 2", statuses@~1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" - integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= - -stdout-stream@^1.4.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/stdout-stream/-/stdout-stream-1.4.1.tgz#5ac174cdd5cd726104aa0c0b2bd83815d8d535de" - integrity sha512-j4emi03KXqJWcIeF8eIXkjMFN1Cmb8gUlDYGeBALLPo5qdyTfA9bOtl8m33lRoC+vFMkP3gl0WsDr6+gzxbbTA== - dependencies: - readable-stream "^2.0.1" - -"string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: - version "4.2.3" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" - integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.1" - -string_decoder@^1.1.1: - version "1.3.0" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" - integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== - dependencies: - safe-buffer "~5.2.0" - string_decoder@~1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" @@ -2500,32 +1494,18 @@ string_decoder@~1.1.1: dependencies: safe-buffer "~5.1.0" -strip-ansi@^6.0.0, strip-ansi@^6.0.1: +strip-ansi@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== dependencies: ansi-regex "^5.0.1" -strip-indent@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-3.0.0.tgz#c32e1cee940b6b3432c771bc2c54bcce73cd3001" - integrity sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ== - dependencies: - min-indent "^1.0.0" - strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== -supports-color@^5.3.0: - version "5.5.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" - integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== - dependencies: - has-flag "^3.0.0" - supports-color@^7.1.0: version "7.2.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" @@ -2533,70 +1513,28 @@ supports-color@^7.1.0: dependencies: has-flag "^4.0.0" -supports-preserve-symlinks-flag@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" - integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== - -tar@^6.0.2, tar@^6.1.2: - version "6.1.11" - resolved "https://registry.yarnpkg.com/tar/-/tar-6.1.11.tgz#6760a38f003afa1b2ffd0ffe9e9abbd0eab3d621" - integrity sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA== - dependencies: - chownr "^2.0.0" - fs-minipass "^2.0.0" - minipass "^3.0.0" - minizlib "^2.1.1" - mkdirp "^1.0.3" - yallist "^4.0.0" - text-table@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= -timeago.js@^4.0.2: +timeago.js@4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/timeago.js/-/timeago.js-4.0.2.tgz#724e8c8833e3490676c7bb0a75f5daf20e558028" integrity sha512-a7wPxPdVlQL7lqvitHGGRsofhdwtkoSXPGATFuSOA2i1ZNQEPLrGnj68vOp2sOJTCFAQVXPeNMX/GctBaO9L2w== +to-regex-range@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" + integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== + dependencies: + is-number "^7.0.0" + toidentifier@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35" integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== -tough-cookie@~2.5.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" - integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g== - dependencies: - psl "^1.1.28" - punycode "^2.1.1" - -trim-newlines@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-3.0.1.tgz#260a5d962d8b752425b32f3a7db0dcacd176c144" - integrity sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw== - -"true-case-path@^1.0.2": - version "1.0.3" - resolved "https://registry.yarnpkg.com/true-case-path/-/true-case-path-1.0.3.tgz#f813b5a8c86b40da59606722b144e3225799f47d" - integrity sha512-m6s2OdQe5wgpFMC+pAJ+q9djG82O2jcHPOI6RNg1yy9rCYR+WD6Nbpl32fDpfC56nirdRy+opFa/Vk7HYhqaew== - dependencies: - glob "^7.1.2" - -tunnel-agent@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" - integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= - dependencies: - safe-buffer "^5.0.1" - -tweetnacl@^0.14.3, tweetnacl@~0.14.0: - version "0.14.5" - resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" - integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= - type-check@^0.4.0, type-check@~0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" @@ -2604,26 +1542,11 @@ type-check@^0.4.0, type-check@~0.4.0: dependencies: prelude-ls "^1.2.1" -type-fest@^0.18.0: - version "0.18.1" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.18.1.tgz#db4bc151a4a2cf4eebf9add5db75508db6cc841f" - integrity sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw== - type-fest@^0.20.2: version "0.20.2" resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== -type-fest@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b" - integrity sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg== - -type-fest@^0.8.1: - version "0.8.1" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" - integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== - type-is@~1.6.18: version "1.6.18" resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" @@ -2637,20 +1560,6 @@ typescript@4.5.5: resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.5.5.tgz#d8c953832d28924a9e3d37c73d729c846c5896f3" integrity sha512-TCTIul70LyWe6IJWT8QSYeA54WQe8EjQFU4wY52Fasj5UKx88LNYKCgBEHcOMOrFF1rKGbD8v/xcNWVUq9SymA== -unique-filename@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-1.1.1.tgz#1d69769369ada0583103a1e6ae87681b56573230" - integrity sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ== - dependencies: - unique-slug "^2.0.0" - -unique-slug@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/unique-slug/-/unique-slug-2.0.2.tgz#baabce91083fc64e945b0f3ad613e264f7cd4e6c" - integrity sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w== - dependencies: - imurmurhash "^0.1.4" - unpipe@1.0.0, unpipe@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" @@ -2663,7 +1572,7 @@ uri-js@^4.2.2: dependencies: punycode "^2.1.0" -util-deprecate@^1.0.1, util-deprecate@~1.0.1: +util-deprecate@~1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= @@ -2673,11 +1582,6 @@ utils-merge@1.0.1: resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM= -uuid@^3.3.2: - version "3.4.0" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" - integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== - uuid@^8.0.0: version "8.3.2" resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" @@ -2688,56 +1592,23 @@ v8-compile-cache@^2.0.3: resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee" integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA== -validate-npm-package-license@^3.0.1: - version "3.0.4" - resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" - integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== - dependencies: - spdx-correct "^3.0.0" - spdx-expression-parse "^3.0.0" - vary@^1, vary@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw= -verror@1.10.0: - version "1.10.0" - resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" - integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA= - dependencies: - assert-plus "^1.0.0" - core-util-is "1.0.2" - extsprintf "^1.2.0" - -which@^2.0.1, which@^2.0.2: +which@^2.0.1: version "2.0.2" resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== dependencies: isexe "^2.0.0" -wide-align@^1.1.2, wide-align@^1.1.5: - version "1.1.5" - resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.5.tgz#df1d4c206854369ecf3c9a4898f1b23fbd9d15d3" - integrity sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg== - dependencies: - string-width "^1.0.2 || 2 || 3 || 4" - word-wrap@^1.2.3: version "1.2.3" resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== -wrap-ansi@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" - integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - wrappy@1: version "1.0.2" resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" @@ -2747,36 +1618,3 @@ ws@8.5.0: version "8.5.0" resolved "https://registry.yarnpkg.com/ws/-/ws-8.5.0.tgz#bfb4be96600757fe5382de12c670dab984a1ed4f" integrity sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg== - -y18n@^5.0.5: - version "5.0.8" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" - integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== - -yallist@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" - integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== - -yargs-parser@^20.2.3: - version "20.2.9" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" - integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== - -yargs-parser@^21.0.0: - version "21.0.1" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.0.1.tgz#0267f286c877a4f0f728fceb6f8a3e4cb95c6e35" - integrity sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg== - -yargs@^17.2.1: - version "17.3.1" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.3.1.tgz#da56b28f32e2fd45aefb402ed9c26f42be4c07b9" - integrity sha512-WUANQeVgjLbNsEmGk20f+nlHgOqzRFpiGWVaBrYGYIGANIIu3lWjoyi0fNlFmJkvfhCZ6BXINe7/W2O2bV4iaA== - dependencies: - cliui "^7.0.2" - escalade "^3.1.1" - get-caller-file "^2.0.5" - require-directory "^2.1.1" - string-width "^4.2.3" - y18n "^5.0.5" - yargs-parser "^21.0.0"