Skip to content

Migrate to b8 framework v1.0 + namespace rename (release 2.4.0) - #281

Open
sultann wants to merge 1 commit into
masterfrom
release/2.4.0
Open

Migrate to b8 framework v1.0 + namespace rename (release 2.4.0)#281
sultann wants to merge 1 commit into
masterfrom
release/2.4.0

Conversation

@sultann

@sultann sultann commented Jun 9, 2026

Copy link
Copy Markdown
Contributor

Summary

Brings min-max (free) onto the current b8 framework (byteever/plugin v1.0) and the wc-starter blueprint, renaming the namespace to PluginEver\MinMaxQuantities. Framework swap only — no feature changes. Ships as 2.4.0 on top of the 2.3.0 release.

Changes

  • Composer: pin byteever/plugin: ^1.0, drop bytekit-settings (absorbed into the framework), Strauss prefixes updated, removed the bytekit-textdomain perl hack.
  • Namespace: WooCommerceMinMaxQuantitiesPluginEver\MinMaxQuantities, with a class_alias BC block (Plugin, Cart, Admin\Settings) for the pre-b8 names — deprecated, removable in a few releases.
  • Bootstrap: Plugin.php$components + boot on woocommerce_loaded; Cart / Installer / Admin\*B8\Component.
  • Settings: moved off the removed bytekit-settings base to a B8\SettingsUI subclass — fields ported verbatim, every wcmmq_* option key preserved, WooCommerce storage kept via render_fields/save_fields; added Admin\Menu (submenu registrar).
  • Misc: accessor moved to the main file; bk-/bytekit-b8-; build switched from @byteever/scripts/webpack to a minimal esbuild build (single SCSS).
  • Version: 2.3.0 → 2.4.0; retains the 2.3.0 flash-sale notice + WP 7.0 compatibility.

Verified

  • composer updatebyteever/plugin 1.0.0, Strauss-prefixed.
  • phpcs (ByteEver-Default) clean; php -l clean across all PHP.
  • npm run build (esbuild) produces assets/build/css/admin.css.

Needs manual verification before merge

  • Settings page reads/saves the existing wcmmq_* options (data continuity).
  • Cart/checkout min/max + step enforcement on a real WooCommerce store.

Flagged (pre-existing, faithful port — intentionally not changed)

  • Cart::output_errors: unset( $notice[ $i ] ) targets the wrong array (likely a no-op).
  • Cart::add_to_cart_validation: (int) WC()->cart->get_cart_total() > (int) wc_price(...) comparison looks wrong.
  • Cart::check_cart_items: float modulo (float) $quantity % (float) $step.

The Pro sibling (wc-min-max-quantities-pro → v1.3.0) migration is the follow-up, not in this PR.

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.

1 participant