Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
53 commits
Select commit Hold shift + click to select a range
a9bf883
build(deps-dev): bump @eslint/js from 9.26.0 to 9.27.0 (#4265)
dependabot[bot] May 20, 2025
19b1a79
build(deps-dev): bump eslint from 9.26.0 to 9.27.0 (#4266)
dependabot[bot] May 21, 2025
618127f
build(deps-dev): bump globals from 16.1.0 to 16.2.0 (#4274)
dependabot[bot] May 27, 2025
c3c6ee2
refactor: update languages JSON (#4277)
github-actions[bot] Jun 2, 2025
4306568
ci(deps): bump ossf/scorecard-action from 2.4.1 to 2.4.2 (#4280)
dependabot[bot] Jun 3, 2025
51c3550
build(deps-dev): bump @eslint/js from 9.27.0 to 9.28.0 (#4283)
dependabot[bot] Jun 4, 2025
67c769f
build(deps-dev): bump eslint from 9.27.0 to 9.28.0 (#4282)
dependabot[bot] Jun 5, 2025
3740527
build(deps-dev): bump eslint-plugin-jsdoc from 50.6.17 to 50.7.1 (#4284)
dependabot[bot] Jun 6, 2025
27ffc1a
ci(deps): bump stefanzweifel/git-auto-commit-action from 5.2.0 to 6.0…
dependabot[bot] Jun 17, 2025
6518b93
build(deps): bump axios from 1.9.0 to 1.10.0 (#4298)
dependabot[bot] Jun 18, 2025
2d18f87
build(deps-dev): bump @eslint/js from 9.28.0 to 9.29.0 (#4294)
dependabot[bot] Jun 19, 2025
9d222a3
build(deps-dev): bump eslint from 9.28.0 to 9.29.0 (#4297)
dependabot[bot] Jun 20, 2025
12a082d
build(deps-dev): bump prettier from 3.5.3 to 3.6.0 (#4304)
dependabot[bot] Jun 24, 2025
3da15d0
refactor: update languages JSON (#4318)
github-actions[bot] Jul 2, 2025
2fe5ccd
build(deps-dev): bump prettier from 3.6.0 to 3.6.2 (#4317)
dependabot[bot] Jul 3, 2025
24ceff3
build(deps-dev): bump @eslint/js from 9.29.0 to 9.30.0 (#4315)
dependabot[bot] Jul 4, 2025
32feaa3
build(deps-dev): bump eslint from 9.29.0 to 9.30.0 (#4316)
dependabot[bot] Jul 5, 2025
54bcc91
build(deps): bump dotenv from 16.5.0 to 17.0.1 (#4322)
dependabot[bot] Jul 8, 2025
ffe0e82
build(deps-dev): bump globals from 16.2.0 to 16.3.0 (#4321)
dependabot[bot] Jul 9, 2025
3e97401
build(deps-dev): bump @eslint/js from 9.30.1 to 9.31.0 (#4328)
dependabot[bot] Jul 15, 2025
ac02053
build(deps-dev): bump eslint from 9.30.1 to 9.31.0 (#4329)
dependabot[bot] Jul 16, 2025
c84d18d
build(deps): bump dotenv from 17.0.1 to 17.2.0 (#4330)
dependabot[bot] Jul 17, 2025
407bcb9
build(deps): bump form-data from 4.0.0 to 4.0.4 (#4340)
dependabot[bot] Jul 22, 2025
9f34eef
build(deps): bump axios from 1.10.0 to 1.11.0 (#4344)
dependabot[bot] Jul 23, 2025
6257ba5
build(deps-dev): bump eslint-config-prettier from 10.1.5 to 10.1.8 (#…
dependabot[bot] Jul 25, 2025
096c9a9
ci(deps): bump actions/checkout from 4.2.2 to 5.0.0 (#4359)
dependabot[bot] Aug 12, 2025
6522de0
ci(deps): bump bahmutov/npm-install from 1.10.9 to 1.10.10 (#4356)
dependabot[bot] Aug 12, 2025
4e16d7b
build(deps-dev): bump @eslint/js from 9.31.0 to 9.33.0 (#4363)
dependabot[bot] Aug 13, 2025
99eafb4
build(deps-dev): bump eslint from 9.31.0 to 9.33.0 (#4357)
dependabot[bot] Aug 13, 2025
74b41f1
build(deps-dev): bump @testing-library/dom from 10.4.0 to 10.4.1 (#4355)
dependabot[bot] Aug 14, 2025
147f835
build(deps-dev): bump @testing-library/jest-dom from 6.6.3 to 6.6.4 (…
dependabot[bot] Aug 14, 2025
76bcea5
build(deps): bump dotenv from 17.2.0 to 17.2.1 (#4364)
dependabot[bot] Aug 15, 2025
4b521aa
add debug output
martin-mfg Aug 21, 2025
e6cf67c
adapt debug output
martin-mfg Aug 21, 2025
452d2d2
better debug output
martin-mfg Aug 21, 2025
2d14364
tests(e2e): fix top-langs and wakatime cards test data to prevent wor…
qwerty541 Aug 24, 2025
0cf6b18
chore: bump node.js version from 18 to 22 in whole project (#4377)
qwerty541 Aug 24, 2025
ff7e1e2
chore: create devcontainer (#4378)
qwerty541 Aug 24, 2025
6b457d0
tests: return cache tests which were removed in 53e4041 (#4368)
qwerty541 Aug 24, 2025
8ae6980
docs: remove outdated translations (#4369)
qwerty541 Aug 24, 2025
a92cc03
docs: update cache info to the actual one inside readme (#4370)
qwerty541 Aug 24, 2025
09cb2a5
refactor: fix fetchers names by removing duplicating postfix (#4375)
qwerty541 Aug 24, 2025
dd7582d
refactor: fix cards files names by removing duplicating postfix (#4376)
qwerty541 Aug 24, 2025
070dbd3
ci: remove redundant checkout step from prs cache clean workflow (#3655)
qwerty541 Aug 24, 2025
411e799
tests(wakatime card): fix correct render test (#3506)
qwerty541 Aug 24, 2025
bbadc0b
tests(wakatime card): add percent display format test (#3505)
qwerty541 Aug 24, 2025
5ecf80b
ci: add theme prs closer workflow (#3534)
qwerty541 Aug 24, 2025
0015129
build(deps-dev): bump jest-environment-jsdom from 29.7.0 to 30.0.5 (#…
dependabot[bot] Aug 24, 2025
32964d1
build(deps-dev): bump lint-staged from 15.5.1 to 16.1.5 (#4362)
dependabot[bot] Aug 24, 2025
87c8cba
build(deps-dev): bump eslint-plugin-jsdoc from 50.7.1 to 54.1.0 (#4365)
dependabot[bot] Aug 24, 2025
0506671
Merge remote-tracking branch 'origin/master' into debugging
martin-mfg Aug 29, 2025
ea34a4b
fixes after merge
martin-mfg Aug 29, 2025
847176b
undo unintended change to file permissions
martin-mfg Aug 29, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 32 additions & 0 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
{
"name": "GitHub Readme Stats Dev",
"image": "mcr.microsoft.com/devcontainers/base:ubuntu",
"features": {
"ghcr.io/devcontainers/features/node:1": { "version": "22" }
},
"forwardPorts": [3000],
"portsAttributes": {
"3000": { "label": "HTTP" }
},
"appPort": [],

// Use 'postCreateCommand' to run commands after the container is created.
"postCreateCommand": "npm install -g vercel",

// Use 'postStartCommand' to run commands after the container is started.
"postStartCommand": "hostname dev && npm install",

// Configure tool-specific properties.
"customizations": {
"vscode": {
"extensions": [
"yzhang.markdown-all-in-one",
"esbenp.prettier-vscode",
"dbaeumer.vscode-eslint"
]
}
},

"remoteUser": "root",
"privileged": true
}
25 changes: 10 additions & 15 deletions .github/labeler.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,6 @@ themes:
- any-glob-to-any-file:
- themes/index.js

doc-translation:
- changed-files:
- any-glob-to-any-file:
- docs/*

card-i18n:
- changed-files:
- any-glob-to-any-file:
Expand All @@ -32,8 +27,8 @@ lang-card:
- changed-files:
- any-glob-to-any-file:
- api/top-langs.js
- src/cards/top-languages-card.js
- src/fetchers/top-languages-fetcher.js
- src/cards/top-languages.js
- src/fetchers/top-languages.js
- tests/fetchTopLanguages.test.js
- tests/renderTopLanguagesCard.test.js
- tests/top-langs.test.js
Expand All @@ -42,8 +37,8 @@ repo-card:
- changed-files:
- any-glob-to-any-file:
- api/pin.js
- src/cards/repo-card.js
- src/fetchers/repo-fetcher.js
- src/cards/repo.js
- src/fetchers/repo.js
- tests/fetchRepo.test.js
- tests/renderRepoCard.test.js
- tests/pin.test.js
Expand All @@ -52,8 +47,8 @@ stats-card:
- changed-files:
- any-glob-to-any-file:
- api/index.js
- src/cards/stats-card.js
- src/fetchers/stats-fetcher.js
- src/cards/stats.js
- src/fetchers/stats.js
- tests/fetchStats.test.js
- tests/renderStatsCard.test.js
- tests/api.test.js
Expand All @@ -62,8 +57,8 @@ wakatime-card:
- changed-files:
- any-glob-to-any-file:
- api/wakatime.js
- src/cards/wakatime-card.js
- src/fetchers/wakatime-fetcher.js
- src/cards/wakatime.js
- src/fetchers/wakatime.js
- tests/fetchWakatime.test.js
- tests/renderWakatimeCard.test.js
- tests/wakatime.test.js
Expand All @@ -72,8 +67,8 @@ gist-card:
- changed-files:
- any-glob-to-any-file:
- api/gist.js
- src/cards/gist-card.js
- src/fetchers/gist-fetcher.js
- src/cards/gist.js
- src/fetchers/gist.js
- tests/fetchGist.test.js
- tests/renderGistCard.test.js
- tests/gist.test.js
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/codeql-analysis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ jobs:

steps:
- name: Checkout repository
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0

# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/deploy-prep.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,10 @@ jobs:
if: github.repository == 'anuraghazra/github-readme-stats'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- name: Deployment Prep
run: python ./.github/workflows/deploy-prep.py
- uses: stefanzweifel/git-auto-commit-action@b863ae1933cb653a53c021fe36dbb774e1fb9403 # v5.2.0
- uses: stefanzweifel/git-auto-commit-action@778341af668090896ca464160c2def5d1d1a3eb0 # v6.0.1
with:
branch: vercel
create_branch: true
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/e2e-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,10 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [18.x]
node-version: [22.x]

steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0

- name: Setup Node
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/empty-issues-closer.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ jobs:
runs-on: ubuntu-latest
steps:
# NOTE: Retrieve issue templates.
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0

- name: Run empty issues closer action
uses: rickstaa/empty-issues-closer-action@e96914613221511279ca25f50fd4acc85e331d99 # v1.1.74
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/generate-theme-doc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,10 +26,10 @@ jobs:
name: Generate theme doc
strategy:
matrix:
node-version: [18.x]
node-version: [22.x]

steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0

- name: Setup Node
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/ossf-analysis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,12 +22,12 @@ jobs:

steps:
- name: "Checkout code"
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false

- name: "Run analysis"
uses: ossf/scorecard-action@f49aabe0b5af0936a0987cfb85d86b75731b0186 # v2.4.1
uses: ossf/scorecard-action@05b42c624433fc40578a4040d5cf5e36ddca8cde # v2.4.2
with:
results_file: results.sarif
results_format: sarif
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/preview-theme.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,18 +27,18 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [18.x]
node-version: [22.x]

steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0

- name: Setup Node
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
with:
node-version: ${{ matrix.node-version }}
cache: npm

- uses: bahmutov/npm-install@6bbff949458c1dd99b20e185cee8c4d6fcf1212a # v1.10.9
- uses: bahmutov/npm-install@3714964fb879ebbbc108e167f0f3a0c81ec075c9 # v1.10.10
with:
useLockFile: false

Expand Down
3 changes: 0 additions & 3 deletions .github/workflows/prs-cache-clean.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,6 @@ jobs:
cleanup:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2

- name: Cleanup
run: |
gh extension install actions/gh-actions-cache
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/stale-theme-pr-closer.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,18 +33,18 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [18.x]
node-version: [22.x]

steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0

- name: Setup Node
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
with:
node-version: ${{ matrix.node-version }}
cache: npm

- uses: bahmutov/npm-install@6bbff949458c1dd99b20e185cee8c4d6fcf1212a # v1.10.9
- uses: bahmutov/npm-install@3714964fb879ebbbc108e167f0f3a0c81ec075c9 # v1.10.10
with:
useLockFile: false

Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,10 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [18.x]
node-version: [22.x]

steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0

- name: Setup Node
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
Expand Down
41 changes: 41 additions & 0 deletions .github/workflows/theme-prs-closer.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
name: Theme Pull Requests Closer

on:
pull_request:
types:
- labeled

permissions:
actions: read
checks: read
contents: read
deployments: read
issues: read
discussions: read
packages: read
pages: read
pull-requests: write
repository-projects: read
security-events: read
statuses: read

jobs:
close-prs:
runs-on: ubuntu-latest

steps:
- name: Check out the code
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1

- name: Set up Git
run: |
git config user.name "github-actions[bot]"
git config user.email "github-actions[bot]@users.noreply.github.com"

- name: Close Pull Requests
run: |
comment_message="We are currently pausing addition of new themes. If this theme is exclusively for your personal use, then instead of adding it to our theme collection, you can use card customization options."

for pr_number in $(gh pr list -l "themes" -q is:open --json number -q ".[].number"); do
gh pr close $pr_number -c "$comment_message"
done
4 changes: 2 additions & 2 deletions .github/workflows/update-langs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,10 +33,10 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [18.x]
node-version: [22.x]

steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0

- name: Setup Node
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
Expand Down
2 changes: 1 addition & 1 deletion .nvmrc
Original file line number Diff line number Diff line change
@@ -1 +1 @@
18
22
4 changes: 2 additions & 2 deletions api-renamed/gist.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@ import {
parseBoolean,
} from "../src/common/utils.js";
import { isLocaleAvailable } from "../src/translations.js";
import { renderGistCard } from "../src/cards/gist-card.js";
import { fetchGist } from "../src/fetchers/gist-fetcher.js";
import { renderGistCard } from "../src/cards/gist.js";
import { fetchGist } from "../src/fetchers/gist.js";
import { storeRequest } from "../src/common/database.js";

export default async (req, res) => {
Expand Down
4 changes: 2 additions & 2 deletions api-renamed/index.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { renderStatsCard } from "../src/cards/stats-card.js";
import { renderStatsCard } from "../src/cards/stats.js";
import { blacklist } from "../src/common/blacklist.js";
import {
clampValue,
Expand All @@ -7,7 +7,7 @@ import {
parseBoolean,
renderError,
} from "../src/common/utils.js";
import { fetchStats } from "../src/fetchers/stats-fetcher.js";
import { fetchStats } from "../src/fetchers/stats.js";
import { isLocaleAvailable } from "../src/translations.js";
import { storeRequest } from "../src/common/database.js";

Expand Down
4 changes: 2 additions & 2 deletions api-renamed/pin.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { renderRepoCard } from "../src/cards/repo-card.js";
import { renderRepoCard } from "../src/cards/repo.js";
import { blacklist } from "../src/common/blacklist.js";
import {
clampValue,
Expand All @@ -7,7 +7,7 @@ import {
parseBoolean,
renderError,
} from "../src/common/utils.js";
import { fetchRepo } from "../src/fetchers/repo-fetcher.js";
import { fetchRepo } from "../src/fetchers/repo.js";
import { isLocaleAvailable } from "../src/translations.js";
import { storeRequest } from "../src/common/database.js";

Expand Down
4 changes: 2 additions & 2 deletions api-renamed/top-langs.js
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
import { renderTopLanguages } from "../src/cards/top-languages-card.js";
import { renderTopLanguages } from "../src/cards/top-languages.js";
import { blacklist } from "../src/common/blacklist.js";
import {
CONSTANTS,
parseArray,
parseBoolean,
renderError,
} from "../src/common/utils.js";
import { fetchTopLanguages } from "../src/fetchers/top-languages-fetcher.js";
import { fetchTopLanguages } from "../src/fetchers/top-languages.js";
import { isLocaleAvailable } from "../src/translations.js";
import { storeRequest } from "../src/common/database.js";

Expand Down
4 changes: 2 additions & 2 deletions api-renamed/wakatime.js
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
import { renderWakatimeCard } from "../src/cards/wakatime-card.js";
import { renderWakatimeCard } from "../src/cards/wakatime.js";
import {
clampValue,
CONSTANTS,
parseArray,
parseBoolean,
renderError,
} from "../src/common/utils.js";
import { fetchWakatimeStats } from "../src/fetchers/wakatime-fetcher.js";
import { fetchWakatimeStats } from "../src/fetchers/wakatime.js";
import { isLocaleAvailable } from "../src/translations.js";
import { storeRequest } from "../src/common/database.js";

Expand Down
Loading