Skip to content

docs(readme): document source-code locations and build tools for the bundled editor - #101

Open
erseco wants to merge 2 commits into
mainfrom
docs/readme-source-code-location
Open

docs(readme): document source-code locations and build tools for the bundled editor#101
erseco wants to merge 2 commits into
mainfrom
docs/readme-source-code-location

Conversation

@erseco

@erseco erseco commented Aug 14, 2026

Copy link
Copy Markdown
Contributor

Summary

WordPress.org's detailed plugin guideline 4 requires public, maintained access to the source code and build tools behind any minified/compiled code — satisfied either by shipping the sources or by "a link in the readme to the development location".

This plugin bundles the compiled eXeLearning editor (dist/static: minified JavaScript bundles, compiled stylesheets and compressed data files), but readme.txt only linked this repository — not the editor's source. This is one of the compliance items for the WordPress.org submission tracked in exelearning/exelearning#1542, and complements the size-reduction work in exelearning/exelearning#2260 (which relies on this link for its dist-side minification of first-party editor code).

Changes

readme.txt gains a == Source Code == section that:

  • states that the plugin's own PHP and JavaScript ship as human-readable source in the package (they do — the block and admin scripts are plain source, no build step);
  • links https://github.com/exelearning/exelearning as the development location of the bundled editor, names the build entry point (make build-static, Bun, scripts/build-static-bundle.ts), and describes the compressed data files (*.json.zst / *.json.gz curricular datasets and editor data, decoded in the browser by the bundled fzstd library);
  • points at the release provenance already shipped in every package: .editor-version (bundled editor version) and dist/static/.build-commit (exact source commit) — both verified present in the v4.0.3 release package and not excluded by .distignore;
  • documents how release ZIPs are assembled (make packagemake build-editor + wp dist-archive).

A changelog bullet is added under the unreleased 0.0.0 block (version placeholders are rewritten by make package, which this change does not touch).

Notes for review

  • Facts double-checked against the packaging pipeline: Makefile writes dist/static/.build-commit during build-editor and stamps Stable tag at package time; .distignore ships dist/static verbatim.
  • No code changes; nothing for phpcs/phpunit. The readme parser treats == Source Code == as a custom section, which is the form the Plugin Review Team recognizes for guideline-4 compliance.

…bundled editor

WordPress.org's detailed plugin guideline 4 (human-readable code) accepts
minified/compiled code when the readme links the development location and
its build tools. The plugin bundles the compiled eXeLearning editor
(dist/static: minified bundles, compiled stylesheets, compressed data
files), but readme.txt only linked this repository.

Add a Source Code section stating that the plugin's own PHP/JS ship as
readable source, pointing to https://github.com/exelearning/exelearning
for the editor's source and build (make build-static), and noting that
each release records the bundled editor version (.editor-version) and
exact source commit (dist/static/.build-commit) — both files ship in the
release package. Also documents how release ZIPs are assembled
(make package / wp dist-archive).
@github-actions

Copy link
Copy Markdown
Contributor

Test in WordPress Playground

Test the plugin with the code from this branch:

Preview in WordPress Playground

ℹ️ The eXeLearning editor is fetched from the shared release and unpacked into the plugin when the playground boots, so the first load may take a few extra seconds. ELP upload, shortcode, Gutenberg block and preview work normally.

@codecov-commenter

codecov-commenter commented Aug 14, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 96.87%. Comparing base (e387742) to head (7298535).

Additional details and impacted files
@@            Coverage Diff            @@
##               main     #101   +/-   ##
=========================================
  Coverage     96.87%   96.87%           
  Complexity      864      864           
=========================================
  Files            39       39           
  Lines          4323     4323           
=========================================
  Hits           4188     4188           
  Misses          135      135           
Flag Coverage Δ
javascript 95.70% <ø> (ø)
php 97.25% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants