From f13236fa353149ccc04af7fdf8183745886ae96f Mon Sep 17 00:00:00 2001 From: Kevin Wang Date: Fri, 17 Dec 2021 12:53:53 -0500 Subject: [PATCH] feat(website) versioned-docs (#12603) * feat: versioned-docs * fix: catch-all to optional catch-all route * chore: bump deps & fix opts * chore:update package-lock * chore: remove `showVersionSelect` prop * chore: bump react docs page --- website/next.config.js | 8 +- website/package-lock.json | 213 ++++++++++++-------- website/package.json | 2 +- website/pages/docs/[[...page]].jsx | 45 ++--- website/pages/intro/[[...page]].jsx | 41 ++-- website/pages/vagrant-cloud/[[...page]].jsx | 41 ++-- website/pages/vmware/[...page].jsx | 44 ---- website/pages/vmware/[[...page]].jsx | 36 ++++ 8 files changed, 226 insertions(+), 204 deletions(-) delete mode 100644 website/pages/vmware/[...page].jsx create mode 100644 website/pages/vmware/[[...page]].jsx diff --git a/website/next.config.js b/website/next.config.js index feba8d045..5d4d3dc3d 100644 --- a/website/next.config.js +++ b/website/next.config.js @@ -1,7 +1,12 @@ const withHashicorp = require('@hashicorp/platform-nextjs-plugin') const redirects = require('./redirects.next') -console.log(`Environment: ${process.env.HASHI_ENV}`) +// 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, @@ -14,5 +19,6 @@ module.exports = withHashicorp({ SEGMENT_WRITE_KEY: 'wFMyBE4PJCZttWfu0pNhYdWr7ygW0io4', BUGSNAG_CLIENT_KEY: '87a42e709789c35676b06b0d29a9075d', BUGSNAG_SERVER_KEY: '4acc6140aaebfab35f535a3666674a07', + ENABLE_VERSIONED_DOCS: process.env.ENABLE_VERSIONED_DOCS || false, }, }) diff --git a/website/package-lock.json b/website/package-lock.json index 5e2c2e4bd..81869926e 100644 --- a/website/package-lock.json +++ b/website/package-lock.json @@ -17,7 +17,7 @@ "@hashicorp/react-button": "^6.0.1", "@hashicorp/react-code-block": "^4.1.5", "@hashicorp/react-consent-manager": "^7.1.0", - "@hashicorp/react-docs-page": "^14.4.2", + "@hashicorp/react-docs-page": "^14.12.0", "@hashicorp/react-hashi-stack-menu": "^2.1.2", "@hashicorp/react-head": "^3.1.2", "@hashicorp/react-inline-svg": "^6.0.3", @@ -2202,12 +2202,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.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.2.0", + "@hashicorp/remark-plugins": "^3.3.1", "@mapbox/rehype-prism": "^0.6.0", "@mdx-js/react": "1.6.22", "rehype-katex": "^5.0.0", @@ -2218,6 +2218,22 @@ "react": ">= 16.x" } }, + "node_modules/@hashicorp/platform-markdown-utils/node_modules/@hashicorp/remark-plugins": { + "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", + "remark": "12.0.1", + "remark-mdx": "1.6.22", + "to-vfile": "^6.1.0", + "unist-util-flatmap": "^1.0.0", + "unist-util-is": "^4.0.2", + "unist-util-map": "^2.0.1", + "unist-util-visit": "^2.0.3" + } + }, "node_modules/@hashicorp/platform-markdown-utils/node_modules/@mapbox/rehype-prism": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/@mapbox/rehype-prism/-/rehype-prism-0.6.0.tgz", @@ -2356,15 +2372,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": { @@ -2445,9 +2462,9 @@ } }, "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" @@ -2458,18 +2475,18 @@ } }, "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.12.0", + "resolved": "https://registry.npmjs.org/@hashicorp/react-docs-page/-/react-docs-page-14.12.0.tgz", + "integrity": "sha512-wK08UfK3aU4EI12Uzg4KSfYVkSo94bYXLkBJkTkpMzMA42WLFE+TpPuwXpDN8ijdZt/JIz1XMyvbEMglw3HG/w==", "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", @@ -2477,7 +2494,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", @@ -2513,9 +2531,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", @@ -2685,9 +2703,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", @@ -2746,11 +2764,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": { @@ -2832,9 +2850,9 @@ } }, "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" }, @@ -8514,9 +8532,9 @@ "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==" }, "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", @@ -11192,22 +11210,26 @@ } }, "node_modules/katex": { - "version": "0.13.13", - "resolved": "https://registry.npmjs.org/katex/-/katex-0.13.13.tgz", - "integrity": "sha512-cCMcil4jwMm7behpXGiQfXJA29sko/Gd/26iCsr53Dv5Jn2iHbHyEb14dm9uVrIijUXx6Zz1WhlFhHE6DckvkQ==", + "version": "0.13.24", + "resolved": "https://registry.npmjs.org/katex/-/katex-0.13.24.tgz", + "integrity": "sha512-jZxYuKCma3VS5UuxOx/rFV1QyGSl3Uy/i0kTJF3HgQ5xMinCQVF8Zd4bMY/9aI9b9A2pjIBOsjSSm68ykTAr8w==", + "funding": [ + "https://opencollective.com/katex", + "https://github.com/sponsors/katex" + ], "dependencies": { - "commander": "^6.0.0" + "commander": "^8.0.0" }, "bin": { "katex": "cli.js" } }, "node_modules/katex/node_modules/commander": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", - "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==", + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", "engines": { - "node": ">= 6" + "node": ">= 12" } }, "node_modules/keyv": { @@ -23159,12 +23181,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.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.2.0", + "@hashicorp/remark-plugins": "^3.3.1", "@mapbox/rehype-prism": "^0.6.0", "@mdx-js/react": "1.6.22", "rehype-katex": "^5.0.0", @@ -23172,6 +23194,22 @@ "remark-rehype": "^7.0.0" }, "dependencies": { + "@hashicorp/remark-plugins": { + "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", + "remark": "12.0.1", + "remark-mdx": "1.6.22", + "to-vfile": "^6.1.0", + "unist-util-flatmap": "^1.0.0", + "unist-util-is": "^4.0.2", + "unist-util-map": "^2.0.1", + "unist-util-visit": "^2.0.3" + } + }, "@mapbox/rehype-prism": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/@mapbox/rehype-prism/-/rehype-prism-0.6.0.tgz", @@ -23279,12 +23317,12 @@ } }, "@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" } }, "@hashicorp/react-alert-banner": { @@ -23346,27 +23384,27 @@ } }, "@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" } }, "@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.12.0", + "resolved": "https://registry.npmjs.org/@hashicorp/react-docs-page/-/react-docs-page-14.12.0.tgz", + "integrity": "sha512-wK08UfK3aU4EI12Uzg4KSfYVkSo94bYXLkBJkTkpMzMA42WLFE+TpPuwXpDN8ijdZt/JIz1XMyvbEMglw3HG/w==", "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", @@ -23374,7 +23412,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" }, "dependencies": { "argparse": { @@ -23401,9 +23440,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", @@ -23532,9 +23571,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", @@ -23579,11 +23618,11 @@ } }, "@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" } }, @@ -23643,9 +23682,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" } @@ -28132,9 +28171,9 @@ "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==" }, "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", @@ -30121,17 +30160,17 @@ } }, "katex": { - "version": "0.13.13", - "resolved": "https://registry.npmjs.org/katex/-/katex-0.13.13.tgz", - "integrity": "sha512-cCMcil4jwMm7behpXGiQfXJA29sko/Gd/26iCsr53Dv5Jn2iHbHyEb14dm9uVrIijUXx6Zz1WhlFhHE6DckvkQ==", + "version": "0.13.24", + "resolved": "https://registry.npmjs.org/katex/-/katex-0.13.24.tgz", + "integrity": "sha512-jZxYuKCma3VS5UuxOx/rFV1QyGSl3Uy/i0kTJF3HgQ5xMinCQVF8Zd4bMY/9aI9b9A2pjIBOsjSSm68ykTAr8w==", "requires": { - "commander": "^6.0.0" + "commander": "^8.0.0" }, "dependencies": { "commander": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", - "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==" + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==" } } }, diff --git a/website/package.json b/website/package.json index de8f3fcb0..871fb3438 100644 --- a/website/package.json +++ b/website/package.json @@ -13,7 +13,7 @@ "@hashicorp/react-button": "^6.0.1", "@hashicorp/react-code-block": "^4.1.5", "@hashicorp/react-consent-manager": "^7.1.0", - "@hashicorp/react-docs-page": "^14.4.2", + "@hashicorp/react-docs-page": "^14.12.0", "@hashicorp/react-hashi-stack-menu": "^2.1.2", "@hashicorp/react-head": "^3.1.2", "@hashicorp/react-inline-svg": "^6.0.3", diff --git a/website/pages/docs/[[...page]].jsx b/website/pages/docs/[[...page]].jsx index 6f90094a3..ee3cc75ec 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 versions from 'data/version.json' import Button from '@hashicorp/react-button' @@ -23,25 +20,23 @@ 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( + process.env.ENABLE_VERSIONED_DOCS === 'true' + ? { + strategy: 'remote', + basePath: basePath, + fallback: 'blocking', + revalidate: 360, // 1 hour + product: productSlug, + scope: { VMWARE_UTILITY_VERSION: versions.VMWARE_UTILITY_VERSION }, + } + : { + strategy: 'fs', + localContentDir: CONTENT_DIR, + navDataFile: NAV_DATA_FILE, + product: productSlug, + scope: { VMWARE_UTILITY_VERSION: versions.VMWARE_UTILITY_VERSION }, + } +) -export async function getStaticProps({ params }) { - return { - props: await generateStaticProps({ - navDataFile: NAV_DATA_FILE, - localContentDir: CONTENT_DIR, - product: { name: productName, slug: productSlug }, - params, - additionalComponents, - scope: { VMWARE_UTILITY_VERSION: versions.VMWARE_UTILITY_VERSION }, - }), - } -} +export { getStaticPaths, getStaticProps } diff --git a/website/pages/intro/[[...page]].jsx b/website/pages/intro/[[...page]].jsx index 042699543..e2f1e4ec3 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' @@ -19,23 +16,21 @@ 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( + 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/vagrant-cloud/[[...page]].jsx b/website/pages/vagrant-cloud/[[...page]].jsx index 4c4b71f5b..c92880c53 100644 --- a/website/pages/vagrant-cloud/[[...page]].jsx +++ b/website/pages/vagrant-cloud/[[...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/vagrant-cloud-nav-data.json' const CONTENT_DIR = 'content/vagrant-cloud' @@ -19,23 +16,21 @@ 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( + 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/vmware/[...page].jsx b/website/pages/vmware/[...page].jsx deleted file mode 100644 index e1321e5a9..000000000 --- a/website/pages/vmware/[...page].jsx +++ /dev/null @@ -1,44 +0,0 @@ -import { productName, productSlug } from 'data/metadata' -import DocsPage from '@hashicorp/react-docs-page' -import { - generateStaticPaths, - generateStaticProps, -} from '@hashicorp/react-docs-page/server' - -const NAV_DATA_FILE = 'data/vmware-nav-data.json' -const CONTENT_DIR = 'content/vmware' -const basePath = 'vmware' - -export default function DocsLayout(props) { - return ( - - ) -} - -export async function getStaticPaths() { - const paths = await generateStaticPaths({ - navDataFile: NAV_DATA_FILE, - localContentDir: CONTENT_DIR, - }) - - return { - fallback: false, - // This path has an index route explicitly declared as a page - paths: paths.filter(({ params }) => params.page.length > 0), - } -} - -export async function getStaticProps({ params }) { - return { - props: await generateStaticProps({ - navDataFile: NAV_DATA_FILE, - localContentDir: CONTENT_DIR, - product: { name: productName, slug: productSlug }, - params, - }), - } -} diff --git a/website/pages/vmware/[[...page]].jsx b/website/pages/vmware/[[...page]].jsx new file mode 100644 index 000000000..87f4cda04 --- /dev/null +++ b/website/pages/vmware/[[...page]].jsx @@ -0,0 +1,36 @@ +import { productName, productSlug } from 'data/metadata' +import DocsPage from '@hashicorp/react-docs-page' +import { getStaticGenerationFunctions } from '@hashicorp/react-docs-page/server' + +const NAV_DATA_FILE = 'data/vmware-nav-data.json' +const CONTENT_DIR = 'content/vmware' +const basePath = 'vmware' + +export default function DocsLayout(props) { + return ( + + ) +} + +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 { getStaticPaths, getStaticProps }