get( NewPackage::class ); } /** * Init the package - load the blocks library and define constants. * * @since 2.5.0 Handled by new NewPackage. */ public static function init() { self::container()->get( Bootstrap::class ); } /** * Return the version of the package. * * @return string */ public static function get_version() { return self::get_package()->get_version(); } /** * Return the path to the package. * * @return string */ public static function get_path() { return self::get_package()->get_path(); } /** * Returns an instance of the FeatureGating class. * * @return FeatureGating */ public static function feature() { return self::get_package()->feature(); } /** * Loads the dependency injection container for woocommerce blocks. * * @param boolean $reset Used to reset the container to a fresh instance. * Note: this means all dependencies will be * reconstructed. */ public static function container( $reset = false ) { static $container; if ( ! $container instanceof Container || $reset ) { $container = new Container(); // register Package. $container->register( NewPackage::class, function ( $container ) { // leave for automated version bumping. $version = '11.8.0-dev'; return new NewPackage( $version, dirname( __DIR__, 2 ), new FeatureGating() ); } ); // register Bootstrap. $container->register( Bootstrap::class, function ( $container ) { return new Bootstrap( $container ); } ); // register Bootstrap. $container->register( Migration::class, function () { return new Migration(); } ); } return $container; } }