sizereport.config.js in Preact source code.
I found a file named sizereport.config.js in Preact source code and it has the below code.
module.exports = {
repo: 'preactjs/preact',
path: ['./{compat,debug,hooks,}/dist/**/!(*.map)'],
branch: 'main'
};
I was trying to find where this config is used, but I couldn’t yet. Below are the search results:
Instead I found something else. There is a size.yml in the .github folder
size.yml
name: Compressed Size
on:
workflow_call:
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version-file: 'package.json'
cache: 'npm'
cache-dependency-path: '**/package-lock.json'
- uses: preactjs/compressed-size-action@v2
with:
repo-token: '${{ secrets.GITHUB_TOKEN }}'
# Our `prepare` script already builds the app post-install,
# building it again would be redundant
build-script: 'npm run --if-present noop'
This size workflow action contains this above code. It uses preactjs/compressed-size-action@v2. compressed-sized-action is another repository.
Compressed Size Action
A GitHub action that reports changes in compressed file sizes on your PRs.
-
Automatically uses
yarn
,pnpm
,bun
, ornpm ci
when lockfiles are present -
Builds your PR, then builds the target and compares between the two
-
Doesn’t upload anything or rely on centralized storage
-
Supports custom build scripts and file patterns
Read more about compress-size-action.
The above image shows how this Github action reports the size changes, check out this pull request.
About me:
Hey, my name is Ramu Narasinga. I study large open-source projects and create content about their codebase architecture and best practices, sharing it through articles, videos.
I am open to work on interesting projects. Send me an email at ramu.narasinga@gmail.com
My Github — https://github.com/ramu-narasinga
My website — https://ramunarasinga.com
My Youtube channel — https://www.youtube.com/@thinkthroo
Learning platform — https://thinkthroo.com
Codebase Architecture — https://app.thinkthroo.com/architecture
Best practices — https://app.thinkthroo.com/best-practices
Production-grade projects — https://app.thinkthroo.com/production-grade-projects