diff --git a/website/next.config.js b/website/next.config.js index 372e9d5a9..5c454932b 100644 --- a/website/next.config.js +++ b/website/next.config.js @@ -5,6 +5,9 @@ const redirects = require('./redirects.js') // log out our primary environment variables for clarity in build logs console.log(`HASHI_ENV: ${process.env.HASHI_ENV}`) console.log(`NODE_ENV: ${process.env.NODE_ENV}`) +console.log(`VERCEL_ENV: ${process.env.VERCEL_ENV}`) +console.log(`MKTG_CONTENT_API: ${process.env.MKTG_CONTENT_API}`) +console.log(`ENABLE_VERSIONED_DOCS: ${process.env.ENABLE_VERSIONED_DOCS}`) module.exports = withHashicorp({ defaultLayout: true, @@ -21,5 +24,6 @@ module.exports = withHashicorp({ SEGMENT_WRITE_KEY: 'JkNZiSgwVRAAFrkqqdHLxf0xfcZuhYYc', BUGSNAG_CLIENT_KEY: '635db43e199cb02419379291d573205b', BUGSNAG_SERVER_KEY: 'f85278a46e1b5565a9e91974cdc2843b', + ENABLE_VERSIONED_DOCS: process.env.ENABLE_VERSIONED_DOCS || false, }, }) diff --git a/website/package-lock.json b/website/package-lock.json index af33d1e34..efdff1e67 100644 --- a/website/package-lock.json +++ b/website/package-lock.json @@ -19,7 +19,7 @@ "@hashicorp/react-button": "^6.0.1", "@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-enterprise-alert": "^6.0.1", "@hashicorp/react-hashi-stack-menu": "^2.1.2", "@hashicorp/react-head": "^3.1.2", @@ -1016,12 +1016,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", @@ -1107,15 +1107,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": { @@ -1142,6 +1143,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", @@ -1171,9 +1177,9 @@ } }, "node_modules/@hashicorp/react-code-block": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/@hashicorp/react-code-block/-/react-code-block-4.1.5.tgz", - "integrity": "sha512-94IHagrdqxvoPE130b2FOvyeSZ26DIhaNSnZ3b/isKMpaNdWjoi/uo+nckRu3auiSyxldbMty8W5EXclgGkCEA==", + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@hashicorp/react-code-block/-/react-code-block-4.4.0.tgz", + "integrity": "sha512-XQstPNWqpBavlY55KE/oFak7BttoC/V9MfCSOJ527jQPd9vJ7nRG226SNIZwjzZIKI5IYdt63AVCDQTHpKpS+A==", "dependencies": { "@hashicorp/react-inline-svg": "^6.0.3", "@reach/listbox": "0.15.0", @@ -1206,9 +1212,9 @@ "integrity": "sha512-OlQdbZ7gLfGarSqxesMesDa5uz7KFbID8Kpq/SxIoNGDqY8lSYs0D+hhtBXhcdB3rcbXArFr7vlHheLk1voeNA==" }, "node_modules/@hashicorp/react-content": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/@hashicorp/react-content/-/react-content-8.0.3.tgz", - "integrity": "sha512-WSmTlU3UU0YMbp1Eb9RCZqWh4skwIeXPQY/OFaNLgZqQh6/vP+j7c6pItPhnSz8w0u81XatuxVfo0cJjtxidYg==", + "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" @@ -1224,18 +1230,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", @@ -1243,7 +1249,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", @@ -1251,6 +1258,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", @@ -1511,9 +1548,9 @@ "integrity": "sha512-OlQdbZ7gLfGarSqxesMesDa5uz7KFbID8Kpq/SxIoNGDqY8lSYs0D+hhtBXhcdB3rcbXArFr7vlHheLk1voeNA==" }, "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", @@ -1584,11 +1621,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": { @@ -1596,6 +1633,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", @@ -1704,9 +1746,9 @@ "integrity": "sha512-OlQdbZ7gLfGarSqxesMesDa5uz7KFbID8Kpq/SxIoNGDqY8lSYs0D+hhtBXhcdB3rcbXArFr7vlHheLk1voeNA==" }, "node_modules/@hashicorp/react-version-select": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/@hashicorp/react-version-select/-/react-version-select-0.2.0.tgz", - "integrity": "sha512-F2JoZtbFqc9JD4MfTbjvrNzeylx9KdgqAffyh3ZGSO+LjhK86o9VQah82FCQjfkLOHQeo95/hbfnTE++RPPAjg==", + "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" }, @@ -1735,9 +1777,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", @@ -8260,9 +8302,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", @@ -21114,12 +21156,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", @@ -21188,12 +21230,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": { @@ -21239,9 +21288,9 @@ } }, "@hashicorp/react-code-block": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/@hashicorp/react-code-block/-/react-code-block-4.1.5.tgz", - "integrity": "sha512-94IHagrdqxvoPE130b2FOvyeSZ26DIhaNSnZ3b/isKMpaNdWjoi/uo+nckRu3auiSyxldbMty8W5EXclgGkCEA==", + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@hashicorp/react-code-block/-/react-code-block-4.4.0.tgz", + "integrity": "sha512-XQstPNWqpBavlY55KE/oFak7BttoC/V9MfCSOJ527jQPd9vJ7nRG226SNIZwjzZIKI5IYdt63AVCDQTHpKpS+A==", "requires": { "@hashicorp/react-inline-svg": "^6.0.3", "@reach/listbox": "0.15.0", @@ -21267,9 +21316,9 @@ } }, "@hashicorp/react-content": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/@hashicorp/react-content/-/react-content-8.0.3.tgz", - "integrity": "sha512-WSmTlU3UU0YMbp1Eb9RCZqWh4skwIeXPQY/OFaNLgZqQh6/vP+j7c6pItPhnSz8w0u81XatuxVfo0cJjtxidYg==", + "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" @@ -21283,18 +21332,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", @@ -21302,9 +21351,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", @@ -21520,9 +21594,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", @@ -21578,12 +21652,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": { @@ -21681,9 +21762,9 @@ } }, "@hashicorp/react-version-select": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/@hashicorp/react-version-select/-/react-version-select-0.2.0.tgz", - "integrity": "sha512-F2JoZtbFqc9JD4MfTbjvrNzeylx9KdgqAffyh3ZGSO+LjhK86o9VQah82FCQjfkLOHQeo95/hbfnTE++RPPAjg==", + "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" } @@ -21707,9 +21788,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", @@ -26960,9 +27041,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 c8e9e3324..e162bfee9 100644 --- a/website/package.json +++ b/website/package.json @@ -3,6 +3,10 @@ "description": "Documentation website for Boundary", "version": "1.0.0", "author": "HashiCorp", + "engines": { + "node": "14.x - 16.x", + "npm": ">=7.0.0" + }, "dependencies": { "@apidevtools/json-schema-ref-parser": "9.0.9", "@hashicorp/mktg-global-styles": "^4.0.0", @@ -15,7 +19,7 @@ "@hashicorp/react-button": "^6.0.1", "@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-enterprise-alert": "^6.0.1", "@hashicorp/react-hashi-stack-menu": "^2.1.2", "@hashicorp/react-head": "^3.1.2", @@ -58,9 +62,6 @@ "pre-commit": "next-hashicorp precommit" } }, - "engines": { - "npm": ">=7.0.0" - }, "scripts": { "build": "node --max-old-space-size=2048 ./node_modules/.bin/next build", "export": "node --max-old-space-size=2048 ./node_modules/.bin/next export", diff --git a/website/pages/docs/[[...page]].jsx b/website/pages/docs/[[...page]].jsx index c0ab9cba6..c59f39678 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' const NAV_DATA_FILE = 'data/docs-nav-data.json' const CONTENT_DIR = 'content/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 }