refactor: consume shared packages via sparse global-packages submodule - #454
refactor: consume shared packages via sparse global-packages submodule#454rezaelahidev wants to merge 217 commits into
Conversation
Point npm file: deps and Composer path repos at ../packages so CI can use /home/runner/work/blockera/packages.
Checkout into .blockera-global-packages, symlink ../packages for consumer deps, and update linker plus related workflow/path references.
Block Editor Performance Report (PR vs Core)Compare Blockera vs Core (plugin off) using Chromium tracing metrics adapted from the Gutenberg post-editor performance suite. Only scenarios without Numbers are median interaction durations in milliseconds (lower is faster). All gated numbers are median values over 1 repetition(s) with 10 sample(s) each.
Full metrics (median / STD / MAD)Select blocks
Default threshold: 20% (from editor-scenarios.json). |
📈 Performance ReportCompare Blockera vs Core (plugin off) using the WordPress Playwright Server-Timing harness. Numbers in the table are how long WordPress takes on the server to fully process each page (median, in milliseconds). Lower is faster. All gated numbers are median values over 2 repetition(s) with 20 iteration(s) each.
Skipped
Full metrics (median / STD / MAD)Home page
Blocks: Large page 1
Admin: Dashboard
Admin: Posts list
Admin: Media library
Admin: Block editor (Large page 1)
Admin: Blockera dashboard
Scenario URLs
Default threshold: 25% (from scenarios.json). |
Block Editor Performance Report (PR vs Master)Compare Blockera on this PR vs Blockera on master using Chromium tracing metrics adapted from the Gutenberg post-editor performance suite. Only scenarios with Numbers are median interaction durations in milliseconds (lower is faster). All gated numbers are median values over 1 repetition(s) with 10 sample(s) each.
Full metrics (median / STD / MAD)Workspace tabs
Block bg color
Block bg image
GS variation bg color
GS variation bg image
GS variation duplicate
GS default bg color
GS default bg color variable
GS seed border preset
Default threshold: 20% (from editor-scenarios.json). |
Resolve env/app PHP from vendor or ../packages, restore via backups instead of git checkout, and keep git clean from removing package links.
🔗 PR Playground DemoBranch Links |
…obal-packages@8bc9b8f...4af613c - test(width): cover core/button WP 7.1 width compatibility - compat(core/button): map width through WP 7.1 dimensions - feat(blocks monitoring): update dictionary - test(inner blocks): updates inner blocks count - test(variation switch): fix test to cover WP 7.1 change - ...and 22 more commits
Match the README badge suffix to the catalog total of 115 WordPress blocks.
…bal-packages@4af613c...e348e4a - feat(post featured image bock): update selector for aspect ratioo - feat(accordion block): sync editor vs front end design - test(inspector): cover inner-block styles in pattern edit - fix(inspector): keep inner-block extensions visible in pattern edit - test: change category - ...and 3 more commits
…al-packages@e348e4a...2edf563 - feat(accordion block): improve editor vs front end design sync
…bal-packages@f82f5bb...0ba9552 - test: cover Cypress PR spec category mapping - fix: resolve Cypress PR specs from listed files - ci: skip Cypress pre-test when PR spec filter is set - ci: detect all leftover PR-only config file types - chore: improve default values - ...and 1 more commits
…bal-packages@0ba9552...4a754ca - feat: remove `development.json` from the gitignore - refactor(autoloader-coordinator): require options array in bootstrap helper
…bal-packages@4a754ca...9c6872c - Merge branch 'fix/issues' of github.com:blockeraai/blockera-global-packages into fix/issues - test: cover heading right-slot watching marker and clock - feat: watch bootstrap templates during npm start - chore: remove the old package-root EditorConfig copy - chore: keep EditorConfig with the other root-config templates - ...and 1 more commits
…aai/blockera into refactor/consume-global-packages
…al-packages@9c6872c...719d2a8 - chore: add debug-ignore for bootstrap printOut console.log
Summary
blockeraai/blockera-global-packagesand consume them through a sparse git submodule atpackages/global-packages(only the remotepackages/tree is checked out).file:deps, webpack, zip build, Cypress/Playwright/PHPUnit, and related tooling topackages/global-packages/packages/*(no sibling clone or symlinks).ensure-global-packages-sparse.sh+BLOCKERABOT_PAT(fullgit submodule update --init, notactions/checkoutsubmodules:— shallow SHA fetches fail for non-default-branch pins).sync-global-packages-submoduleworkflow opens a bump PR onmasteror pushes onto a matching feature branch. Local helpers: Husky branch mirroring +npm run submodule:bump.autoloader-coordinatorlives in the submodule for dev; zip build copies it intoinc/and keepsrequire-devpackages out of the production autoload.Test plan
git submodule update --init packages/global-packagesthenbash .github/scripts/ensure-global-packages-sparse.sh;composer install+npm cisucceednpm start/ editor load without missing shared-package path errorsnpm run submodule:bump(and optional branch/SHA arg) updates the gitlink cleanlyblockera.zipstill bootstraps; coordinator present underinc/; norequire-devpackages in production vendor autoloadblockera-global-packagestriggers consumer sync (master → bump PR; matching feature branch → direct pin push)Notes
repository_dispatchonly runs workflows that already exist on the default branch — merge this PR (or at least the sync workflow) before expecting automatic bumps.source-codes/; shared-package workflow is documented in.github/CONTRIBUTING.md.