feat: migrate to use pnpm and add sitemapPlugin (#4043)

* migrate off yarn to pnpm

add `vue` and `@vuepress/client` as peer-dependencies

stick with node 20

update @vuepress/plugin-docsearch dep with `npx vp-update`

add vuepress-plugin-sitemap2 plugin

Signed-off-by: Rui Chen <rui@chenrui.dev>

* replace yarn.lock with pnpm-lock.yaml for labeler

Signed-off-by: Rui Chen <rui@chenrui.dev>

* replace yarnDedupeHighest with pnpmDedupe for renovate

Signed-off-by: Rui Chen <rui@chenrui.dev>

* update website-lint job

Signed-off-by: Rui Chen <rui@chenrui.dev>

---------

Signed-off-by: Rui Chen <rui@chenrui.dev>
This commit is contained in:
Rui Chen
2024-02-08 21:26:50 +01:00
committed by GitHub
parent dffae125fe
commit aaa6ac078a
10 changed files with 2389 additions and 1846 deletions

2
.github/labeler.yml vendored
View File

@@ -42,4 +42,4 @@ website:
- changed-files:
- any-glob-to-any-file: 'runatlantis.io/.vuepress/**/*'
- any-glob-to-any-file: 'package.json'
- any-glob-to-any-file: 'yarn.lock'
- any-glob-to-any-file: 'pnpm-lock.yaml'

View File

@@ -12,7 +12,7 @@
postUpdateOptions: [
"gomodTidy",
"gomodUpdateImportPaths",
"yarnDedupeHighest",
"pnpmDedupe",
],
// needed so e2e tests do not stomp over each other
prHourlyLimit: 1,

View File

@@ -33,7 +33,7 @@ jobs:
filters: |
src:
- '**.js'
- 'yarn.lock'
- 'pnpm-lock.yaml'
- 'package.json'
- '.github/workflows/website.yml'
@@ -48,24 +48,23 @@ jobs:
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
- uses: wyvox/action-setup-pnpm@v3
with:
node-version-file: .node-version
node-version: 20
- name: run http-server
env:
# renovate: datasource=github-releases depName=raviqqe/muffet
MUFFET_VERSION: 2.9.3
run: |
npm install -g yarn
# install raviqqe/muffet to check for broken links.
curl -Ls https://github.com/raviqqe/muffet/releases/download/v${MUFFET_VERSION}/muffet_linux_amd64.tar.gz | tar -xz
# build the site
yarn && yarn website:build
# build site
pnpm install
pnpm website:build
# run http-server for muffet to check the links
# start http-server for integration testing
npx http-server runatlantis.io/.vuepress/dist &
- name: wait until server listened

1
.tool-versions Normal file
View File

@@ -0,0 +1 @@
pnpm 8.12.0

View File

@@ -14,7 +14,7 @@
We take security issues seriously. Please report a security vulnerability to the maintainers using [private vulnerability reporting](https://github.com/runatlantis/atlantis/security/advisories/new).
# Updating The Website
* To view the generated website locally, run `yarn website:dev` and then
* To view the generated website locally, run `pnpm website:dev` and then
open your browser to http://localhost:8080.
* The website will be regenerated when your pull request is merged to main.

View File

@@ -110,4 +110,4 @@ end-to-end-tests: ## Run e2e tests
.PHONY: website-dev
website-dev: ## Run runatlantic.io on localhost:8080
yarn website:dev
pnpm website:dev

View File

@@ -1,9 +1,13 @@
{
"license": "Apache-2.0",
"devDependencies": {
"@vuepress/client": "2.0.0-rc.0",
"@vuepress/plugin-docsearch": "2.0.0-rc.0",
"@vuepress/plugin-google-analytics": "2.0.0-rc.0",
"vuepress": "2.0.0-rc.0"
"@vuepress/utils": "2.0.0-rc.0",
"vue": "^3.3.11",
"vuepress": "2.0.0-rc.0",
"vuepress-plugin-sitemap2": "2.0.0-rc.4"
},
"scripts": {
"website:dev": "vuepress dev runatlantis.io",

2368
pnpm-lock.yaml generated Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -2,6 +2,7 @@ import { googleAnalyticsPlugin } from '@vuepress/plugin-google-analytics'
import { docsearchPlugin } from '@vuepress/plugin-docsearch'
import { getDirname, path } from '@vuepress/utils'
import { defaultTheme, defineUserConfig } from 'vuepress'
import { sitemapPlugin } from 'vuepress-plugin-sitemap2';
const __dirname = getDirname(import.meta.url)
@@ -27,6 +28,9 @@ export default defineUserConfig({
googleAnalyticsPlugin({
id: 'UA-6850151-3',
}),
sitemapPlugin({
hostname: 'https://runatlantis.io',
}),
docsearchPlugin({
// We internally discussed how this API key is exposed in the code and decided
// that it is a non-issue because this API key can easily be extracted by

1833
yarn.lock

File diff suppressed because it is too large Load Diff