NaN
Back to projects
•
2 min read
•
Last updated:

meesync

🌳 evergreen github automation deno

What is it?

Minimalist tool that keeps my GitHub Profile README stats fresh. Headless templating: a README.template.md with placeholders, Deno + TS scripts pull data from GitHub GraphQL API, and rendered stats get push to my public profile repo.

In my setup

Runs itself. GitHub Actions cron push fresh stats twice a day (05:00 & 17:00 UTC) straight to my profile repo.

Screenshot

GitHub profile README with stats

Why did I build it?

veryy very lazy to used again GitHub Profile Generator from community. i have problem such us statistics thropy graph, activity graph often fail to work properly, unstable external fire dependenc

What I learned

GraphQL vs REST

GraphQL makes sense from REST for this project, have multiple data source to combine at one endpoint.

PAT permission scopes

Github PAT Classic has large scope to a single user or organization, this is very different from a Fine-grained PAT that is limited to access resources owned by a single user or organization.

Cron CI

Yupp, I learned again Cron Expression in Crontab and workflow syntax GitHub Actions (such as timeout-minutes, cancel-in-progress, and working-directory).

Migrated Bun to Deno

Deno is strict about explicit module file extension (such as .ts, .js, or .tsx).

Before I used Bun, just write:

import { parseCommit } from './parser'

After move to Deno:

import { parseCommit } from './parser.ts'

But from strictness of Deno about explicit module is superior because there is no need for an abstraction program/black box, it must be explicit.

This project currently evergreen and you can use on my github repository meesync

This content is licensed under CC BY 4.0 .| Edit this page