Skip to content

build: update Makefile web-apps targets to use webpack pipeline#187

Open
moodyjmz wants to merge 3 commits into
mainfrom
build/makefile-webpack-product-version
Open

build: update Makefile web-apps targets to use webpack pipeline#187
moodyjmz wants to merge 3 commits into
mainfrom
build/makefile-webpack-product-version

Conversation

@moodyjmz

Copy link
Copy Markdown
Member

TL;DR

make web-apps and make web-apps-dev now call build-pipeline.js instead of grunt.

Companion to Euro-Office/web-apps#109 — that PR removes grunt from the web-apps repo; this one removes it from the Makefile.


What changed

  • web-apps and web-apps-dev targets call build/scripts/build-pipeline.js directly
  • Removed SKIP_IMAGEMIN — was an ARM64 workaround for grunt-contrib-imagemin; sharp/svgo are native on ARM64 now
  • Added SKIP_MOBILE ?= 0 — pass SKIP_MOBILE=1 to skip the ~90s framework7-react builds when iterating on desktop editor code only
  • PRODUCT_VERSION defaults to 9.2.1 — must match SDK version or editors show skeleton UI
Why PRODUCT_VERSION matters

EuroOffice's onServerVersion() blocks asc_LoadDocument() when the reported version doesn't match the SDK. The stale fallback in common.json is 4.3.0 — EuroOffice rejects anything below 6. The Makefile default 9.2.1 matches the current container build. Override on the command line when upgrading: PRODUCT_VERSION=9.3.0 make web-apps-dev.

Related

moodyjmz and others added 3 commits June 15, 2026 10:38
Both `web-apps` and `web-apps-dev` targets previously ran only grunt.
Add a parallel webpack step after grunt for all five editors
(documenteditor, spreadsheeteditor, presentationeditor, visioeditor,
pdfeditor), passing BUILD_ROOT, PRODUCT_VERSION, and THEME.

Add PRODUCT_VERSION ?= 9.2.1 with a comment explaining why it must match
the DocumentServer SDK's asc_getBuildVersion(). Without it the webpack
DefinePlugin injects '0.0.0', which causes onServerVersion() in
Main.js to block asc_LoadDocument(), resulting in a permanent skeleton
UI where code.js is never loaded.

Also drop the --skip-babel flag from web-apps-dev: the babel grunt tasks
were removed in the Step 4.0 IE-removal migration, so the flag is a no-op.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Signed-off-by: James Manuel <moodyjmz@users.noreply.github.com>
After grunt, run inline-svgs, deploy-theme-images, and deploy-embed.
Build mobile (framework7-react, 4 editors in parallel) before webpack.
Add webpack.forms.mjs to the parallel webpack block.

Matches the build.yml pipeline added in web-apps build/webpack-migration.

Signed-off-by: James Manuel <moodyjmz@users.noreply.github.com>
…targets

Both web-apps and web-apps-dev now call:
  BUILD_ROOT=... PRODUCT_VERSION=... THEME=euro-office SKIP_MOBILE=... \
  node scripts/build-pipeline.js

The pipeline orchestrates all steps in two parallel phases:
  Phase 1: sprites, deploy-common, deploy-html, deploy-reporter,
           deploy-theme-images, deploy-embed, webpack ×6, mobile ×4
  Phase 2: deploy-resources (after sprites), inline-svgs (after html+common)

Remove SKIP_IMAGEMIN — it was a grunt-contrib-imagemin ARM64 workaround;
sharp and svgo run natively on ARM64.

Add SKIP_MOBILE ?= 0 — pass SKIP_MOBILE=1 to skip framework7-react builds
when iterating on desktop editor JS/CSS only (~50s saved).

Webpack now has filesystem cache (set in the factory) — warm rebuilds
take <1s vs ~40s cold.

Signed-off-by: James Manuel <moodyjmz@users.noreply.github.com>
@moodyjmz

Copy link
Copy Markdown
Member Author

web-apps migration PR: Euro-Office/web-apps#109

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: 📄 To do

Development

Successfully merging this pull request may close these issues.

1 participant