From ed939b2f080069ecab29c323a9c5a48f86f9238c Mon Sep 17 00:00:00 2001 From: nozomee Date: Mon, 4 May 2026 11:34:52 +0530 Subject: [PATCH 1/7] docs: refresh home stats for oxlint, vite, and vitest --- .../theme/components/home/FeatureCheck.vue | 2 +- .../theme/components/home/ProductivityGrid.vue | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/docs/.vitepress/theme/components/home/FeatureCheck.vue b/docs/.vitepress/theme/components/home/FeatureCheck.vue index ef5f36a95d..5abdf242c8 100644 --- a/docs/.vitepress/theme/components/home/FeatureCheck.vue +++ b/docs/.vitepress/theme/components/home/FeatureCheck.vue @@ -18,7 +18,7 @@ import oxcIcon from '@assets/icons/oxc-light.svg'; formatting
  • - 600+ ESLint compatible + 750+ ESLint compatible rules
  • diff --git a/docs/.vitepress/theme/components/home/ProductivityGrid.vue b/docs/.vitepress/theme/components/home/ProductivityGrid.vue index e747139e65..be2cb8ad1a 100644 --- a/docs/.vitepress/theme/components/home/ProductivityGrid.vue +++ b/docs/.vitepress/theme/components/home/ProductivityGrid.vue @@ -31,13 +31,13 @@ import tileVitest from '@local-assets/tiles/vitest.png';
    -

    69m+

    +

    115m+

    Weekly npm downloads

    -

    78.7k

    +

    80.4k

    GitHub stars

    @@ -54,13 +54,13 @@ import tileVitest from '@local-assets/tiles/vitest.png';
    -

    35m+

    +

    57m+

    Weekly npm downloads

    -

    16.1k

    +

    16.5k

    GitHub stars

    @@ -77,13 +77,13 @@ import tileVitest from '@local-assets/tiles/vitest.png';
    -

    5m+

    +

    5.3m+

    Weekly npm downloads

    -

    19.8k

    +

    21.0k

    GitHub stars

    From 23b81b281503a0a64c50347cb8d86d8ad39220de Mon Sep 17 00:00:00 2001 From: nozomee Date: Mon, 4 May 2026 14:59:40 +0530 Subject: [PATCH 2/7] feat(docs): automate trusted stack stats via JSON and workflow --- .../workflows/update-trusted-stack-stats.yml | 41 ++++++ docs/.vitepress/env.d.ts | 5 + .../components/home/ProductivityGrid.vue | 29 ++++- .../theme/data/trusted-stack-stats.json | 32 +++++ .../theme/data/trusted-stack-stats.ts | 28 +++++ docs/.vitepress/tsconfig.json | 2 +- docs/package.json | 3 +- docs/scripts/fetch-trusted-stack-stats.mjs | 117 ++++++++++++++++++ package.json | 1 + 9 files changed, 250 insertions(+), 8 deletions(-) create mode 100644 .github/workflows/update-trusted-stack-stats.yml create mode 100644 docs/.vitepress/theme/data/trusted-stack-stats.json create mode 100644 docs/.vitepress/theme/data/trusted-stack-stats.ts create mode 100644 docs/scripts/fetch-trusted-stack-stats.mjs diff --git a/.github/workflows/update-trusted-stack-stats.yml b/.github/workflows/update-trusted-stack-stats.yml new file mode 100644 index 0000000000..322382b062 --- /dev/null +++ b/.github/workflows/update-trusted-stack-stats.yml @@ -0,0 +1,41 @@ +name: Update trusted stack stats + +on: + schedule: + # Weekly: Monday 06:00 UTC + - cron: '0 6 * * 1' + workflow_dispatch: + +defaults: + run: + shell: bash + +jobs: + update: + if: github.repository == 'voidzero-dev/vite-plus' && github.event.repository.fork == false + runs-on: ubuntu-latest + permissions: + contents: write + steps: + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + + - uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0 + with: + node-version: '22' + + - name: Fetch npm and GitHub stats + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: node docs/scripts/fetch-trusted-stack-stats.mjs + + - name: Commit and push if changed + run: | + git config user.name "github-actions[bot]" + git config user.email "41898282+github-actions[bot]@users.noreply.github.com" + git add docs/.vitepress/theme/data/trusted-stack-stats.json + if git diff --cached --quiet; then + echo "No changes to trusted-stack-stats.json" + exit 0 + fi + git commit -m "chore(docs): refresh trusted stack stats" + git push diff --git a/docs/.vitepress/env.d.ts b/docs/.vitepress/env.d.ts index adcc6abf4e..d45fc19c09 100644 --- a/docs/.vitepress/env.d.ts +++ b/docs/.vitepress/env.d.ts @@ -28,3 +28,8 @@ declare module '*.jpg' { const src: string; export default src; } + +declare module '*.json' { + const value: Record; + export default value; +} diff --git a/docs/.vitepress/theme/components/home/ProductivityGrid.vue b/docs/.vitepress/theme/components/home/ProductivityGrid.vue index be2cb8ad1a..3e14266e1b 100644 --- a/docs/.vitepress/theme/components/home/ProductivityGrid.vue +++ b/docs/.vitepress/theme/components/home/ProductivityGrid.vue @@ -6,6 +6,11 @@ import productivitySecurityImage from '@local-assets/productivity-security.png'; import tileOxc from '@local-assets/tiles/oxc.png'; import tileVite from '@local-assets/tiles/vite.png'; import tileVitest from '@local-assets/tiles/vitest.png'; +import { trustedStackById } from '../../data/trusted-stack-stats'; + +const viteStack = trustedStackById('vite'); +const vitestStack = trustedStackById('vitest'); +const oxcStack = trustedStackById('oxc');