build: update Makefile web-apps targets to use webpack pipeline#187
Open
moodyjmz wants to merge 3 commits into
Open
build: update Makefile web-apps targets to use webpack pipeline#187moodyjmz wants to merge 3 commits into
moodyjmz wants to merge 3 commits into
Conversation
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>
Member
Author
|
web-apps migration PR: Euro-Office/web-apps#109 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
TL;DR
make web-appsandmake web-apps-devnow callbuild-pipeline.jsinstead 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-appsandweb-apps-devtargets callbuild/scripts/build-pipeline.jsdirectlySKIP_IMAGEMIN— was an ARM64 workaround for grunt-contrib-imagemin; sharp/svgo are native on ARM64 nowSKIP_MOBILE ?= 0— passSKIP_MOBILE=1to skip the ~90s framework7-react builds when iterating on desktop editor code onlyPRODUCT_VERSIONdefaults to9.2.1— must match SDK version or editors show skeleton UIWhy PRODUCT_VERSION matters
EuroOffice's
onServerVersion()blocksasc_LoadDocument()when the reported version doesn't match the SDK. The stale fallback incommon.jsonis4.3.0— EuroOffice rejects anything below 6. The Makefile default9.2.1matches the current container build. Override on the command line when upgrading:PRODUCT_VERSION=9.3.0 make web-apps-dev.Related
docs/webpack-migration.mdin web-apps repo