mirror of
https://codeberg.org/PostERG/xamxam.git
synced 2026-06-25 16:19:19 +02:00
Add biome + rolldown + lightningcss build pipeline for JS/CSS bundling & minification
- package.json with biome, rolldown, lightningcss devDependencies
- biome.json: add CSS formatter support
- scripts/build-css.mjs: lightningcss resolves @import chain, bundles/minifies CSS
- scripts/build-js.mjs: rolldown per-entry JS bundling (no code splitting)
- scripts/build.mjs: orchestrator for both CSS + JS
- scripts/check-build.mjs: staleness checker for CI/deploy guard
- justfile: add build, build-css, build-js, build-install, build-check recipes
- justfile: deploy recipe now runs build before deploy-code
- head.php + form-page.php: use dist/base.min.css instead of style.css
- All controllers + FormBootstrap: reference dist/*.min.{css,js}
- admin footer: load admin.min.js for all admin pages
- repertoire: use public.min.js instead of individual app JS files
- Fix stray '}' syntax error in admin.css line 305
- .gitignore: add app/public/assets/dist/
This commit is contained in:
18
TODO.md
18
TODO.md
@@ -1,14 +1,25 @@
|
||||
# TODO
|
||||
|
||||
> Last updated: 2026-06-24
|
||||
> Context: Inline JS/CSS + gzip analysis (see docs/ANALYSIS_INLINE_JS_CSS_MINIFY.md)
|
||||
> Context: Setup biome + rolldown + lightningcss build pipeline for JS/CSS bundling & minification
|
||||
|
||||
## Completed
|
||||
- [x] #build-pipeline Setup biome + rolldown + lightningcss build pipeline ✓
|
||||
- [x] #build-packagejson Create package.json with devDependencies ✓
|
||||
- [x] #build-biomecss Update biome.json to handle CSS formatting ✓
|
||||
- [x] #build-rolldown-config Create rolldown.config.mjs + build-js.mjs for JS bundling ✓
|
||||
- [x] #build-lightningcss Add lightningcss CSS bundling (resolve @import chain) ✓
|
||||
- [x] #build-justfile Add just build/deploy recipes + integrate build into deploy ✓
|
||||
- [x] #build-head Update head.php + form-page.php + controllers to use bundled assets ✓
|
||||
- [x] #build-gitignore Add dist/ to .gitignore ✓
|
||||
- [x] #build-cssfix Fix stray `}` syntax error in admin.css line 305 ✓
|
||||
|
||||
## Pending
|
||||
- [ ] #rep-student-touch Replace hover student popover with tap-to-open drawer for mobile `(repertoire.php, repertoire.css)`
|
||||
- [ ] #rep-polish Polish: scroll-position memory on HTMX swap, animation tuning `(repertoire.css)`
|
||||
- [ ] #icon-color-verify Verify icon colors render correctly across all pages (header, admin tables, forms, dialogs, cleanup modal)
|
||||
|
||||
## Completed
|
||||
## Completed (before this session)
|
||||
- [x] #gzip-nginx Enable gzip compression in nginx config `(nginx/xamxam.conf)` ✓
|
||||
- [x] #extract-inline-js Move inline JS to external files across 17 templates → 15 new JS files created `(app/public/assets/js/app/*.js)` ✓
|
||||
- [x] #inline-icon-helper Create `icon()` PHP helper + auto-load in bootstrap `(src/icon.php, bootstrap.php)` ✓
|
||||
@@ -63,7 +74,4 @@
|
||||
- [x] #extra-css-admin Update `head.php` to support `$extraCssAdmin` for admin-only stylesheets `(head.php)` ✓
|
||||
|
||||
## Deferred / Blocked
|
||||
- [ ] #minify-js Minify custom JS files (post-extraction, ~1,763 lines across 9 files)
|
||||
- [ ] #bundle-css Bundle CSS to eliminate @import waterfall (18 files, ~6,200 lines)
|
||||
- [ ] #build-step Add build step (justfile commands) for JS minification + CSS bundling
|
||||
- [ ] #tighten-csp Tighten CSP to remove 'unsafe-inline' after inline JS extraction
|
||||
|
||||
Reference in New Issue
Block a user