From 21c1c1797eab1796de18b435ab5120c54db50ee4 Mon Sep 17 00:00:00 2001 From: Tom Moor Date: Tue, 28 Nov 2017 22:46:26 -0800 Subject: [PATCH] Add changelog --- CHANGELOG.md | 10 ++ package.json | 2 + server/pages/Api.js | 21 ++- server/pages/Changelog.js | 40 ++++++ server/pages/components/Header.js | 22 +++ server/pages/components/Navigation.js | 4 + server/routes.js | 7 + shared/utils/routeHelpers.js | 4 + yarn.lock | 198 +++++++++++++++++++++++++- 9 files changed, 296 insertions(+), 12 deletions(-) create mode 100644 CHANGELOG.md create mode 100644 server/pages/Changelog.js create mode 100644 server/pages/components/Header.js diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 00000000..e1516f78 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,10 @@ +## Nov 28th, 2017 + +- Added the changelog you’re looking at! +- Fixed some issues with collection homepage + +--- + +## Nov 23rd, 2017 + +- Initial open source release. diff --git a/package.json b/package.json index ba7fde16..d80f7a16 100644 --- a/package.json +++ b/package.json @@ -101,6 +101,7 @@ "fbemitter": "^2.1.1", "file-loader": "0.9.0", "flow-typed": "^2.1.2", + "fs-extra": "^4.0.2", "history": "3.0.0", "html-webpack-plugin": "2.17.0", "http-errors": "1.4.0", @@ -147,6 +148,7 @@ "react-dropzone": "4.2.1", "react-helmet": "^5.2.0", "react-keydown": "^1.7.3", + "react-markdown": "^3.0.2", "react-medium-image-zoom": "^3.0.2", "react-modal": "^3.1.2", "react-portal": "^4.0.0", diff --git a/server/pages/Api.js b/server/pages/Api.js index b546f252..92be7b71 100644 --- a/server/pages/Api.js +++ b/server/pages/Api.js @@ -3,10 +3,12 @@ import React from 'react'; import Grid from 'styled-components-grid'; import { Helmet } from 'react-helmet'; import styled from 'styled-components'; +import Header from './components/Header'; const Container = styled.div` max-width: 720px; margin: 0 auto; + padding: 0 2em; pre { padding: 0.5em 1em; @@ -56,20 +58,17 @@ export default function Pricing() { return ( - Developer API - Outline + API Documentation - Outline +
+

Documentation

+

The API is the heart and soul of Outline.

+
-

Outline API

- First thing we build for Outline was its API. It’s the heart and soul - of the service and as developers, it’s our mission to make the API as - rich and easy to use as possible. -

-

- - While Outline is still in public beta, we might make small - adjustments, including breaking changes to the API. - + As developers, it’s our mission to make the API as great as possible. + While Outline is still in public beta, we might make small + adjustments, including breaking changes to the API.

Making requests

diff --git a/server/pages/Changelog.js b/server/pages/Changelog.js new file mode 100644 index 00000000..e6caa376 --- /dev/null +++ b/server/pages/Changelog.js @@ -0,0 +1,40 @@ +// @flow +import React from 'react'; +import styled from 'styled-components'; +import Grid from 'styled-components-grid'; +import ReactMarkdown from 'react-markdown'; +import { Helmet } from 'react-helmet'; +import Header from './components/Header'; +import { color } from '../../shared/styles/constants'; + +function Changelog({ body }: { body: string }) { + return ( + + + Changelog + +

+

Changelog

+

+ We’re building in public. Here’s what we’ve been changing recently. +

+
+ +
+ ); +} + +const Container = styled(ReactMarkdown)` + width: 100%; + max-width: 720px; + margin: 0 auto; + padding: 0 2em; + + hr { + border: 0; + border-bottom: 1px solid ${color.slateLight}; + margin: 4em 0; + } +`; + +export default Changelog; diff --git a/server/pages/components/Header.js b/server/pages/components/Header.js new file mode 100644 index 00000000..73ebbf8a --- /dev/null +++ b/server/pages/components/Header.js @@ -0,0 +1,22 @@ +// @flow +import styled from 'styled-components'; +import { color } from '../../../shared/styles/constants'; + +const Header = styled.div` + width: 100%; + padding: 0 2em 2em; + text-align: center; + background: ${color.slateLight}; + margin-bottom: 2em; + + p { + max-width: 720px; + margin: 0 auto; + } + + h1 { + font-size: 2.5em; + } +`; + +export default Header; diff --git a/server/pages/components/Navigation.js b/server/pages/components/Navigation.js index 4525443f..c36f5fcf 100644 --- a/server/pages/components/Navigation.js +++ b/server/pages/components/Navigation.js @@ -5,6 +5,7 @@ import breakpoint from 'styled-components-breakpoint'; import { signin, developers, + changelog, githubUrl, spectrumUrl, blogUrl, @@ -23,6 +24,9 @@ function TopNavigation() { Blog + + Changelog + API diff --git a/server/routes.js b/server/routes.js index 23e06dbd..3f69cade 100644 --- a/server/routes.js +++ b/server/routes.js @@ -1,6 +1,7 @@ // @flow import React from 'react'; import path from 'path'; +import fs from 'fs-extra'; import httpErrors from 'http-errors'; import Koa from 'koa'; import Router from 'koa-router'; @@ -12,6 +13,7 @@ import { slackAuth } from '../shared/utils/routeHelpers'; import Home from './pages/Home'; import About from './pages/About'; +import Changelog from './pages/Changelog'; import Pricing from './pages/Pricing'; import Api from './pages/Api'; @@ -62,6 +64,11 @@ router.get('/auth/slack/install', async ctx => { router.get('/about', ctx => renderpage(ctx, )); router.get('/pricing', ctx => renderpage(ctx, )); router.get('/developers', ctx => renderpage(ctx, )); +router.get('/changelog', async ctx => { + const data = await fs.readFile(path.join(__dirname, '../CHANGELOG.md')); + const body = data.toString(); + return renderpage(ctx, ); +}); // home page router.get('/', async ctx => { diff --git a/shared/utils/routeHelpers.js b/shared/utils/routeHelpers.js index bb0ef5bf..d3d854fc 100644 --- a/shared/utils/routeHelpers.js +++ b/shared/utils/routeHelpers.js @@ -45,6 +45,10 @@ export function developers(): string { return '/developers'; } +export function changelog(): string { + return '/changelog'; +} + export function signin(): string { return '/auth/slack'; } diff --git a/yarn.lock b/yarn.lock index 6159a897..2d541e7d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -998,6 +998,10 @@ babylon@^6.17.0, babylon@^6.17.4, babylon@^6.18.0: version "6.18.0" resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3" +bail@^1.0.0: + version "1.0.2" + resolved "https://registry.npmjs.org/bail/-/bail-1.0.2.tgz#f7d6c1731630a9f9f0d4d35ed1f962e2074a1764" + balanced-match@^0.4.2: version "0.4.2" resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-0.4.2.tgz#cb3f3e3c732dc0f01ee70b403f302e61d7709838" @@ -1445,6 +1449,18 @@ change-case@3.0.x: upper-case "^1.1.1" upper-case-first "^1.1.0" +character-entities-legacy@^1.0.0: + version "1.1.1" + resolved "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.1.tgz#f40779df1a101872bb510a3d295e1fccf147202f" + +character-entities@^1.0.0: + version "1.2.1" + resolved "https://registry.npmjs.org/character-entities/-/character-entities-1.2.1.tgz#f76871be5ef66ddb7f8f8e3478ecc374c27d6dca" + +character-reference-invalid@^1.0.0: + version "1.1.1" + resolved "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.1.tgz#942835f750e4ec61a308e60c2ef8cc1011202efc" + charenc@~0.0.1: version "0.0.2" resolved "https://registry.yarnpkg.com/charenc/-/charenc-0.0.2.tgz#c0a1d2f3a7092e03774bfa83f14c0fc5790a8667" @@ -1634,6 +1650,10 @@ code-point-at@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" +collapse-white-space@^1.0.2: + version "1.0.3" + resolved "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-1.0.3.tgz#4b906f670e5a963a87b76b0e1689643341b6023c" + color-convert@^1.3.0, color-convert@^1.9.0: version "1.9.0" resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.0.tgz#1accf97dd739b983bf994d56fec8f95853641b7a" @@ -3347,6 +3367,14 @@ fs-extra@^4.0.0, fs-extra@^4.0.1: jsonfile "^3.0.0" universalify "^0.1.0" +fs-extra@^4.0.2: + version "4.0.2" + resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.2.tgz#f91704c53d1b461f893452b0c307d9997647ab6b" + dependencies: + graceful-fs "^4.1.2" + jsonfile "^4.0.0" + universalify "^0.1.0" + fs.realpath@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" @@ -4219,6 +4247,17 @@ is-absolute@^0.2.3: is-relative "^0.2.1" is-windows "^0.2.0" +is-alphabetical@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.1.tgz#c77079cc91d4efac775be1034bf2d243f95e6f08" + +is-alphanumerical@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.1.tgz#dfb4aa4d1085e33bdb61c2dee9c80e9c6c19f53b" + dependencies: + is-alphabetical "^1.0.0" + is-decimal "^1.0.0" + is-arrayish@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" @@ -4233,6 +4272,10 @@ is-bluebird@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/is-bluebird/-/is-bluebird-1.0.2.tgz#096439060f4aa411abee19143a84d6a55346d6e2" +is-buffer@^1.1.4: + version "1.1.6" + resolved "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" + is-buffer@^1.1.5, is-buffer@~1.1.1: version "1.1.5" resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.5.tgz#1f3b26ef613b214b88cbca23cc6c01d87961eecc" @@ -4263,6 +4306,10 @@ is-date-object@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16" +is-decimal@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.1.tgz#f5fb6a94996ad9e8e3761fbfbd091f1fca8c4e82" + is-dotfile@^1.0.0: version "1.0.3" resolved "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.3.tgz#a6a2f32ffd2dfb04f5ca25ecd0f6b83cf798a1e1" @@ -4315,6 +4362,10 @@ is-glob@^2.0.0, is-glob@^2.0.1: dependencies: is-extglob "^1.0.0" +is-hexadecimal@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.1.tgz#6e084bbc92061fbb0971ec58b6ce6d404e24da69" + is-image@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/is-image/-/is-image-1.0.1.tgz#6fd51a752a1a111506d060d952118b0b989b426e" @@ -4474,6 +4525,10 @@ is-utf8@^0.2.0: version "0.2.1" resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" +is-whitespace-character@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/is-whitespace-character/-/is-whitespace-character-1.0.1.tgz#9ae0176f3282b65457a1992cdb084f8a5f833e3b" + is-window@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/is-window/-/is-window-1.0.2.tgz#2c896ca53db97de45d3c33133a65d8c9f563480d" @@ -4482,6 +4537,10 @@ is-windows@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-0.2.0.tgz#de1aa6d63ea29dd248737b69f1ff8b8002d2108c" +is-word-character@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/is-word-character/-/is-word-character-1.0.1.tgz#5a03fa1ea91ace8a6eb0c7cd770eb86d65c8befb" + is@~0.2.6: version "0.2.7" resolved "https://registry.yarnpkg.com/is/-/is-0.2.7.tgz#3b34a2c48f359972f35042849193ae7264b63562" @@ -4922,6 +4981,12 @@ jsonfile@^3.0.0: optionalDependencies: graceful-fs "^4.1.6" +jsonfile@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" + optionalDependencies: + graceful-fs "^4.1.6" + jsonify@~0.0.0: version "0.0.0" resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" @@ -5710,6 +5775,10 @@ map-stream@~0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/map-stream/-/map-stream-0.1.0.tgz#e56aa94c4c8055a16404a0674b78f215f7c8e194" +markdown-escapes@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/markdown-escapes/-/markdown-escapes-1.0.1.tgz#1994df2d3af4811de59a6714934c2b2292734518" + marked-terminal@^1.6.2: version "1.7.0" resolved "https://registry.yarnpkg.com/marked-terminal/-/marked-terminal-1.7.0.tgz#c8c460881c772c7604b64367007ee5f77f125904" @@ -6569,6 +6638,17 @@ parse-asn1@^5.0.0: evp_bytestokey "^1.0.0" pbkdf2 "^3.0.3" +parse-entities@^1.0.2: + version "1.1.1" + resolved "https://registry.npmjs.org/parse-entities/-/parse-entities-1.1.1.tgz#8112d88471319f27abae4d64964b122fe4e1b890" + dependencies: + character-entities "^1.0.0" + character-entities-legacy "^1.0.0" + character-reference-invalid "^1.0.0" + is-alphanumerical "^1.0.0" + is-decimal "^1.0.0" + is-hexadecimal "^1.0.0" + parse-filepath@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/parse-filepath/-/parse-filepath-1.0.1.tgz#159d6155d43904d16c10ef698911da1e91969b73" @@ -7329,6 +7409,16 @@ react-keydown@^1.7.3: dependencies: core-js "^2.5.0" +react-markdown@^3.0.2: + version "3.0.2" + resolved "https://registry.npmjs.org/react-markdown/-/react-markdown-3.0.2.tgz#e6e25a9c141a5dbada2fb016513cc5398515205c" + dependencies: + prop-types "^15.6.0" + remark-parse "^4.0.0" + unified "^6.1.5" + unist-util-visit "^1.1.3" + xtend "^4.0.1" + react-medium-image-zoom@^3.0.2: version "3.0.2" resolved "https://registry.npmjs.org/react-medium-image-zoom/-/react-medium-image-zoom-3.0.2.tgz#13bb39a2aa2c4d63821fd018f8b4a93cd3316cd4" @@ -7652,6 +7742,26 @@ relateurl@0.2.x: version "0.2.7" resolved "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9" +remark-parse@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/remark-parse/-/remark-parse-4.0.0.tgz#99f1f049afac80382366e2e0d0bd55429dd45d8b" + dependencies: + collapse-white-space "^1.0.2" + is-alphabetical "^1.0.0" + is-decimal "^1.0.0" + is-whitespace-character "^1.0.0" + is-word-character "^1.0.0" + markdown-escapes "^1.0.0" + parse-entities "^1.0.2" + repeat-string "^1.5.4" + state-toggle "^1.0.0" + trim "0.0.1" + trim-trailing-lines "^1.0.0" + unherit "^1.0.4" + unist-util-remove-position "^1.0.0" + vfile-location "^2.0.0" + xtend "^4.0.1" + remove-trailing-separator@^1.0.1: version "1.1.0" resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" @@ -7670,7 +7780,7 @@ repeat-element@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.2.tgz#ef089a178d1483baae4d93eb98b4f9e4e11d990a" -repeat-string@^1.5.2: +repeat-string@^1.5.2, repeat-string@^1.5.4: version "1.6.1" resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" @@ -7690,6 +7800,10 @@ replace-ext@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-0.0.1.tgz#29bbd92078a739f0bcce2b4ee41e837953522924" +replace-ext@1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.0.tgz#de63128373fcbf7c3ccfa4de5a480c45a67958eb" + request@^2.79.0, request@^2.81.0: version "2.81.0" resolved "https://registry.yarnpkg.com/request/-/request-2.81.0.tgz#c6928946a0e06c5f8d6f8a9333469ffda46298a0" @@ -8285,6 +8399,10 @@ staged-git-files@0.0.4: version "0.0.4" resolved "https://registry.yarnpkg.com/staged-git-files/-/staged-git-files-0.0.4.tgz#d797e1b551ca7a639dec0237dc6eb4bb9be17d35" +state-toggle@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/state-toggle/-/state-toggle-1.0.0.tgz#d20f9a616bb4f0c3b98b91922d25b640aa2bc425" + statuses@1, "statuses@>= 1.2.1 < 2", "statuses@>= 1.3.1 < 2", statuses@^1.0.0, statuses@^1.2.0, statuses@~1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.3.1.tgz#faf51b9eb74aaef3b3acf4ad5f61abf24cb7b93e" @@ -8750,6 +8868,18 @@ trim-right@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003" +trim-trailing-lines@^1.0.0: + version "1.1.0" + resolved "https://registry.npmjs.org/trim-trailing-lines/-/trim-trailing-lines-1.1.0.tgz#7aefbb7808df9d669f6da2e438cac8c46ada7684" + +trim@0.0.1: + version "0.0.1" + resolved "https://registry.npmjs.org/trim/-/trim-0.0.1.tgz#5858547f6b290757ee95cccc666fb50084c460dd" + +trough@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/trough/-/trough-1.0.1.tgz#a9fd8b0394b0ae8fff82e0633a0a36ccad5b5f86" + tryit@^1.0.1: version "1.0.3" resolved "https://registry.yarnpkg.com/tryit/-/tryit-1.0.3.tgz#393be730a9446fd1ead6da59a014308f36c289cb" @@ -8848,10 +8978,29 @@ underscore@^1.7.0: version "1.8.3" resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.8.3.tgz#4f3fb53b106e6097fcf9cb4109f2a5e9bdfa5022" +unherit@^1.0.4: + version "1.1.0" + resolved "https://registry.npmjs.org/unherit/-/unherit-1.1.0.tgz#6b9aaedfbf73df1756ad9e316dd981885840cd7d" + dependencies: + inherits "^2.0.1" + xtend "^4.0.1" + "unicode@>= 0.3.1": version "10.0.0" resolved "https://registry.yarnpkg.com/unicode/-/unicode-10.0.0.tgz#e5d51c1db93b6c71a0b879e0b0c4af7e6fdf688e" +unified@^6.1.5: + version "6.1.6" + resolved "https://registry.npmjs.org/unified/-/unified-6.1.6.tgz#5ea7f807a0898f1f8acdeefe5f25faa010cc42b1" + dependencies: + bail "^1.0.0" + extend "^3.0.0" + is-plain-obj "^1.1.0" + trough "^1.0.0" + vfile "^2.0.0" + x-is-function "^1.0.4" + x-is-string "^0.1.0" + uniq@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/uniq/-/uniq-1.0.1.tgz#b31c5ae8254844a3a8281541ce2b04b865a734ff" @@ -8870,6 +9019,26 @@ unique-stream@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/unique-stream/-/unique-stream-1.0.0.tgz#d59a4a75427447d9aa6c91e70263f8d26a4b104b" +unist-util-is@^2.1.1: + version "2.1.1" + resolved "https://registry.npmjs.org/unist-util-is/-/unist-util-is-2.1.1.tgz#0c312629e3f960c66e931e812d3d80e77010947b" + +unist-util-remove-position@^1.0.0: + version "1.1.1" + resolved "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-1.1.1.tgz#5a85c1555fc1ba0c101b86707d15e50fa4c871bb" + dependencies: + unist-util-visit "^1.1.0" + +unist-util-stringify-position@^1.0.0, unist-util-stringify-position@^1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-1.1.1.tgz#3ccbdc53679eed6ecf3777dd7f5e3229c1b6aa3c" + +unist-util-visit@^1.1.0, unist-util-visit@^1.1.3: + version "1.2.0" + resolved "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-1.2.0.tgz#9dc78d1f95cd242e865f7f93f327d3296bb9a718" + dependencies: + unist-util-is "^2.1.1" + universalify@^0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.1.tgz#fa71badd4437af4c148841e3b3b165f9e9e590b7" @@ -9039,6 +9208,25 @@ verror@1.10.0: core-util-is "1.0.2" extsprintf "^1.2.0" +vfile-location@^2.0.0: + version "2.0.2" + resolved "https://registry.npmjs.org/vfile-location/-/vfile-location-2.0.2.tgz#d3675c59c877498e492b4756ff65e4af1a752255" + +vfile-message@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/vfile-message/-/vfile-message-1.0.0.tgz#a6adb0474ea400fa25d929f1d673abea6a17e359" + dependencies: + unist-util-stringify-position "^1.1.1" + +vfile@^2.0.0: + version "2.3.0" + resolved "https://registry.npmjs.org/vfile/-/vfile-2.3.0.tgz#e62d8e72b20e83c324bc6c67278ee272488bf84a" + dependencies: + is-buffer "^1.1.4" + replace-ext "1.0.0" + unist-util-stringify-position "^1.0.0" + vfile-message "^1.0.0" + vhost@~3.0.1: version "3.0.2" resolved "https://registry.yarnpkg.com/vhost/-/vhost-3.0.2.tgz#2fb1decd4c466aa88b0f9341af33dc1aff2478d5" @@ -9267,6 +9455,14 @@ write@^0.2.1: dependencies: mkdirp "^0.5.1" +x-is-function@^1.0.4: + version "1.0.4" + resolved "https://registry.npmjs.org/x-is-function/-/x-is-function-1.0.4.tgz#5d294dc3d268cbdd062580e0c5df77a391d1fa1e" + +x-is-string@^0.1.0: + version "0.1.0" + resolved "https://registry.npmjs.org/x-is-string/-/x-is-string-0.1.0.tgz#474b50865af3a49a9c4657f05acd145458f77d82" + x-xss-protection@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/x-xss-protection/-/x-xss-protection-1.0.0.tgz#898afb93869b24661cf9c52f9ee8db8ed0764dd9"