diff --git a/website/next.config.js b/website/next.config.js index 1c6a3976c..6b9a9a569 100644 --- a/website/next.config.js +++ b/website/next.config.js @@ -23,5 +23,6 @@ module.exports = withHashicorp({ SEGMENT_WRITE_KEY: 'qW11yxgipKMsKFKQUCpTVgQUYftYsJj0', BUGSNAG_CLIENT_KEY: '4fa712dfcabddd05da29fd1f5ea5a4c0', BUGSNAG_SERVER_KEY: '61141296f1ba00a95a8788b7871e1184', + ENABLE_VERSIONED_DOCS: process.env.ENABLE_VERSIONED_DOCS || false, }, }) diff --git a/website/package-lock.json b/website/package-lock.json index 4dac4e77b..c27522332 100644 --- a/website/package-lock.json +++ b/website/package-lock.json @@ -20,7 +20,7 @@ "@hashicorp/react-code-block": "^4.1.5", "@hashicorp/react-consent-manager": "^7.1.0", "@hashicorp/react-content": "^8.0.2", - "@hashicorp/react-docs-page": "^14.4.2", + "@hashicorp/react-docs-page": "^14.11.0", "@hashicorp/react-featured-slider": "^5.0.1", "@hashicorp/react-hashi-stack-menu": "^2.1.2", "@hashicorp/react-head": "^3.1.2", @@ -1059,12 +1059,12 @@ } }, "node_modules/@hashicorp/platform-markdown-utils": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@hashicorp/platform-markdown-utils/-/platform-markdown-utils-0.1.3.tgz", - "integrity": "sha512-WIVCYljXQAhT+wFb8EtN3AEkgFDcbXMEvF4XkBg8OE/UWlrKWUNICjhrwTN68Q4Vl11ChX/ifH803DmLcSninA==", + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/@hashicorp/platform-markdown-utils/-/platform-markdown-utils-0.1.4.tgz", + "integrity": "sha512-ey24VxU99+ECQ7SPUqFrYpBMJZJKayD6hz8t3gDm/SxfSCEz/NXzqVye/ToWcEfRTtHqasBVDaVa2lf7UwzqKw==", "dependencies": { "@hashicorp/platform-types": "^0.1.0", - "@hashicorp/remark-plugins": "^3.2.0", + "@hashicorp/remark-plugins": "^3.2.1", "@mapbox/rehype-prism": "^0.6.0", "@mdx-js/react": "1.6.22", "rehype-katex": "^5.0.0", @@ -1200,15 +1200,16 @@ } }, "node_modules/@hashicorp/react-alert": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/@hashicorp/react-alert/-/react-alert-6.0.0.tgz", - "integrity": "sha512-uTRt9aux5NWyxBWifKD/QsQ1U/S4CurAMUpGbgvOe1gkAoKyl/0KdtlcXMEb1/jMmRH2F2sgj5gPmczPmiz/yg==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/@hashicorp/react-alert/-/react-alert-6.0.2.tgz", + "integrity": "sha512-8ePxXMYR6kU0cYb4T3WZ74bInPQdbzfM4B+ZWqmW+raEpVAS2MTqDFl7X55L0syWx6JDbBmrlhzYaRzTDf6qug==", "dependencies": { "@hashicorp/platform-product-meta": "^0.1.0", - "classnames": "^2.2.6" + "classnames": "^2.3.1" }, "peerDependencies": { - "@hashicorp/mktg-global-styles": ">=3.x" + "@hashicorp/mktg-global-styles": ">=3.x", + "react": ">=16.x" } }, "node_modules/@hashicorp/react-alert-banner": { @@ -1235,6 +1236,11 @@ "node": ">=8.0.0" } }, + "node_modules/@hashicorp/react-alert/node_modules/classnames": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.3.1.tgz", + "integrity": "sha512-OlQdbZ7gLfGarSqxesMesDa5uz7KFbID8Kpq/SxIoNGDqY8lSYs0D+hhtBXhcdB3rcbXArFr7vlHheLk1voeNA==" + }, "node_modules/@hashicorp/react-button": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/@hashicorp/react-button/-/react-button-6.0.3.tgz", @@ -1311,9 +1317,9 @@ "integrity": "sha512-OlQdbZ7gLfGarSqxesMesDa5uz7KFbID8Kpq/SxIoNGDqY8lSYs0D+hhtBXhcdB3rcbXArFr7vlHheLk1voeNA==" }, "node_modules/@hashicorp/react-content": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/@hashicorp/react-content/-/react-content-8.0.2.tgz", - "integrity": "sha512-FNE1IiXizUDPL/rsvo37uYSBsAB8LhtCianMU/h3MIj8Khcwc/qC3pTabGs9Kv3ujA+fiIp/ImzWEGAhB22T7g==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@hashicorp/react-content/-/react-content-8.1.0.tgz", + "integrity": "sha512-L7z8/GiW2tvoBjLvpwZWWrf/KnGDch0SV29zDdkTtf4oa8Ojd5bVvQYo5Sz6Yva8CpQB2p4EZT6maDepJCnLqA==", "dependencies": { "@hashicorp/platform-product-meta": "^0.1.0", "classnames": "^2.3.1" @@ -1329,18 +1335,18 @@ "integrity": "sha512-OlQdbZ7gLfGarSqxesMesDa5uz7KFbID8Kpq/SxIoNGDqY8lSYs0D+hhtBXhcdB3rcbXArFr7vlHheLk1voeNA==" }, "node_modules/@hashicorp/react-docs-page": { - "version": "14.4.2", - "resolved": "https://registry.npmjs.org/@hashicorp/react-docs-page/-/react-docs-page-14.4.2.tgz", - "integrity": "sha512-K/KITJsAYA8sjxCy4JbAJKEgEKA924MNm4bd4SPniomzSYmsCNxeDaM/bSM/EpaGR7cX9r6htSyugKwo7V3QFQ==", + "version": "14.11.0", + "resolved": "https://registry.npmjs.org/@hashicorp/react-docs-page/-/react-docs-page-14.11.0.tgz", + "integrity": "sha512-3yMlHCRiOezB+TSbLxchy2pf14Atjxyz19wZmr/qjOM4BWtTAe6sTCSjl2Rh4ru6w5UOvPo0nwOxikSd56oACQ==", "dependencies": { "@hashicorp/platform-docs-mdx": "^0.1.3", - "@hashicorp/platform-markdown-utils": "^0.1.3", - "@hashicorp/react-alert": "^6.0.0", - "@hashicorp/react-content": "^8.0.2", + "@hashicorp/platform-markdown-utils": "^0.2.0", + "@hashicorp/react-alert": "^6.0.2", + "@hashicorp/react-content": "^8.1.0", "@hashicorp/react-docs-sidenav": "^8.4.0", "@hashicorp/react-head": "^3.1.2", "@hashicorp/react-placeholder": "^0.1.0", - "@hashicorp/react-search": "^6.1.1", + "@hashicorp/react-search": "^6.3.1", "@hashicorp/react-version-select": "^0.2.0", "classnames": "^2.3.1", "fs-exists-sync": "^0.1.0", @@ -1348,7 +1354,8 @@ "js-yaml": "^4.1.0", "line-reader": "^0.4.0", "moize": "^6.0.3", - "readdirp": "^3.6.0" + "readdirp": "^3.6.0", + "semver": "^7.3.5" }, "peerDependencies": { "@hashicorp/mktg-global-styles": ">=3.x", @@ -1356,6 +1363,36 @@ "react": ">=16.x" } }, + "node_modules/@hashicorp/react-docs-page/node_modules/@hashicorp/platform-markdown-utils": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@hashicorp/platform-markdown-utils/-/platform-markdown-utils-0.2.0.tgz", + "integrity": "sha512-xs/yiP/vcgvGX5wYggvYIhG4WTmTS3e5oUE7QuTtukOHcCN+HmN79z9xn8yCDnJ0GiAm51dv42lmCBiWj3JF6Q==", + "dependencies": { + "@hashicorp/platform-types": "^0.1.0", + "@hashicorp/remark-plugins": "^3.3.1", + "@mapbox/rehype-prism": "^0.6.0", + "@mdx-js/react": "1.6.22", + "rehype-katex": "^5.0.0", + "remark-math": "^4.0.0", + "remark-rehype": "^7.0.0" + }, + "peerDependencies": { + "react": ">= 16.x" + } + }, + "node_modules/@hashicorp/react-docs-page/node_modules/@mapbox/rehype-prism": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/@mapbox/rehype-prism/-/rehype-prism-0.6.0.tgz", + "integrity": "sha512-/0Ev/PB4fXdKPT6VDzVpnAPxGpWFIc4Yz3mf/DzLEMxlpIPZpZlCzaFk4V4NGFofQXPc41+GpEcZtWP3VuFWVA==", + "dependencies": { + "hast-util-to-string": "^1.0.4", + "refractor": "^3.3.1", + "unist-util-visit": "^2.0.3" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/@hashicorp/react-docs-page/node_modules/classnames": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.3.1.tgz", @@ -1415,9 +1452,9 @@ } }, "node_modules/@hashicorp/react-docs-sidenav": { - "version": "8.4.0", - "resolved": "https://registry.npmjs.org/@hashicorp/react-docs-sidenav/-/react-docs-sidenav-8.4.0.tgz", - "integrity": "sha512-r2yFLuAD4+9RbPvBzWwcv7b9wrk1MooUJJMdLFP6WUUPYxt3r0Jju6/y4CubVUwtDnNCe3iqo3KoRmWrfNSS0Q==", + "version": "8.4.1", + "resolved": "https://registry.npmjs.org/@hashicorp/react-docs-sidenav/-/react-docs-sidenav-8.4.1.tgz", + "integrity": "sha512-X7J19jCrcYiZEa7/ApMn6R5LFmDymJC1/sHSXpaMcXDIW5DD+H0DRYwJKVUPgdJDWhjZ5PXXWeDJTOKcQWBNog==", "dependencies": { "@hashicorp/platform-product-meta": "^0.1.0", "@hashicorp/react-link-wrap": "^3.0.3", @@ -1615,9 +1652,9 @@ } }, "node_modules/@hashicorp/react-search": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/@hashicorp/react-search/-/react-search-6.1.1.tgz", - "integrity": "sha512-azaXjFP/om+DN6InI/WD+qH9jmLE3/9pqIc2Dp4rYY/tn1KuWyJ5MefvcsbYxIFUVX/wiT2n+8HZFwRfxhdA+w==", + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/@hashicorp/react-search/-/react-search-6.3.1.tgz", + "integrity": "sha512-gU8J4D9SfaRmtn8tsjvRVq1J57Uq8KuYmok+RZzgaHpiPFLyGoIHy1MyAfxOgFptFtsJaNbMBhulEC0DjQ6pRQ==", "dependencies": { "@hashicorp/react-inline-svg": "^6.0.1", "@hashicorp/remark-plugins": "^3.1.1", @@ -1695,11 +1732,11 @@ } }, "node_modules/@hashicorp/react-select-input": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/@hashicorp/react-select-input/-/react-select-input-4.0.3.tgz", - "integrity": "sha512-HN7uy2acXOCNE2cz844da0V8JHesnCLjKXis7/n+PB9O6wLfSYblWYPoPLEPx83Ph0dQfAtUT8dsJ9v6S2TSiw==", + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/@hashicorp/react-select-input/-/react-select-input-4.0.5.tgz", + "integrity": "sha512-iN7iq7HZTQh3sa3LViuXbS84Si5hL6eWOqXd4DHfWYcZuuwping88l8SwwPWtqr+HVDcFsRixpVuvOCwgQSX0Q==", "dependencies": { - "classnames": "^2.2.6", + "classnames": "^2.3.1", "downshift": "3.1.5" }, "peerDependencies": { @@ -1707,6 +1744,11 @@ "react": ">=16.x" } }, + "node_modules/@hashicorp/react-select-input/node_modules/classnames": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.3.1.tgz", + "integrity": "sha512-OlQdbZ7gLfGarSqxesMesDa5uz7KFbID8Kpq/SxIoNGDqY8lSYs0D+hhtBXhcdB3rcbXArFr7vlHheLk1voeNA==" + }, "node_modules/@hashicorp/react-subnav": { "version": "9.2.2", "resolved": "https://registry.npmjs.org/@hashicorp/react-subnav/-/react-subnav-9.2.2.tgz", @@ -1900,9 +1942,9 @@ "integrity": "sha512-OlQdbZ7gLfGarSqxesMesDa5uz7KFbID8Kpq/SxIoNGDqY8lSYs0D+hhtBXhcdB3rcbXArFr7vlHheLk1voeNA==" }, "node_modules/@hashicorp/react-version-select": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/@hashicorp/react-version-select/-/react-version-select-0.2.1.tgz", - "integrity": "sha512-E7BW4FotIYq1S5d/GrUPH2NvXmzYmeNpM01wNThDEbes47RfT8nzN3dg64QOUdCvWoUcUaOlGMQHNychBTif2g==", + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/@hashicorp/react-version-select/-/react-version-select-0.2.2.tgz", + "integrity": "sha512-3mz/jRyOBPgK83YW89nuspTvdKrzKgVsIz9vjF4kKLB9SLSmo2BQCi72DWdPCIUPqy+4wp1PpAwkNPVGKs7IJA==", "dependencies": { "@hashicorp/react-select-input": ">=4.x" }, @@ -1931,9 +1973,9 @@ "integrity": "sha512-OlQdbZ7gLfGarSqxesMesDa5uz7KFbID8Kpq/SxIoNGDqY8lSYs0D+hhtBXhcdB3rcbXArFr7vlHheLk1voeNA==" }, "node_modules/@hashicorp/remark-plugins": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/@hashicorp/remark-plugins/-/remark-plugins-3.2.0.tgz", - "integrity": "sha512-kHY0Uq/6TnqXkIKGo4oIhhvVDfynlNzLxNRxMYMi6yOyGSI407j9M0sTfJWwoQom4NWFd3aOlwJV8IAhF7deJQ==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/@hashicorp/remark-plugins/-/remark-plugins-3.3.1.tgz", + "integrity": "sha512-7xThpsBFWasdC/E+E/BAjHxMYqyCcQFiTVspvhBzN51meiQIacVCnyAox/lyvwWiP4N3Yj/ruH4UsR2ifskNeA==", "dependencies": { "@mdx-js/util": "1.6.22", "github-slugger": "^1.3.0", @@ -7945,9 +7987,9 @@ "dev": true }, "node_modules/fast-equals": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/fast-equals/-/fast-equals-2.0.3.tgz", - "integrity": "sha512-0EMw4TTUxsMDpDkCg0rXor2gsg+npVrMIHbEhvD0HZyIhUX6AktC/yasm+qKwfyswd06Qy95ZKk8p2crTo0iPA==" + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/fast-equals/-/fast-equals-2.0.4.tgz", + "integrity": "sha512-caj/ZmjHljPrZtbzJ3kfH5ia/k4mTJe/qSiXAGzxZWRZgsgDV0cvNaQULqUX8t0/JVlzzEdYOwCN5DmzTxoD4w==" }, "node_modules/fast-glob": { "version": "3.2.7", @@ -19898,12 +19940,12 @@ } }, "@hashicorp/platform-markdown-utils": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@hashicorp/platform-markdown-utils/-/platform-markdown-utils-0.1.3.tgz", - "integrity": "sha512-WIVCYljXQAhT+wFb8EtN3AEkgFDcbXMEvF4XkBg8OE/UWlrKWUNICjhrwTN68Q4Vl11ChX/ifH803DmLcSninA==", + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/@hashicorp/platform-markdown-utils/-/platform-markdown-utils-0.1.4.tgz", + "integrity": "sha512-ey24VxU99+ECQ7SPUqFrYpBMJZJKayD6hz8t3gDm/SxfSCEz/NXzqVye/ToWcEfRTtHqasBVDaVa2lf7UwzqKw==", "requires": { "@hashicorp/platform-types": "^0.1.0", - "@hashicorp/remark-plugins": "^3.2.0", + "@hashicorp/remark-plugins": "^3.2.1", "@mapbox/rehype-prism": "^0.6.0", "@mdx-js/react": "1.6.22", "rehype-katex": "^5.0.0", @@ -20004,12 +20046,19 @@ } }, "@hashicorp/react-alert": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/@hashicorp/react-alert/-/react-alert-6.0.0.tgz", - "integrity": "sha512-uTRt9aux5NWyxBWifKD/QsQ1U/S4CurAMUpGbgvOe1gkAoKyl/0KdtlcXMEb1/jMmRH2F2sgj5gPmczPmiz/yg==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/@hashicorp/react-alert/-/react-alert-6.0.2.tgz", + "integrity": "sha512-8ePxXMYR6kU0cYb4T3WZ74bInPQdbzfM4B+ZWqmW+raEpVAS2MTqDFl7X55L0syWx6JDbBmrlhzYaRzTDf6qug==", "requires": { "@hashicorp/platform-product-meta": "^0.1.0", - "classnames": "^2.2.6" + "classnames": "^2.3.1" + }, + "dependencies": { + "classnames": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.3.1.tgz", + "integrity": "sha512-OlQdbZ7gLfGarSqxesMesDa5uz7KFbID8Kpq/SxIoNGDqY8lSYs0D+hhtBXhcdB3rcbXArFr7vlHheLk1voeNA==" + } } }, "@hashicorp/react-alert-banner": { @@ -20091,9 +20140,9 @@ } }, "@hashicorp/react-content": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/@hashicorp/react-content/-/react-content-8.0.2.tgz", - "integrity": "sha512-FNE1IiXizUDPL/rsvo37uYSBsAB8LhtCianMU/h3MIj8Khcwc/qC3pTabGs9Kv3ujA+fiIp/ImzWEGAhB22T7g==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@hashicorp/react-content/-/react-content-8.1.0.tgz", + "integrity": "sha512-L7z8/GiW2tvoBjLvpwZWWrf/KnGDch0SV29zDdkTtf4oa8Ojd5bVvQYo5Sz6Yva8CpQB2p4EZT6maDepJCnLqA==", "requires": { "@hashicorp/platform-product-meta": "^0.1.0", "classnames": "^2.3.1" @@ -20107,18 +20156,18 @@ } }, "@hashicorp/react-docs-page": { - "version": "14.4.2", - "resolved": "https://registry.npmjs.org/@hashicorp/react-docs-page/-/react-docs-page-14.4.2.tgz", - "integrity": "sha512-K/KITJsAYA8sjxCy4JbAJKEgEKA924MNm4bd4SPniomzSYmsCNxeDaM/bSM/EpaGR7cX9r6htSyugKwo7V3QFQ==", + "version": "14.11.0", + "resolved": "https://registry.npmjs.org/@hashicorp/react-docs-page/-/react-docs-page-14.11.0.tgz", + "integrity": "sha512-3yMlHCRiOezB+TSbLxchy2pf14Atjxyz19wZmr/qjOM4BWtTAe6sTCSjl2Rh4ru6w5UOvPo0nwOxikSd56oACQ==", "requires": { "@hashicorp/platform-docs-mdx": "^0.1.3", - "@hashicorp/platform-markdown-utils": "^0.1.3", - "@hashicorp/react-alert": "^6.0.0", - "@hashicorp/react-content": "^8.0.2", + "@hashicorp/platform-markdown-utils": "^0.2.0", + "@hashicorp/react-alert": "^6.0.2", + "@hashicorp/react-content": "^8.1.0", "@hashicorp/react-docs-sidenav": "^8.4.0", "@hashicorp/react-head": "^3.1.2", "@hashicorp/react-placeholder": "^0.1.0", - "@hashicorp/react-search": "^6.1.1", + "@hashicorp/react-search": "^6.3.1", "@hashicorp/react-version-select": "^0.2.0", "classnames": "^2.3.1", "fs-exists-sync": "^0.1.0", @@ -20126,9 +20175,34 @@ "js-yaml": "^4.1.0", "line-reader": "^0.4.0", "moize": "^6.0.3", - "readdirp": "^3.6.0" + "readdirp": "^3.6.0", + "semver": "^7.3.5" }, "dependencies": { + "@hashicorp/platform-markdown-utils": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@hashicorp/platform-markdown-utils/-/platform-markdown-utils-0.2.0.tgz", + "integrity": "sha512-xs/yiP/vcgvGX5wYggvYIhG4WTmTS3e5oUE7QuTtukOHcCN+HmN79z9xn8yCDnJ0GiAm51dv42lmCBiWj3JF6Q==", + "requires": { + "@hashicorp/platform-types": "^0.1.0", + "@hashicorp/remark-plugins": "^3.3.1", + "@mapbox/rehype-prism": "^0.6.0", + "@mdx-js/react": "1.6.22", + "rehype-katex": "^5.0.0", + "remark-math": "^4.0.0", + "remark-rehype": "^7.0.0" + } + }, + "@mapbox/rehype-prism": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/@mapbox/rehype-prism/-/rehype-prism-0.6.0.tgz", + "integrity": "sha512-/0Ev/PB4fXdKPT6VDzVpnAPxGpWFIc4Yz3mf/DzLEMxlpIPZpZlCzaFk4V4NGFofQXPc41+GpEcZtWP3VuFWVA==", + "requires": { + "hast-util-to-string": "^1.0.4", + "refractor": "^3.3.1", + "unist-util-visit": "^2.0.3" + } + }, "classnames": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.3.1.tgz", @@ -20182,9 +20256,9 @@ } }, "@hashicorp/react-docs-sidenav": { - "version": "8.4.0", - "resolved": "https://registry.npmjs.org/@hashicorp/react-docs-sidenav/-/react-docs-sidenav-8.4.0.tgz", - "integrity": "sha512-r2yFLuAD4+9RbPvBzWwcv7b9wrk1MooUJJMdLFP6WUUPYxt3r0Jju6/y4CubVUwtDnNCe3iqo3KoRmWrfNSS0Q==", + "version": "8.4.1", + "resolved": "https://registry.npmjs.org/@hashicorp/react-docs-sidenav/-/react-docs-sidenav-8.4.1.tgz", + "integrity": "sha512-X7J19jCrcYiZEa7/ApMn6R5LFmDymJC1/sHSXpaMcXDIW5DD+H0DRYwJKVUPgdJDWhjZ5PXXWeDJTOKcQWBNog==", "requires": { "@hashicorp/platform-product-meta": "^0.1.0", "@hashicorp/react-link-wrap": "^3.0.3", @@ -20339,9 +20413,9 @@ } }, "@hashicorp/react-search": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/@hashicorp/react-search/-/react-search-6.1.1.tgz", - "integrity": "sha512-azaXjFP/om+DN6InI/WD+qH9jmLE3/9pqIc2Dp4rYY/tn1KuWyJ5MefvcsbYxIFUVX/wiT2n+8HZFwRfxhdA+w==", + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/@hashicorp/react-search/-/react-search-6.3.1.tgz", + "integrity": "sha512-gU8J4D9SfaRmtn8tsjvRVq1J57Uq8KuYmok+RZzgaHpiPFLyGoIHy1MyAfxOgFptFtsJaNbMBhulEC0DjQ6pRQ==", "requires": { "@hashicorp/react-inline-svg": "^6.0.1", "@hashicorp/remark-plugins": "^3.1.1", @@ -20402,12 +20476,19 @@ } }, "@hashicorp/react-select-input": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/@hashicorp/react-select-input/-/react-select-input-4.0.3.tgz", - "integrity": "sha512-HN7uy2acXOCNE2cz844da0V8JHesnCLjKXis7/n+PB9O6wLfSYblWYPoPLEPx83Ph0dQfAtUT8dsJ9v6S2TSiw==", + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/@hashicorp/react-select-input/-/react-select-input-4.0.5.tgz", + "integrity": "sha512-iN7iq7HZTQh3sa3LViuXbS84Si5hL6eWOqXd4DHfWYcZuuwping88l8SwwPWtqr+HVDcFsRixpVuvOCwgQSX0Q==", "requires": { - "classnames": "^2.2.6", + "classnames": "^2.3.1", "downshift": "3.1.5" + }, + "dependencies": { + "classnames": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.3.1.tgz", + "integrity": "sha512-OlQdbZ7gLfGarSqxesMesDa5uz7KFbID8Kpq/SxIoNGDqY8lSYs0D+hhtBXhcdB3rcbXArFr7vlHheLk1voeNA==" + } } }, "@hashicorp/react-subnav": { @@ -20568,9 +20649,9 @@ } }, "@hashicorp/react-version-select": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/@hashicorp/react-version-select/-/react-version-select-0.2.1.tgz", - "integrity": "sha512-E7BW4FotIYq1S5d/GrUPH2NvXmzYmeNpM01wNThDEbes47RfT8nzN3dg64QOUdCvWoUcUaOlGMQHNychBTif2g==", + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/@hashicorp/react-version-select/-/react-version-select-0.2.2.tgz", + "integrity": "sha512-3mz/jRyOBPgK83YW89nuspTvdKrzKgVsIz9vjF4kKLB9SLSmo2BQCi72DWdPCIUPqy+4wp1PpAwkNPVGKs7IJA==", "requires": { "@hashicorp/react-select-input": ">=4.x" } @@ -20594,9 +20675,9 @@ } }, "@hashicorp/remark-plugins": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/@hashicorp/remark-plugins/-/remark-plugins-3.2.0.tgz", - "integrity": "sha512-kHY0Uq/6TnqXkIKGo4oIhhvVDfynlNzLxNRxMYMi6yOyGSI407j9M0sTfJWwoQom4NWFd3aOlwJV8IAhF7deJQ==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/@hashicorp/remark-plugins/-/remark-plugins-3.3.1.tgz", + "integrity": "sha512-7xThpsBFWasdC/E+E/BAjHxMYqyCcQFiTVspvhBzN51meiQIacVCnyAox/lyvwWiP4N3Yj/ruH4UsR2ifskNeA==", "requires": { "@mdx-js/util": "1.6.22", "github-slugger": "^1.3.0", @@ -25347,9 +25428,9 @@ "dev": true }, "fast-equals": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/fast-equals/-/fast-equals-2.0.3.tgz", - "integrity": "sha512-0EMw4TTUxsMDpDkCg0rXor2gsg+npVrMIHbEhvD0HZyIhUX6AktC/yasm+qKwfyswd06Qy95ZKk8p2crTo0iPA==" + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/fast-equals/-/fast-equals-2.0.4.tgz", + "integrity": "sha512-caj/ZmjHljPrZtbzJ3kfH5ia/k4mTJe/qSiXAGzxZWRZgsgDV0cvNaQULqUX8t0/JVlzzEdYOwCN5DmzTxoD4w==" }, "fast-glob": { "version": "3.2.7", diff --git a/website/package.json b/website/package.json index 4f8e8e124..b41d15004 100644 --- a/website/package.json +++ b/website/package.json @@ -4,7 +4,7 @@ "version": "1.0.0", "author": "HashiCorp", "engines": { - "node": "12.x - 14.x", + "node": "14.x - 16.x", "npm": ">=7.0.0" }, "dependencies": { @@ -20,7 +20,7 @@ "@hashicorp/react-code-block": "^4.1.5", "@hashicorp/react-consent-manager": "^7.1.0", "@hashicorp/react-content": "^8.0.2", - "@hashicorp/react-docs-page": "^14.4.2", + "@hashicorp/react-docs-page": "^14.11.0", "@hashicorp/react-featured-slider": "^5.0.1", "@hashicorp/react-hashi-stack-menu": "^2.1.2", "@hashicorp/react-head": "^3.1.2", diff --git a/website/pages/api-docs/[[...page]].jsx b/website/pages/api-docs/[[...page]].jsx index 15b2957fe..af833261c 100644 --- a/website/pages/api-docs/[[...page]].jsx +++ b/website/pages/api-docs/[[...page]].jsx @@ -1,9 +1,6 @@ import { productName, productSlug } from 'data/metadata' import DocsPage from '@hashicorp/react-docs-page' -import { - generateStaticPaths, - generateStaticProps, -} from '@hashicorp/react-docs-page/server' +import { getStaticGenerationFunctions } from '@hashicorp/react-docs-page/server' const NAV_DATA_FILE = 'data/api-docs-nav-data.json' const CONTENT_DIR = 'content/api-docs' @@ -15,27 +12,26 @@ export default function DocsLayout(props) { product={{ name: productName, slug: productSlug }} baseRoute={basePath} staticProps={props} + showVersionSelect={process.env.ENABLE_VERSIONED_DOCS === 'true'} /> ) } -export async function getStaticPaths() { - return { - fallback: false, - paths: await generateStaticPaths({ - navDataFile: NAV_DATA_FILE, - localContentDir: CONTENT_DIR, - }), - } -} +const { getStaticPaths, getStaticProps } = getStaticGenerationFunctions( + process.env.ENABLE_VERSIONED_DOCS === 'true' + ? { + strategy: 'remote', + basePath: basePath, + fallback: 'blocking', + revalidate: 360, // 1 hour + product: productSlug, + } + : { + strategy: 'fs', + localContentDir: CONTENT_DIR, + navDataFile: NAV_DATA_FILE, + product: productSlug, + } +) -export async function getStaticProps({ params }) { - return { - props: await generateStaticProps({ - navDataFile: NAV_DATA_FILE, - localContentDir: CONTENT_DIR, - product: { name: productName, slug: productSlug }, - params, - }), - } -} +export { getStaticPaths, getStaticProps } diff --git a/website/pages/docs/[[...page]].jsx b/website/pages/docs/[[...page]].jsx index 6d1794b53..b61b2027c 100644 --- a/website/pages/docs/[[...page]].jsx +++ b/website/pages/docs/[[...page]].jsx @@ -1,9 +1,6 @@ import { productName, productSlug } from 'data/metadata' import DocsPage from '@hashicorp/react-docs-page' -import { - generateStaticPaths, - generateStaticProps, -} from '@hashicorp/react-docs-page/server' +import { getStaticGenerationFunctions } from '@hashicorp/react-docs-page/server' import Placement from 'components/placement-table' const NAV_DATA_FILE = 'data/docs-nav-data.json' @@ -18,28 +15,26 @@ export default function DocsLayout(props) { baseRoute={basePath} staticProps={props} additionalComponents={additionalComponents} + showVersionSelect={process.env.ENABLE_VERSIONED_DOCS === 'true'} /> ) } -export async function getStaticPaths() { - return { - fallback: false, - paths: await generateStaticPaths({ - navDataFile: NAV_DATA_FILE, - localContentDir: CONTENT_DIR, - }), - } -} +const { getStaticPaths, getStaticProps } = getStaticGenerationFunctions( + process.env.ENABLE_VERSIONED_DOCS === 'true' + ? { + strategy: 'remote', + basePath: basePath, + fallback: 'blocking', + revalidate: 360, // 1 hour + product: productSlug, + } + : { + strategy: 'fs', + localContentDir: CONTENT_DIR, + navDataFile: NAV_DATA_FILE, + product: productSlug, + } +) -export async function getStaticProps({ params }) { - return { - props: await generateStaticProps({ - navDataFile: NAV_DATA_FILE, - localContentDir: CONTENT_DIR, - product: { name: productName, slug: productSlug }, - params, - additionalComponents, - }), - } -} +export { getStaticPaths, getStaticProps } diff --git a/website/pages/intro/[[...page]].jsx b/website/pages/intro/[[...page]].jsx index 042699543..6b118e372 100644 --- a/website/pages/intro/[[...page]].jsx +++ b/website/pages/intro/[[...page]].jsx @@ -1,9 +1,6 @@ import { productName, productSlug } from 'data/metadata' import DocsPage from '@hashicorp/react-docs-page' -import { - generateStaticPaths, - generateStaticProps, -} from '@hashicorp/react-docs-page/server' +import { getStaticGenerationFunctions } from '@hashicorp/react-docs-page/server' const NAV_DATA_FILE = 'data/intro-nav-data.json' const CONTENT_DIR = 'content/intro' @@ -15,27 +12,26 @@ export default function DocsLayout(props) { product={{ name: productName, slug: productSlug }} baseRoute={basePath} staticProps={props} + showVersionSelect={process.env.ENABLE_VERSIONED_DOCS === 'true'} /> ) } -export async function getStaticPaths() { - return { - fallback: false, - paths: await generateStaticPaths({ - navDataFile: NAV_DATA_FILE, - localContentDir: CONTENT_DIR, - }), - } -} +const { getStaticPaths, getStaticProps } = getStaticGenerationFunctions( + process.env.ENABLE_VERSIONED_DOCS === 'true' + ? { + strategy: 'remote', + basePath: basePath, + fallback: 'blocking', + revalidate: 360, // 1 hour + product: productSlug, + } + : { + strategy: 'fs', + localContentDir: CONTENT_DIR, + navDataFile: NAV_DATA_FILE, + product: productSlug, + } +) -export async function getStaticProps({ params }) { - return { - props: await generateStaticProps({ - navDataFile: NAV_DATA_FILE, - localContentDir: CONTENT_DIR, - product: { name: productName, slug: productSlug }, - params, - }), - } -} +export { getStaticPaths, getStaticProps } diff --git a/website/pages/plugins/[[...page]].tsx b/website/pages/plugins/[[...page]].tsx index c82972f45..d1e79130b 100644 --- a/website/pages/plugins/[[...page]].tsx +++ b/website/pages/plugins/[[...page]].tsx @@ -1,9 +1,6 @@ import { productName, productSlug } from 'data/metadata' import DocsPage from '@hashicorp/react-docs-page' -import { - generateStaticPaths, - generateStaticProps, -} from '@hashicorp/react-docs-page/server' +import { getStaticGenerationFunctions } from '@hashicorp/react-docs-page/server' const NAV_DATA_FILE = 'data/plugins-nav-data.json' const CONTENT_DIR = 'content/plugins' @@ -19,24 +16,11 @@ export default function DocsLayout(props) { ) } -export async function getStaticPaths() { - return { - fallback: false, - paths: await generateStaticPaths({ - navDataFile: NAV_DATA_FILE, - localContentDir: CONTENT_DIR, - }), - } -} +const { getStaticPaths, getStaticProps } = getStaticGenerationFunctions({ + strategy: 'fs', + localContentDir: CONTENT_DIR, + navDataFile: NAV_DATA_FILE, + product: productSlug, +}) -export async function getStaticProps({ params }) { - return { - props: await generateStaticProps({ - navDataFile: NAV_DATA_FILE, - localContentDir: CONTENT_DIR, - product: { name: productName, slug: productSlug }, - params, - basePath: basePath, - }), - } -} +export { getStaticPaths, getStaticProps } diff --git a/website/pages/tools/[[...page]].tsx b/website/pages/tools/[[...page]].tsx index 772c0526d..cbad0b885 100644 --- a/website/pages/tools/[[...page]].tsx +++ b/website/pages/tools/[[...page]].tsx @@ -1,9 +1,6 @@ import { productName, productSlug } from 'data/metadata' import DocsPage from '@hashicorp/react-docs-page' -import { - generateStaticPaths, - generateStaticProps, -} from '@hashicorp/react-docs-page/server' +import { getStaticGenerationFunctions } from '@hashicorp/react-docs-page/server' const NAV_DATA_FILE = 'data/tools-nav-data.json' const CONTENT_DIR = 'content/tools' @@ -19,24 +16,11 @@ export default function DocsLayout(props) { ) } -export async function getStaticPaths() { - return { - fallback: false, - paths: await generateStaticPaths({ - navDataFile: NAV_DATA_FILE, - localContentDir: CONTENT_DIR, - }), - } -} +const { getStaticPaths, getStaticProps } = getStaticGenerationFunctions({ + strategy: 'fs', + localContentDir: CONTENT_DIR, + navDataFile: NAV_DATA_FILE, + product: productSlug, +}) -export async function getStaticProps({ params }) { - return { - props: await generateStaticProps({ - navDataFile: NAV_DATA_FILE, - localContentDir: CONTENT_DIR, - product: { name: productName, slug: productSlug }, - params, - basePath: basePath, - }), - } -} +export { getStaticPaths, getStaticProps }