Bump version to o.24.0

This commit is contained in:
2026-09-28 08:43:14 +03:00
parent 667e2ea2e5
commit 9683a31c5e
3 changed files with 35 additions and 2 deletions
+33
View File
@@ -4,6 +4,39 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
## [0.24.0] - 2026-09-28
### Added
- Box Now locker picker support for the newly-extracted checkout module: `CheckoutController::
boxNowLockers()`/`selectBoxNowLocker()`, the `bbk-box-now-locker-controller.js` Stimulus
controller, its picker markup in `shipping-options.blade.php`, and its styles in
`checkout.css` — the routes and translation seeder for this already existed from the previous
extraction, but the controller methods and JS/CSS themselves hadn't been carried over, leaving
the `checkout.box-now.lockers` route throwing `BadMethodCallException`.
- `ProductIndexer`'s `recommendations` entries now include `variant_id` and `has_custom_fields` —
previously only `{id, name, price, image}`, which left a recommended product's card with
neither an "Add to cart" nor a "Personalize" button, since a storefront card needs one of
those two fields to decide which to show at all.
- A real `package.json` for this package's JS (Stimulus controllers) and CSS, installed by a
consuming app as a normal npm dependency (`file:../boboko-core` in local dev, a tagged git
install — `git+https://...#semver:0.x`, mirroring `composer.json`'s own `0.*` constraint — in
prod) so `npm install`/`npm update @boboko/core` resolves this package's own JS dependencies
(`leaflet`, `@hotwired/stimulus`) transitively, the same way `composer update boboko/*` already
does for PHP. A consuming app registers `boboko()` from the new `vite-plugin.js` export in its
own `vite.config.js`, which encapsulates every quirk of that installation method (symlink
resolution, HMR watching, dependency pre-bundling) so the consumer's own config stays a
one-line plugin registration. Consumers import this package's JS from one stable entry point,
`resources/js/index.js` (`@boboko/core`'s package root export), rather than reaching into a
specific module's internal file layout directly — see this package's `CONTRIBUTE.md` and
`docs/modules.md`.
### Fixed
- `Catalog\Recommendations\RandomRule` resolved products via the base `Lunar\Models\Product`
directly instead of through `ModelManifest`, silently losing `custom_fields` (which only the
registered `Modules\Core\Catalog\Models\Product` subclass can read) for any recommendation it
produced. `SameCategoryRule` was already correct, since `Collection::products()` resolves via
Lunar's own `Product::modelClass()`.
## [0.23.0] - 2026-09-25
### Added
+1 -1
View File
@@ -2,7 +2,7 @@
"name": "boboko/core",
"description": "Core module — authentication and shared panel behaviour",
"type": "library",
"version": "0.23.0",
"version": "0.24.0",
"autoload": {
"psr-4": {
"Modules\\Core\\": "src/"
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@boboko/core",
"version": "0.23.0",
"version": "0.24.0",
"private": true,
"type": "module",
"description": "Portable Stimulus controllers and styles for boboko-core's cart + checkout module. Installed as a real npm dependency (file:../boboko-core in dev, a tagged git install in prod) so a consuming app's `npm install` resolves this package's own dependencies (leaflet, @hotwired/stimulus) transitively, the same way `composer update boboko/*` does for PHP. See CONTRIBUTE.md's \"JS/CSS: a real npm package\" section.",