private function create_default_composer_json( $composer_path ) {

		$composer_dir = pathinfo( $composer_path, PATHINFO_DIRNAME );
		if ( ! is_dir( $composer_dir ) ) {
			if ( ! @mkdir( $composer_dir, 0777, true ) ) { // @codingStandardsIgnoreLine
				$error = error_get_last();
				WP_CLI::error( sprintf( "Composer directory '%s' for packages couldn't be created: %s", $composer_dir, $error['message'] ) );
			}
		}

		$composer_dir = realpath( $composer_dir );
		if ( false === $composer_dir ) {
			$error = error_get_last();
			WP_CLI::error( sprintf( "Composer directory '%s' for packages not found: %s", $composer_dir, $error['message'] ) );
		}

		$composer_path = Utils\trailingslashit( $composer_dir ) . Utils\basename( $composer_path );

		$json_file = new JsonFile( $composer_path );

		$repositories = (object) [
			'wp-cli' => (object) $this->composer_type_package,
		];

		$options = [
			'name'              => 'wp-cli/wp-cli',
			'description'       => 'Installed community packages used by WP-CLI',
			'version'           => self::get_wp_cli_version_composer(),
			'authors'           => [ (object) $this->author_data ],
			'homepage'          => self::PACKAGE_INDEX_URL,
			'require'           => new stdClass(),
			'require-dev'       => new stdClass(),
			'minimum-stability' => 'dev',
			'prefer-stable'     => true,
			'license'           => 'MIT',
			'repositories'      => $repositories,
		];

		try {
			$json_file->write( $options );
		} catch ( Exception $e ) {
			WP_CLI::error( $e->getMessage() );
		}

		return $composer_path;
	}
private function create_default_composer_json( $composer_path ) {

		$composer_dir = pathinfo( $composer_path, PATHINFO_DIRNAME );
		if ( ! is_dir( $composer_dir ) ) {
			if ( ! @mkdir( $composer_dir, 0777, true ) ) { // @codingStandardsIgnoreLine
				$error = error_get_last();
				WP_CLI::error( sprintf( "Composer directory '%s' for packages couldn't be created: %s", $composer_dir, $error['message'] ) );
			}
		}

		$composer_dir = realpath( $composer_dir );
		if ( false === $composer_dir ) {
			$error = error_get_last();
			WP_CLI::error( sprintf( "Composer directory '%s' for packages not found: %s", $composer_dir, $error['message'] ) );
		}

		$composer_path = Utils\trailingslashit( $composer_dir ) . Utils\basename( $composer_path );

		$json_file = new JsonFile( $composer_path );

		$repositories = (object) [
			'wp-cli' => (object) $this->composer_type_package,
		];

		$options = [
			'name'              => 'wp-cli/wp-cli',
			'description'       => 'Installed community packages used by WP-CLI',
			'version'           => self::get_wp_cli_version_composer(),
			'authors'           => [ (object) $this->author_data ],
			'homepage'          => self::PACKAGE_INDEX_URL,
			'require'           => new stdClass(),
			'require-dev'       => new stdClass(),
			'minimum-stability' => 'dev',
			'prefer-stable'     => true,
			'license'           => 'MIT',
			'repositories'      => $repositories,
		];

		try {
			$json_file->write( $options );
		} catch ( Exception $e ) {
			WP_CLI::error( $e->getMessage() );
		}

		return $composer_path;
	}
private function create_default_composer_json ( $ composer_path ) { $ composer_dir = pathinfo ( $ composer_path , PATHINFO_DIRNAME ) ; if ( ! is_dir ( $ composer_dir ) ) { if ( ! @ mkdir ( $ composer_dir , 0777 , true ) ) { // @codingStandardsIgnoreLine $ error = error_get_last ( ) ; WP_CLI :: error ( sprintf ( "Composer directory '%s' for packages couldn't be created: %s" , $ composer_dir , $ error [ 'message' ] ) ) ; } } $ composer_dir = realpath ( $ composer_dir ) ; if ( false === $ composer_dir ) { $ error = error_get_last ( ) ; WP_CLI :: error ( sprintf ( "Composer directory '%s' for packages not found: %s" , $ composer_dir , $ error [ 'message' ] ) ) ; } $ composer_path = Utils \ trailingslashit ( $ composer_dir ) . Utils \ basename ( $ composer_path ) ; $ json_file = new JsonFile ( $ composer_path ) ; $ repositories = ( object ) [ 'wp-cli' => ( object ) $ this -> composer_type_package , ] ; $ options = [ 'name' => 'wp-cli/wp-cli' , 'description' => 'Installed community packages used by WP-CLI' , 'version' => self :: get_wp_cli_version_composer ( ) , 'authors' => [ ( object ) $ this -> author_data ] , 'homepage' => self :: PACKAGE_INDEX_URL , 'require' => new stdClass ( ) , 'require-dev' => new stdClass ( ) , 'minimum-stability' => 'dev' , 'prefer-stable' => true , 'license' => 'MIT' , 'repositories' => $ repositories , ] ; try { $ json_file -> write ( $ options ) ; } catch ( Exception $ e ) { WP_CLI :: error ( $ e -> getMessage ( ) ) ; } return $ composer_path ; }
Creates a default WP-CLI packages composer.json.

@param string $composer_path Where the composer.json should be created
@return string Returns the absolute path of the newly created default WP-CLI packages composer.json.
Creates a default WP - CLI packages composer . json .