diff --git a/website/README.md b/website/README.md
index 19a8cf68f..152cd5ee1 100644
--- a/website/README.md
+++ b/website/README.md
@@ -116,6 +116,125 @@ There are several custom markdown plugins that are available by default that enh
...while it perhaps would not be an improved user experience, no links would break because of it. The best approach is to **avoid changing headlines and inline code at the start of a list item**. If you must change one of these items, make sure to tag someone from the digital marketing development team on your pull request, they will help to ensure as much compatibility as possible.
+### Custom Components
+
+A number of custom [mdx components](https://mdxjs.com/) are available for use within any `.mdx` file. Each one is documented below:
+
+#### Tabs
+
+The `Tabs` component creates tabbed content of any type, but is often used for code examples given in different languages. Here's an example of how it looks from the Vagrant documentation website:
+
+![Tabs Component](https://p176.p0.n0.cdn.getcloudapp.com/items/WnubALZ4/Screen%20Recording%202020-06-11%20at%2006.03%20PM.gif?v=1de81ea720a8cc8ade83ca64fb0b9edd)
+
+It can be used as such within a markdown file:
+
+````mdx
+Normal **markdown** content.
+
+
+
+
+```shell-session
+$ command ...
+```
+
+
+
+
+```shell-session
+$ curl ...
+```
+
+
+
+
+Contined normal markdown content
+````
+
+The intentionally skipped line is a limitation of the mdx parser which is being actively worked on. All tabs must have a heading, and there is no limit to the number of tabs, though it is recommended to go for a maximum of three or four.
+
+#### Enterprise Alert
+
+This component provides a standard way to call out functionality as being present only in the enterprise version of the software. It can be presented in two contexts, inline or standalone. Here's an example of standalone usage from the Consul docs website:
+
+![Enterprise Alert Component - Standalone](https://p176.p0.n0.cdn.getcloudapp.com/items/WnubALp8/Screen%20Shot%202020-06-11%20at%206.06.03%20PM.png?v=d1505b90bdcbde6ed664831a885ea5fb)
+
+The standalone component can be used as such in markdown files:
+
+```mdx
+# Page Headline
+
+
+
+Continued markdown content...
+```
+
+It can also receive custom text contents if you need to change the messaging but wish to retain the style. This will replace the text `This feature is available in all versions of Consul Enterprise.` with whatever you add. For example:
+
+```mdx
+# Page Headline
+
+
+ My custom text here, and a link!
+
+
+Continued markdown content...
+```
+
+It's important to note that once you are adding custom content, it must be html and can not be markdown, as demonstrated above with the link.
+
+Now let's look at inline usage, here's an example:
+
+![Enterprise Alert Component - Inline](https://p176.p0.n0.cdn.getcloudapp.com/items/L1upYLEJ/Screen%20Shot%202020-06-11%20at%206.07.50%20PM.png?v=013ba439263de8292befbc851d31dd78)
+
+And here's how it could be used in your markdown document:
+
+```mdx
+### Some Enterprise Feature
+
+Continued markdown content...
+```
+
+It's also worth noting that this component will automatically adjust to the correct product colors depending on the context.
+
+#### Other Components
+
+Other custom components can be made available on a per-site basis, the above are the standards. If you have questions about custom components that are not documented here, or have a request for a new custom component, please reach out to @hashicorp/digital-marketing.
+
+### Syntax Highlighting
+
+When using fenced code blocks, the recommendation is to tag the code block with a language so that it can be syntax highlighted. For example:
+
+````
+```
+// BAD: Code block with no language tag
+```
+
+```javascript
+// GOOD: Code block with a language tag
+```
+````
+
+Check out the [supported languages list](https://prismjs.com/#supported-languages) for the syntax highlighter we use if you want to double check the language name.
+
+It is also worth noting specifically that if you are using a code block that is an example of a terminal command, the correct language tag is `shell-session`. For example:
+
+🚫**BAD**: Using `shell`, `sh`, `bash`, or `plaintext` to represent a terminal command
+
+````
+```shell
+$ terraform apply
+```
+````
+
+✅**GOOD**: Using `shell-session` to represent a terminal command
+
+````
+```shell-session
+$ terraform apply
+```
+````
+
diff --git a/website/layouts/docs.jsx b/website/layouts/docs.jsx
index 4dcb87e41..0a604d829 100644
--- a/website/layouts/docs.jsx
+++ b/website/layouts/docs.jsx
@@ -3,28 +3,33 @@ import order from 'data/docs-navigation.js'
import { frontMatter as data } from '../pages/docs/**/*.mdx'
import Head from 'next/head'
import Link from 'next/link'
+import { createMdxProvider } from '@hashicorp/nextjs-scripts/lib/providers/docs'
-function DocsLayoutWrapper(pageMeta) {
+const MDXProvider = createMdxProvider({ product: 'packer' })
+
+export default function DocsLayoutWrapper(pageMeta) {
function DocsLayout(props) {
return (
-
+
+
+
)
}
@@ -32,5 +37,3 @@ function DocsLayoutWrapper(pageMeta) {
return DocsLayout
}
-
-export default DocsLayoutWrapper
diff --git a/website/layouts/guides.jsx b/website/layouts/guides.jsx
index 3013749fe..dcece5dac 100644
--- a/website/layouts/guides.jsx
+++ b/website/layouts/guides.jsx
@@ -3,28 +3,33 @@ import order from 'data/guides-navigation.js'
import { frontMatter as data } from '../pages/guides/**/*.mdx'
import Head from 'next/head'
import Link from 'next/link'
+import { createMdxProvider } from '@hashicorp/nextjs-scripts/lib/providers/docs'
-function GuidesLayoutWrapper(pageMeta) {
+const MDXProvider = createMdxProvider({ product: 'packer' })
+
+export default function GuidesLayoutWrapper(pageMeta) {
function GuidesLayout(props) {
return (
-
+
+
+
)
}
@@ -32,5 +37,3 @@ function GuidesLayoutWrapper(pageMeta) {
return GuidesLayout
}
-
-export default GuidesLayoutWrapper
diff --git a/website/layouts/intro.jsx b/website/layouts/intro.jsx
index 84d2a7dda..326e3e31d 100644
--- a/website/layouts/intro.jsx
+++ b/website/layouts/intro.jsx
@@ -3,28 +3,33 @@ import order from 'data/intro-navigation.js'
import { frontMatter as data } from '../pages/intro/**/*.mdx'
import Head from 'next/head'
import Link from 'next/link'
+import { createMdxProvider } from '@hashicorp/nextjs-scripts/lib/providers/docs'
-function IntroLayoutWrapper(pageMeta) {
+const MDXProvider = createMdxProvider({ product: 'packer' })
+
+export default function IntroLayoutWrapper(pageMeta) {
function IntroLayout(props) {
return (
-
+
+
+
)
}
@@ -32,5 +37,3 @@ function IntroLayoutWrapper(pageMeta) {
return IntroLayout
}
-
-export default IntroLayoutWrapper
diff --git a/website/package-lock.json b/website/package-lock.json
index 5f2686277..68dd1deb1 100644
--- a/website/package-lock.json
+++ b/website/package-lock.json
@@ -1423,31 +1423,39 @@
"@hapi/hoek": "^8.3.0"
}
},
+ "@hashicorp/js-utils": {
+ "version": "1.0.9-alpha.0",
+ "resolved": "https://registry.npmjs.org/@hashicorp/js-utils/-/js-utils-1.0.9-alpha.0.tgz",
+ "integrity": "sha512-/Mgw6ufzjsysw5U0v7c0tCXMQeE4BSbGeasDaTuh1r6jQ+2Cokl1XhPqKqXn4+xkcx3CIVdyoUYOSLmgzutn3Q=="
+ },
"@hashicorp/nextjs-scripts": {
- "version": "8.3.2",
- "resolved": "https://registry.npmjs.org/@hashicorp/nextjs-scripts/-/nextjs-scripts-8.3.2.tgz",
- "integrity": "sha512-Oi+e77ajI1Bo93HyVLx5XXF7U0/+YZkkQVUsWXdX0NkWVZSu85pxzI0jh5XxneVSLYkYBlX78lXZG/GJDwBBnQ==",
+ "version": "10.0.1",
+ "resolved": "https://registry.npmjs.org/@hashicorp/nextjs-scripts/-/nextjs-scripts-10.0.1.tgz",
+ "integrity": "sha512-IwKr0HQvt6NZoJ9SlTBXqgDHYi4ticfcLM3mH3WH8b0Mr2B+Y5I/VzOOHiLxVcWmJmOECuV9EY+TaxlE5h2YQQ==",
"requires": {
"@bugsnag/js": "7.1.1",
"@bugsnag/plugin-react": "7.1.1",
- "@hashicorp/react-consent-manager": "2.1.0",
- "@hashicorp/remark-plugins": "2.2.2",
+ "@hashicorp/react-consent-manager": "2.1.1",
+ "@hashicorp/react-enterprise-alert": "^2.1.0",
+ "@hashicorp/react-tabs": "^0.4.0",
+ "@hashicorp/remark-plugins": "3.0.0",
"@mapbox/rehype-prism": "0.4.0",
+ "@mdx-js/react": "^1.6.5",
"@next/bundle-analyzer": "9.4.4",
- "@typescript-eslint/eslint-plugin": "3.1.0",
- "@typescript-eslint/parser": "3.1.0",
+ "@typescript-eslint/eslint-plugin": "3.2.0",
+ "@typescript-eslint/parser": "3.2.0",
"babel-eslint": "10.1.0",
- "chalk": "4.0.0",
+ "chalk": "4.1.0",
"debug": "4.1.1",
"ejs": "3.1.3",
- "eslint": "7.1.0",
+ "eslint": "7.2.0",
"eslint-config-prettier": "6.11.0",
"eslint-plugin-jsx-a11y": "6.2.3",
"eslint-plugin-prettier": "3.1.3",
"eslint-plugin-react": "7.20.0",
- "fs-extra": "9.0.0",
+ "fs-extra": "9.0.1",
"inquirer": "7.1.0",
- "lint-staged": "10.2.7",
+ "lint-staged": "10.2.9",
"next-mdx-enhanced": "3.0.0",
"next-optimized-images": "2.6.1",
"next-transpile-modules": "3.3.0",
@@ -1458,16 +1466,19 @@
"postcss-preset-env": "6.7.0",
"pretty-quick": "2.0.1",
"readdirp": "3.4.0",
+ "rehype-katex": "^3.0.0",
+ "remark-math": "^2.0.1",
"rivet-graphql": "0.0.2",
"signale": "1.4.0",
- "stylelint": "^13.5.0",
+ "stylelint": "^13.6.0",
+ "stylelint-config-css-modules": "^2.2.0",
"stylelint-config-prettier": "^8.0.1",
"stylelint-config-standard": "^20.0.0",
"stylelint-media-use-custom-media": "^2.0.0",
"stylelint-order": "^4.1.0",
"stylelint-use-nesting": "^3.0.0",
"stylelint-value-no-unknown-custom-properties": "^3.0.0",
- "typescript": "3.9.3",
+ "typescript": "3.9.5",
"typewriter": "7.1.0"
},
"dependencies": {
@@ -1481,9 +1492,9 @@
}
},
"chalk": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.0.0.tgz",
- "integrity": "sha512-N9oWFcegS0sFr9oh1oz2d7Npos6vNoWW9HvtCg5N1KRFpUhaAhvTv5Y58g880fZaEYSNm3qDz8SU1UrGvp+n7A==",
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz",
+ "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==",
"requires": {
"ansi-styles": "^4.1.0",
"supports-color": "^7.1.0"
@@ -1528,9 +1539,9 @@
}
},
"@hashicorp/react-consent-manager": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/@hashicorp/react-consent-manager/-/react-consent-manager-2.1.0.tgz",
- "integrity": "sha512-3AV6acJmj6bnYAy2mBA04/fuaigOafzG68N43XZaA720VX+wBLVR4TOrtHpPpOfQJ2yR/4RVRcAzqzjYG8+pHA==",
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/@hashicorp/react-consent-manager/-/react-consent-manager-2.1.1.tgz",
+ "integrity": "sha512-tIVR3LhDnwcHAxa+lrfrjJmthynCzpVrn9MYHcqKBVrCozV3SCC9zeRjPSlvxU9/GfAYAefull2hH/kg/duyOw==",
"requires": {
"@hashicorp/react-button": "^2.2.0",
"@hashicorp/react-toggle": "^1.0.1",
@@ -1546,20 +1557,20 @@
"integrity": "sha512-yP5d8zA6az3rvL1vHjsV8c9jUl05M06knvtmMdP4VYlkElikeoJ0kd/oJi0n1Zb5s4Pe4k7zOZah7VmYLYdwyw=="
},
"@hashicorp/react-docs-page": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/@hashicorp/react-docs-page/-/react-docs-page-2.0.0.tgz",
- "integrity": "sha512-0C8qjJHl/6QGbgsJG/yY+ixYCtrkb03qjzTUuZtgHIKtsYnxjqhJuTB8p2BtePXfRzEjjjhoZ0VRhJsB8OOGQA==",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/@hashicorp/react-docs-page/-/react-docs-page-3.0.0.tgz",
+ "integrity": "sha512-bdyKzNYCNmUNuEu1i0wNo/LBv0MBhcrFZf9VzKLQnG2oZy44iCsX+Oq8l+gXALO1hLBIRPmlsowTNnSAHPFwbw==",
"requires": {
- "@hashicorp/react-content": "^2.2.1",
+ "@hashicorp/react-content": "^3.0.0",
"@hashicorp/react-docs-sidenav": "^3.2.3",
- "@hashicorp/react-head": "^1.0.0",
+ "@hashicorp/react-head": "^1.1.1",
"@hashicorp/react-inline-svg": "^1.0.0"
},
"dependencies": {
"@hashicorp/react-content": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/@hashicorp/react-content/-/react-content-2.2.1.tgz",
- "integrity": "sha512-1CHIwS/hUrZEVArGLHXhqyGwmpIl6Un6DNFq0281MUtMGpGKP56Y4kSLYSqtTNuNBmG8zoDboaJ/qBXJMq5f+Q=="
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/@hashicorp/react-content/-/react-content-3.0.0.tgz",
+ "integrity": "sha512-boTEhinzvu3Pi8SZJ5tnu8/cykSQinbHtt0PuLDG/lZl7HSYX4fZNW2Xjm/UMOwd3V1hcia5zHa1NZixsXBGyA=="
}
}
},
@@ -1572,15 +1583,23 @@
"fuzzysearch": "^1.0.3"
}
},
+ "@hashicorp/react-enterprise-alert": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/@hashicorp/react-enterprise-alert/-/react-enterprise-alert-2.1.0.tgz",
+ "integrity": "sha512-SYSn7I23aPQewdw43DtDm8tgeUXmlRIxX1UKpGqE1gmBOk9ygEBdyd5OZ/Cecg+doIKJwWB7V9uv2vMu6+GSFQ==",
+ "requires": {
+ "@hashicorp/js-utils": "^1.0.9-alpha.0"
+ }
+ },
"@hashicorp/react-global-styles": {
"version": "4.4.0",
"resolved": "https://registry.npmjs.org/@hashicorp/react-global-styles/-/react-global-styles-4.4.0.tgz",
"integrity": "sha512-lv6XR2plm2m3+qO6VE+RYquTzOODIt3mQ/1fBT1bn7wsR0qxFiuryW4JfsF94oCGk++LkDkRt/8V742HiT+fHw=="
},
"@hashicorp/react-head": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/@hashicorp/react-head/-/react-head-1.0.0.tgz",
- "integrity": "sha512-s3klBASVhR8+mwF2SEBGxWk631OU/RecAvR59ry0n3cRFIj8dmIMYl1lcKCRHz28yDdPhYRWOpiHOmtckrg50w=="
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/@hashicorp/react-head/-/react-head-1.1.1.tgz",
+ "integrity": "sha512-zYr1kaPQuy14+EVVqyXTN6sXc+9Z/ezLLQTMfnx1lMgFXNl+Fe3npRRnWyku+h0xFbJ1yzjn8cmRHiff0eiYhg=="
},
"@hashicorp/react-image": {
"version": "2.0.1",
@@ -1613,9 +1632,9 @@
}
},
"@hashicorp/react-product-downloader": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/@hashicorp/react-product-downloader/-/react-product-downloader-3.3.0.tgz",
- "integrity": "sha512-/7kVCUCN7WAyOITvrW5ga1x5+/yDkzt7SJqyH+o+2TEpZWUiP2BQ8yRHvAuxby9IU1k55XLXtsXzJkrztZNDzQ==",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/@hashicorp/react-product-downloader/-/react-product-downloader-4.0.0.tgz",
+ "integrity": "sha512-Dy1qdpGk31THTLJ3cSaL6CH08PFvBtK2besORGQFmH5R6xA0Nw62EeZ3mWcKg8q8/ogmWHExYsPfSanuNv9FQg==",
"requires": {
"@hashicorp/react-button": "^2.2.0"
}
@@ -1637,9 +1656,9 @@
}
},
"@hashicorp/react-subnav": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/@hashicorp/react-subnav/-/react-subnav-3.2.1.tgz",
- "integrity": "sha512-vrl9blWG08Tdm5F4B/amp2ru16pAeUErlRLIRmn0x4lFZoLwBAX80HEJET5n+At7Y7KEtKi2JXexgwPW7moO6g==",
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/@hashicorp/react-subnav/-/react-subnav-3.2.2.tgz",
+ "integrity": "sha512-8BEUkDXnETJf0HFMEgFevRTNwpJdJsWu5dNdPOIwTw4x1ASCUunLJzTEWKtUH3i7c36VnspwHU4cmX0AX/xRkA==",
"requires": {
"@hashicorp/react-button": "^2.2.0",
"@hashicorp/react-global-styles": "^4.4.0",
@@ -1655,6 +1674,16 @@
}
}
},
+ "@hashicorp/react-tabs": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/@hashicorp/react-tabs/-/react-tabs-0.4.0.tgz",
+ "integrity": "sha512-KSkd3akWC9843ybMEw1Ahga/yCfiG2BWLvjb1Hl1qVWrYIHPAYQ+W+mLvMRKJrGPlCMCTqpiNR5bK8iBvcDC/Q==",
+ "requires": {
+ "@hashicorp/react-global-styles": "^4.4.0",
+ "@hashicorp/react-inline-svg": "^1.0.0",
+ "@tippy.js/react": "^3.1.1"
+ }
+ },
"@hashicorp/react-toggle": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/@hashicorp/react-toggle/-/react-toggle-1.0.1.tgz",
@@ -1671,9 +1700,9 @@
}
},
"@hashicorp/remark-plugins": {
- "version": "2.2.2",
- "resolved": "https://registry.npmjs.org/@hashicorp/remark-plugins/-/remark-plugins-2.2.2.tgz",
- "integrity": "sha512-5iEae5lhZ/PnNHdFO5aExxbazN90Y7Eo7qAszx6wlX3C3xeGPphTVxuRjCx0AcpmU9DHeubhoXuO0rsBlqYW5A==",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/@hashicorp/remark-plugins/-/remark-plugins-3.0.0.tgz",
+ "integrity": "sha512-K5gn2kXW8zs2MSduobwnv5hXPANXfuH3bL5Ji42UoExoUmbitbIONtsn5N8ckeUVL+Ykk8dlMsb7gZkFHalLZg==",
"requires": {
"github-slugger": "^1.3.0",
"remark": "^11.0.2",
@@ -1969,14 +1998,6 @@
"fastq": "^1.6.0"
}
},
- "@samverschueren/stream-to-observable": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/@samverschueren/stream-to-observable/-/stream-to-observable-0.3.0.tgz",
- "integrity": "sha512-MI4Xx6LHs4Webyvi6EbspgyAb4D2Q2VtnCQ1blOJcoLS6mVa8lNN2rkIy1CVxfTUpoyIbCTkXES1rLXztFD1lg==",
- "requires": {
- "any-observable": "^0.3.0"
- }
- },
"@segment/in-eu": {
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/@segment/in-eu/-/in-eu-0.2.1.tgz",
@@ -2079,9 +2100,9 @@
}
},
"remark-stringify": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-8.0.0.tgz",
- "integrity": "sha512-cABVYVloFH+2ZI5bdqzoOmemcz/ZuhQSH6W6ZNYnLojAUUn3xtX7u+6BpnYp35qHoGr2NFBsERV14t4vCIeW8w==",
+ "version": "8.1.0",
+ "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-8.1.0.tgz",
+ "integrity": "sha512-FSPZv1ds76oAZjurhhuV5qXSUSoz6QRPuwYK38S41sLHwg4oB7ejnmZshj7qwjgYLf93kdz6BOX9j5aidNE7rA==",
"requires": {
"ccount": "^1.0.0",
"is-alphanumeric": "^1.0.0",
@@ -2147,6 +2168,15 @@
"defer-to-connect": "^1.0.1"
}
},
+ "@tippy.js/react": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/@tippy.js/react/-/react-3.1.1.tgz",
+ "integrity": "sha512-KF45vW/jKh/nBXk/2zzTFslv/T46zOMkIoDJ56ymZ+M00yHttk58J5wZ29oqGqDIUnobWSZD+cFpbR4u/UUvgw==",
+ "requires": {
+ "prop-types": "^15.6.2",
+ "tippy.js": "^5.1.1"
+ }
+ },
"@types/color-name": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz",
@@ -2206,11 +2236,11 @@
"integrity": "sha512-S9q47ByT2pPvD65IvrWp7qppVMpk9WGMbVq9wbWZOHg6tnXSD4vyhao6nOSBwwfDdV2p3Kx9evA9vI+XWTfDvw=="
},
"@typescript-eslint/eslint-plugin": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-3.1.0.tgz",
- "integrity": "sha512-D52KwdgkjYc+fmTZKW7CZpH5ZBJREJKZXRrveMiRCmlzZ+Rw9wRVJ1JAmHQ9b/+Ehy1ZeaylofDB9wwXUt83wg==",
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-3.2.0.tgz",
+ "integrity": "sha512-t9RTk/GyYilIXt6BmZurhBzuMT9kLKw3fQoJtK9ayv0tXTlznXEAnx07sCLXdkN3/tZDep1s1CEV95CWuARYWA==",
"requires": {
- "@typescript-eslint/experimental-utils": "3.1.0",
+ "@typescript-eslint/experimental-utils": "3.2.0",
"functional-red-black-tree": "^1.0.1",
"regexpp": "^3.0.0",
"semver": "^7.3.2",
@@ -2218,31 +2248,31 @@
}
},
"@typescript-eslint/experimental-utils": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-3.1.0.tgz",
- "integrity": "sha512-Zf8JVC2K1svqPIk1CB/ehCiWPaERJBBokbMfNTNRczCbQSlQXaXtO/7OfYz9wZaecNvdSvVADt6/XQuIxhC79w==",
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-3.2.0.tgz",
+ "integrity": "sha512-UbJBsk+xO9dIFKtj16+m42EvUvsjZbbgQ2O5xSTSfVT1Z3yGkL90DVu0Hd3029FZ5/uBgl+F3Vo8FAcEcqc6aQ==",
"requires": {
"@types/json-schema": "^7.0.3",
- "@typescript-eslint/typescript-estree": "3.1.0",
+ "@typescript-eslint/typescript-estree": "3.2.0",
"eslint-scope": "^5.0.0",
"eslint-utils": "^2.0.0"
}
},
"@typescript-eslint/parser": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-3.1.0.tgz",
- "integrity": "sha512-NcDSJK8qTA2tPfyGiPes9HtVKLbksmuYjlgGAUs7Ld2K0swdWibnCq9IJx9kJN8JJdgUJSorFiGaPHBgH81F/Q==",
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-3.2.0.tgz",
+ "integrity": "sha512-Vhu+wwdevDLVDjK1lIcoD6ZbuOa93fzqszkaO3iCnmrScmKwyW/AGkzc2UvfE5TCoCXqq7Jyt6SOXjsIlpqF4A==",
"requires": {
"@types/eslint-visitor-keys": "^1.0.0",
- "@typescript-eslint/experimental-utils": "3.1.0",
- "@typescript-eslint/typescript-estree": "3.1.0",
+ "@typescript-eslint/experimental-utils": "3.2.0",
+ "@typescript-eslint/typescript-estree": "3.2.0",
"eslint-visitor-keys": "^1.1.0"
}
},
"@typescript-eslint/typescript-estree": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-3.1.0.tgz",
- "integrity": "sha512-+4nfYauqeQvK55PgFrmBWFVYb6IskLyOosYEmhH3mSVhfBp9AIJnjExdgDmKWoOBHRcPM8Ihfm2BFpZf0euUZQ==",
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-3.2.0.tgz",
+ "integrity": "sha512-uh+Y2QO7dxNrdLw7mVnjUqkwO/InxEqwN0wF+Za6eo3coxls9aH9kQ/5rSvW2GcNanebRTmsT5w1/92lAOb1bA==",
"requires": {
"debug": "^4.1.1",
"eslint-visitor-keys": "^1.1.0",
@@ -2430,9 +2460,9 @@
}
},
"acorn": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.2.0.tgz",
- "integrity": "sha512-apwXVmYVpQ34m/i71vrApRrRKCWQnZZF1+npOD0WV5xZFfwWOmKGQ2RWlfdy9vWITsenisM8M0Qeq8agcFHNiQ=="
+ "version": "7.3.1",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.3.1.tgz",
+ "integrity": "sha512-tLc0wSnatxAQHVHUapaHdz72pi9KUyHjq5KyHjGg9Y8Ifdc79pTh2XvI6I1/chZbnM7QtNKzh66ooDogPZSleA=="
},
"acorn-jsx": {
"version": "5.2.0",
@@ -2543,13 +2573,6 @@
"ms": "^2.0.0",
"remove-trailing-slash": "^0.1.0",
"uuid": "^3.2.1"
- },
- "dependencies": {
- "uuid": {
- "version": "3.4.0",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
- "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A=="
- }
}
},
"anser": {
@@ -2583,11 +2606,6 @@
"color-convert": "^1.9.0"
}
},
- "any-observable": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/any-observable/-/any-observable-0.3.0.tgz",
- "integrity": "sha512-/FQM1EDkTsf63Ub2C6O7GuYFDsSXUwsaZDurV0np41ocwq0jthUAYCmhBX9f+KwlaCgIuWyr/4WlUQUBfKfZog=="
- },
"anymatch": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz",
@@ -4513,11 +4531,6 @@
}
}
},
- "clone": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz",
- "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4="
- },
"clone-deep": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz",
@@ -5435,14 +5448,6 @@
"resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz",
"integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ="
},
- "defaults": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz",
- "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=",
- "requires": {
- "clone": "^1.0.2"
- }
- },
"defer-to-connect": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz",
@@ -5785,11 +5790,6 @@
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.453.tgz",
"integrity": "sha512-IQbCfjJR0NDDn/+vojTlq7fPSREcALtF8M1n01gw7nQghCtfFYrJ2dfhsp8APr8bANoFC8vRTFVXMOGpT0eetw=="
},
- "elegant-spinner": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/elegant-spinner/-/elegant-spinner-2.0.0.tgz",
- "integrity": "sha512-5YRYHhvhYzV/FC4AiMdeSIg3jAYGq9xFvbhZMpPlJoBsfYgrw2DSCYeXfat6tYBu45PWiyRr3+flaCPPmviPaA=="
- },
"elliptic": {
"version": "6.5.2",
"resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.2.tgz",
@@ -5982,9 +5982,9 @@
"integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ="
},
"eslint": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.1.0.tgz",
- "integrity": "sha512-DfS3b8iHMK5z/YLSme8K5cge168I8j8o1uiVmFCgnnjxZQbCGyraF8bMl7Ju4yfBmCuxD7shOF7eqGkcuIHfsA==",
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.2.0.tgz",
+ "integrity": "sha512-B3BtEyaDKC5MlfDa2Ha8/D6DsS4fju95zs0hjS3HdGazw+LNayai38A25qMppK37wWGWNYSPOR6oYzlz5MHsRQ==",
"requires": {
"@babel/code-frame": "^7.0.0",
"ajv": "^6.10.0",
@@ -5992,10 +5992,10 @@
"cross-spawn": "^7.0.2",
"debug": "^4.0.1",
"doctrine": "^3.0.0",
- "eslint-scope": "^5.0.0",
+ "eslint-scope": "^5.1.0",
"eslint-utils": "^2.0.0",
- "eslint-visitor-keys": "^1.1.0",
- "espree": "^7.0.0",
+ "eslint-visitor-keys": "^1.2.0",
+ "espree": "^7.1.0",
"esquery": "^1.2.0",
"esutils": "^2.0.2",
"file-entry-cache": "^5.0.1",
@@ -6034,9 +6034,9 @@
}
},
"chalk": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.0.0.tgz",
- "integrity": "sha512-N9oWFcegS0sFr9oh1oz2d7Npos6vNoWW9HvtCg5N1KRFpUhaAhvTv5Y58g880fZaEYSNm3qDz8SU1UrGvp+n7A==",
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz",
+ "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==",
"requires": {
"ansi-styles": "^4.1.0",
"supports-color": "^7.1.0"
@@ -6146,9 +6146,9 @@
}
},
"eslint-scope": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.0.0.tgz",
- "integrity": "sha512-oYrhJW7S0bxAFDvWqzvMPRm6pcgcnWc4QnofCAqRTRfQC0JcwenzGglTtsLyIuuWFfkqDG9vz67cnttSd53djw==",
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.0.tgz",
+ "integrity": "sha512-iiGRvtxWqgtx5m8EyQUJihBloE4EnYeGE/bz1wSPwJE6tZuJUtHlhqDM4Xj2ukE8Dyy1+HCZ4hE0fzIVMzb58w==",
"requires": {
"esrecurse": "^4.1.0",
"estraverse": "^4.1.1"
@@ -6163,18 +6163,18 @@
}
},
"eslint-visitor-keys": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz",
- "integrity": "sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A=="
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.2.0.tgz",
+ "integrity": "sha512-WFb4ihckKil6hu3Dp798xdzSfddwKKU3+nGniKF6HfeW6OLd2OUDEPP7TcHtB5+QXOKg2s6B2DaMPE1Nn/kxKQ=="
},
"espree": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/espree/-/espree-7.0.0.tgz",
- "integrity": "sha512-/r2XEx5Mw4pgKdyb7GNLQNsu++asx/dltf/CI8RFi9oGHxmQFgvLbc5Op4U6i8Oaj+kdslhJtVlEZeAqH5qOTw==",
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/espree/-/espree-7.1.0.tgz",
+ "integrity": "sha512-dcorZSyfmm4WTuTnE5Y7MEN1DyoPYy1ZR783QW1FJoenn7RailyWFsq/UL6ZAAA7uXurN9FIpYyUs3OfiIW+Qw==",
"requires": {
- "acorn": "^7.1.1",
+ "acorn": "^7.2.0",
"acorn-jsx": "^5.2.0",
- "eslint-visitor-keys": "^1.1.0"
+ "eslint-visitor-keys": "^1.2.0"
}
},
"esprima": {
@@ -7230,9 +7230,9 @@
"integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow=="
},
"fs-extra": {
- "version": "9.0.0",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.0.tgz",
- "integrity": "sha512-pmEYSk3vYsG/bF651KPUXZ+hvjpgWYw/Gc7W9NFUe3ZVLczKKWIij3IKpOrQcdw4TILtibFslZ0UmR8Vvzig4g==",
+ "version": "9.0.1",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.1.tgz",
+ "integrity": "sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ==",
"requires": {
"at-least-node": "^1.0.0",
"graceful-fs": "^4.2.0",
@@ -7740,6 +7740,11 @@
"xtend": "^4.0.1"
}
},
+ "hast-util-is-element": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/hast-util-is-element/-/hast-util-is-element-1.0.4.tgz",
+ "integrity": "sha512-NFR6ljJRvDcyPP5SbV7MyPBgF47X3BsskLnmw1U34yL+X6YC0MoBx9EyMg8Jtx4FzGH95jw8+c1VPLHaRA0wDQ=="
+ },
"hast-util-parse-selector": {
"version": "2.2.4",
"resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-2.2.4.tgz",
@@ -7777,6 +7782,16 @@
"resolved": "https://registry.npmjs.org/hast-util-to-string/-/hast-util-to-string-1.0.3.tgz",
"integrity": "sha512-3lDgDE5OdpTfP3aFeKRWEwdIZ4vprztvp+AoD+RhF7uGOBs1yBDWZFadxnjcUV4KCoI3vB9A7gdFO98hEXA90w=="
},
+ "hast-util-to-text": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/hast-util-to-text/-/hast-util-to-text-2.0.0.tgz",
+ "integrity": "sha512-idXqFGmKInLKcFMbLvh0fldmV94o+aOdXL/z5H5XhPhUp/5vzycu7i15c8V9kC6W3XgGHg2uuiIcRJlWtESVfQ==",
+ "requires": {
+ "hast-util-is-element": "^1.0.0",
+ "repeat-string": "^1.0.0",
+ "unist-util-find-after": "^3.0.0"
+ }
+ },
"hastscript": {
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/hastscript/-/hastscript-5.1.2.tgz",
@@ -8807,9 +8822,9 @@
"integrity": "sha512-QZ9qOMdF+QLHxy1QIpUHUU1D5pS2CG2P69LF6L6CPjPYA/XMOmKV3PZpawHoAjHNyB0swdVTRxdYT4tbBbxqwg=="
},
"jake": {
- "version": "10.8.1",
- "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.1.tgz",
- "integrity": "sha512-eSp5h9S7UFzKdQERTyF+KuPLjDZa1Tbw8gCVUn98n4PbIkLEDGe4zl7vF4Qge9kQj06HcymnksPk8jznPZeKsA==",
+ "version": "10.8.2",
+ "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.2.tgz",
+ "integrity": "sha512-eLpKyrfG3mzvGE2Du8VoPbeSkRry093+tyNjdYaBbJS9v17knImYGNXQCUV0gLxQtF82m3E8iRb/wdSQZLoq7A==",
"requires": {
"async": "0.9.x",
"chalk": "^2.4.2",
@@ -8941,6 +8956,14 @@
"object.assign": "^4.1.0"
}
},
+ "katex": {
+ "version": "0.11.1",
+ "resolved": "https://registry.npmjs.org/katex/-/katex-0.11.1.tgz",
+ "integrity": "sha512-5oANDICCTX0NqYIyAiFCCwjQ7ERu3DQG2JFHLbYOf+fXaMoH8eg/zOq5WSYJsKMi/QebW+Eh3gSM+oss1H/bww==",
+ "requires": {
+ "commander": "^2.19.0"
+ }
+ },
"keyv": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz",
@@ -8995,9 +9018,9 @@
"integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA="
},
"lint-staged": {
- "version": "10.2.7",
- "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-10.2.7.tgz",
- "integrity": "sha512-srod2bTpF8riaLz+Bgr6v0mI/nSntE8M9jbh4WwAhoosx0G7RKEUIG7mI5Nu5SMbTF9o8GROPgK0Lhf5cDnUUw==",
+ "version": "10.2.9",
+ "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-10.2.9.tgz",
+ "integrity": "sha512-ziRAuXEqvJLSXg43ezBpHxRW8FOJCXISaXU//BWrxRrp5cBdRkIx7g5IsB3OI45xYGE0S6cOacfekSjDyDKF2g==",
"requires": {
"chalk": "^4.0.0",
"cli-truncate": "2.1.0",
@@ -9005,8 +9028,9 @@
"cosmiconfig": "^6.0.0",
"debug": "^4.1.1",
"dedent": "^0.7.0",
+ "enquirer": "^2.3.5",
"execa": "^4.0.1",
- "listr2": "^2.0.2",
+ "listr2": "^2.1.0",
"log-symbols": "^4.0.0",
"micromatch": "^4.0.2",
"normalize-path": "^3.0.0",
@@ -9025,9 +9049,9 @@
}
},
"chalk": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.0.0.tgz",
- "integrity": "sha512-N9oWFcegS0sFr9oh1oz2d7Npos6vNoWW9HvtCg5N1KRFpUhaAhvTv5Y58g880fZaEYSNm3qDz8SU1UrGvp+n7A==",
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz",
+ "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==",
"requires": {
"ansi-styles": "^4.1.0",
"supports-color": "^7.1.0"
@@ -9067,24 +9091,18 @@
}
},
"listr2": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/listr2/-/listr2-2.0.4.tgz",
- "integrity": "sha512-oJaAcplPsa72rKW0eg4P4LbEJjhH+UO2I8uqR/I2wzHrVg16ohSfUy0SlcHS21zfYXxtsUpL8YXGHjyfWMR0cg==",
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/listr2/-/listr2-2.1.3.tgz",
+ "integrity": "sha512-6oy3QhrZAlJGrG8oPcRp1hix1zUpb5AvyvZ5je979HCyf48tIj3Hn1TG5+rfyhz30t7HfySH/OIaVbwrI2kruA==",
"requires": {
- "@samverschueren/stream-to-observable": "^0.3.0",
"chalk": "^4.0.0",
- "cli-cursor": "^3.1.0",
"cli-truncate": "^2.1.0",
- "elegant-spinner": "^2.0.0",
- "enquirer": "^2.3.5",
"figures": "^3.2.0",
"indent-string": "^4.0.0",
"log-update": "^4.0.0",
"p-map": "^4.0.0",
- "pad": "^3.2.0",
"rxjs": "^6.5.5",
- "through": "^2.3.8",
- "uuid": "^7.0.2"
+ "through": "^2.3.8"
},
"dependencies": {
"ansi-styles": {
@@ -9097,9 +9115,9 @@
}
},
"chalk": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.0.0.tgz",
- "integrity": "sha512-N9oWFcegS0sFr9oh1oz2d7Npos6vNoWW9HvtCg5N1KRFpUhaAhvTv5Y58g880fZaEYSNm3qDz8SU1UrGvp+n7A==",
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz",
+ "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==",
"requires": {
"ansi-styles": "^4.1.0",
"supports-color": "^7.1.0"
@@ -9275,9 +9293,9 @@
}
},
"chalk": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.0.0.tgz",
- "integrity": "sha512-N9oWFcegS0sFr9oh1oz2d7Npos6vNoWW9HvtCg5N1KRFpUhaAhvTv5Y58g880fZaEYSNm3qDz8SU1UrGvp+n7A==",
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz",
+ "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==",
"requires": {
"ansi-styles": "^4.1.0",
"supports-color": "^7.1.0"
@@ -9813,9 +9831,9 @@
"integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w=="
},
"merge2": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.3.0.tgz",
- "integrity": "sha512-2j4DAdlBOkiSZIsaXk4mTE3sRS02yBHAtfy127xRV3bQUFqXkjHCHLW6Scv7DwNRbIWNHH8zpnz9zMaKXIdvYw=="
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
+ "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg=="
},
"methods": {
"version": "1.1.2",
@@ -10975,14 +10993,6 @@
}
}
},
- "pad": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/pad/-/pad-3.2.0.tgz",
- "integrity": "sha512-2u0TrjcGbOjBTJpyewEl4hBO3OeX5wWue7eIFPzQTg6wFSvoaHcBTTUY5m+n0hd04gmTCPuY0kCpVIVuw5etwg==",
- "requires": {
- "wcwidth": "^1.0.1"
- }
- },
"pako": {
"version": "1.0.11",
"resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz",
@@ -11247,6 +11257,11 @@
"ts-pnp": "^1.1.6"
}
},
+ "popper.js": {
+ "version": "1.16.1",
+ "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.16.1.tgz",
+ "integrity": "sha512-Wb4p1J4zyFTbM+u6WuO4XstYx4Ky9Cewe4DWrel7B0w6VVICvPwdOpotjzcf6eD8TsckVnIMNONQyPIUFOUbCQ=="
+ },
"posix-character-classes": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
@@ -12948,6 +12963,28 @@
}
}
},
+ "rehype-katex": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/rehype-katex/-/rehype-katex-3.0.0.tgz",
+ "integrity": "sha512-gWC86mSCzTQ4ogpBOTIeCPRaJUyGVFAL+CcR/rhaPET99RADjXKBEWVyheeWFqbJjYzDGWZoanznc63E0tpOIg==",
+ "requires": {
+ "hast-util-to-text": "^2.0.0",
+ "katex": "^0.11.0",
+ "rehype-parse": "^6.0.0",
+ "unified": "^8.0.0",
+ "unist-util-visit": "^2.0.0"
+ }
+ },
+ "rehype-parse": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/rehype-parse/-/rehype-parse-6.0.2.tgz",
+ "integrity": "sha512-0S3CpvpTAgGmnz8kiCyFLGuW5yA4OQhyNTm/nwPopZ7+PI11WnGl1TTWTGv/2hPEe/g2jRLlhVVSsoDH8waRug==",
+ "requires": {
+ "hast-util-from-parse5": "^5.0.0",
+ "parse5": "^5.0.0",
+ "xtend": "^4.0.0"
+ }
+ },
"remark": {
"version": "11.0.2",
"resolved": "https://registry.npmjs.org/remark/-/remark-11.0.2.tgz",
@@ -12963,6 +13000,11 @@
"resolved": "https://registry.npmjs.org/remark-footnotes/-/remark-footnotes-1.0.0.tgz",
"integrity": "sha512-X9Ncj4cj3/CIvLI2Z9IobHtVi8FVdUrdJkCNaL9kdX8ohfsi18DXHsCVd/A7ssARBdccdDb5ODnt62WuEWaM/g=="
},
+ "remark-math": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/remark-math/-/remark-math-2.0.1.tgz",
+ "integrity": "sha512-FokDg5BmlPbKaAdD4IfSVuRgYH6FBPeIn0zxZA6oZ6epc4qOSjoSJPyhsH0H/WKABuaCVMJuF5O2STti6UmBQw=="
+ },
"remark-mdx": {
"version": "1.6.5",
"resolved": "https://registry.npmjs.org/remark-mdx/-/remark-mdx-1.6.5.tgz",
@@ -14490,13 +14532,13 @@
}
},
"stylelint": {
- "version": "13.5.0",
- "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-13.5.0.tgz",
- "integrity": "sha512-+Jy7ieKAWKTf2tmcAE7jgScxH39Urb87i0bjK/enScFaGWWaFn4kAPwepGOSk2b7CLUDVt/O6kwA0x0p/V7moQ==",
+ "version": "13.6.0",
+ "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-13.6.0.tgz",
+ "integrity": "sha512-55gG2pNjVr183JJM/tlr3KAua6vTVX7Ho/lgKKuCIWszTZ1gmrXjX4Wok53SI8wRYFPbwKAcJGULQ77OJxTcNw==",
"requires": {
"@stylelint/postcss-css-in-js": "^0.37.1",
"@stylelint/postcss-markdown": "^0.36.1",
- "autoprefixer": "^9.7.6",
+ "autoprefixer": "^9.8.0",
"balanced-match": "^1.0.0",
"chalk": "^4.0.0",
"cosmiconfig": "^6.0.0",
@@ -14505,10 +14547,10 @@
"file-entry-cache": "^5.0.1",
"get-stdin": "^8.0.0",
"global-modules": "^2.0.0",
- "globby": "^11.0.0",
+ "globby": "^11.0.1",
"globjoin": "^0.1.4",
"html-tags": "^3.1.0",
- "ignore": "^5.1.4",
+ "ignore": "^5.1.8",
"import-lazy": "^4.0.0",
"imurmurhash": "^0.1.4",
"known-css-properties": "^0.19.0",
@@ -14519,7 +14561,7 @@
"meow": "^7.0.1",
"micromatch": "^4.0.2",
"normalize-selector": "^0.2.0",
- "postcss": "^7.0.30",
+ "postcss": "^7.0.32",
"postcss-html": "^0.36.0",
"postcss-less": "^3.1.4",
"postcss-media-query-parser": "^0.2.3",
@@ -14527,7 +14569,7 @@
"postcss-resolve-nested-selector": "^0.1.1",
"postcss-safe-parser": "^4.0.2",
"postcss-sass": "^0.4.4",
- "postcss-scss": "^2.0.0",
+ "postcss-scss": "^2.1.1",
"postcss-selector-parser": "^6.0.2",
"postcss-syntax": "^0.36.2",
"postcss-value-parser": "^4.1.0",
@@ -14540,7 +14582,7 @@
"sugarss": "^2.0.0",
"svg-tags": "^1.0.0",
"table": "^5.4.6",
- "v8-compile-cache": "^2.1.0",
+ "v8-compile-cache": "^2.1.1",
"write-file-atomic": "^3.0.3"
},
"dependencies": {
@@ -14564,9 +14606,9 @@
"integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw=="
},
"chalk": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.0.0.tgz",
- "integrity": "sha512-N9oWFcegS0sFr9oh1oz2d7Npos6vNoWW9HvtCg5N1KRFpUhaAhvTv5Y58g880fZaEYSNm3qDz8SU1UrGvp+n7A==",
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz",
+ "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==",
"requires": {
"ansi-styles": "^4.1.0",
"supports-color": "^7.1.0"
@@ -14649,6 +14691,72 @@
"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
"integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg=="
},
+ "postcss": {
+ "version": "7.0.32",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.32.tgz",
+ "integrity": "sha512-03eXong5NLnNCD05xscnGKGDZ98CyzoqPSMjOe6SuoQY7Z2hIj0Ld1g/O/UQRuOle2aRtiIRDg9tDcTGAkLfKw==",
+ "requires": {
+ "chalk": "^2.4.2",
+ "source-map": "^0.6.1",
+ "supports-color": "^6.1.0"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+ "requires": {
+ "color-convert": "^1.9.0"
+ }
+ },
+ "chalk": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+ "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+ "requires": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ },
+ "dependencies": {
+ "supports-color": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ }
+ }
+ },
+ "color-convert": {
+ "version": "1.9.3",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
+ "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
+ "requires": {
+ "color-name": "1.1.3"
+ }
+ },
+ "color-name": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
+ "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU="
+ },
+ "has-flag": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+ "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0="
+ },
+ "supports-color": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
+ "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ }
+ }
+ },
"postcss-selector-parser": {
"version": "6.0.2",
"resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.2.tgz",
@@ -14664,6 +14772,11 @@
"resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
"integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw=="
},
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
+ },
"string-width": {
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz",
@@ -14684,6 +14797,11 @@
}
}
},
+ "stylelint-config-css-modules": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/stylelint-config-css-modules/-/stylelint-config-css-modules-2.2.0.tgz",
+ "integrity": "sha512-+zjcDbot+zbuxy1UA31k4G2lUG+nHUwnLyii3uT2F09B8kT2YrT9LZYNfMtAWlDidrxr7sFd5HX9EqPHGU3WKA=="
+ },
"stylelint-config-prettier": {
"version": "8.0.1",
"resolved": "https://registry.npmjs.org/stylelint-config-prettier/-/stylelint-config-prettier-8.0.1.tgz",
@@ -15131,6 +15249,14 @@
"integrity": "sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q==",
"optional": true
},
+ "tippy.js": {
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/tippy.js/-/tippy.js-5.2.1.tgz",
+ "integrity": "sha512-66UT6JRVn3dXNCORE+0UvUK3JZqV/VhLlU6HTDm3FmrweUUFUxUGvT8tUQ7ycMp+uhuLAwQw6dBabyC+iKf/MA==",
+ "requires": {
+ "popper.js": "^1.16.0"
+ }
+ },
"tlds": {
"version": "1.207.0",
"resolved": "https://registry.npmjs.org/tlds/-/tlds-1.207.0.tgz",
@@ -15362,9 +15488,9 @@
}
},
"typescript": {
- "version": "3.9.3",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.3.tgz",
- "integrity": "sha512-D/wqnB2xzNFIcoBG9FG8cXRDjiqSTbG2wd8DMZeQyJlP1vfTkIxH4GKveWaEBYySKIg+USu+E+EDIR47SqnaMQ=="
+ "version": "3.9.5",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.5.tgz",
+ "integrity": "sha512-hSAifV3k+i6lEoCJ2k6R2Z/rp/H3+8sdmcn5NrS3/3kE7+RyZXm9aqvxWqjEXHAd8b0pShatpcdMTvEdvAJltQ=="
},
"typewriter": {
"version": "7.1.0",
@@ -15522,6 +15648,14 @@
"resolved": "https://registry.npmjs.org/unist-builder/-/unist-builder-2.0.3.tgz",
"integrity": "sha512-f98yt5pnlMWlzP539tPc4grGMsFaQQlP/vM396b00jngsiINumNmsY8rkXjfoi1c6QaM8nQ3vaGDuoKWbe/1Uw=="
},
+ "unist-util-find-after": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/unist-util-find-after/-/unist-util-find-after-3.0.0.tgz",
+ "integrity": "sha512-ojlBqfsBftYXExNu3+hHLfJQ/X1jYY/9vdm4yZWjIbf0VuWF6CRufci1ZyoD/wV2TYMKxXUoNuoqwy+CkgzAiQ==",
+ "requires": {
+ "unist-util-is": "^4.0.0"
+ }
+ },
"unist-util-find-all-after": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/unist-util-find-all-after/-/unist-util-find-all-after-3.0.1.tgz",
@@ -15821,9 +15955,9 @@
"integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM="
},
"uuid": {
- "version": "7.0.3",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-7.0.3.tgz",
- "integrity": "sha512-DPSke0pXhTZgoF/d+WSt2QaKMCFSfx7QegxEWT+JOuHF5aWrKEn0G+ztjuJg/gG8/ItK+rbPCD/yNv8yyih6Cg=="
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
+ "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A=="
},
"v8-compile-cache": {
"version": "2.1.1",
@@ -15905,14 +16039,6 @@
"chokidar": "^2.1.8"
}
},
- "wcwidth": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz",
- "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=",
- "requires": {
- "defaults": "^1.0.3"
- }
- },
"web-namespaces": {
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/web-namespaces/-/web-namespaces-1.1.4.tgz",
diff --git a/website/package.json b/website/package.json
index 1cf9c1d1a..becbc2257 100644
--- a/website/package.json
+++ b/website/package.json
@@ -4,17 +4,17 @@
"version": "1.0.0",
"author": "HashiCorp",
"dependencies": {
- "@hashicorp/nextjs-scripts": "^8.3.2",
+ "@hashicorp/nextjs-scripts": "^10.0.1",
"@hashicorp/react-button": "^2.2.0",
"@hashicorp/react-content": "^3.0.0-0",
- "@hashicorp/react-docs-page": "^2.0.0",
+ "@hashicorp/react-docs-page": "^3.0.0",
"@hashicorp/react-docs-sidenav": "^3.2.3",
"@hashicorp/react-global-styles": "^4.4.0",
- "@hashicorp/react-head": "^1.0.0",
+ "@hashicorp/react-head": "^1.1.1",
"@hashicorp/react-mega-nav": "^4.0.1-2",
- "@hashicorp/react-product-downloader": "^3.3.0",
+ "@hashicorp/react-product-downloader": "^4.0.0",
"@hashicorp/react-section-header": "^2.0.0",
- "@hashicorp/react-subnav": "^3.2.1",
+ "@hashicorp/react-subnav": "^3.2.2",
"@hashicorp/react-vertical-text-block-list": "^2.0.1",
"babel-plugin-import-glob-array": "^0.2.0",
"imagemin-mozjpeg": "^9.0.0",
diff --git a/website/pages/downloads/index.jsx b/website/pages/downloads/index.jsx
index c08a477a9..fa4b421ca 100644
--- a/website/pages/downloads/index.jsx
+++ b/website/pages/downloads/index.jsx
@@ -3,14 +3,14 @@ import ProductDownloader from '@hashicorp/react-product-downloader'
import Head from 'next/head'
import HashiHead from '@hashicorp/react-head'
-export default function DownloadsPage({ downloadData }) {
+export default function DownloadsPage({ releaseData }) {
return (
)
@@ -18,16 +18,8 @@ export default function DownloadsPage({ downloadData }) {
export async function getStaticProps() {
return fetch(`https://releases.hashicorp.com/packer/${VERSION}/index.json`)
- .then((r) => r.json())
- .then((r) => {
- // TODO: restructure product-downloader to run this logic internally
- return r.builds.reduce((acc, build) => {
- if (!acc[build.os]) acc[build.os] = {}
- acc[build.os][build.arch] = build.url
- return acc
- }, {})
- })
- .then((r) => ({ props: { downloadData: r } }))
+ .then((res) => res.json())
+ .then((releaseData) => ({ props: { releaseData } }))
.catch(() => {
throw new Error(
`--------------------------------------------------------