Skip to content
This repository was archived by the owner on Jul 15, 2026. It is now read-only.

feat: new build tools#91

Open
arzola wants to merge 1 commit into
devfrom
feat/new-build-tools
Open

feat: new build tools#91
arzola wants to merge 1 commit into
devfrom
feat/new-build-tools

Conversation

@arzola

@arzola arzola commented Jan 10, 2026

Copy link
Copy Markdown
Contributor

This pull request modernizes and streamlines the Excalibur plugin's frontend build and asset management workflow. It migrates from Laravel Mix to Vite (via pressbooks-build-tools), updates Node and PHP requirements, restructures asset locations, and updates related code to use the new frontend tools package. These changes improve maintainability, developer experience, and compatibility with current tooling.

Build system and tooling migration:

  • Replaces Laravel Mix with Vite for asset building, introducing a new vite.config.js and removing webpack.mix.js; updates NPM scripts and dependencies in package.json to use pressbooks-build-tools v5, and switches Node engine requirement to v22. ([[1]](https://github.com/pressbooks/excalibur/pull/91/files#diff-58e6f63d87181b1c6a8cb6e5f1691df04aa32854456efcd52ca71c8541375d26R1-R9), [[2]](https://github.com/pressbooks/excalibur/pull/91/files#diff-974472aeeb3c0d4802bb4087cf02e9cf5591004b99361954801b10b64d7a1f0bL1-L51), [[3]](https://github.com/pressbooks/excalibur/pull/91/files#diff-7ae45ad102eab3b6d7e7896acd08c427a9b25b346470d7bc6507b6481575d519L4-R30), [[4]](https://github.com/pressbooks/excalibur/pull/91/files#diff-2c8effdf840690ccb88c7e21e56148978c6adb2c6926530c58ff0e47a9588b44L1-R1))
  • Updates PHP requirement to 8.2 and replaces pressbooks/mix with pressbooks/frontend-tools in composer.json. ([composer.jsonL19-R21](https://github.com/pressbooks/excalibur/pull/91/files#diff-d2ab9925cad7eac58e0ff4cc0d251a937ecf49e4b6bf57f8b95aab76648a9d34L19-R21))

Asset structure and import updates:

  • Moves source JS and SCSS files to assets/src/, updates imports to use new locations, and ensures SCSS uses the modern @use syntax. ([[1]](https://github.com/pressbooks/excalibur/pull/91/files#diff-d200670db798b35491a753c7a65a6cd41558cbd6738aa74544c30d6daae034e9R1-R2), [[2]](https://github.com/pressbooks/excalibur/pull/91/files#diff-7668d6b1e4a3d543aaf07495a243074801df66c4a57e28b8b01d2b141d1fb9e5L1-R1))
  • Updates asset enqueuing in inc/class-admin.php to use the new PressbooksFrontendTools\Assets and AssetType, and to enqueue the built JS bundle correctly. ([[1]](https://github.com/pressbooks/excalibur/pull/91/files#diff-7ea4b51e842a1863ff86582979e64534421f4b306842e009fd33edb7bc46541aL6-R7), [[2]](https://github.com/pressbooks/excalibur/pull/91/files#diff-7ea4b51e842a1863ff86582979e64534421f4b306842e009fd33edb7bc46541aL26-L31))

These changes collectively bring the plugin's frontend workflow in line with current Pressbooks standards and best practices.

@private-packagist

Copy link
Copy Markdown

composer.lock

Package changes

Package Operation From To About
kucrut/vite-for-wp add - v0.12.0 view code - License: GNU General Public License v2.0 only
pressbooks/frontend-tools add - 1.0.0 view code - License: MIT License
pressbooks/mix remove 2.1.3 - -

Important Metadata Changes

Package Version Metadata From To
squizlabs/php_codesniffer 3.7.2 dist url https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/ed8e00df0a83aa96acf703f8c2979ff33341f879 https://api.github.com/repos/PHPCSStandards/PHP_CodeSniffer/zipball/ed8e00df0a83aa96acf703f8c2979ff33341f879
squizlabs/php_codesniffer 3.7.2 source url https://github.com/squizlabs/PHP_CodeSniffer.git https://github.com/PHPCSStandards/PHP_CodeSniffer.git

Settings · Docs · Powered by Private Packagist

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant