Feature PR-6.1-dev Pending

User tests: Successful: Unsuccessful:

avatar Fedik
Fedik
12 Feb 2026

Summary of Changes

This time has come. After all this years we should stop using fancy compilers and code native JS/CSS as in good old days.
Just joking.

I updated the build script to be able to run it per extension, without rebuilding whole thing each time.
And fixed few bugs on the way.

Main changes:

  • Each extension can be build on its own
  • Move source files of com_media and com_workflow in to media_source/
  • Move /build/media_source/ to /media_source. With this all relative includes will be the same now for both media/ and media_source/.
  • Added description about media_source/ in to /media_source/README.md.

Problem with existing build

  • Existing script is running for whole media_source.
  • It is complicated to do and test small changes.
  • Adding new script builder is a pain.

New builder

  • Defined list of builders, one per extension/asset,
  • Each asset can have own builder or fallback to default
  • Each builder have a list of tasks to run (and it can be modified):
    • clear remove existing files in folder
    • copy copy files to /media
    • css compile css/scss files
    • js compile js files and modules
  • Adding new script builder is still a pain but in different place.

Read more in /media_source/README.md for more detail.

Few examples

# build all
npm run build -- -a

# build only com_content assets
npm run build -- -n com_content

# build only admin template
npm run build -- -n templates/administrator/atum

# build only styles of the admin template
npm run build -- -n templates/administrator/atum -t css

# watch on asset
npm run watch -- -n com_content

npm run watch -- -n templates/administrator/atum

# watch on few assets
npm run watch -- -n com_content,com_categories

Testing Instructions

Run build.
All should work as before.

Link to documentations

Please select:

  • Documentation link for guide.joomla.org:
  • No documentation changes for guide.joomla.org needed
  • Pull Request link for manual.joomla.org:
  • No documentation changes for manual.joomla.org needed
avatar Fedik Fedik - open - 12 Feb 2026
avatar Fedik Fedik - change - 12 Feb 2026
Status New Pending
avatar joomla-cms-bot joomla-cms-bot - change - 12 Feb 2026
Category Repository JavaScript
avatar Fedik Fedik - change - 12 Feb 2026
Title
The build script for building scripts
[6.1] The build script for building scripts
avatar Fedik Fedik - edited - 12 Feb 2026
avatar Fedik Fedik - change - 12 Feb 2026
Labels Added: Feature PR-6.1-dev
avatar Fedik Fedik - change - 12 Feb 2026
The description was changed
avatar Fedik Fedik - edited - 12 Feb 2026
avatar Fedik Fedik - change - 12 Feb 2026
The description was changed
avatar Fedik Fedik - edited - 12 Feb 2026
avatar Fedik Fedik - change - 12 Feb 2026
The description was changed
avatar Fedik Fedik - edited - 12 Feb 2026
avatar Fedik Fedik - change - 12 Feb 2026
The description was changed
avatar Fedik Fedik - edited - 12 Feb 2026
avatar Fedik Fedik - change - 12 Feb 2026
The description was changed
avatar Fedik Fedik - edited - 12 Feb 2026
avatar Fedik Fedik - change - 12 Feb 2026
The description was changed
avatar Fedik Fedik - edited - 12 Feb 2026
avatar Fedik
Fedik - comment - 12 Feb 2026

Hm, no idea why Cypress need jQuery to run php 8.3 😄

avatar Fedik Fedik - change - 12 Feb 2026
The description was changed
avatar Fedik Fedik - edited - 12 Feb 2026
avatar Fedik Fedik - change - 12 Feb 2026
The description was changed
avatar Fedik Fedik - edited - 12 Feb 2026
avatar laoneo
laoneo - comment - 13 Feb 2026

Good work, what about renaming media_source to resources? Can the watch script also be executed for extensions only?

avatar HLeithner
HLeithner - comment - 13 Feb 2026

yes really nice work thanks fedir, I think media_source is ok, it's more clear that media_source will be media we know already, then resources to media.

avatar Fedik Fedik - change - 13 Feb 2026
The description was changed
avatar Fedik Fedik - edited - 13 Feb 2026
avatar Fedik
Fedik - comment - 13 Feb 2026

what about renaming media_source to resources?

I think existing is good. But can rename to anything if we get consensus on new name 😄

Can the watch script also be executed for extensions only?

Yes, it watches only on specified extension (one or few):

npm run watch -- -n com_content

npm run watch -- -n templates/administrator/atum

# on few
npm run watch -- -n com_content,com_categories
avatar Fedik Fedik - change - 13 Feb 2026
The description was changed
avatar Fedik Fedik - edited - 13 Feb 2026
avatar LadySolveig
LadySolveig - comment - 13 Feb 2026

Thanks Fedora 💚

avatar LadySolveig
LadySolveig - comment - 13 Feb 2026

Thanks Fedir 💚

avatar joomla-cms-bot joomla-cms-bot - change - 14 Feb 2026
Category Repository JavaScript Administration Repository JavaScript
avatar joomla-cms-bot joomla-cms-bot - change - 14 Feb 2026
Category Repository JavaScript Administration Repository JavaScript

Add a Comment

Login with GitHub to post a comment