Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
56 commits
Select commit Hold shift + click to select a range
bd0f376
WIP: move headers, cache and db to router; introduce config handler; …
martin-mfg Mar 10, 2026
61da8c2
delete backend barrel files
martin-mfg Mar 10, 2026
ab7f4fa
move core files to separate folder, align package.json-s, remove pack…
martin-mfg Mar 15, 2026
e60dafe
migrate 'guardAccess' calls to 'backend', rename 'package' to 'core'
martin-mfg Mar 15, 2026
a11c137
migrate core-related tests to core, migrate getUserPat to backend, pa…
martin-mfg Mar 15, 2026
60314be
adapt 1st backend test to new structure
martin-mfg Mar 23, 2026
1731c7d
decouple userPAT from query params
martin-mfg Mar 23, 2026
17fb331
adapt /api test to new structure, add backend snapshot tests for /api…
martin-mfg Mar 25, 2026
a12a325
adapt /pin tests to new structure
martin-mfg Mar 25, 2026
9ef6dab
adapt top-langs tests to new structure
martin-mfg Mar 25, 2026
134f946
adapt wakatime tests to new structure, remove private-instance test s…
martin-mfg Mar 26, 2026
cc2d058
add 1 many-params test to each public-instance/* file
martin-mfg Mar 28, 2026
ce0da37
collect shared test coverage
martin-mfg Mar 28, 2026
2e0e17e
package imports in frontend, fix 'themes' paths
martin-mfg Mar 29, 2026
97f8161
adapt pipeline + import paths + vercel-preparation.sh + build command
martin-mfg Mar 29, 2026
3dc5e9a
adapt express.js & all remaining tests, fix code analysis issues, fix…
martin-mfg Apr 3, 2026
6b9dd27
update lockfile
martin-mfg Apr 3, 2026
fa4cd54
add grs-action, fix dependabot
martin-mfg Apr 8, 2026
2ca88cd
add debug logs
martin-mfg Apr 9, 2026
bf0d7f5
fix action test, remove debug logs
martin-mfg Apr 9, 2026
2f1332d
add debug logs again
martin-mfg Apr 9, 2026
e9092f5
debug logs
martin-mfg Apr 9, 2026
55b5119
try fix action
martin-mfg Apr 9, 2026
c3593c4
remove debug log
martin-mfg Apr 9, 2026
0009eb4
upgrade some dependencies, fix new warnings, update lang colors
martin-mfg Apr 9, 2026
c11f7ae
move core/ to packages/, scope packages
martin-mfg Apr 9, 2026
fd386af
specify core exports, move core/api to core/src, improve pat-info tes…
martin-mfg Apr 10, 2026
12c1a72
remove action, small cleanup
martin-mfg Apr 10, 2026
74436d4
adapt package.json, move index.js, precise permissions, pin workflows…
martin-mfg Apr 11, 2026
6113a79
cast DEMO_* constants to string
martin-mfg Apr 12, 2026
d57c76f
exact dev dependency versions, ^ regular dependency versions
martin-mfg Apr 12, 2026
c94a10a
fix core standalone testing
martin-mfg Apr 12, 2026
d1a948c
fix `core` standalone testing (#138)
martin-mfg Apr 12, 2026
c6cfa80
fix eslint errors
marcalexiei Apr 12, 2026
d807afe
chore: dedupe deps
marcalexiei Apr 12, 2026
cb6698d
core package build
marcalexiei Apr 12, 2026
33edff0
chore: use customConditions for realtime typecheck
marcalexiei Apr 12, 2026
6c4901a
fix: frontend are not executed
marcalexiei Apr 12, 2026
5b23348
chore: add npm-package branch trigger
marcalexiei Apr 12, 2026
821d292
ci: simplify test workflow
marcalexiei Apr 12, 2026
bca4a19
refactor: improve tsconfig names
marcalexiei Apr 13, 2026
1b1b7d0
chore: fix index ts comment
marcalexiei Apr 14, 2026
d36564a
test: use customConditions for vitest, use defineProject for relevant…
marcalexiei Apr 14, 2026
54a5f33
chore(turbo): remove `test` entry
marcalexiei Apr 14, 2026
8201ffb
fix: cleanup vitest deps and fix core `main` package field
marcalexiei Apr 14, 2026
a0acf0c
chore: add conditions also to frontend vite config
marcalexiei Apr 14, 2026
4f6ae16
try fix for vercel build
marcalexiei Apr 15, 2026
3fbfc21
add docs about TURBO_PLATFORM_ENV_DISABLED
martin-mfg Apr 15, 2026
b32eddb
refactor: remove ts-expect-error comments
marcalexiei Apr 15, 2026
e85a0dd
fix(core): invalid main field
marcalexiei Apr 15, 2026
1acb8e7
refactor(core): dedupe theme names
marcalexiei Apr 15, 2026
ab1f6f7
ci: add frontend build to build-and-test job
marcalexiei Apr 15, 2026
a370863
test: explcit vite(st) config files used in the root config
marcalexiei Apr 15, 2026
11f971d
chore(core): remove ThemeName
marcalexiei Apr 15, 2026
5daada6
feat: `core` package build (#139)
martin-mfg Apr 17, 2026
83722ed
separata coverage config, remove temp. trigger
martin-mfg Apr 17, 2026
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
3 changes: 2 additions & 1 deletion .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,8 @@ To set up the project GitHub-Stats-Extended locally, run the following commands:
```bash
./vercel-preparation.sh
pnpm install
pnpm --filter frontend run build
pnpm run build:packages
pnpm run dev:frontend
```

The easiest way to run and test the project is to deploy it to Vercel as described in the [deployment guide](../docs/deploy.md).
Expand Down
6 changes: 3 additions & 3 deletions .github/actions/install-dependencies/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,19 +14,19 @@ runs:

steps:
- name: Install pnpm
uses: pnpm/action-setup@v4
uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v5

- name: Setup Node.js (via input)
if: ${{ inputs.node-version }}
uses: actions/setup-node@v6
uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0
with:
node-version: ${{ inputs.node-version }}
cache: "pnpm"
registry-url: "https://registry.npmjs.org"

- name: Setup Node.js (via .nvmrc)
if: ${{ !inputs.node-version }}
uses: actions/setup-node@v6
uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0
with:
node-version-file: ".nvmrc"
cache: "pnpm"
Expand Down
15 changes: 6 additions & 9 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,8 @@ updates:
- package-ecosystem: npm
directory: "/"
schedule:
interval: cron
cronjob: every day at 5am
open-pull-requests-limit: 10
interval: daily
open-pull-requests-limit: 20
commit-message:
prefix: "build(deps)"
prefix-development: "build(deps-dev)"
Expand All @@ -20,9 +19,8 @@ updates:
- package-ecosystem: github-actions
directory: "/"
schedule:
interval: cron
cronjob: every day at 5am
open-pull-requests-limit: 10
interval: daily
open-pull-requests-limit: 20
commit-message:
prefix: "ci(deps)"
prefix-development: "ci(deps-dev)"
Expand All @@ -33,9 +31,8 @@ updates:
- package-ecosystem: devcontainers
directory: "/"
schedule:
interval: cron
cronjob: every day at 5am
open-pull-requests-limit: 10
interval: daily
open-pull-requests-limit: 20
commit-message:
prefix: "build(deps)"
prefix-development: "build(deps-dev)"
Expand Down
59 changes: 35 additions & 24 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ jobs:

steps:
- name: Checkout code
uses: actions/checkout@v6
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2

- name: Run vercel-preparation.sh
run: |
Expand All @@ -43,14 +43,14 @@ jobs:
with:
node-version: ${{ matrix.node }}

- name: Build frontend
run: pnpm --filter frontend run build
- name: Build packages
run: pnpm run build:packages

- name: Run frontend tests
run: pnpm --filter frontend run test
- name: Build frontend
run: pnpm run build:frontend

- name: Run backend tests
run: pnpm --filter github-readme-stats run test
- name: Run tests
run: pnpm run test --silent

frontend-test-e2e:
name: Frontend E2E test
Expand All @@ -64,21 +64,42 @@ jobs:

steps:
- name: Checkout code
uses: actions/checkout@v6
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2

- name: Install Dependencies
uses: ./.github/actions/install-dependencies

- name: Run vercel-preparation.sh
run: |
chmod +x ./vercel-preparation.sh
./vercel-preparation.sh
- name: Build packages
run: pnpm run build:packages

- name: Install Playwright Browsers
run: pnpm exec playwright install --with-deps

- name: Run Playwright tests
run: pnpm --filter frontend run test:e2e
run: pnpm --filter ./apps/frontend/ run test:e2e

backend-test-e2e:
name: Backend E2E test

runs-on: ubuntu-latest

permissions:
contents: read

continue-on-error: true

steps:
- name: Checkout code
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2

- name: Install Dependencies
uses: ./.github/actions/install-dependencies

- name: Build packages
run: pnpm run build:packages

- name: Run backend end-to-end tests
run: pnpm --filter ./apps/backend/ run test:e2e

code-checks:
name: Code checks
Expand All @@ -90,17 +111,7 @@ jobs:

steps:
- name: Checkout code
uses: actions/checkout@v6

# Heads up!
#
# 1. Execution of this script is needed to resolve `.vercel` folder from `apps/frontend/src/components/Card/SVG.js`
# 2. This scripts removes `apps/backend/node_modules` breaking ESLint’s module resolution.
# Dependency installation must occur after running ./vercel-preparation.sh.
- name: Run vercel-preparation.sh
run: |
chmod +x ./vercel-preparation.sh
./vercel-preparation.sh
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2

- name: Install Dependencies
uses: ./.github/actions/install-dependencies
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/generate-theme-doc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ on:
branches:
- master
paths:
- "apps/backend/themes/index.js"
- "packages/core/src/themes/index.js"
workflow_dispatch:

permissions: {}
Expand All @@ -30,17 +30,17 @@ jobs:

steps:
- name: Checkout code
uses: actions/checkout@v6
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2

- name: Install Dependencies
uses: ./.github/actions/install-dependencies

- name: Generate readme
run: |
pnpm --filter github-readme-stats run theme-readme-gen
pnpm --filter ./packages/core/ run theme-readme-gen

- name: Create Pull Request if themes README has changed
uses: peter-evans/create-pull-request@v8
uses: peter-evans/create-pull-request@c0f553fe549906ede9cf27b5156039d195d2ece0 # v8
with:
commit-message: "feat(backend): update themes README"
branch: "update_themes_readme/patch"
Expand Down
18 changes: 18 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
name: Update version tags
on:
push:
branches-ignore:
- "**"
tags:
- "v*.*.*"

permissions: {}

jobs:
update-semver:
runs-on: ubuntu-latest
Comment thread
martin-mfg marked this conversation as resolved.
permissions:
contents: write
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: haya14busa/action-update-semver@7d2c558640ea49e798d46539536190aff8c18715 # v1.5.1
2 changes: 1 addition & 1 deletion .github/workflows/repeat-recent-requests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ jobs:
steps:
- name: Make Request
id: myRequest
uses: fjogeleit/http-request-action@v2
uses: fjogeleit/http-request-action@551353b829c3646756b2ec2b3694f819d7957495 # v2
with:
url: "https://github-stats-extended.vercel.app/api/repeat-recent"
method: "POST"
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/update-langs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,16 +38,16 @@ jobs:

steps:
- name: Checkout code
uses: actions/checkout@v6
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2

- name: Install Dependencies
uses: ./.github/actions/install-dependencies

- name: Run update-languages-json.js script
run: pnpm --filter github-readme-stats run generate-langs-json
run: pnpm --filter ./packages/core/ run generate-langs-json

- name: Create Pull Request if upstream language file is changed
uses: peter-evans/create-pull-request@v8
uses: peter-evans/create-pull-request@c0f553fe549906ede9cf27b5156039d195d2ece0 # v8
with:
commit-message: "feat(backend): update languages JSON"
branch: "update_langs/patch"
Expand Down
17 changes: 4 additions & 13 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,18 +1,8 @@
node_modules

.env.local
.env.development.local
.env.test.local
.env.production.local

# OS
.DS_Store

# Logs
npm-debug.log*
yarn-debug.log*
yarn-error.log*

# Project
coverage

Expand All @@ -26,11 +16,12 @@ apps/backend/vercel_token
apps/backend-copy

apps/frontend/.env
apps/frontend/src/backend
apps/frontend/build


.turbo
build
build-ts
tsconfig.tsbuildinfo
*.tsbuildinfo

# IDE
.idea/
Expand Down
3 changes: 1 addition & 2 deletions .husky/pre-commit
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
pnpm lint-staged
pnpm run lint
# TODO enable
# npm test
pnpm test
76 changes: 0 additions & 76 deletions apps/backend/_dot_vercel_copy/output/functions/api.func/router.js

This file was deleted.

3 changes: 2 additions & 1 deletion apps/backend/api-renamed/authenticate.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import { logger } from "../src/common/log.js";
import { logger } from "@stats-organization/github-readme-stats-core";

import { authenticate } from "../src/users.js";

/**
Expand Down
3 changes: 2 additions & 1 deletion apps/backend/api-renamed/delete-user.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import { logger } from "@stats-organization/github-readme-stats-core";

import { deleteUser } from "../src/common/database.js";
import { logger } from "../src/common/log.js";

/**
* @param {any} req The request.
Expand Down
2 changes: 1 addition & 1 deletion apps/backend/api-renamed/downgrade.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { logger } from "@stats-organization/github-readme-stats-core";
import axios from "axios";

import { deleteUser, getUserAccessByKey } from "../src/common/database.js";
import { logger } from "../src/common/log.js";

export default async (req, res) => {
// We could optimize this method by doing both database operations in one statement, using "DELETE ... RETURNING ..."
Expand Down
Loading