@@ -83,32 +83,44 @@ jobs:
8383 fi
8484 }
8585
86- # SDK (ESM)
87- sdk_esm=$(stat -c%s packages/sdk/dist/index.js)
88- sdk_esm_gz=$(gzip -c packages/sdk/dist/index.js | wc -c | tr -d ' ')
89-
90- # React (ESM + CJS)
91- react_esm=$(stat -c%s packages/react/dist/index.js)
92- react_cjs=$(stat -c%s packages/react/dist/index.cjs)
93- react_esm_gz=$(gzip -c packages/react/dist/index.js | wc -c | tr -d ' ')
94- react_cjs_gz=$(gzip -c packages/react/dist/index.cjs | wc -c | tr -d ' ')
95-
96- # Svelte (all JS files combined)
97- svelte_esm=$(cat packages/svelte/dist/*.js | wc -c | tr -d ' ')
98- svelte_esm_gz=$(cat packages/svelte/dist/*.js | gzip -c | wc -c | tr -d ' ')
99-
100- # Generate markdown report
86+ # Start markdown report
10187 {
10288 echo "## Bundle Sizes"
10389 echo ""
10490 echo "| Package | Format | Size | Gzipped |"
10591 echo "|---------|--------|------|----------|"
106- echo "| @replanejs/sdk | ESM | $(format_bytes $sdk_esm) | $(format_bytes $sdk_esm_gz) |"
107- echo "| @replanejs/react | ESM | $(format_bytes $react_esm) | $(format_bytes $react_esm_gz) |"
108- echo "| @replanejs/react | CJS | $(format_bytes $react_cjs) | $(format_bytes $react_cjs_gz) |"
109- echo "| @replanejs/svelte | ESM | $(format_bytes $svelte_esm) | $(format_bytes $svelte_esm_gz) |"
11092 } > bundle-size-report.md
11193
94+ # Auto-discover and report all packages
95+ for pkg_dir in packages/*/; do
96+ pkg_name=$(basename "$pkg_dir")
97+ dist_dir="${pkg_dir}dist"
98+
99+ # Skip if no dist directory
100+ [ -d "$dist_dir" ] || continue
101+
102+ # Get package name from package.json
103+ if [ -f "${pkg_dir}package.json" ]; then
104+ npm_name=$(jq -r '.name' "${pkg_dir}package.json")
105+ else
106+ npm_name="@replanejs/${pkg_name}"
107+ fi
108+
109+ # Check for ESM bundle (index.js)
110+ if [ -f "${dist_dir}/index.js" ]; then
111+ esm_size=$(stat -c%s "${dist_dir}/index.js")
112+ esm_gz=$(gzip -c "${dist_dir}/index.js" | wc -c | tr -d ' ')
113+ echo "| ${npm_name} | ESM | $(format_bytes $esm_size) | $(format_bytes $esm_gz) |" >> bundle-size-report.md
114+ fi
115+
116+ # Check for CJS bundle (index.cjs)
117+ if [ -f "${dist_dir}/index.cjs" ]; then
118+ cjs_size=$(stat -c%s "${dist_dir}/index.cjs")
119+ cjs_gz=$(gzip -c "${dist_dir}/index.cjs" | wc -c | tr -d ' ')
120+ echo "| ${npm_name} | CJS | $(format_bytes $cjs_size) | $(format_bytes $cjs_gz) |" >> bundle-size-report.md
121+ fi
122+ done
123+
112124 cat bundle-size-report.md
113125
114126 - name : Extract version from tag
0 commit comments